Code Monkey home page Code Monkey logo

pba's People

Contributors

fknittel avatar mnagel avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

pba's Issues

3 second delay

Hiho

Ich fände ein paar sekunden delay zwischen abschalten des einen und anschalten des nächsten Platzes noch gut.

Prioritäten bestätigen

Hallo @kazschuri ,

bitte einmal die folgende Priorisierung bestätigen:

  1. #1 Quick&Dirty Buttons
  2. #4 und #5 nächtliche Wässerung
  3. #2 oder #3 einsteigerfreundliche Oberfläche (welche ist relativ egal, eine davon ist nötig, die andere optional)

Waterslide Modus

Neuer Beitrag aus der Abteilung Requirements Engineering: Schiebregler.

bildschirmfoto vom 2013-07-25 15 26 57

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css">
  <script type="text/javascript">
  //<![CDATA[
    function anzeigen(das) {
      if (document.getElementById(das).style.display=='none')
        document.getElementById(das).style.display='block';
      else
        document.getElementById(das).style.display='none';
    }
  //]]>
  </script>
  <title>PBA Idiot Mode Mockup</title>
    <style type="text/css">
    .progress.vertical {
    position: relative;
    width: 20px;
    min-height: 240px;
    float: left;
    margin-right: 20px;
    background: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    border: none;
}
.table td {
   text-align: center;   
}
    </style>
</head>

<body>

  <div class="container">
    <div class="">
      <h2>Ziehe, um den Platz nass zu machen:</h2>

      <div class="alert alert-info">


<table>

  <tr>
    <td class="span4" style="text-align: center">
    <h2>Platz 1</h2>
    </td>
    <td class="span4" style="text-align: center">
    <h2>Platz 2</h2>
    </td>
    <td class="span4" style="text-align: center">
    <h2>Platz 3</h2>
    </td>
    <td class="span4" style="text-align: center">
    <h2>Platz 4</h2>
    </td>
    <td class="span4" style="text-align: center">
    <h2>Platz 5</h2>
    </td>
    <td class="span4" style="text-align: center">
    <h2>Platz 6</h2>
    </td>
  </tr>
  <tr>
    <td class="span4">
    <table >
        <tr>
                        <td width="30%">
            </td>
            <td width="30%">
                <div class="progress vertical" style="width: 50px;">
                  <div class="bar bar-success" style="height: 0%;width:60%"></div>
                  <div class="bar bar-default" style="height: 20%;width:100%">aus</div>
                  <div class="bar bar-warning" style="height: 80%;width:60%"></div>
                </div>

            </td>
            <td width="30%">
            <br>
            aus
            <br><br>
             1min
            <br><br>
            2min
            <br><br>
            3min
            <br><br>
            4min
            <br><br>
            5min
            </td>

        </tr>
    </table>
    </td>

    <td class="span4">
    <table>
        <tr>
                    <td width="30%">
            </td>
            <td width="30%">
                <div class="progress vertical" style="width: 50px;">
                  <div class="bar bar-success" style="height: 80%;width:60%"></div>
                  <div class="bar bar-default" style="height: 20%;width:100%">4:58</div>
                  <div class="bar bar-warning" style="height: 0%;width:60%"></div>
                </div>

            </td>
            <td width="30%">
            <br>
            aus
            <br><br>
             1min
            <br><br>
            2min
            <br><br>
            3min
            <br><br>
            4min
            <br><br>
            5min
            </td>

        </tr>
    </table>
    </td>

    <td class="span4">
    <table>
        <tr>
            <td width="30%">
            </td>
            <td width="30%">
                <div class="progress vertical" style="width: 50px;">
                  <div class="bar bar-success" style="height: 0%;width:60%"></div>
                  <div class="bar bar-default" style="height: 20%;width:100%">aus</div>
                  <div class="bar bar-warning" style="height: 80%;width:60%"></div>
                </div>

            </td>
            <td width="30%">
            <br>
            aus
            <br><br>
             1min
            <br><br>
            2min
            <br><br>
            3min
            <br><br>
            4min
            <br><br>
            5min
            </td>
        </tr>
    </table>
    </td>

    <td class="span4">
    <table>
        <tr>
                    <td width="30%">
            </td>
            <td width="30%">
                <div class="progress vertical" style="width: 50px;">
                  <div class="bar bar-success" style="height: 50%;width:60%"></div>
                  <div class="bar bar-default" style="height: 20%;width:100%">2:10</div>
                  <div class="bar bar-warning" style="height: 30%;width:60%"></div>
                </div>

            </td>
            <td width="30%">
            <br>
            aus
            <br><br>
             1min
            <br><br>
            2min
            <br><br>
            3min
            <br><br>
            4min
            <br><br>
            5min
            </td>

        </tr>
    </table>
    </td>

    <td class="span4">
    <table>
        <tr>
                    <td width="30%">
            </td>
            <td width="30%">
                <div class="progress vertical" style="width: 50px;">
                  <div class="bar bar-warning" style="height: 60%;width:60%"></div>
                  <div class="bar bar-default" style="height: 20%;width:100%">startet in 2:10</div>
                  <div class="bar bar-warning" style="height: 20%;width:60%"></div>
                </div>

            </td>
            <td width="30%">
            <br>
            aus
            <br><br>
             1min
            <br><br>
            2min
            <br><br>
            3min
            <br><br>
            4min
            <br><br>
            5min
            </td>

        </tr>
    </table>
    </td>

    <td class="span4">
    <table>
        <tr>
                    <td width="30%">
            </td>
            <td width="30%">
                <div class="progress vertical" style="width: 50px;">
                  <div class="bar bar-success" style="height: 0%;width:60%"></div>
                  <div class="bar bar-default" style="height: 20%;width:100%">aus</div>
                  <div class="bar bar-warning" style="height: 80%;width:60%"></div>
                </div>

            </td>
            <td width="30%">
            <br>
            aus
            <br><br>
             1min
            <br><br>
            2min
            <br><br>
            3min
            <br><br>
            4min
            <br><br>
            5min
            </td>

        </tr>
    </table>
    </td>
  </tr>

