NEWS
Sonoff TH16 steuern mit VIS geht nicht
-
Hallo,
ich habe einen Sonoff TH16 und möchte damit meine Heizung in der Sauna steuern.
Über Vis möchte ich mit einem Schalter die Sauna anstellen, dann soll eine Zeit ablaufen z.B. 60 min.
Dieser Countdown soll mir auch in Vis angezeigt werden. Ich möchte damit die Restlaufzeit bis die Heizung ausschaltet, ablesen. Ist der Counter auf 0 soll der Sonoff ausgeschaltet werden.
Hierzu habe ich mir einen Blockly zusammengestellt.
Ich bekomme es aber nicht ans laufen.
Ich scheitere schon bei der falls Abfrage.
Sobald ich die falls-Abfrage mit einbaue, geht nichts mehr.
Setze ich den Block "setze Zähler auf 14" ohne die falls-Abfrage, scheibt er mir auch den Contdown in die Variable.
Den Schalter "Sauna3" habe ich selber angelegt.Hat einer einen Tipp oder vielleicht einen besseren Vorschlag zur Realisierung?

-
@RalfEngelberth Ich hab den Fehler gefunden.
Nach dem ändern der Variablen(Objekt) in eine bestehende Variable, funktionierte das Blockly.Aber warum?
Wie muss ich ein Variable unter Objekte anlegen, damit diese auch in meinem Blockly funktioniert? -
@RalfEngelberth
Ich habe was in Java wenn du möchtest:const idTaster = "heatingcontrol.0.Profiles.0.Toilette.Boost"; const idBoost = "fritzdect.0.Comet_119610273248.mode"; const idVis = "javascript.0.Heizung.LaufzeitBad"; // Anzeige Restdauer in Minuten var cnt = getState(idVis).val; var timer = null; function countDown() { cnt--; setState(idVis, cnt, true); if(cnt <= 0) { clearInterval(timer); setState(idBoost, 0); } } on({id: idTaster, val: true}, function () { setState(idBoost, 2); cnt = 60; setState(idVis, cnt, true); if(timer) clearInterval(timer); timer = setInterval(countDown, 60000); // jede Minute });
Datenpunkt idVis musst du von Hand anlegen und idTaster ist ein Datenpunkt den du per VIS ansteuerst.
Set State ist bei mir eine Status, aber das kannst du ja bei deinem Schalter entsprechend anpassen. -
@Chaot Danke für die Hilfe.
Ich habe aber das Problem mit der Variablen gelöst.
Das Widget was ich verwendet habe, hatte ich auf on und off eingestellt.
Nach dem Ändern auf true und false ging es.
Ich denke, dass ich dass auch in der Variablen hätte ändern können.Danke für die Hilfe