NEWS
Mehrere States vergleichen
-
Hallo zusammen,
nachdem hier im Forum nach der Ansteuerung des HomematicIP Wandschalters mit LED-Anzeige (HmIP-BSL) gefragt wurde hatte ich endlich meinen erst einmal provisorisch in Betrieb genommen.
Zusammen mit dem neuen Adapter Trashschedule kam mir die Idee ihn zum anzeigen der nächsten Leerung zu nutzen:
Das scheint auch im Normalfall soweit zu klappen.
Jetzt fiel mir ein, dass in besonderen Wochen mit Feiertagen) es vorkommen kann, dass ZWEI Tonnen an einem Tag abgeholt werden.
Ich habe jetzt keine Lust alle Permutationen bei jedem Falls durchzuspielen.
Gibt es da eine einfachere Möglichkeit?
-
@Homoran sagte:
ZWEI Tonnen an einem Tag abgeholt werden
Sollen dann 2 LEDs leuchten ? Eine LED hat ja nur 7 Farben bei 16 möglichen Zuständen der Mülltonnenabholung.
-
@paul53 sagte in Mehrere States vergleichen:
Sollen dann 2 LEDs leuchten ? Eine LED hat ja nur 7 Farben bei 16 möglichen Zuständen der Mülltonnenabholung.
Ja - so ist es. Ich hatte gehofft, dass man die Mischen kann, aber AND und OR bringen da nicht wirklich was
Das ist eine Frage zu der ich mich noch nicht entschieden habe. Aber wenn es Sachzwänge gibt
Der Schalter sollte im Flur für die Beleuchtung des Gäste-WC eingesetzt werden
Die obere LED sollte eigentlich auf rot gesetzt werden, wenn das Licht angemacht wird.Daher dachte ich entweder im unteren Teil eine Farbe, in diesem Fall vielleicht weiß, sozusagen als "undefined" oder in der Luxusvariante ein Farbwechsel (:duckundwech:)
EDIT:
Morgen wird Altpapier abgeholt und ein Gast ist simuliert
-
-
@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 -
@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