Ich gebe wie folgt eine Solltemperatur per HHTPMOD an meine Heizung, was soweit auch gut funktioniert.
define Heizung HTTPMOD http://192.xxx.xxx.xxx/cgi-bin/schreibeWerte.cgi
attr Heizung userattr set01Expr set01Name
attr Heizung set01Name Solltemperatur
attr Heizung set01URL http://192.xxx.xxx.xxx/cgi-bin/ schreibeWerte.cgi?Temperatur=$val
In der FHEM-Befehlseingabe kann ich dann z.B. per ,,set Heizung Solltemperatur 20" die Temperatur von 20°C vorgeben.
Nun will ich den Wert aber gerne über ein Textfeld oder über einen Slider im Dashboard vorgeben und die zuletzt eingestellte Solltemperatur in einem Dummy als State anzeigen.
Das mit dem Textfeld oder Slider könnte ich so realisierten:
define Zeige_Solltemperatur dummy
attr Zeige_Solltemperatur setList state:textField # oder alternativ als Slider pct:slider,8,1,30
attr Zeige_Solltemperatur stateFormat {sprintf("%.2f",ReadingsVal("Zeige_Solltemperatur ","state",0))." °C"}
attr Zeige_Solltemperatur webCmd state # oder alternativ webCmd pct
Wie lasse ich aber hier den Befehl ,,set Heizung Solltemperatur (Wert _aus_dem_Textfeld_oder_Slider)" mit meinem eingegebenen Wert ausführen? Bzw. wie übergebe ich an das Heizung HHTPMOD?
Das müsste doch über ein Notify gemacht werden, allerdings krieg ich das irgendwie nicht hin und würde mich freuen wenn hier jemand helfen könnte.
Schöne Grüße
Herry
du brauchst hierzu keinen extra dummy. du kannst mit setXMin/setXMax und setXHint den wertebereich und die werte vorgeben. HTTPMOD verwendet dann automatisch ein drop down menü. wenn du statt dessen einen slider möchtest kannst du das mit widgetOverride angeben. das gleiche gilt für ein textFeld.
ansonsten: du kannst auch bei einem dummy text feld und slider mit jedem beliebigen reading verwenden. also auch mit einem das solltemperatur heisst. wenn du möchtest das nicht state geändert wird sondern eben dieses reading musst du readingList setzen.
bei einem dummy bräuchtest du ein notify in der art:define <notify> notify Zeige_Solltemperatur:<reading>.* set Heizung Solltemperatur $EVTPART1
wenn du mit state statt mit einem reading arbeitest muss es so aussehen:define <notify> notify Zeige_Solltemperatur:.* set Heizung Solltemperatur $EVENT
wenn dein HTTPMOD device auch ein reading für die solltemperatur hat dann solltest du darauf achten das das set kommando und das reading exakt gleich heissen. dann wird der slider im device beim seitenaufbau auch auf den korrekten aktuellen wert initialisiert.
wenn du dir das notify sparen willst nimm einen readingsProxy statt des dummys. damit dann geht dann auch die initialisierung auf den aktuellen wert automatisch.
gruss
andre
Danke Andre,
Die Lösung mit dem Dummy über einen Notify auf State hat genau das gewünschte Ergebnis gebracht.