Autor Thema: Formatierung der Temeratur und Feuchtigkeitsanzeige  (Gelesen 5305 mal)

Offline walter56

  • New Member
  • *
  • Beiträge: 42
Formatierung der Temeratur und Feuchtigkeitsanzeige
« am: 11 Juni 2014, 11:59:46 »
Hallo zusammen :)
Ich stehe gerade wieder mal etwas auf dem Schlauch! :-\
Ich verwende das Temeratur Modul HM-WDS40-TH-I dies liefert mir die Temeratur und die relative Feuchtigkeit in dem Format T: 30.9 H: 44
Die Temeraturanzeige habe ich in einer Zeile im Format 30.9°C hinbekommen :). Nur bei der Feuchtigkeit, die ich auch in einer eigenen Zeile haben möchte, habe ich Probleme! Die Anzeige ändert sich nicht dh es findet kein refrech statt ???.

efine wg_Temp CUL_HM 239xxx
attr wg_Temp .devInfo 030100
attr wg_Temp .stc 70
attr wg_Temp IODev COC
attr wg_Temp actCycle 000:15
attr wg_Temp actStatus unknown
attr wg_Temp alias Temperatur Wintergarten
attr wg_Temp autoReadReg 5
attr wg_Temp device_timeout 10
attr wg_Temp expert 2_full
attr wg_Temp firmware 1.3
attr wg_Temp group Wintergarten
attr wg_Temp icon temp_temperature
attr wg_Temp model HM-WDS40-TH-I
attr wg_Temp peerIDs
attr wg_Temp room Wintergarten
attr wg_Temp serialNr KEQ085xxxx
attr wg_Temp stateFormat temperature °C
attr wg_Temp subType THSensor

define wg_Feucht dummy
attr wg_Feucht alias Luftfeuchtigkeit Wintergarten
attr wg_Feucht fm_type state
attr wg_Feucht group Wintergarten
attr wg_Feucht icon temperature_humidity
attr wg_Feucht room Wintergarten
attr wg_Feucht stateFormat {sprintf("%.1f",ReadingsVal("wg_Temp","humidity",0))." %";;}

Scheinbar hängt es an der letzen Zeile? ::)
attr wg_Feucht stateFormat {sprintf("%.1f",ReadingsVal("wg_Temp","humidity",0))." %";;}

