Ankündigung

Einklappen
Keine Ankündigung bisher.

Logik Trigger via Seitenaufruf?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Logik Trigger via Seitenaufruf?

    Servus liebe Forengemeinde,

    ich bastle gerade an einer Logik für meine SmarterCoffee Maschine, und bräuchte mal einen Denkanstoß.

    In meiner Logik wird ein Socket zum TCPServer der Kaffemaschine aufgebaut.

    Problem bei der Sache ist, um immer die aktuellen Werte zu bekommen muss der Socket immer offen bleiben.

    Wenn über Nacht das WLAN deaktiviert wird, ist s natürlich vorbei, deswegen trigger ich die Logik auch über den Startknopf.

    Problem dabei ist aber wiederum, das immer wenn ich Start drücke, ein neuer Socket aufgebaut wird und somit dann halt 5 oder mehr Sockets parallel laufen.

    Daher meine Frage, ist es möglich, wenn ja wie, das meine Logik immer mit dem Seitenaufruf in der Smartvisu getriggert wird?

    Damit könnte ich dann beim Aufruf der Seite den Socket öffnen, die Werte auslesen, und dann den Socket wieder schließen.

    Vielen Dank schon mal!

    Gruß Wolfi


    #2
    Hallo Wolfi

    Verstehe ich es richtig, dass du die Logik beim Anzeigen einer bestimmten Seite triggern willst?
    Dazu kannst du in der visu.js deiner Pages folgendes einfügen:
    Code:
    $('#[B]PAGEID[/B]').on('pageshow', function() {
      io.trigger([B]LOGIKNAME[/B], [B]WERT[/B]);
    });
    Die fett geschriebenen Stellen sind durch deine Namen zu ersetzen.

    Aber wäre es nicht sinnvoller, wenn deine Logik nach dem Verlieren der Verbindung einfach regelmässig versucht, wieder einen Socket zu öffnen?
    Damit hättest du immer aktuelle Werte und nicht nur in dem Moment wo du diese Page öffnest.

    Gruss
    Stefan

    Kommentar


      #3
      Hallo Stefan,

      erst mal vielen Dank, aber du hast recht.

      Ich habe mir gestern gedacht, es wäre ausreichend das ganze wie in der IOS App zu realisieren. (einer von vielen Gedanken die ich wieder verwerfen musste)

      Die verbindet sich ja auch nur mit öffnen der APP und danach schließt sich der Socket wieder.

      Das ist aber genau das Verhalten das mich aufgeregt hat und deswegen habe ich angefangen mir die Logiken zu schreiben.

      Ich würde ja wieder nicht mitbekommen, wenn am Gerät eine Einstellung verändert wird, das Wasser leer ist oder die Kanne nicht vorhanden ist.

      Da muss ich mich noch mal mit dem Socket Interface beschäftigen.

      Aber vielleicht kann jemand das trotzdem mal gebrauchen.

      Vielen Dank

      Gruß Wolfi


      Kommentar


        #4
        Da dein WLAN zeitgesteuert ist, könntest du die Logik auch per cron ein paar Minuten nach dem WLAN starten.
        Das wäre sehr einfach umzusetzen, aber natürlich nicht so zuverlässige (z.B. nach Stromausfall oder bei nicht ganz synchronen Uhren).

        Kommentar


          #5
          Ich würde das ganze an Deiner Stelle in ein Plugin packen. Da kannst Du unabhängig von Logik dann beim Systemstart eine Verbindung aufbauen und wenn die abgebrochen wird kannst Du in regelmäßigen Abständen prüfen lassen, ob das WLAN wieder da ist und Dich dann neu verbinden.
          Du kannst ja mal hier schauen, ob da was lehrreiches dabei ist: https://github.com/Tristan79/iBrew

          Kommentar


            #6
            Hallo,

            also mein ursprünglicher Plan war ein Plugin.

            Nachdem ich mich 3 Tage durch alle möglichen SmarthomeNG Plugins und Informationen zur SmarterCoffee gekämpft hab, und versucht hab ein Plugin zu erstellen,

            musste ich nach weiteren 2 Tagen rumprobieren feststellen, das ich noch etwas zu dumm bin, und dann hab ich mich an eine einfachere Logik gewagt.

            Das ganze hat mich auch ziemlich weit gebracht im Verständnis zu Python, also gute Übung.

            Zum Debuggen ist die Logik momentan auch für mich noch leichter nachzuvollziehen (ist nicht soo riesig), weil in der Doku zur SmarterCoffee noch ein paar Sachen fehlen die dann wiederum Fehler in der Logik hervorrufen.

            Also z.B. fehlen Werte die die Maschine sendet, die dann natürlich nicht verwurstet werden können.

            Mein Ziel ist auf jeden fall ein Plugin zu schreiben (dafür hab ich mir die Maschine eigentlicht gekauft) nur der Weg dahin wird, schätz ich, noch ein wenig dauern.

            In meinem Fall ist der Weg eigentlich das Ziel ;-)

            Gruß Wolfi

            Kommentar

            Lädt...
            X