NEWS
Mehrere States vergleichen
-
@paul53
Nee, nich?
ein typischer PaulDanke erstmal.
Nicht dass ich das auf Anhieb verstehe, da lern ich mich mal durch. -
@Homoran
Ich hätte einen anderen systematischen Vorschlag. Ordne jeder Tonne eine Primzahl zu: 1, 3, 5, 7 oder Null, wenn die Tonne nicht in Frage kommt. Dann kannst Du der jeweiligen Summe (z.B. 3+5=8 für Tonne 2 und 3) hier 8 eine Farbe oder LED Kombination zuordnen. Dies ist übersichtlich und kann leicht geändert werden.
Gruß
HUK -
@paul53
Nee, nich?
ein typischer PaulDanke erstmal.
Nicht dass ich das auf Anhieb verstehe, da lern ich mich mal durch.@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.
-
@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); } }); -
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! -
@Homoran
In den Abfragen "falls Tonne1" fehlt das "sonst". Tonne1 erhält so den gleichen Wert wie Tonne2.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? -
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? -
-
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? -
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.
-
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
