Floorplan Wettervorhersage (Tiefsttemperatur) anzeigen

Begonnen von Agamemnon, 18 Dezember 2013, 09:20:34

Vorheriges Thema - Nächstes Thema

Agamemnon

Hallo,
ich möchte in meinem Floorplan gerne eine Art "Warnung" anzeigen, wenn für die kommende Nacht Frost gemeldet ist.
Ich habe das Wetter definiert


define Wetter Weather 651222 600 de
attr Wetter event-on-update-reading temperature,humidity,pressure,wind_speed,wind_chill,wind_direction,fc1_low_c,fc2_low_c

define FileLog_Wetter FileLog ./log/Wetter-%Y.log Wetter
attr FileLog_Wetter logtype temp4hum6:wind_speed|humidity|temperature|fc1_low_c|fc2_low_c,text


und mein Log sieht so aus:

2013-12-18_09:04:42 Wetter wind_chill: -6
2013-12-18_09:04:42 Wetter wind_direction: 130
2013-12-18_09:04:42 Wetter wind_speed: 11
2013-12-18_09:04:42 Wetter humidity: 100
2013-12-18_09:04:42 Wetter pressure: 1016
2013-12-18_09:04:42 Wetter temperature: -2
2013-12-18_09:04:42 Wetter fc1_low_c: 0
2013-12-18_09:04:42 Wetter fc2_low_c: 3


Jetzt möchte ich im Floorplan gerne die Werte von fc1_low_c bzw.fc2_low_c (abhängig ob negativ und welcher der beiden niedriger ist) anzeigen, finde aber irgendwie nirgends wie ich diese auslesen und anzeigen kann.

Könnte mir jemand einen kleinen Code-Schnippel zur Verfügung stellen um mich auf die richtige Spur zu lotsen?

Vielen Dank im Voraus.

Gruß
Matze
Raspberry Pi / CULV3 und JeeLinkLaCrosse
MAX Thermostat
LaCrosse TX29DTH

justme1968

schau dir mal readingsGroup an.

z.b. eine readingsGroup mit beiden readings anlegen und über valueStyle einen hervorheben oder über valueFormat nur einen von beiden anzeigen oder etwas in dieser art als reading:<{min(ReadingsVal($DEVICE,"fc1_low_c",99"),ReadingsVal($DEVICE,"fc2_low_c",99"))}>

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

UliM

Oder Du legst auf dem weather-device ein userreading an, das den niedrigeren der beiden Werte zeigt.
In floorplan gibt es einen Style mit dem Du dieses Reading dann Anzeigen kannst.
Gruß Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Agamemnon

Hallo ihr,
mensch das geht hier immer schnell mit den Antworten. :)

Hab das jetzt mit einem Wert hin bekommen, sieht dann so aus:

define cp_AussenTempVorhersage readingsGroup Wetter:fc1_low_c
attr cp_AussenTempVorhersage notime 1
attr cp_AussenTempVorhersage valueFormat %.0f °C
attr cp_AussenTempVorhersage valueStyle {($READING eq "fc1_low_c" && $VALUE < 0)?'style="color:red"':'style="color:green"'}


Bin jetzt aber nicht schlau genug das mit den beiden Werte (fc1_low_c und fc2_low_c) zu machen.
Kann mir da noch mal jemand helfen.

Wie sähe der Code für ein userreading aus, Uli?

Gruß
Matze
Raspberry Pi / CULV3 und JeeLinkLaCrosse
MAX Thermostat
LaCrosse TX29DTH

justme1968

#4
wie es mit readingsGroup geht steht oben. auch ein beispiel. der code für ein user reading ist fast gleich:attr Wetter userReadings low_min {min(ReadingsVal($name,"fc1_low_c",99"),ReadingsVal($name,"fc2_low_c",99"))}

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Agamemnon

