NEWS
Pumpe für x Minuten einschalten
-
- Trigger im Trigger geht nicht.
- den inneren Trigger (auf Position Umwälzpumpe) ersetzen durch den äquivalenten Baustein aus dem Logik Bereich.
- Den Timeout kannst du entfernen und statt dessen im steuere den Haken bei "mit Verzögerung" aktivieren, in den dann auftauchenden Einstellungen die Zeit eintragen sowie das "löschen wenn schon läuft" setzen.
- der äussere Trigger funktioniert ggf. nicht: Wenn es ein "button" Objekt ist, welches mit true aktualisiert wird wenn der Button aktiv ist, dann findet u.U. keine Änderung statt, so das der Trigger nicht trifft. Wenn es ein Datenpunkt aus dem deconz Adapter ist, dann ist davon auszugehen das bei Tastendruck kurzfristig eine Zahl gesetzt wird, die danach durch eine 0 ausgetauscht wird, sprich der Trigger feuert 2 mal, einmal beim Setzen der Zahl, einmal beim Löschen der Zahl. Hier wäre "ist grösser als letztes" an Stelle von "wurde Geändert" korrekt.
Das zuweisen auf einen 2. Datenpunkt (von der Vis) kann gehen, hängt aber davon ab wie die Datenpunkte Eingerichtet werden
A.
-
@dehein2 Versuche es mal so:
-
- Ja genau es handelt sich um einen deconz button. "buttonpressed" wechselt beim kurzen drücken 0 -> 1002 -> 1000 -> 0
- Was bewirkt der Haken bei "löschen wenn schon läuft" genau?
- Wie läst man es denn sonst in iobroker wenn ein script von mehreren triggern ausgelöst werden soll?
- ich werde dein Script gleich nachbauen, aber noch 2 Fragen:
-- Das UND: Da da fragst du ja nochmal den Wert des buttons ab, aber ist das wirklich nötig? Das ganze wird ja eh nur aktiviert wenn das falls objekt "true" ist
-- Der Zeitplan unten ist ja die Steuerung für die Stunde am Morgen. Nur eine Frage um blockly zu verstehen. Hängen die beiden pinken objekte zusammen oder sind es im Prinzip eigenständige logiken? Weil der Zeitplan ja ansonsten nichts mit dem button zu tun hat
-
@dehein2 sagte in Pumpe für x Minuten einschalten:
- Ja genau es handelt sich um einen deconz button. "buttonpressed" wechselt beim kurzen drücken 0 -> 1002 -> 1000 -> 0
- Was bewirkt der Haken bei "löschen wenn schon läuft" genau?
Der sorgt dafür das wenn der Trigger mehrfach nacheinander kommt nicht n Minuten später die Aktion n mal kommt sondern nur 1x
- Wie läst man es denn sonst in iobroker wenn ein script von mehreren triggern ausgelöst werden soll?
Du kannst einen anderen Trigger nutzen, der parallel mehrere Datenpunkte abfragt.
- ich werde dein Script gleich nachbauen, aber noch 2 Fragen:
-- Das UND: Da da fragst du ja nochmal den Wert des buttons ab, aber ist das wirklich nötig? Das ganze wird ja eh nur aktiviert wenn das falls objekt "true" ist
Das ist nicht korrekt. Der Trigger wird aktiv wenn das Objekt seinen Wert geändert hat. Dabei ist egal von welchem Wert auf welchen Wert.
Dazu kommt das das Beispiel von @Dr-Bakterius nicht funktionieren wird, da der Wert von Sensor12.buttonpressed nicht wahr oder falsch ist. An stelle des Wahr sollte da 1002 stehen.-- Der Zeitplan unten ist ja die Steuerung für die Stunde am Morgen. Nur eine Frage um blockly zu verstehen. Hängen die beiden pinken objekte zusammen oder sind es im Prinzip eigenständige logiken? Weil der Zeitplan ja ansonsten nichts mit dem button zu tun hat
Der Zeitplan ist eigenständig, und läuft unabhängig vom Trigger.
A.
-
@Asgothian
Vielen Dank!Zu dem Trigger für mehrere Datenpunkte: Mit welcher Variablen kann ich meinen (vis) Button denn verknüpfen? Der Button selbst hat ja keine Variable...
-
Alles klar. Ich habe mir mit JS eine Variable erstellt die ich nun als trigger nutze. Danke
-
@dehein2
Variable oder Datenpunkt ? -
@dehein2 Dafür wie man auf den Button reagiert und prüft gibt es unterschiedliche Möglichkeiten. Da deiner nicht 'true|false' liefert, kannst du statt 'Button = true' auf 'Button > 0' prüfen. Oder du wählst im Trigger statt 'wurde geändert', 'ist größer als letztes'. Dann kannst du dir die Prüfung danach auch sparen.
Der Zeitplan unten arbeitet völlig unabhängig auch wenn er direkt daran hängt. Du kannst aber natürlich auch einen Abstand lassen oder ein eigenes Skript dafür verwenden.
Viele Wege führen ans Ziel...
-
@Asgothian
createState('UmwaelzpumpeTrigger', false)
Ist wahrscheinlich ehr ein Datenpunkt, oder? -
@dehein2
Ja. Ist auch gut so, denn auf Skript Variablen kannst du keinen Trigger legen -
Danke