NEWS
Blockly Skript wenn Zigbee Taster
-
Hallo zusammen,
habe aktuell Probleme mein Skript ans Laufen zu bekommen.
Habe einen Zigbee Taster sowie eine Zigbee Steckdose welche über den Zigbee Adapter im Iobroker laufen.
Ich möchte nun sobald der taster "einfach" gedrückt wird die Steckdose(an der ne Lichterkette hängt) 1min einschaltet und danach wieder ausgeht.
Aktuell sieht das ganze so aus:
-
- Der Baustein
Pause 60 Sek
hat in deinem Skript keine Funktion, da auf diesen keine weitere Aktion folgt. - Ich vermute mal das der
Click event
beim betätigen von falsch auf wahr wechselt, und eine kurze Zeit später wieder auf falsch zurück springt. Damit wird bei diesem Skript deine Lichterkette kurz aufblitzen und dann nichts mehr machen.
Mein Vorschlag:
- Ersetze den Baustein
wert von Objekt ID Click event
durch den BausteinObjekt ID
den du im Trigger Bereich findest und passe den so an das stattObjekt ID
Wert
angezeigt wird. - Nimm den
Sonst
Zweig weg. - Nimm den
Pause 60 Sek
Baustein weg - Setze hinter den
steuere Switch state mit wahr
Baustein einen weiteren Baustein:
steuere Switch state mit falsch mit Verzögerung aktiv, 60 Sekunden Verzögerung, löschen falls läuft aktiv
A.
- Der Baustein
-
@asgothian
so dann quasi ?
Tut sich jedoch nichts
Manuell über Button in der VIS kann ich die Steckdose schalten, also daran liegts nicht.
Bekomme jedoch den click event in den Objekten nicht angezeigt, nur im Zigbee Adapter ist es kurz sichtbar.
-
- Bist du sicher das du den korrekten Click-Event ausgewählt hast ?
- Wechsel mal das
wurde geändert
aufwurde aktualisiert
um zu schauen ob dann was kommt. - Hast du ggf. den debug Modus im JS Adapter aktiv so das die Schaltbefehle unterdrückt werden ?
A.
-
- den normalen Klick event habe ich.
- habe ich auf aktualisiert geändert, leider keine Änderung
- gute Frage wo sehe ich das ?
- den normalen Klick event habe ich.
-
@Asgothian
kann es sein dass es an der kurzen Zeit liegt in der die variable "true" ist, und der adapter dass nicht so schnell bemerkt ?
edit
hab das ganze mal abgeändert und zum testen ne Variable erstellt, dort schreibe ich dann den status rein, wie vorher in die steckdose. Komischerweise funktioniert es da, die variable ist 60s true und danach wieder false.
Werte ich nun die "variable" aus und möchte daraufhin die Steckdose einschalten gehts wieder nicht. An der Steckdose liegts nicht, hab auch schon andere probiert.
-
@pi_noob15 ändere mal wurde geändert auf ist wahr
Der Datenpunkt soll dein Script nur einmal aktivieren, sonst wird es aufgerufen wenn der Datenpunkt wahr wird und kurz darauf wenn dieser falsch wird.Dann kannst du die falls Prüfung auch weglassen
Das mit den 2 x steuere hintereinander, davon das 2. mit Verzögerung ist sehr elegant und sehe ich hier im Forum oft. Funktioniert bei mir nur leider oft auch nicht. Bzw. die Zeitangabe ist nicht so genau, ich habe oft das es zu schnell passiert, also gerade heute wo 9 Sekunden nicht 9 Sekunden sind.
sonst kannst du es ja mal so probieren - und teste bei beiden Varianten mal wie genau die 60 Sekunden sind (Theoretisch beide gleich)
-
@bananajoe
danke für die Info, habs mal genauso versucht, läuft aber auch nicht
Hab mal Spaßeshalber ne WLAN Steckdose probiert um Fehler auszuschließen, geht aber auch nicht. Muss irgendwie mit dem Taster oder Skript zusammenhängen.......
-
@pi_noob15 wenn du dir den Switch-State im Objektbaum anschaust ... der springt schon zwischen false und true hin und her wenn du den Taster betätigst?
-
@pi_noob15 sagte in Blockly Skript wenn Zigbee Taster:
den normalen Klick event habe ich.
Gehe zum Reiter "Objekte" und dann zum Datenpunkt "Click event".
Fahre nun mit der Maus auf den Wert (false), damit die Zusatzinfos erscheinen, dann mache ein Screenshot.
Dies würde so aussehen:
So sehen wir dann, ob sich der Wert überhaupt geändert hat (zuletzt geändert).
Was hast du hinter "Bei Zustandsänderung" angewählt? Hier müsste "ist wahr" stehen.
-
@bananajoe
ja, das passt. Ist halt nur recht kurz auf True -
@kusi
hier der Screenshot. Hab auch schon die "click" variable manuell auf "true" gesetzt, das Skript schaltet trotzdem nicht.
und das aktuelle Skript, ob da "wahr" oder "aktualisiert" steht macht keinen Unterschied. Hab mal Testweise auch ne andere Steckdose zum schalten eingetragen, ohne Erfolg.
-
@pi_noob15 sagte: das Skript schaltet trotzdem nicht.
Das Skript ist aktiv und hoffentlich nicht unter der Gruppe "global" erstellt?
@kusi sagte in Blockly Skript wenn Zigbee Taster:
Hier müsste "ist wahr" stehen.
Oder "ist größer als letztes".
-
@paul53 die Skripte liegen alle in common
-
@pi_noob15 sagte: Skripte liegen alle in common
Dann setze einen Debug-Block in den Trigger, um zu sehen, ob bei Tastendruck getriggert wird.
-
@paul53 so müsste das ja passen:
im Log kommt dann das sobald ich drücke
-
@pi_noob15 Dann zeig mal den Shelly Power Datenpunkt. Wenn du den dort manuell auf True setzt schaltet der Shelly, ja?
-
@bananajoe ja, genau unter power:
-
@pi_noob15
Schalte den Debug-Modus rechts oben aus, denn der verhindert das Schreiben in den Datenpunkt. -
@paul53 jetzt gehts
das heißt es war die ganze Zeit der Debug Modus aktiv ?