Hallo Andre,
es tut mir leid, aber für mich als Anfänger steht nicht da wie es geht. :(

Meine cfg sieht jetzt so aus:

define cp_AussenTempVorhersage readingsGroup Wetter:fc1_low_c,fc2_low_c
attr cp_AussenTempVorhersage mapping {'Wetter.fc1_low_c' => 'Tiefst Heute', 'Wetter.fc2_low_c' => 'Tiefst Morgen'}
attr cp_AussenTempVorhersage notime 1
attr cp_AussenTempVorhersage valueFormat %.0f °C
attr cp_AussenTempVorhersage valueStyle {min(ReadingsVal($DEVICE,"fc1_low_c",99"),ReadingsVal($DEVICE,"fc2_low_c",99"))?'style="color:red"':'style="color:green"'}


Leider bekomme ich aber keinen Wert angezeigt.

Gruß
Matze
Raspberry Pi / CULV3 und JeeLinkLaCrosse
MAX Thermostat
LaCrosse TX29DTH

Agamemnon

Hallo,
ich habe noch mal gesucht und viel rumprobiert.
Irgendwie scheint mir die Doku im Wiki nicht zu stimmen, oder ich habs mal wieder falsch verstanden.
http://www.fhemwiki.de/wiki/ReadingsGroup

Dort werden die readings mit , getrennt, also zum Beispiel:
define Verbrauch readingsGroup TYPE=PCA301:state,power,consumption

Das funktioniert bei mir so nicht.
Ich habe es jetzt so gemacht, ansonsten bekam ich keine Werte.

define cp_AussenTempVorhersage readingsGroup Wetter:fc1_low_c Wetter:fc2_low_c


Meine ganze Definition sieht jetzt also so aus:

define cp_AussenTempVorhersage readingsGroup Wetter:fc1_low_c Wetter:fc2_low_c
attr cp_AussenTempVorhersage mapping {'Wetter.fc1_low_c' => 'Tiefst Heute', 'Wetter.fc2_low_c' => 'Tiefst Morgen'}
attr cp_AussenTempVorhersage notime 1
attr cp_AussenTempVorhersage valueFormat %.0f °C
attr cp_AussenTempVorhersage valueStyle {($READING eq "fc1_low_c" && $VALUE < 0 || $READING eq "fc2_low_c" && $VALUE < 0)?'style="color:red"':'style="color:green"'}


Damit bekomme ich schon mal beide Werte in Grün oder Rot angezeigt.

Kann mir jetzt noch jemand erklären wie ich das Minimum (min) da rein bekomme. Ich verstehe nicht wo die Zeile von Andre hin soll.

Zitat von: justme1968 am 18 Dezember 2013, 09:32:24
<{min(ReadingsVal($DEVICE,"fc1_low_c",99"),ReadingsVal($DEVICE,"fc2_low_c",99"))}>

Soll das mein define ersetzen, oder als valueFormat dienen? Ich steh einfach aufm Schlauch! Sorry!

Danke im Voraus.

Gruß
Matze
Raspberry Pi / CULV3 und JeeLinkLaCrosse
MAX Thermostat
LaCrosse TX29DTH

justme1968

sorry. hatte deinen letzen post übersehen...

man kann readings mit komma trennen, dann werden sie auf eine zeile geschrieben oder mit leerzeichen, dann bekommt jedes reading eine eigene zeile.

was genau heisst es funktioniert bei dir so nicht? hast du die aktuelle version?

das minimum bekommst du über valueFormat.

ich bau heute abend ein komplettes beispiel zusammen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Agamemnon

#8
Hallo Andre,
Oh man...
Da ich mein System erst am Montag aufgesetzt habe, ging ich davon aus, es ist aktuell.
Habe jetzt erst gelernt dass die letzte volle Version nicht alle aktuellen Dateien enthält. Habe ein Update gemacht, und jetzt geht es auch mit einem , zwischen den Werten.

Ein komplettes Beispiel wie ich das mit dem min hinbekomme wäre natürlich super.  :D
Freu mich schon.

Danke!

Gruß
Matze
Raspberry Pi / CULV3 und JeeLinkLaCrosse
MAX Thermostat
LaCrosse TX29DTH

justme1968

aufgesetzt bedeutet neu installiert und danach auch 'update' innerhalb von fhem gemacht ?

was sagt 'update check'? bzw. 'versions' ?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Agamemnon

Unsere Posts haben sich wohl überschnitten.
Habe meinen noch mal angepasst, als ich feststellte dass ich nicht "up to date" bin.

Warst mal wieder zu schnell. :)

