NEWS
[Problem] Skript funktioniert plötzlich nicht mehr korrekt
-
Hallo Forumsmitglieder,
ich habe folgendes Problem, und keine Idee woran es liegen kann:
ich hab eine kleines Skript mit dem ein Schalter XX Minuten auf an ist und dann automatisch ausgeht (die paar Zeilen habe ich leider auch nur mit Hilfe des Forums hier hinbekommen - dafür nochmal Danke!).
Jetzt scheint das Skript aber nicht mehr zu funktionieren:
Wenn ich den Schalter auf ON setze, dann ändert er sich nicht mehr automatisch auf OFF.
Ich habe keine Idee, woran das liegen kann. Es hat Monate lang funktioniert, jetzt funktioniert es nicht mehr, ohne dass ich was an irgendwelchen Skripten geändert habe.
on ({id: "AS_00-TR_01:1.STATE", val: true }, function () { setTimeout(function () { setState("AS_00-TR_01:1.STATE", false); }, 6000); // 60000ms = 1min });
-
Statename ist sehr verdächtig.
Sollte der Name nicht hm-rpc.0.AS_00-TR_01:1.STATE sein?
-
Sollte der Name nicht hm-rpc.0.AS_00-TR_01:1.STATE sein? `
Oder hm-rpc.0.AS_00-TR_01****.****1.STATE ? -
Hallo,
vielen Dank für die Rückmeldung.
Ich hab das jetzt mal ausgebessert: Der Schalter im VIS funktioniert jetzt wieder (der hat dann durch den Fehler auch nicht funktioniert).
Aber die automatische Abschaltung funktioniert noch immer nicht.
hier jetzt das ausgebesserte Skript:
on ({id: "hm-rpc.0.MEQ1899037.1.STATE"/*AS_00-TR_01:1.STATE*/, val: true }, function () { setTimeout(function () { setState("hm-rpc.0.MEQ1899037.1.STATE"/*AS_00-TR_01:1.STATE*/, false); }, 1000); // 60000ms = 1min });
Muss ich die Hochkommas auch noch wegmachen?
-
Nein die Hoch Kommas passen.
Bau mal vor setTimeout
log('State AS 00 True')
und vor setState````
log('State AS 00 False')Dann siehst du wie weit das Skript Oberhaupt läuft. Gesendet von meinem m8 mit Tapatalk
-
HI,
also ich hab diese Zeilen jetzt mal eingefügt:
on ({id: "hm-rpc.0.MEQ1899037.1.STATE"/*AS_00-TR_01:1.STATE*/, val: true }, function () { log('State AS 00 True') setTimeout(function () { log('State AS 00 False') setState("hm-rpc.0.MEQ1899037.1.STATE"/*AS_00-TR_01:1.STATE*/, false); }, 1000); // 60000ms = 1min });
-
wollt noch sagen:
hab mal die Einträge im Log als Bilddatei angefügt: ich sehe da leider keinen der beiden Log-Texte…
Was mache ich schon wieder falsch???
-
Da ich keine weiteren Ideen mehr habe und dein Auslösendes Objekt sich ändert, wie im Log zu erkennen, behaupte ich dein Skript läuft einfach nicht.
Versehentlich deaktiviert?
Noch mehr code im Skript den du hier nicht gezeigt hast? Ein Fehler im Rest des Codes kann möglicherweise die Ausführung verhindern.
-
Poste mal einen Screen shot vom Objekt des Datenpunktes "AS_00-TR_01:1.STATE" (Reiter "Objekte", Button "Bearbeiten", Reiter "Allgemein>") so wie in diesem Beispiel:
-
Hallo,
hab jetzt mal einfach ein neues Skript erstellt und den Text vom alten da rein kopiert. Hat leider nix gebracht.
hab auch die Raspberries neu gestartet. Hat leider auch nix gebracht.
ich hab diese Einstellungen gesucht - siehe Bild:
ich kenn mich da zu wenig aus, um da jetzt einen Fehler zu sehen….
1256_zwischenablage01.jpg -
Ich habe eine Vermutung…
Was ist denn "hm-rpc.0.MEQ1899037" für ein Homematic-Gerät?
-
Hi,
dieses Gerät ist ein externer Steckdosenaktor ohne Messfunktion.
-
Hallo,
habe da auch so eine Vermutung.
Probier mal so:
var idTrigger = "hm-rpc.0.MEQ1899037.1.STATE"/*AS_00-TR_01:1.STATE*/; on (idTrigger, function (obj) { if (obj.state.val) { log('State AS 00 True'); setStateDelayed(idTrigger, false, 1000, function () { log('State AS 00 False'); }); } });
Habe den Namen des Datenpunktes in die Variable idTrigger geschrieben für besser Übersichtlichkeit.
Habe in der Überwachung dieses Datenpunktes (on) den Parameter val: true gestrichen und dafür den Wert des überwachten Datenpunktes auf true abgefragt (if…) was dann gemeldet wird (log). Ausserdem habe ich setTimeout gegen setStateDelayed mit callback-Funktion ersetzt (ist für diesen Zweck gemacht worden). Die Verzögerung ist hier 1000ms, also 1s.
Gruß
Pix
-
Hi,
dieses Gerät ist ein externer Steckdosenaktor ohne Messfunktion. `
OK - dann dürfte meine Vermutung eher nicht zutreffen. Es gibt da einige HM-Geräte, vorzugsweise Taster und Schalter die Statusänderungen nur unter bestimmten Voraussetzungen (Dummyprogramm auf der CCU) über hm-rpc weitergeben.