NEWS
Mehrere States vergleichen
-
@Homoran sagte in Mehrere States vergleichen:
Nicht dass ich das auf Anhieb verstehe, da lern ich mich mal durch.
@paul53
Ich glaube ich ahne was da ablaufen soll.Aber es läuft nicht
es wechselt nur einmalig.
Habe zusätzlicher zur blauen bei allen Tonnen den state mal testweise auf true gesetzt.Habe auch mal mit 2, 5, und 10 Sekunden timeout versucht.
-
-
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