NEWS
[gelöst] Virtueller Schalter funktioniert nicht
-
@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' ?
-
@paul53 so ist es. Leider
-
Hat vielleicht sonstwer noch eine Idee