NEWS
[gelöst] Skript Ausführung ohne Trigger?
-
@treff-and-nix
Biste sicher, dass Du nicht evtl. einen "steuere" Block "rumliegen" hast, also z.B. hinten dran oder weiter weg (mal mit dem Zoom rausgehen)?
Das passiert mir ab und an. -
Übrigens, mach mal aus der Kombi nach_Zahl+"text" besser einen blauen "Mathematik" Block.
-
@padrino habe gerade noch geschaut und zusätzlich die js Variante angeschaut, da ist kein weiterer Baustein vorhanden. Wenn ich dieses Script deaktiviere dann wird die Änderung nicht durchgeführt.
-
@treff-and-nix
Könnte auch sein, dass sich der Status wiederholt?
Versuch mal statt wahr, größer als... und statt false, kleiner als... -
@padrino gute Idee, ich p probiere es aus
-
@padrino ich habe nun zusätzlich debug output eingebaut um zu prüfen welcher Bereich vom Skript abgelaufen wird.
alle debug output Felder werden abgearbeitet.
Nun habe ich im Sensor last update Feld geprüft, es scheint so als ob hier ein Update stattfindet obwohl der Sensor status nicht geändert wurde...
(Adapter: Deconz, Sensor: Aqara Konstaktsensor)
Ist jemandem dieses Verhalten auch bekannt?
Wie könnte ich dieses Verhalten durch ein Script umgehen ?Edit: habe noch übergeordnet denn Block falls objekt würde geändert ergänzt
-
@treff-and-nix
Also, Trigger in Trigger geht nicht.
Schmeiß das wieder raus und vergiss die Idee ganz schnell wieder.Meine Aussage von oben bleibt, ändere mal die Trigger von "ist wahr" auf "ist größer"...
-
@padrino meinst du es so ?
Ich teste es mal, weis nicht wie es reagiert wenn der Timeevent sich aktualisiert, deswegen ist es immer in die Sonst schleife gelaufen.
Wie meinst du das Trigger in Trigger funktioniert nicht? Systemseitig funktioniert es nämlich. Das Script läuft ja von oben nach unten durch und durchläuft somit ach die anderen trigger.
-
@treff-and-nix sagte in Skript Ausführung ohne Trigger?:
Wie meinst du das Trigger in Trigger funktioniert nicht? Systemseitig funktioniert es nämlich. Das Script läuft ja von oben nach unten durch und durchläuft somit ach die anderen trigger.
Ne, ein Trigger greift immer, egal wie tief der verschachtelt/begraben ist.
Da muss nix anderes/höheres erfüllt sein.Übrigens, was sind denn diese grünen "steuere"? Oder sind die inaktiv/ausgegraut?
-
@treff-and-nix sagte: Systemseitig funktioniert es nämlich.
Bei jedem Trigger-Ereignis des äußeren Triggers wird ein neuer innerer Trigger erzeugt bis das System irgendwann überlastet ist. Für einen Datenpunkt verwendet man nur einen Trigger (Ressourcenverbrauch). Vorschlag:
Wert findet man unter "Trigger".
-
@treff-and-nix sagte in Skript Ausführung ohne Trigger?:
Wie meinst du das Trigger in Trigger funktioniert nicht? Systemseitig funktioniert es nämlich. Das Script läuft ja von oben nach unten durch und durchläuft somit ach die anderen trigger.
Du darfst dir das so vorstellen:
der JS Adapter beinhaltet eine lange Liste von "events" deren Bedingungen er prüft, um wenn sie erfüllt sind die daran angehängten Routinen auszuführen.
Wenn ein Skript gestartet wird dann läuft das Skript durch. Trifft es auf einen "trigger" block, so wird der Inhalt nicht ausgeführt, sondern mit der Bedingung in diese Liste Eingetragen. Dabei wird das Skript auch als "Quelle" des Events mit eingetragen. Wird das Skript beendet werden alle Events aus der Liste ausgetragen bei denen dieses eine Skript als "Quelle" eingetragen ist.Wenn jetzt dein "äusserer" trigger aktiviert wird trägt dieser den Inneren Trigger als neue Bedingung in die Liste ein - Jedes mal wenn der Trigger aktiv wird.
Wird dadurch verständlich warum Trigger im Trigger nicht gut si`nd ?
-
@asgothian super vielen dank für die Erklärung jeder trigger egal wo er sitzt ist im Prinzip im kopf des Skripts und wird immer angefragt. Danke
-
@paul53 ich versuche gerade nachzubauen aber ich finde folgendes nicht, setze soll Wert. Wo finde ich diesen Block?
-
@treff-and-nix Schau mal im "trigger" Bereich. Da gibt es einen Baustein wo "Object ID" drin steht.
Der ist das - den kann man auf "wert" umstellen.
A.
-
@padrino genau die sind auskommentiert. Also mit großer als funktioniert es wunderbar, kannst du mir bitte erklären wie dieses großer als zu verstehen ist. Was ist größer als true oder false?
-
@treff-and-nix sagte: Wo finde ich diesen Block?
Man muss erst die Variable sollwert erstellen, damit man sie verwenden kann.
-
@treff-and-nix sagte: wie dieses großer als zu verstehen ist.
true ist größer als false
-
@treff-and-nix sagte in Skript Ausführung ohne Trigger?:
Was ist größer als true oder false?
Wie @paul53 bereits sagte, true ist größer als false.
Du kannst es im Prinzip so sehen, true=1 und false=0. -
Scheint nun alles zu funktionieren wie gewünscht,
Vielen dank euch allen