NEWS
[gelöst] Virtueller Schalter funktioniert nicht
-
@HeliosFan sagte in Virtueller Schalter funktioniert nicht:
und noch eine Bitte:
Ich finde den Post von neulich nicht mehr, wo ein Blockly zur Erzeugung eines eingenen Datenpunktes unter javasript.0 gezeigt wurde.
Ich habs mir iregendwie zerschossen.
Bitte nochmal !Hier mal drei Beispiele
- ein Button
- ein Schalter
- ein String
In der Funktion auf </> klicken, dann öffnet sich der Funktion Editor.
Da steht das drinn
-
@HeliosFan sagte:
Alexa meldet "OK"
"schnelles aufheizen beendet" muss verzögert (innerhalb von Ausführen timeout) ausgeführt werden.
-
@dslraser danke
-
@paul53 werd ich versuchen, danke
-
Es bleibt dabei: funktioniert nicht
Ich habe mal an dem Datenpunkt rumgespielt.
Funktioniert nicht mit state/state, state/switch, und auch nicht mit state/button
Blockly:
-
@HeliosFan sagte:
Funktioniert nicht mit state/state, state/switch, und auch nicht mit state/button
Die Rolle hat für Javascript keine Bedeutung.
Was funktioniert nicht ?- Wird nicht getriggert ?
- Keine Sprachausgabe ?
- Der Sollwert wird nicht verändert ?
-
@paul53 said in Virtueller Schalter funktioniert nicht:
Was funktioniert nicht ?
Wird nicht getriggert ?
Keine Sprachausgabe ?
Der Sollwert wird nicht verändert ?Alles davon
-
-
Kein Eintrag im Log
-
-
@paul53
nein -
@HeliosFan sagte:
nein
Das ist aber erforderlich, damit getriggert wird und die Bedingung im falls-Block erfüllt ist.
-
@paul53
Also wenn ich den virtuellen Schalter über die Alexa App betätige geht er auf "true" wechselt aber auf rot.
Im Log kommen FehlerDabei ist Zeile 3 der Oberschwachsinn. Das Object ist sehr wohl definiert.
Und wenn ich über Alexa wieder ausschalte ist auch "false" rot.
Mehr passiert einfach nicht.
Keine Sprachausgabe, keine Wertänderung an den Thermostaten. -
@HeliosFan sagte:
geht er auf "true" wechselt aber auf rot.
Der Wechsel auf rot ist normal.
@HeliosFan sagte in Virtueller Schalter funktioniert nicht:
Im Log kommen Fehler
Was steht in Zeile 24 des von Blockly erzeugten Javascript-Codes ?
@HeliosFan sagte in Virtueller Schalter funktioniert nicht:
Mehr passiert einfach nicht.
Bei Fehlern wird die Skriptausführung abgebrochen.
-
@paul53 ```
var zuletzt_eingestelle_Temperatur, timeout; on({id: 'javascript.0.Eigene_Datenpunkte.01Virtuelle_Schalter.01Schnelles_Aufheizen', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("javascript.0.Eigene_Datenpunkte.01Virtuelle_Schalter.01Schnelles_Aufheizen").val == true) { zuletzt_eingestelle_Temperatur = getState("fritzdect.0.Hgroup_3D:48:6F-900.lasttarget").val; setState("alexa2.0.Echo-Devices.G090P3088455013L.Commands.speak"/*speak*/, 'schnelles auheizen gestartet'); setState("fritzdect.0.Hgroup_3D:48:6F-900.targettemp"/*Target Temp*/, 28); console.log('schnellheizen'); (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})(); timeout = setTimeout(function () { if (compareTime('06:00', '12:00', "between", null) || compareTime('17:00', '22:00', "between", null)) { setState("fritzdect.0.Hgroup_3D:48:6F-900.targettemp"/*Target Temp*/, getState("fritzdect.0.Hgroup_3D:48:6F-900.comfytemp").val); } else { setState("fritzdect.0.Hgroup_3D:48:6F-900.targettemp"/*Target Temp*/, zuletzt_eingestelle_Temperatur); } setStateDelayed("alexa2.0.Echo-Devices.G090P3088455013L.Commands.speak"/*speak*/, 'schnelles auheizen beendet', 1000, false); }, 1800000); } }); obj.id;
-
Da lungert irgendwo noch ein Block "Objekt ID" rum, der gelöscht werden muss.
-
@paul53
ok, aber wo ?
ich finde nichts
{
"from": "system.adapter.javascript.0",
"user": "system.user.admin",
"ts": 1573659650120,
"common": {
"name": "Virtueller Schalter Schnelles_Aufheizen",
"type": "boolean",
"role": "switch",
"read": true,
"write": true,
"def": false,
"smartName": {
"de": "schnellheizen",
"smartType": "SWITCH"
}
},
"native": {},
"acl": {
"object": 1638,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator",
"state": 1638
},
"_id": "javascript.0.Eigene_Datenpunkte.01Virtuelle_Schalter.01Schnelles_Aufheizen",
"type": "state"
} -
@HeliosFan sagte:
ok, aber wo ?
Im Blockly. Vielleicht hat sich der verwaiste Block hinter dem Trigger-Block versteckt ? Dann verschiebe mal den gesamten Triggerblock, damit er zum Vorschein kommt.
-
@paul53
ja das wars.
Ändert aber nicht, das Blockly wird nicht abgearbeitet.
Es wird nur die Bedingung erfüllt, die im Timeout steht:
Und die Heizung auf 23 Grad regelt (Comfort Temp) -
@HeliosFan sagte:
virtuellen Schalter über die Alexa App betätige geht er auf "true" wechselt aber auf rot.
Dann tut sich nichts und im Reiter "Log" erscheint kein 'schnellheizen' ?