Ankündigung

Einklappen
Keine Ankündigung bisher.

openHAB Binding für Anel NET-PwrCtrl HUT

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

    openHAB Binding für Anel NET-PwrCtrl HUT

    Hallo zusammen,

    ich bin gerade dabei ein Binding für eine Relaisschaltung mit Eingängen für die Hutschiene zu schreiben (NET-PwrCtrl HUT: ANEL-Elektronik NET-PwrCtrl ), aber ich vermute es wird auch mit den anderen schaltbaren Steckdosen von Anel funktionieren ( ANEL-Elektronik NET-PwrCtrl ). Die Kommunikation geschieht über UDP, das ganze funktioniert soweit auch ganz prima. Naja, fast.

    Beim Startup von openHAB wird das Binding über update(Dictionary) konfiguriert und wenn etwas geschaltet wird, bekommt das Binding das auch über ein entsprechendes UDP-Paket mittels einen UDP-Listener-Threads mit. Zusätzlich als AbstractActiveBinding pollt es auch regelmäßig den Zustand, für den Fall dass etwas über UDP mal nicht ankommen sollte oder das Netzwerk unterbrochen war usw. Intern hält das Binding den Zustand der Relais in einer Map, sodass nur tatsächliche Zustandsänderungen als Events an den openHAB Bus gehen.
    Das Problem ergibt sich jetzt, sobald openHAB die items neu einliest, z.B. wenn die items-Datei geändert wurde. Dann ist der Zustand aller Switch-items nämlich unspecified und mein Binding bekommt nicht mit dass das so ist.

    Meine Frage: Gibt es einen Hook damit mein Binding mitbekommt, sobald der Zustand resettet wurde, sodass es dann entsprechende Updates an den Bus schicken kann? Oder was ist hier der gängige Weg? Die startup-Rules werden ja nur beim Startup ausgeführt und nicht beim neu Einlesen der items?

    Zweite Frage: Das Binding würde ich gerne contributen, habe aber noch keinen offiziellen Weg gefunden. Ist das geschickteste, das über ein Github-Ticket zu tun?

    #2
    Hi,

    ob es einen hook gibt weis ich nicht - du kannst aber ansonsten die items persistieren - dann wir der status zum neustart aus der persistencs DB gelesen - oder eben beim Startup neu abgefragt.

    zur Eindindung - sollte das hier helfen:

    https://groups.google.com/forum/#!searchin/openhab/pull$20request/openhab/WuOal1EzeEI/aYq475PpBlcJ

    Grüsse
    Karsten

    Kommentar


      #3
      Zitat von kakaiser Beitrag anzeigen
      ob es einen hook gibt weis ich nicht - du kannst aber ansonsten die items persistieren - dann wir der status zum neustart aus der persistencs DB gelesen - oder eben beim Startup neu abgefragt.
      Stimmt, aber das muss der Benutzer dann ja selbst tun. Eine automatische Aktualisierung des Bindings würde das ganze wesentlich vereinfachen.
      Das NetworkHealth Binding z.B. schickt ja permanent Updates auf den Bus, da habe ich auch schon überlegt einen Cache einzubauen um nicht andauernd den Bus mit Events zuzuspammen, aber dann haben wir da ja das gleiche Problem...

      Zitat von kakaiser Beitrag anzeigen
      zur Eindindung - sollte das hier helfen:

      https://groups.google.com/forum/#!searchin/openhab/pull$20request/openhab/WuOal1EzeEI/aYq475PpBlcJ
      Danke, da war ich wohl etwas blind ;-)

      Kommentar


        #4
        Anwendungsbeispiel

        Der Code ist gerade noch im Review, ich vermute er wird es ins 1.6er Release schaffen :-)

        Ein Beispiel des ganzen auf YouTube: klick
        Und hier wird erklärt wie es funkioniert: klick

        Kommentar

        Lädt...
        X