HTTPMOD Solltemperatur per Slider vorgeben

Begonnen von herry, 24 Oktober 2015, 01:18:44

Vorheriges Thema - Nächstes Thema

herry

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











justme1968

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  $EVTPART1wenn 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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

herry

Danke Andre,

Die Lösung mit dem Dummy über einen Notify auf State hat genau das gewünschte Ergebnis gebracht.