NEWS
Shellys ("Alt und Plus") über MQTT Adapter
-
@hotspot_2 Gut.
Dann meine 1. Frage:
Die Dauer, wie lange das Licht brennt nach Aktivierung lässt sich einstellen in JARVIS.
So dass heißt - dass ist die zentrale Instanz die das Licht ausschalten kann. Alle Buttons, Lichtschalter und Bewegungsmelder schalten immer ein - aber nie aus?
-
@mickym Ja, alle Schalter, Buttons und Bewegungsmelder schalten immer ein, aber nie aus. Das ist so korrekt. Aus geht immer dann wenn die Zeit, die einstellbar ist, abgelaufen ist. Möchte man es wieder hell haben muss man Schalter /Button drücken oder sich bewegen ;-).
Wenn dann trotzdem ein Schalter gedrückt wird, habe ich es abgefangen und den Shelly bzw. das Licht wieder angeschalten. Der Shelly schaltet ja nach der Betätigung des Schalters das Licht erstmal aus.
-
@hotspot_2 Noch eine blöde Frage - warum konfigurierst Du dann die Shellies nicht im detached Mode - so dass die nicht mehr physisch schalten können also nicht mehr ausschalten können? Das wäre nicht nur einfacher zu implementieren, sondern würde auch Dein Licht schonen.
oder
Activation Switch - der schaltet immer ein? - Das ist so hardwaremässig so eine Treppenhausfunktion auch wenn Du sie nicht nutzt.
-
@mickym Ich habe die Firmware 0.14.1 drauf. Da finde ich das Detached nicht. Ich sehe aktuell nur Follow oder Flip als Modus.
-
@hotspot_2 Ich hab gerade nachgelesen, dass muss es geben:
-
@mickym sagte in Shellys ("Alt und Plus") über MQTT Adapter:
@hotspot_2 Das gab schon ewig - aber ich kenne die Seiten bei den Plus Web Interface nicht. Da muss es auch einen Button Type geben.
Ja, gibt es aber nur zwei.
Ich habe das mal im Shelly Forum angefragt. Mal schauen ob da jemand helfen kann.
Bisher habe ich bei den Plus1 diesen Modus noch nicht gesehen.
-
Nee ich habs:
https://kb.shelly.cloud/knowledge-base/shelly-plus-1pm-web-interface-guideAlso Input Settings
attached to output kann auf true und false wahrscheinlich konfigurieren
DAmit bekommst Du weiterhin Tastendrücke mit aber wird nicht mehr geschaltet.
Mit der APP und Iobroker kannst natürlich weiter schalten - aber Du schaltest nicht mehr über das Relais
-
Jupp. Geht hier. Stehen momentan auf Attached.
Damit wäre das Problem gelöst mit dem Thema wieder einschalten müssen wenn jemand drauf drückt vermutlich.
-
@hotspot_2 Genau. - Also ich würde alles auf detached schalten und dann können wir uns nun um die Logik kümmern. und brauchen nicht mehr fehlerhaft ausgeschaltetes Licht wieder einschalten.
So und nun nehmen wir einfach den vorhanden Flow, um das zu implementieren.
Also wir nehmen wieder eine trigger NOde - und machen das erst mal wieder mit einer fixen Zeit von 2 Minuten.
Auf der linken Seite ordnest Du mal alles was trigger an an.
-
@mickym Sehr guter Ansatz ;-). War mir bisher so nicht bekannt das es diese Funktion gibt. Aber natürlich perfekt für diese Szenario. Ist schon bei allen drei Shellys so eingestellt.
-
@hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:
@mickym Sehr guter Ansatz ;-). War mir bisher so nicht bekannt das es diese Funktion gibt. Aber natürlich perfekt für diese Szenario. Ist schon bei allen drei Shellys so eingestellt.
Also ganz links also alles was triggern einschalten soll
-
@mickym So, hab mal etwas gearbeitet ;-).
Bei dem Shelly Button bin ich mir nicht ganz so sicher wie man das richtig auswertet. Wenn man den Button drückt dann kommt da (richtiger Pfad zum Objekt ist drin) ein JSON mit event und event_cnt. event ist dann z.B. S für einen kurzen Druck, SS für zwei kurze Drücker und L für einen langen Druck auf den Button. event_cnt zählt immer hoch.
Hab gerade nochmal was korrigiert.
-
@hotspot_2 Ich hab mal einen Flow gemacht noch basierend auf dem vorigen. Im Prinzip ist doch egal was aus dem Button rauskommt. Du willst ja nur das geschaltet wird wenn gedrückt wird.
Also da brauchst nichts auswerten einfach alles was bei Betätigung triggert in die trigger Node - der Inhalt interessiert nicht.
-
@hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:
@mickym So, hab mal etwas gearbeitet ;-).
Bei dem Shelly Button bin ich mir nicht ganz so sicher wie man das richtig auswertet. Wenn man den Button drückt dann kommt da (richtiger Pfad zum Objekt ist drin) ein JSON mit event und event_cnt. event ist dann z.B. S für einen kurzen Druck, SS für zwei kurze Drücker und L für einen langen Druck auf den Button. event_cnt zählt immer hoch.
Hab gerade nochmal was korrigiert.
Ich hab Dir einen Flow geschickt - nimm einfach den. Bei den Bewegungsmelder musst Du motion true ausfiltern, bei den Schaltern und Button interessiert der Inhalt nicht, da sollen die ja nur triggern - egal was da geschaltet wird.
-
@mickym Alles klar, verstanden. Das mit den Inhalten und filtern bei BWM.
Ich seh schon das wird deutlich einfacher wie mit Blockly. Und vor allem irgendwie auch viel logischer.
Welche Möglichkeit habe ich den die Zeit des Triggers nun über einen Wert in einem ioBroker Objekt zu ändern?
-
@hotspot_2 Gleich ich pass das nur gerade an - gib mir einfach eine iobroker In Node - wo der Wert drin steht, wie lange das Licht brennen soll und sind das ms oder s ?
-
Der Wert steht in "0_userdata.0.hausautomation.zeitdauer_licht_treppenhaus" und die Zeitdauer in Minuten (number) ist da drin. Aktuell steht der Wert z.B. auf 3.
-
@hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:
0_userdata.0.hausautomation.zeitdauer_licht_treppenhaus
So der Flow ist fertig
Ich hab mal alle Topics der Buttons, Schalter und BWM angepasst. Kernpunkt ist wieder die trigger Node - schau Dir auch immer die Hilfe zu den Nodes an:
Das alles was triggert den Zeitraum verlängert hatten wir ja schon - neu ist nun das wir mit msg.delay die Verzögerung in der Node überschreiben.
Da dein Datenpunkt in Minuten angibt - muss die msg.delay Eigenschaft auf eine umgerechnete payload gesetzt werden.
Beim Setzen der delay rechnen wir also von Minuten noch in ms um:
und fertig ist der Flow . Hier zum Import:
Eigentlich easy, wenn man es logisch durchdacht hat. Nun gut das mit dem detached Mode - konnten wir uns ja das wiedereinschalten sparen.
Achso ist noch das Abprüfen auf die globale Variable drin - musst halt ggf. wieder raus nehmen.
-
@mickym Super!
Kurze Frage noch: Der Switch "active=true" ist der der die globale Variable prüft (ob Treppenhauslicht aktiv oder nicht) ? Oder wird der für die Zusammenführung der ganzen Nodes gebraucht?
-
@hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:
@mickym Super!
Kurze Frage noch: Der Switch "active=true" ist der der die globale Variable prüft (ob Treppenhauslicht aktiv oder nicht) ? Oder wird der für die Zusammenführung der ganzen Nodes gebraucht?
Habs gerade geschrieben - ja das war mit dem Abprüfen der globalen Variable - das kannst rausnehmen oder muss halt setzen. Du kannst sowas ja auch über einen scheduler setzen - zum Beispiel dass es automatisch aktiv wird wenn es dunkel wird oder nicht. Du kannst auch beides nehmen. Dass Du über Dein Jarvis die Automatik einschaltest - gleichzeitig wenn die Automatik ein ist, aber nur bei Dunkelheit einschaltet. Wie auch immer. Für solche Tageszeiten empfehle ich den Lightscheduler - aber das machen wir erst, wenn Du sowas brauchst.