Der Wert wird nicht übernommen bzw ändert sich nicht! :-[

Kann mir jemand sagen was ich falsch mache oder wie ich vorgehen kann? :-[


Vielen Dank & Gruß Walter
Raspberry Pi mit HMLAN & EnOcean: Eltako FUD14, FB dect: DECT 200,HomeMatic: HM-LC-Bl1PBU-FM, HM-SWI-3-FM,HM-CC-RT-DN, HM-Sen-MDIR-O,HM-WDS10-TH-O, HM-WDS40-TH-I
Abfragen: Solarlog, Telefon, Internet Radio, TTS und abfrage verschiedenen Interenseiten HTTPMO

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 14748
  • s/fhem\.cfg/configDB/g
Antw:Formatierung der Temeratur und Feuchtigkeitsanzeige
« Antwort #1 am: 11 Juni 2014, 12:09:11 »
stateformat wird nur ausgeführt, wenn sich state des gleichen (!) device ändert. Das ist bei Deinem Feuchtigkeitsdummy niemals der Fall, deshalb wird stateformat nicht aufgerufen.

Eigentlich hast Du doch in den readings Deines Sensors die beiden Messwerte temperature und humidity auch einzeln, da brauchst Du doch nur jeweils die Einheit dahinterschreiben?
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 07.09.2018 - 18:30 Uhr

Offline Elektrolurch

  • Hero Member
  • *****
  • Beiträge: 1432
Antw:Formatierung der Temeratur und Feuchtigkeitsanzeige
« Antwort #2 am: 11 Juni 2014, 12:45:52 »
oder Du verwendest eine readingsGroup für die Darstellung. Da kannst Du ein- oder mehrzeilig, und über das attr valueFormat Deine Darstellung beliebig gestalten, auch mit Farbe.

Gruß

Elektrolurch
configDB und Windows befreite Zone!

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 14748
  • s/fhem\.cfg/configDB/g
Antw:Formatierung der Temeratur und Feuchtigkeitsanzeige
« Antwort #3 am: 11 Juni 2014, 12:49:29 »
Dafür braucht man readingsGroup *würg* mit Sicherheit nicht, da es einfach zwei readings ein und desselben Devices sind.

-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 07.09.2018 - 18:30 Uhr

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17751
Antw:Formatierung der Temeratur und Feuchtigkeitsanzeige
« Antwort #4 am: 11 Juni 2014, 13:23:59 »
stateFormat wird immer dann ausgewertet wenn sich ein beliebiges reading desjenigen device ändert für das stateFormat definiert ist. nicht nur state. aber eben nicht device übergreifend.

wenn die anforderung ist in der raum ansicht beide readings untereinander jeweils auf einer eigenen zeile darzustellen geht das entweder über dummys und notify (nicht stateFormat!, oder readingsProxy, aber das läuft hier auf das gleiche raus) oder eben readingsGroup. und über keinen anderen weg. auch wenn beide readings zum gleichen device gehören.

dummys und werte hin und her kopieren ist in der regel keine gute lösung. schau dir readingsGroup an. die meisten schaffen das ganz ohne vomex.

gruss
  andre

ps: ein weblink mit rss bildchen beider werte zählt nicht.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Bennemannc

  • Hero Member
  • *****
  • Beiträge: 2725
Antw:Formatierung der Temeratur und Feuchtigkeitsanzeige
« Antwort #5 am: 11 Juni 2014, 13:33:13 »
Hallo,

also ich nutze die Readings vom device selber und mache nur ein stateFormat "Temperatur: temperature °C <br> Feuchtigkeit: humidity %".
Das <br> macht einen Zeilenumbruch - dass das bei stateFormat geht hat mich selbst ein wenig überrascht, aber das geht super.
Alternative ist ein cloneDummy und dann da jeweils mit stateFormat das entsprechende Reading formatieren.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Offline walter56

  • New Member
  • *
  • Beiträge: 42
Antw:Formatierung der Temeratur und Feuchtigkeitsanzeige
« Antwort #6 am: 11 Juni 2014, 14:00:12 »
Hallo zusammen :)

Hallo betateilchen:
Erst mal Danke für die schnelle Antwort :D, auch wenn ich nicht alles verstanden habe! ???
Zitat
stateformat wird nur ausgeführt, wenn sich state des gleichen (!) device ändert. Das ist bei Deinem Feuchtigkeitsdummy niemals der Fall, deshalb wird stateformat nicht aufgerufen
Ist OK leuchtet nach etwas nachdenen ein! ;)  Aber die den zweiten Satz bekomme ich nicht ganz auf die Reihe.  :-[ Wo und wie soll ich was dahinterschreiben? :-\

Zu readingsGroup: Ich werde mir das mal ausführlich anschauen, im Wiki ist das erstmal zuviel Info da brauche ich etwas Zeit. (Scheint eine mächtige Funktion zu sein!) ::)

Hallo Bennemannc: Dies läuchtet mir ein. Passt aber nicht ganz zu meiner restlichen Formatierung! Ich habe es eben mal ausprobiert! Sonst wäre dies die beste Lösung! ;)
Gruß Walter
Raspberry Pi mit HMLAN & EnOcean: Eltako FUD14, FB dect: DECT 200,HomeMatic: HM-LC-Bl1PBU-FM, HM-SWI-3-FM,HM-CC-RT-DN, HM-Sen-MDIR-O,HM-WDS10-TH-O, HM-WDS40-TH-I
Abfragen: Solarlog, Telefon, Internet Radio, TTS und abfrage verschiedenen Interenseiten HTTPMO

Offline Bennemannc

  • Hero Member
  • *****
  • Beiträge: 2725
