NEWS
[gelöst]Welchen Trigger nutzen?
-
@dominik-f
Die Abfrage in der Schleife muss lauten:falls Wert vom Objekt ID i
Der Name steht außerhalb von Triggern nicht zur Verfügung. Entweder die ID (Variable
i
) wird übergeben oder man verwendet eine JS-Funktion mit Ergebnis. -
@paul53 sagte in Welchen Trigger nutzen?:
@dominik-f
Die Abfrage in der Schleife muss lauten:falls Wert vom Objekt ID i
Danke für die Berichtigung, hatte ich übersehen.
Der Name steht außerhalb von Triggern nicht zur Verfügung. Entweder die ID (Variable
i
) wird übergeben oder man verwendet eine JS-Funktion mit Ergebnis.Wäre so eine JS-Funktion sehr kompliziert? Es wäre natürlich klasse das direkt "perfekt" zu machen.
-
-
Das "id" ist bei mir dann ein "i" oder? Sorry für die vielen Fragen
-
@dominik-f sagte: Das "id" ist bei mir dann ein "i" oder?
Nein:
id
ist der Funktionsparameter.Bei Aufruf der Funktion übergibst Du die Variable
i
. -
-
@dominik-f sagte: So müsste es dann schlussendlich aussehen oder?
Passt.
-
Ich danke dir mal wieder vielmals für deine tolles Hilfe.
-
Ich hab nochmal eine Verständnisfrage.
Ich habe das Skript nun getestet.
Starte ich es und alle Wassermelder sind auf false, dann steht im Log folgendes:javascript.0 2022-07-30 21:44:20.481 info script.js.common.Überwachung_Wassermelder: registered 2 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
Starte ich es und ein Wassermelder ist auf True, steht dort folgendes:
javascript.0 2022-07-30 21:43:01.662 info script.js.common.Überwachung_Wassermelder: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
Wie kommt es, das dort 0 subcriptions steht wenn ein Wassermelder auf true ist? Das verwirrt mich ein wenig.
-
@dominik-f
Subscriptions zeigt die Zahl der Trigger und müsste mit der Zahl der Wassermelder übereinstimmen, unabhängig davon, welchen Wert sie haben. -
Genau das verwirrt mich, weil ich dort eine 2 erwartet habe.
-
Hier nochmal das Log:
Skript gestartet mit einem Wassermelder der True ist, dann Wassermelder auf false gestellt, Skript gestoppt und wieder gestartet.
Wenn kein Wassermelder beim Start true ist erkennt er alle Triggerjavascript.0 2022-07-30 22:59:08.408 info script.js.common.Überwachung_Wassermelder: registered 3 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2022-07-30 22:59:08.400 info Start javascript script.js.common.Überwachung_Wassermelder javascript.0 2022-07-30 22:59:04.675 info Stop script script.js.common.Überwachung_Wassermelder javascript.0 2022-07-30 22:58:55.294 info script.js.common.Überwachung_Wassermelder: Wasser behoben test1 javascript.0 2022-07-30 22:58:45.659 info script.js.common.Überwachung_Wassermelder: Wasser erkannt test1 javascript.0 2022-07-30 22:58:45.659 info script.js.common.Überwachung_Wassermelder: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2022-07-30 22:58:45.637 info Start javascript script.js.common.Überwachung_Wassermelder
-
@dominik-f
Das muss wohl ein Bug im Adapter sein?
Um 22:58:55.294 wurde doch getriggert? -
Ja, es funktioniert auch alles wie es soll.
Es scheint, dass dies nur angezeigt wird, wenn die Schleife als erstes greift
-
@dominik-f sagte: dass dies nur angezeigt wird, wenn die Schleife als erstes greift
Ja, scheint ein Laufzeitproblem zu sein, denn ich kann es bei mir mit einem einfacheren Skript nicht nachvollziehen.
-
Es scheint so zu sein, dass es auf die Anordnung der Bausteine ankommt^^ Steht die Schleife oben, erkennt er wenn wenn diese greift keinen Trigger. Steht die Schleife unter dem Baustein mit dem Trigger wird alles richtig angezeigt
https://forum.iobroker.net/topic/56808/gelöst-welchen-trigger-nutzen/4?_=1659196213531
Hier steht erst Skriptstart und dann laufendes Skript.
Steht laufendes Skript oben und darunter Skriptstart passt es -
@dominik-f sagte: Steht die Schleife unter dem Baustein mit dem Trigger wird alles richtig angezeigt
Wie vermutet: Laufzeitproblem. Dann lass die Schleife unten.
-
Ich danke dir
-
Ich bekomme beim Überprüfen der Blöcke einen Fehler:
Dieser bezieht sich wohl auf den Block pushover pushover.0
Ich verstehe nur nicht was da falsch verbunden ist
-
@dominik-f sagte: beim Überprüfen der Blöcke einen Fehler:
Diese Meldung kenne ich nicht. Versteckt sich vielleicht ein verwaister Block hinter den anderen? Die Javascript-Ansicht zeigt es.