Ich habe 4 Sensoren von Waste Collection Schedule, welche mir die Tage bis zur nächsten Leerung anzeigen.
Nun möchte ich wissen, welche Tonne morgen oder heute an der Reihe ist und diese Information in einem input_number-Helfer zusammenfassen. Konkret:
wenn morgen oder heute keine Tonne an der Reihe ist, soll der Helfer den Wert 0 haben.
wenn morgen oder heute die graue Tonne an der Reihe ist, soll der Helfer den Wert 1 haben
wenn morgen oder heute die gelbe Tonne an der Reihe ist, soll der Helfer den Wert 2 haben
wenn morgen oder heute die grüne Tonne an der Reihe ist, soll der Helfer den Wert 3 haben
wenn morgen oder heute die braune Tonne an der Reihe ist, soll der Helfer den Wert 4 haben
Da bei uns zwar niemals mehr als eine Tonne pro Tag abgeholt wird, es aber vorkommt, daß an zwei aufeinanderfolgenden Tagen zwei Tonnen abgeholt werden, soll die Tonne, welche heute abgeholt wird, priorisiert werden.
Leider habe ich gerade keine Ahnung, wie ich das realisieren kann.
Normalerweise würde ich einfach vier If-statements benutzen, um die Farbe für morgen festzulegen und danach das gleiche noch einmal für heute, um letzterem den Vorzug zu geben:
Helfer_Tonne = 0;
if {Tonne_grau == 1) {
Helfer_Tonne = 1;
}
if {Tonne_gelb == 1) {
Helfer_Tonne = 2;
}
if {Tonne_gruen == 1) {
Helfer_Tonne = 3;
}
if {Tonne_braun == 1) {
Helfer_Tonne = 4;
}
if {Tonne_grau == 0) {
Helfer_Tonne = 1;
}
if {Tonne_gelb == 0) {
Helfer_Tonne = 2;
}
if {Tonne_gruen == 0) {
Helfer_Tonne = 3;
}
if {Tonne_braun == 0) {
Helfer_Tonne = 4;
}
Aber wie man das in HA abbilden kann, habe ich noch nicht herausbekommen.
Ausserdem habe ich gerade keine Idee, dieses Programm auszulösen.
Sorry, aber es geht mir hier zwar (aktuell) um das Thema Müll, aber das Allgemeine Problem, mehrere Sensorwerte in einem bestimmten Muster auf einem Helfer abzubilden löst die Karte nicht.
In diesem Fall benötige ich das Ergebnis nicht, um auf einem Dashboard etwas anzuzeigen, da ich Dashboards nur als Hilfsmittel benutze, HA und meine Geräte zu überprüfen, sondern um mehrere andere Aktionen auszuführen.
In diesem Fall geht es mir darum, eine LED in einer bestimmten Farbe leuchten zu lassen und parallel dazu auf einem openHASP-plate einen Button in einer Farbe darzustellen.
Der Wert des Helfers bildet dabei den Zustand einer finite state machine ab.
So funktioniert es.
Mit dem Template-Editor habe ich auch schon herumgespielt, aber kein funktionierendes Template herausbekommen. Auf die Idee, nicht den Sensor selbst abzufragen, sondern erst “Variablen” zu definieren bin ich nicht gekommen…
Und darauf, ein so verschachteltes if-Statement zu verwenden bin ich auch nicht gekommen.