Hallo Forum,
ich bräuchte mal einen Tipp:
Ich möchte auf Basis eines dummys eine Abwesenheitssteuerung bauen (bzw. Teile laufen schon davon), um damit die Heizkörperthermostate und WLan zu schalten.
Dabei soll folgendes eingegeben werden:
Abwesend: nein,Urlaub,Party,spezielle Programme
bei Urlaub: Datum bis abwesend
bei Party: Zeit bis abwesend
Der dummy sieht nun wie folgt aus:
define Abwesend dummy
attr Abwesend setList state:nein,Urlaub,Party Datum:textField Zeit:textField
Ist Abwesend = nein, so wird über das notify
attr Abwesend webCMD state
und bei Urlaub:
attr Abwesend webCmd state:Datum gesetzt.
Die Anzeige sieht dann so aus: Abwesend Urlaub <Klappmenü mit Urlaub ausgewählt> Datum: <textfeld mit Datum>
Soweit funktioniert auch alles mit dem notify.
Nun wollte ich das ganze noch elegant erweitern und über ein weiteres Klappmenü die Mindesttemperatur noch auswählbar machen. Also so:
attr Abwesend setList state:nein,Urlaub,Party Datum:textField Zeit:textField Temp:12,13,14,15
und entsprechend das webCMD state:Datum:TEmp
Nun kommt aber der Schönheitsfehler: Während das "Datum" noch in einem eigenen Reading gespeichert wird und den state nicht überschreibt, nimmt das state bei Auswahl einer "Temp" aus dem Klappmenü den Wert von Temp an.
Abfragen wie: if(Value("Abwesend") eq "Urlaub") funktionieren dann nicht mehr, wenn auf der Gui als letztes die "Temp" ausgewählt würde.
Auch seht an der GUI: Abwesend Temp 16 <Klappmenü nein> ... Obwohl ja "Urlaub" ausgewählt wurde.
So, workaround: 2 dummys nehmen -> nicht elegant, steht dann auch noch in zwei Zeilen
2. Die Werte in userReadings speichern -> aber die Gui zeigt dann nicht an, was ausgewählt wurde.
Wie gesagt: Mit dem Textfeld als einzige Erweiterung gehts ja, aber mit einem zweiten Klappmenü nicht mehr.
Habe ich da etwas übersehen?
Gibt es nur die Möglichkeit, so etwas über mehrere dummys abzubilden?
(Ich habe im übrigen mal auch ausprobiert, für die Werte entsprechende userReadings anzulegen: attr Abwesend userReadings Datum,Zeit,Temp hat aber keine Auswirkungen. Vielleicht wäre das ja auch eine sinnvolle Erweiterung für das Modul dummy)
Über Tipps würde ich mich freuen.
Elektrolurch