FHEM Forum

FHEM => Automatisierung => Thema gestartet von: it-place am 21 Januar 2023, 09:54:08

Titel: Nur bestimmte Teile eines Wertes mit stateFormat ausgeben
Beitrag von: it-place am 21 Januar 2023, 09:54:08
Hallo,
ein eingebundener Schalter Fritz!DECT 440 liefert mir in Fhem die Temperatur und Feuchtigkeit aus. Die Ausgabe STATE ist dabei mit stateFormat wie folgt formatiert:
attr TUF6 stateFormat T: temperature H: rel_humidity

Und gibt dann z.B. folgendes aus:
T: 18.5 C (measured) H: 53 %

Frage: Was muss ich in stateFormat angeben, damit die Ausgabe ohne "C (measured)" und "%" erfolgt, also nur
T: 18.5 H: 53
zurückgibt? :o

Viele Grüße - Olli
Titel: Antw:Nur bestimmte Teile eines Wertes mit stateFormat ausgeben
Beitrag von: Otto123 am 21 Januar 2023, 10:06:04
Hi,

eine Möglichkeit mit set magic https://fhem.de/commandref_modular_DE.html#set
attr TUF6 stateFormat T: [$name:temperature:d] H: [$name:rel_humidity:d]

Gruß Otto
Titel: Antw:Nur bestimmte Teile eines Wertes mit stateFormat ausgeben
Beitrag von: it-place am 21 Januar 2023, 11:25:06
Hallo Otto,

perfekt, danke! Funktioniert... 8)

Viele Grüße - Olli
Titel: Antw:Nur bestimmte Teile eines Wertes mit stateFormat ausgeben
Beitrag von: it-place am 21 Januar 2023, 12:06:06
Hallo nochmal,

im Floorplan habe ich jetzt ein merkwürdiges Verhalten. Ich habe den Sensor dort eingebunden mit:
fp_Grundriss 502,605,4,TUF6

Wenn ich dann die Seite neu lade, wird mir das Element zunächst korrekt angezeigt "18.5°C/57%". Nach einiger Zeit steht dann dort aber "18.5 C (measured)°C/57%". Ein Reload im Browser korrigiert das dann wieder für einige Zeit (siehe Screenshots). Woran könnte das liegen? ::)

Viele Grüße - Olli
Titel: Antw:Nur bestimmte Teile eines Wertes mit stateFormat ausgeben
Beitrag von: rudolfkoenig am 22 Januar 2023, 10:50:21
ZitatWoran könnte das liegen?
stateFormat aendert STATE, das ist die Variable, was man fuer die Anzeige verwendet wird.
Die Aktualisierung erfolgt anhand von einem Event, die von stateFormat nicht geaendert wird.
Ist historisch gewachsen, nicht ganz sauber, und nicht so einfach nachtraeglich zu fixen, ohne Aufruhr bei den Benutzern zu verursachen.

Ich empfehle ein userReading anzulegen, und dieses Reading bzw. Event anzuzeigen.
Titel: Antw:Nur bestimmte Teile eines Wertes mit stateFormat ausgeben
Beitrag von: it-place am 22 Januar 2023, 13:52:58
Hallo,

Danke für die Antwort! Ich vermute dann, dass ich dafür ein eigenes Dummy-Device benötige, welches den Wert für den Floorplan im STATE stehen hat und diesen Wert mittels UserReadings aus dem TUF6-Device liest, richtig?

Viele Grüße - Olli
Titel: Antw:Nur bestimmte Teile eines Wertes mit stateFormat ausgeben
Beitrag von: rudolfkoenig am 22 Januar 2023, 14:38:02
Meines Wissens kann FLOORPLAN auch Readings anzeigen.
Die userReadings muss man fuer das Geraet hinzufuegen, was die Events generiert.

Falls ich mich bei FLOORPLAN irren sollte, dann wuerde ich mit einer readingsChange Instanz das state reading manipulieren.
Wenn man unbedingt ein dummy ins Spiel bringen moechte, dann braucht man noch ein notify oder DOIF zusaetzlich.
Und dafuer braucht man auch kein userReadings.
Titel: Antw:Nur bestimmte Teile eines Wertes mit stateFormat ausgeben
Beitrag von: betateilchen am 22 Januar 2023, 16:28:17
Zitat von: rudolfkoenig am 22 Januar 2023, 14:38:02
Meines Wissens kann FLOORPLAN auch Readings anzeigen.

jepp, mit style = 3 kann man ein bestimmtes reading angeben - siehe commandref zu FLOORPLAN:

Zitat
3 device-reading and optional description