</table>

      </div>
    </div>

<div class="alert">
<button type="button" class="close" data-dismiss="alert">&times;</button>
Die blauen "Dinger" sind vertikale Schiebregler. Durch Ziehen nach unten wird das Wässern gestartet.
Während dem Wässern läuft der Regler langsam nach oben. Nach oben Schieben bricht Bewässerung ab.
</div>

<div class="alert">
<button type="button" class="close" data-dismiss="alert">&times;</button>
Auf dem blauen Button steht die exakte Restzeit. Alle Timer zählen in Echtzeit herunter. 
</div>

<div class="alert">
<button type="button" class="close" data-dismiss="alert">&times;</button>
Platz 5 wartet, weil bereits zwei andere Sprenger laufen, der Button zeigt die Restwartezeit (wegen Platz 4).
</div>

<div class="alert">
<button type="button" class="close" data-dismiss="alert">&times;</button>
Zu evaluieren: Minuten-Anzahl auf (statt neben) den Schiebreglern.
</div>

  </div>
</body>
</html>

quick and dirty courtids vordefinieren

Hiho

kannst du einmal kurz die eine eingabezeile auf 4-6 eingabezeilen aufblähen und jeweils den court vorne schon eintragen? Dann brauch ich nicht immer so nervig "court4" eintragen ... mein handy besteht auch immer noch auf ein großes C am anfang :-D

Wurstfinger-Modus

Abteilung "Requirements Engineering" bestehend aus Michael, Daniel und Jelena ist mit dem folgenden Mockup aufgekreuzt. Dies soll umgesetzt oder totdiskutiert werden.

screen shot 2013-07-24 at 12 31 33

Code dazu:

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css">
  <script type="text/javascript">
  //<![CDATA[
    function anzeigen(das) {
      if (document.getElementById(das).style.display=='none')
        document.getElementById(das).style.display='block';
      else
        document.getElementById(das).style.display='none';
    }
  //]]>
  </script>
  <title>PBA Idiot Mode Mockup</title>
</head>

