FHEM Forum

FHEM => Frontends => FHEMWEB => Thema gestartet von: dadoc am 22 November 2025, 16:21:53

Titel: [gelöst] Slider in setlist mit Min- und Max-Werten aus readings desselben device?
Beitrag von: dadoc am 22 November 2025, 16:21:53
Hallo,
Ich bastele gerade an einem mqtt Template für einen Zigbee-Thermostaten (für den ich zuvor einen rudimentären Converter für z2mqtt erstellt habe).
Der hat datapoints für den erlaubten Einstellbereich der Soll-Temperatur, min und max, die der User festlegen kann und die in fhem als readings ankommen. Da wäre es schön, wenn man diese Werte für die Definition des Einstellsliders heranziehen könnte anstelle von fixen Werten, die dann ggfalls ungültig sind. Habe dazu nichts finden können - geht das überhaupt?
Danke & Grüße
Martin
Titel: Aw: Slider in setlist mit Min- und Max-Werten aus readings desselben device?
Beitrag von: TomLee am 22 November 2025, 17:04:09
Hallo,

geht. Du musst zwei (Perl) Teile draus machen, vorne und hinten. Vorne dürfen keine Leerzeichen vorkommen und es muss $name (klein geschrieben) heißen. Hinten $NAME (groß geschrieben).
desiredTemperature:{'slider,'.ReadingsNum($name,'min',1).',1,'.ReadingsNum($name,'max',100);} {qq($DEVICETOPIC/set {"$EVTPART0":$EVTPART1})}
edit:

es müssen keine zwei Perlteile sein, es geht auch nur vorne:
desiredTemperature:{'slider,'.ReadingsNum($name,'min',1).',1,'.ReadingsNum($name,'max',100);}  $DEVICETOPIC/set {"$EVTPART0":$EVTPART1}
Gruß Thomas
   
Titel: Aw: Slider in setlist mit Min- und Max-Werten aus readings desselben device?
Beitrag von: dadoc am 22 November 2025, 17:36:41
Mega! Im setlist-Teil des Templates sieht das bei mir dann konkret so aus:
desired-temp:{'slider,'.ReadingsVal($name,'min_temperature','').',1,'.ReadingsVal($name,'max_temperature','').',5';} $DEVICETOPIC/set {"current_heating_setpoint": $EVTPART1}Da wäre ich von selbst im Leben nicht draufgekommen.
Noch nicht ganz klar ist mir ,1 und ,5 - bzw. wo man dabei das Intervall und die optionale ,1 für das Anzeigen von Kommastellen unterbringen würde?
Titel: Aw: Slider in setlist mit Min- und Max-Werten aus readings desselben device?
Beitrag von: dadoc am 22 November 2025, 17:43:16
desired-temp:{'slider,'.ReadingsNum($name,'min_temperature',1).',0.5,'.ReadingsNum($name,'max_temperature',100);},1 $DEVICETOPIC/set {"current_heating_setpoint": $EVTPART1}So gehts in angezeigten 0,5 ° Schritten - vielen Dank!
Titel: Aw: [gelöst] Slider in setlist mit Min- und Max-Werten aus readings desselben device?
Beitrag von: TomLee am 22 November 2025, 17:53:45
{'slider,'.ReadingsNum($name,'min_temperature',1).',0.5,'.ReadingsNum($name,'max_temperature',100);},1
Auch wenn das geht, würd ich die optionale 1 im Perlcode anhängen:

{'slider,'.ReadingsNum($name,'min_temperature',1).',0.5,'.ReadingsNum($name,'max_temperature',100).'1';}
Titel: Aw: [gelöst] Slider in setlist mit Min- und Max-Werten aus readings desselben device?
Beitrag von: dadoc am 22 November 2025, 18:16:15
Zitat von: TomLee am 22 November 2025, 17:53:45Auch wenn das geht, würd ich die optionale 1 im Perlcode anhängen:

{'slider,'.ReadingsNum($name,'min_temperature',1).',0.5,'.ReadingsNum($name,'max_temperature',100).'1';}
So tuts bei mir nicht mehr: der slider startet dann zwar noch mit dem korrekten min-Wert, lässt sich aber bis 251 aufziehen
Titel: Aw: [gelöst] Slider in setlist mit Min- und Max-Werten aus readings desselben device?
Beitrag von: TomLee am 22 November 2025, 18:23:39
Dir wird schon noch auffallen was fehlt...  :P
Titel: Aw: [gelöst] Slider in setlist mit Min- und Max-Werten aus readings desselben device?
Beitrag von: dadoc am 22 November 2025, 19:09:15
Bisher nicht :-/
desired-temp:{'slider,'.ReadingsNum($name,'min_temperature',1).',0.5,'.ReadingsNum($name,'max_temperature',100).'1';} $DEVICETOPIC/set {"current_heating_setpoint": $EVTPART1ist doch das, was du vorschlägst?
Titel: Aw: [gelöst] Slider in setlist mit Min- und Max-Werten aus readings desselben device?
Beitrag von: TomLee am 22 November 2025, 19:14:21
{'slider,'.ReadingsNum($name,'min_temperature',1).',0.5,'.ReadingsNum($name,'max_temperature',100).'1';;}
Ersetze mal $name mit deinem Devicename und wirf das oben in die Komandozeile.
Titel: Aw: [gelöst] Slider in setlist mit Min- und Max-Werten aus readings desselben device?
Beitrag von: dadoc am 22 November 2025, 19:26:14
{'slider,'.ReadingsNum('Thermostat_WC_unten','min_temperature',1).',0.5,'.ReadingsNum('Thermostat_WC_unten','max_temperature',100).'1';;}Ergibt als Antwort
slider,7,0.5,251Sorry, stehe auf dem Schlauch.
Titel: Aw: [gelöst] Slider in setlist mit Min- und Max-Werten aus readings desselben device?
Beitrag von: TomLee am 22 November 2025, 19:34:48
Kommas setzen ist wie atmen: manche vergessen es

Ich bin auch nur ein Mensch.
Titel: Aw: [gelöst] Slider in setlist mit Min- und Max-Werten aus readings desselben device?
Beitrag von: dadoc am 22 November 2025, 19:42:29
Ich hab jetzt nochmal geatmet und so passts:
desired-temp:{'slider,'.ReadingsNum($name,'min_temperature',1).',0.5,'.ReadingsNum($name,'max_temperature',100).',1';} $DEVICETOPIC/set {"current_heating_setpoint": $EVTPART1}Vielen Dank nochmal!
Werde es demnächst im Wiki für die Nachwelt festhalten...