NEWS
Mehrere States vergleichen
-
-
gerne;
var Tonne1, Tonne2, Wechsel, Intervall; on({id: new RegExp('Systemvariablen\\.0\\.Muellkalender\\.blaueTonne_aktiv' + "|" + 'Systemvariablen\\.0\\.Muellkalender\\.gelbeTonne_aktiv' + "|" + 'Systemvariablen\\.0\\.Muellkalender\\.graueTonne_aktiv' + "|" + 'Systemvariablen\\.0\\.Muellkalender\\.brauneTonne_aktiv'), change: "ne"}, function (obj) { Tonne1 = 0; Tonne2 = 0; Wechsel = false; if (getState("Systemvariablen.0.Muellkalender.blaueTonne_aktiv").val == true) { Tonne1 = 1; } if (getState("Systemvariablen.0.Muellkalender.gelbeTonne_aktiv").val == true) { if (Tonne1) { Tonne2 = 6; Tonne1 = 6; } } if (getState("Systemvariablen.0.Muellkalender.graueTonne_aktiv").val == true) { if (Tonne1) { Tonne2 = 5; Tonne1 = 5; } } if (getState("Systemvariablen.0.Muellkalender.brauneTonne_aktiv").val == true) { if (Tonne1) { Tonne2 = 2; Tonne1 = 2; } } if (Tonne2) { Intervall = setInterval(function () { if (Wechsel) { setState("hm-rpc.1.001A58A9A27EC9.12.LEVEL", 100); setState("hm-rpc.1.001A58A9A27EC9.12.COLOR", Tonne2); } else { setState("hm-rpc.1.001A58A9A27EC9.12.LEVEL", 100); setState("hm-rpc.1.001A58A9A27EC9.12.COLOR", Tonne1); } Wechsel = !Wechsel; console.log(Wechsel); }, 30000); } else { (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})(); setState("hm-rpc.1.001A58A9A27EC9.12.LEVEL", 100); setState("hm-rpc.1.001A58A9A27EC9.12.COLOR", Tonne1); } }); on({id: "hm-rpc.1.001A58A9A27EC9.3.STATE", change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("hm-rpc.1.001A58A9A27EC9.3.STATE").val == true) { setState("hm-rpc.1.001A58A9A27EC9.8.COLOR", 4); setState("hm-rpc.1.001A58A9A27EC9.8.LEVEL", 100); } else { setState("hm-rpc.1.001A58A9A27EC9.8.COLOR", 0); } });
-
@Homoran
In den Abfragen "falls Tonne1" fehlt das "sonst". Tonne1 erhält so den gleichen Wert wie Tonne2. -
@paul53
Danke, prüfe ich sofort! -
Das wars - Danke
Wegen C&P war es dann ein systematischer Fehler.Was sagst du denn als Hüter des DC dazu?
geht das gut? -
-
-
@Homoran sagte:
DC
Du sendest jedesmal den LEVEL mit. Wird der LEVEL im gleichen Telegramm übertragen wie COLOR ? Wenn nicht, treibt das zusätzliche Senden von LEVEL im Intervall den DC hoch.
-
Da liegst du verdammt gut.
ca. 45% in 3 Minuten bei Wechsel alle 3 SekundenWerde ich nachher nochmal mit 30 Sekunden machen wenn der DC wieder runter ist.
-
@Homoran
Muss man jedesmal zusammen mit COLOR auch den LEVEL mitgeben ? Wenn nicht, dann mache es besser so: -
@paul53 sagte in Mehrere States vergleichen:
Muss man jedesmal zusammen mit COLOR auch den LEVEL mitgeben ?
Wahrscheinlich nicht.
Aber erst dachte ich mein Programm läuft nicht, bis ich merkte das der Level auf 0 stand.@paul53 sagte in Mehrere States vergleichen:
Wenn nicht, dann mache es besser so:
Einmalig muss reichen.
Ich werde den Schalter wahrscheinlich sowieso in das Nacht_dimm Programm einbinden und nachts auf x Prozent dimmen. Dann wird es spätestens zu diesen Zeitpunkten einen Level ungleich 0 bekommen