<body>

  <div class="container">
    <div class="">
      <h2>Klicke, um den Platz nass zu machen:</h2>

      <div class="alert alert-info">


<table>

  <tr>
    <td class="span4">
      <div style="display: block; width: 80%;" type="button" class="btn btn-large btn-success disabled">
        Platz 1
        <br />
        Bewässerung gesperrt
        <br />&nbsp;
        <br />&nbsp;
        <!-- <div style="display: block; width: 80%;" type="button" class="btn btn-large btn-success"> -->
          ---
        <!-- </div> -->
        <br />&nbsp;
      </div>
    </td>
    <td class="span4">
      <div style="display: block; width: 80%;" type="button" class="btn btn-large btn-success">
        Platz 2
        <br />
        Sprinkler inaktiv
        <br />&nbsp;
        <br />&nbsp;
        <!-- <div style="display: block; width: 80%;" type="button" class="btn btn-large btn-success"> -->
          1 Minute wässern
        <!-- </div> -->
        <br />&nbsp;
      </div>
    </td>
    <td class="span4">
      <div style="display: block; width: 80%;" type="button" class="btn btn-large btn-info">
            <div style="width: 5%;" type="button" class="pull-right btn btn-large btn-warning">
              X
            </div>
        Platz 3
        <br />
        Sprinkler aktiv für 1:58
        <br />&nbsp;
        <br />&nbsp;
        <!-- <div style="display: block; width: 80%;" type="button" class="btn btn-large btn-success"> -->
          1 Minute wässern
        <!-- </div> -->
        <br />&nbsp;
      </div>
    </td>
  </tr>
  <tr>
    <td>&nbsp;
    </td>
  </tr>

    <tr>
    <td class="span4">
      <div style="display: block; width: 80%;" type="button" class="btn btn-large">
            <div style="width: 5%;" type="button" class="pull-right btn btn-large btn-warning">
              X
            </div>
        Platz 4
        <br />
        Sprinkler soll 2:00
        <br />(#3 - Wartezeit: 1:58)
        <br />&nbsp;
        <!-- <div style="display: block; width: 80%;" type="button" class="btn btn-large btn-success"> -->
          1 Minute wässern
        <!-- </div> -->
        <br />&nbsp;
      </div>
    </td>
    <td class="span4">
      <div style="display: block; width: 80%;" type="button" class="btn btn-large btn-info">
            <div style="width: 5%;" type="button" class="pull-right btn btn-large btn-warning">
              X
            </div>
        Platz 5
        <br />
        Sprinkler aktiv für 2:43
        <br />&nbsp;
        <br />&nbsp;
        <!-- <div style="display: block; width: 80%;" type="button" class="btn btn-large btn-success"> -->
          1 Minute wässern
        <!-- </div> -->
        <br />&nbsp;
      </div>
    </td>
    <td class="span4">
      <div style="display: block; width: 80%;" type="button" class="btn btn-large btn-success">
        Platz 6
        <br />
        Sprinkler inaktiv
        <br />&nbsp;
        <br />&nbsp;
        <!-- <div style="display: block; width: 80%;" type="button" class="btn btn-large btn-success"> -->
          1 Minute wässern
        <!-- </div> -->
        <br />&nbsp;
      </div>
    </td>
  </tr>

</table>

      </div>
    </div>

<div class="alert">
<button type="button" class="close" data-dismiss="alert">&times;</button>
Klick auf den Button fügt eine Zeiteinheit hinzu und lässt den X-Knopf erscheinen.
<br />Wenn "blau": Zeit wird erhöht, Queue-Position bleibt, es wird durchgewässert.
<br />Wenn "grau": Zeit wird erhöht, Queue-Position bleibt.
<br />Wenn "grün": Zeit wird erhöht, Job kommt ans Ende der Queue.
</div>

<div class="alert">
<button type="button" class="close" data-dismiss="alert">&times;</button>
X-Knopf bricht Bewässerung ab und passt die Queue an.
</div>

<div class="alert">
<button type="button" class="close" data-dismiss="alert">&times;</button>
Alle Timer zählen in Echtzeit herunter.
</div>

<div class="alert">
<button type="button" class="close" data-dismiss="alert">&times;</button>
Plätze können gesperrt sein / Bewässerung per PBA nicht gestattet (siehe Platz 1).
</div>

  </div>
</body>
</html>

mehr Details zum Kompiliere

ich habe mir nicht allzuviel muehe gegeben, aber soweit bin ich gekommen.
dann kam ein boeser fehler und hat mich geaergert:

nailor@needle:~1$ cd /tmp
nailor@needle:/tmp$ git clone [email protected]:fknittel/pba.git
Cloning into 'pba'...
remote: Counting objects: 184, done.
remote: Compressing objects: 100% (100/100), done.
remote: Total 184 (delta 82), reused 174 (delta 74)
Receiving objects: 100% (184/184), 141.94 KiB, done.
Resolving deltas: 100% (82/82), done.
nailor@needle:/tmp$ cd pa
cd: no such file or directory: pa
nailor@needle:/tmp1$ cd pba
nailor@needle:/tmp/pba$ ls
src      gpio-example.conf             irrigationcontroller-setup.service  test-example.conf
wwwroot  irrigationcontroller.service  README.md
nailor@needle:/tmp/pba$ cat  README.md 
pba ("Platz-Beregnungs-Anlage")
===============================

A simple tennis court irrigation controller.

Start the daemon from the base directory:
  $ twistd -no irrigationcontroller -c test-example.conf
nailor@needle:/tmp/pba$ twistd -no irrigationcontroller -c test-example.conf
Usage: twistd [options]
Options:
      --savestats      save the Stats object rather than the text output of the
                       profiler.
  -o, --no_save        do not save state on shutdown
  -e, --encrypted      The specified tap/aos file is encrypted.
  -n, --nodaemon       don't daemonize, don't use default umask of 0077
      --originalname   Don't try to change the process name
      --syslog         Log to syslog, not to file
      --euid           Set only effective user-id rather than real user-id.
                       (This option has no effect unless the server is running
                       as root, in which case it means not to shed all
                       privileges after binding ports, retaining the option to
                       regain privileges in cases such as spawning processes.
                       Use with caution.)
  -l, --logfile=       log to a specified file, - for stdout
      --logger=        A fully-qualified name to a log observer factory to use
                       for the initial log observer. Takes precedence over
                       --logfile and --syslog (when available).
  -p, --profile=       Run in profile mode, dumping results to specified file
      --profiler=      Name of the profiler to use (profile, cprofile, hotshot).
                       [default: hotshot]
  -f, --file=          read the given .tap file [default: twistd.tap]
  -y, --python=        read an application from within a Python file (implies
                       -o)
  -s, --source=        Read an application from a .tas file (AOT format).
  -d, --rundir=        Change to a supplied directory before running [default:
                       .]
      --prefix=        use the given prefix when syslogging [default: twisted]
      --pidfile=       Name of the pidfile [default: twistd.pid]
      --chroot=        Chroot to a supplied directory before running
  -u, --uid=           The uid to run as.
  -g, --gid=           The gid to run as.
      --umask=         The (octal) file creation mask to apply.
      --help-reactors  Display a list of possibly available reactor names.
      --version        Print version information and exit.
      --spew           Print an insanely verbose log of everything that happens.
                       Useful when debugging freezes or locks in complex code.
  -b, --debug          Run the application in the Python Debugger (implies
                       nodaemon), sending SIGUSR2 will drop into debugger
  -r, --reactor=       Which reactor to use (see --help-reactors for a list of
                       possibilities)
      --help           Display this help and exit.

twistd reads a twisted.application.service.Application out of a file and runs
it.
Commands:
    dns              A domain name server.
    ftp              An FTP server.
    inetd            An inetd(8) replacement.
    manhole-old      An interactive remote debugger service.
    portforward      A simple port-forwarder.
    socks            A SOCKSv4 proxy service.
    telnet           A simple, telnet-based remote debugging service.
    web              A general-purpose web server which can serve from a
                     filesystem or application resource.

/usr/bin/twistd: Unknown command: irrigationcontroller
nailor@needle:/tmp/pba$

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.