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
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