Antw:Formatierung der Temeratur und Feuchtigkeitsanzeige
« Antwort #7 am: 11 Juni 2014, 14:41:13 »
Hallo Walter,

bleibt ja noch die zweite angegebene Möglichkeit mit cloneDummy. Das cloned das Device mit allen Readings. Beim Original dann "stateFormat Temperatur: temperature °C" und beim clone "stateFormat Feuchtigkeit: humidity %". Für den Clone kann ich auch ein eigenes Icon wählen - eben alles machen, was auch am original möglich ist.
Ich arbeite mit clonedummy für andere Gruppierungen im Dashboard.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17751
Antw:Formatierung der Temeratur und Feuchtigkeitsanzeige
« Antwort #8 am: 11 Juni 2014, 14:42:55 »
das kopieren von readings ist unnötiger overhead und sollte vermieden werden wenn immer es geht.

gruss
  andre
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline chq

  • Full Member
  • ***
  • Beiträge: 101
Antw:Formatierung der Temeratur und Feuchtigkeitsanzeige
« Antwort #9 am: 12 Juli 2018, 07:30:06 »
Dafür braucht man readingsGroup *würg* mit Sicherheit nicht, da es einfach zwei readings ein und desselben Devices sind.

Bedeutet das im Umkehrschluss, dass man einen Zeilensprung innerhalb von stateFormat definieren kann?

Gruß Chris
So einfach wie möglich, so kompliziert wie nötig

Offline fiedel

  • Hero Member
  • *****
  • Beiträge: 1624
Antw:Formatierung der Temeratur und Feuchtigkeitsanzeige
« Antwort #10 am: 12 Juli 2018, 12:55:46 »
Bedeutet das im Umkehrschluss, dass man einen Zeilensprung innerhalb von stateFormat definieren kann?

Gruß Chris

Laut diesem Post sollte das so sein.
FHEM 5.7 FeatureLevel: 5.7 auf Dreamplug/Deb. 7; Perl: v5.14.2
HM: HM-CFG-USB-2 + hmland | SlowRF: CUNO V2.1/CULFW V 1.43 868
OWServer:LinkUSBi | OWDevice:DS18S20|DS2401|DS2406|DS2423

Offline chq

  • Full Member
  • ***
  • Beiträge: 101
Antw:Formatierung der Temeratur und Feuchtigkeitsanzeige
« Antwort #11 am: 13 Juli 2018, 07:47:30 »
Ok, das funktioniert.

Was ich noch immer leider nicht hinbekommen habe ist, bei der Temperaturanzeige den Punkt durch ein Komma zu ersetzen.

Aktuelles stateFormat:

{sprintf("%.1f"."°",ReadingsVal("Zahnbuerste","AM2301_Temperature",0))}
Gruß Chris
So einfach wie möglich, so kompliziert wie nötig

Offline Vize

  • Full Member
  • ***
  • Beiträge: 412
Antw:Formatierung der Temeratur und Feuchtigkeitsanzeige
« Antwort #12 am: 13 Juli 2018, 08:20:11 »
Moin,

kuckst du z.B. ab hier...

Gruß,
Andreas

Offline chq

  • Full Member
  • ***
  • Beiträge: 101
Antw:Formatierung der Temeratur und Feuchtigkeitsanzeige
« Antwort #13 am: 13 Juli 2018, 13:02:53 »
Danke.

Werd's mal hiermit probieren und berichten:

{sprintf("%.1f"."°",ReadingsVal("Zahnbuerste","AM2301_Temperature",0)); $val =~ s/\./,/; return $val;}
Gruß Chris
So einfach wie möglich, so kompliziert wie nötig

Offline chq

  • Full Member
  • ***
  • Beiträge: 101
Antw:Formatierung der Temeratur und Feuchtigkeitsanzeige
« Antwort #14 am: 13 Juli 2018, 20:04:16 »
Das war wohl nix.  :-\

Global symbol "$val" requires explicit package name (did you forget to declare "my $val"?) at (eval 31427) line 1.
Hm.
So einfach wie möglich, so kompliziert wie nötig

 

decade-submarginal