NEWS
Script funktioniert plötzlich nicht mehr (Blockly)
-
Hi,
mein Script geht plötzlich nicht mehr und ich habe keine Idee warum.
Das Script soll MDR Thüringen auf Alexa abspielen sobald das Licht im Bad angeht.
Aufhören soll Sie damit sobald das Licht aus ist.
Es funktionierte Wochenlang prima.
Jetzt geht zwar der Ring der Alexa an als ob diese was machen will, aber es passiert nichts.![alt text]( image url)
-
Mal so ein Tipp: Wenn Ihr in einem Trigger (wenn Onjekt aktualisiert zB) habt und DEN neuen Wert haben wollt um Ihn zu verwenden (in dem Fall das Falls), dann NICHT "Wert vom Objekt "nutzen sondern die variable "newValue" die dort existiert.
Warum: Weil Wert vom Objekt ggf noch den alten Wert hat. Da kann es Timing Dinge geben.
-
@apollon77
klingt erst mal logisch und erklärt warum ab und an ein Script nicht genau das macht was es soll.
Nur hab ich das diese Variable nicht drin:
Da gibts nur "letzte Änderung" und nicht "neuer Wert" -
Unter Blöcke Trigger. Oder die vordefinierte Variable value erzeugen.
-
@paul53
hatte ich auch gesucht und nix gefunden:
Oder reicht hier einfach "Wert"? -
@Jan1 sagte in Script funktioniert plötzlich nicht mehr (Blockly):
Oder reicht hier einfach "Wert"?
Ja.
-
@paul53
Alles klar, das mach ich mittlerweile eh bei neu angelegten Blocklys, weil einfach auch schneller geht -
Ihr müsst nichts anlegen!! es sollte ein Block "newValue" existieren bei den variablen blöcken! Kein "Wert von xyz" oder sowas
-
@apollon77
ist das jetzt was paul53 schreibt nicht richtig?
bei den Variablen hab ich nur das drein:
oder das wenn ich in ein anderes Blockly wechsle:
-
@apollon77 said in Script funktioniert plötzlich nicht mehr (Blockly):
Mal so ein Tipp: Wenn Ihr in einem Trigger (wenn Onjekt aktualisiert zB) habt und DEN neuen Wert haben wollt um Ihn zu verwenden (in dem Fall das Falls), dann NICHT "Wert vom Objekt "nutzen sondern die variable "newValue" die dort existiert.
Warum: Weil Wert vom Objekt ggf noch den alten Wert hat. Da kann es Timing Dinge geben.
Danke! Ich schau mal obs klappt
-
Ja scheinbar musst du einmalig eine variable namens "newValue" anlegen ... dann kannst Du die nutzen
-
@apollon77 sagte:
variable namens "newValue" anlegen
Die Variable hat den Bezeichner value. Sie wird erst nach "Speichern" angeboten. Vorher:
Nach dem Speichern:
Dieser Javascript-Code wird mit jedem Triggerblock automatisch erzeugt:
on({id: "Object ID", change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; });
-
@paul53
im JS Adapter 4.1.8 scheint das aber anders zu sein, da hier nach dem Speichern nur das dort steht:
-
@Jan1 Dann muss die Variable value einmal erstellt werden, wenn man sie anstelle von Wert (aus den Trigger-Blöcken) verwenden will.
-
@apollon77 said in Script funktioniert plötzlich nicht mehr (Blockly):
Mal so ein Tipp: Wenn Ihr in einem Trigger (wenn Onjekt aktualisiert zB) habt und DEN neuen Wert haben wollt um Ihn zu verwenden (in dem Fall das Falls), dann NICHT "Wert vom Objekt "nutzen sondern die variable "newValue" die dort existiert.
Warum: Weil Wert vom Objekt ggf noch den alten Wert hat. Da kann es Timing Dinge geben.
Ich habe den Tipp in die Tat umgesetzt... es funktionierte anfänglich - heute früh ging der Ring der Alexa an - aber keine Musik. Also das Problem meines Eingagsposts besteht weiterhin.