NEWS
[gelöst]doppelte Logausgabe
-
Es wird eine Pushover versendet für den Wassermelder der ausgelöst hat, so wie es auch sein soll. Aber es werden 2 Logs ausgegeben mit Wasser erkannt oder Wasser behoben.
Die Wassermelder heißen ja nicht beide Küche -
@dominik-f Das fragst du ja gar nicht ab? Log mal den Wert
-
01:03:04.250 info javascript.0 (26259) script.js.common.test: true 01:03:04.250 info javascript.0 (26259) script.js.common.test: true
-
@dominik-f Und wo fragst du hier den auslösenden DP ab?
-
Aus den Tutorials dich mir angeguckt habe dachte ich, dass "falls Wert" das gleiche ist wie "falls Wert = true"
-
@dominik-f Ja die Aussage stimmt ja auch, aber du musst prüfen, welcher DP der auslösende war. Ein DP aus dem Selektor hat gemeldet "ich bin true". Da lässt du jetzt hinterher die Liste der Selektoren-DPs durchlaufen und prüfst den WERT der geschickt wurde von einem DP.
In der Abfrage müsste etwas sein, wie Falls Wert von ObjektID (i) = WERT.
In dem Fall würde er aber einmal schicken Wasser erkannt und beim anderen Wasser behoben, da der Wert bei dem ja false ist. Also muss du vorher prüfen, welcher DP ist denn ausgelöst worden und nur den prüfen. -
-
@dominik-f von i nicht selektor_Wassermelder
-
Das hatte ich schon mal gehabt, aber da kam wieder was ganz komisches raus^^
01:14:52.637 info javascript.0 (26259) script.js.common.test: Wasser behoben Küche 01:14:52.638 info javascript.0 (26259) script.js.common.test: Wasser erkannt Küche
Da gibt er mir wohl erst den alten State und dann den neuen State aus
-
@dominik-f Ja, jetzt musst du noch die Zeit der Wertänderung prüfen, denn der DP der ausgelöst hat, hat ja seinen Wert verändert.
Oder direkt die ObjektID prüfen?
Du kannst ja auch den Verursacher loggen
Probieren: Gerätename, GeräteID ?
Machen morgen weiter? Oder ein anderer. -
Machen wir, danke dir schon mal
-
@dominik-f sagte in doppelte Logausgabe:
Es wird eine Pushover versendet für den Wassermelder der ausgelöst hat, so wie es auch sein soll. Aber es werden 2 Logs ausgegeben mit Wasser erkannt oder Wasser behoben.
Die Wassermelder heißen ja nicht beide KücheDie Lösung ist so einfach. Unter der Bedingung das die Bausteine "wert" und "name" korrekt sind:
Lass einfach das "für jeden Wert i in der Liste" weg, und gib einfach die Meldung aus wie du es vorgesehen hast.
@mcu sagte in doppelte Logausgabe:
In der Abfrage müsste etwas sein, wie Falls Wert von ObjektID (i) = WERT.
In dem Fall würde er aber einmal schicken Wasser erkannt und beim anderen Wasser behoben, da der Wert bei dem ja false ist. Also muss du vorher prüfen, welcher DP ist denn ausgelöst worden und nur den prüfen.Diesen Teil kannst Du dir sparen, da "wert" bei korrekter Einstellung der Wert des DP ist der den trigger ausgelöst hat und "Name" der Name des DP der die Änderung ausgelöst hat.
Das Durchgehen brauchst du nur dann wenn du bei jeder Änderung eines einzelnen Sensors den Status aller Sensoren gemeldet bekommen willst.
A.
-
Danke, nun funktioniert es so wie es soll