Gruß
Matze
Raspberry Pi / CULV3 und JeeLinkLaCrosse
MAX Thermostat
LaCrosse TX29DTH

justme1968

die einfachste variante geht etwa so:

attr Wetter userReadings fc_low_c_min {minNum(ReadingsVal($name,"fc1_low_c","99"),ReadingsVal($name,"fc2_low_c","99"))}
define cp_AussenTempVorhersage readingsGroup Wetter:fc_low_c_min
attr cp_AussenTempVorhersage mapping Tiefst heute und morgen:
attr cp_AussenTempVorhersage valueFormat %.0f &deg;C
attr cp_AussenTempVorhersage valueStyle {($VALUE < 0 )?'style="color:red"':'style="color:green"'}


gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Agamemnon

Hallo Andre,
Vielen Dank für das Beispiel! Auch die Erweiterung im Wiki habe ich gesehen.  :D

Leider ist das Thema bei mir immer noch nicht durch.  :(

Ich möchte im Floorplan ja nur den Wert des Readings, aber mit der farblichen Anpassung, oder wegen mir noch den Alias anzeigen.
Leider finde ich dazu keine Möglichkeit.
Alle Styles dir mir der Floorplan bietet zeigen entweder nur das Reading als Wert an (dann aber ohne grün oder rot), oder aber zusätzlich den Namen.

Am liebsten hätte ich so eine Art Warnung im Floorplan.
"Heute Nacht Frost bei X Grad"
Und das dann auch nur wenn das readingsGroup unter 0 geht.

Hoffe du kannst mir hier noch mal weiterhelfen.

Mein dev sieht nun so aus:
define cp_AussenTempVorhersage readingsGroup Wetter:fc_low_c_min
attr cp_AussenTempVorhersage fp_Erdgeschoss 32,218,5,Wetter:fc_low_c_min
attr cp_AussenTempVorhersage mapping Tiefst heute und morgen:
attr cp_AussenTempVorhersage nameStyle style="text-align:left"
attr cp_AussenTempVorhersage notime 1
attr cp_AussenTempVorhersage valueFormat %.0f °C
attr cp_AussenTempVorhersage valueStyle {($VALUE < 0 )?'style="color:red"':'style="color:green"'}


Danke!

Gruß
Matze
Raspberry Pi / CULV3 und JeeLinkLaCrosse
MAX Thermostat
LaCrosse TX29DTH

justme1968

wenn du keinen alias möchtest definiere dir einen leeren alias mit &nbsp; und wenn du den titel nicht möchtest mach in mit noheading weg.

den text der angezeigt werden soll setzt du mit valueFormat. wenn nur bei frost etwas angezeigt werden soll musst du es wie bei value style machen und abhängig von $VALUE entweder deinen text oder undef zurück geben.

den festen teil ( das 'Heute Nacht Frost bei ' ) kannst du auch ins mapping stecken.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Agamemnon

Danke Andre,
du hast mich mal wieder zu den richtigen Begriffen gelotst.

Habe es über style="visibility:hidden" gelöst.

Falls es noch mal jemand braucht, hier komplett:

attr Wetter userReadings fc_low_c_min {minNum(ReadingsVal($name,"fc1_low_c","99"),ReadingsVal($name,"fc2_low_c","99"))}

define cp_AussenTempVorhersage readingsGroup Wetter:fc_low_c_min
attr cp_AussenTempVorhersage alias &nbsp
attr cp_AussenTempVorhersage fp_Erdgeschoss 21,206,5,
attr cp_AussenTempVorhersage mapping &nbsp
attr cp_AussenTempVorhersage nameStyle style="text-align:left"
attr cp_AussenTempVorhersage notime 1
attr cp_AussenTempVorhersage valueFormat Heute Nacht Frostgefahr bei %.0f °C !!!
attr cp_AussenTempVorhersage valueStyle {($VALUE < 0 )?'style="color:red;;font-size:20px"':'style="visibility:hidden"'}


Gruß
Matze
Raspberry Pi / CULV3 und JeeLinkLaCrosse
MAX Thermostat
LaCrosse TX29DTH