Wetterstation umsonst

Begonnen von Damian, 16 März 2021, 22:46:32

Vorheriges Thema - Nächstes Thema

jkriegl

Hier der code für das defStateIcon von oben
{ui_Table::style(ReadingsVal("muc","obs-time",0),undef,10,"bold")." ".ui_Table::temp_hum_ring(ReadingsVal("muc","temperature",0),ReadingsVal("muc","humidity",0),undef,undef,120).ui_Table::ring2(ReadingsVal("muc","pressure",0),1000,1040,undef,undef,ReadingsVal("muc","press-trend",0),120,undef,0,ReadingsVal("muc","windSpeed",0),0,80,undef,0,ReadingsVal("muc","windDirText",0)).ui_Table::icon_label("weather_rain_gauge",ReadingsVal("muc","precip",0)).ui_Table::icon_ring("message_light_intensity",ReadingsVal("muc","solar",0),0,800,120,0,"W/m²",0).ui_Table::iconlabel("feinstaub_pm10",ReadingsVal("zehnfeldstr","PM10",0))}
Rpi 3/4, buster, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Damian

Zitat von: cwagner am 19 März 2021, 17:45:56
Hi Damian,

kennst Du eine Möglichkeit, die Einheit bei den Balkendarstellung rechtsbündig _unterhalb_ des Reading-Wertes zu setzen. Ich habe sowohl mit . an das Reading oder im Header mit den üblichen HTML Zeichen wie <br> experimentiert, aber nichts hinbekommen.
Ich habe es mal grob in anliegendem Beispiel skizziert. Ich finde die Einheit bezieht sich ja auch auf die Legende des Bars und kann daher sehr gut so platziert werden.

In meinem Fall rückt der Messwert doch recht weit nach links (klar, ich könnte die Fläche größer machen, doch dann passt die Breite nicht harmonisch zu meinem geliebten Iconringen.

Christian

Ich habe da etwas programmiert :) siehe: https://forum.fhem.de/index.php/topic,118329.msg1141374.html#msg1141374
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

cwagner

Zitat von: Damian am 19 März 2021, 21:02:29
Ich habe da etwas programmiert :) siehe: https://forum.fhem.de/index.php/topic,118329.msg1141374.html#msg1141374
Hallo Damian,

wie geil ist das denn, kaum einen Wunsch geäußert, schon umgesetzt. Danke, danke! Musste nur noch meine Icons um 5 px vergrößern! Löpt!

Christian
PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

enno

#48
Zitat von: jkriegl am 17 März 2021, 16:41:48
Klappt auch im devStateIcon.

Moin zusammen,

ich würde gerne den Pfeil mit der Windrichtung im devStateIcon nutzen. Geht das auch? Ich schaffe nur Fehlermeldungen... Hat jemand das schon umgesetzt?

Wenn ich das anders in meinem Floorplan anzeigen kann, nehme ich das auch gerne.

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC mit Proxmox und Debian

Damian

Du brauchst nur den Pfeil aus dem Link im ersten Post herunterladen und rereadicons sagen: siehe https://forum.fhem.de/index.php/topic,119612.msg1140597.html#msg1140597

Alle bisherigen svg-Funktionen funktionieren auch im devStateIcon.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

enno

Zitat von: Damian am 20 März 2021, 22:20:55
Alle bisherigen svg-Funktionen funktionieren auch im devStateIcon.
ok, den Pfeil habe ich runtergeladen, das ist nicht das Problem. Es funktioniert ja im DOIF. Aber halt nicht im Stateicon.

{package ui_Table;}
icon_ring2([DG_HM_Wetterstation:Beaufort.num] > 0 ? "wind".",1,0,0,".[DG_HM_Wetterstation:windDirection.corr]:"no_wind",[DG_HM_Wetterstation:Beaufort.num],0,12,120,0,"Bft",140,undef,1," ",0,50,120,0,[DG_HM_Wetterstation:winddirText],undef,1)


Den Teil [DG_HM_Wetterstation:Beaufort.num] > 0 ? "wind".",1,0,0,".[DG_HM_Wetterstation:windDirection.corr]:"no_wind" bekomme ich nicht umgestrickt...

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC mit Proxmox und Debian

Damian

Die Funktion ReadingsVal kennst du bestimmt. Ausgehend von meinem Beispiel aus dem ersten Post, kannst du im HTTPMOD-Device definieren:

attr Wetter devStateIcon {ui_Table::icon_ring2(ReadingsVal($name,"WindKm",0) > 0 ? "wind".",1,0,0,".ReadingsVal($name,"WindrichtungGrad",0):"no_wind",ReadingsVal($name,"WindKm",0),0,50,120,0,"km/h",100,undef,1,ReadingsVal($name,"WindboeenKm",0),0,50,120,0,"km/h",undef,1)}

Wenn du in einem anderen Device devStateIcon definieren möchtest, musst du statt $name den Namen des Wetter-Devices angeben, hier z. B.

ReadingsVal("Wetter","WindKm",0)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

enno

Ganz fettes Danke! Klappt!

Bei mir war der Fehler ganz vorne. Ich hatte immernoch package davor. Das weggelassen und schon ging es.  {ui_Table::icon_ri....

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC mit Proxmox und Debian

Damian

#53
Man kann jetzt auch andere Darstellungsmöglichkeiten wählen:

z. B. mit

icon_uring ("0,1,1,4","weather_barometric_pressure",[Wetter:LuftdruckHpa],990,1030,0,120,"hPa",0,130)

oder

icon_uring ('0,1,opacity="1",4',"weather_barometric_pressure",[Wetter:LuftdruckHpa],970,1040,undef,undef,"hPa",0,130,[(990,0,1020,270,1040,190)])

siehe: https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg#Farbskalierte_Anzeige_eines_Icons_mit_einem_Zahlenwert_mit_Hilfe_der_universellen_SVG-Funktion_icon_ring.2Ficon_mring.2Ficon_uring
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

BM030

Hi,
ist es auch möglich irgendwie an den Taupunkt zu kommen?
Bei meiner Station werden diese angezeigt, im Quelltext finde ich da irgendwie nichts zum auslesen.


Damian

Zitat von: BM030 am 26 März 2021, 13:43:42
Hi,
ist es auch möglich irgendwie an den Taupunkt zu kommen?
Bei meiner Station werden diese angezeigt, im Quelltext finde ich da irgendwie nichts zum auslesen.

ja, hatte ich noch nicht eingebaut, aber wie es geht, habe ich bereits hier beschrieben. Kannst es ja mal probiere es einzubauen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

BM030

Zitat von: Damian am 26 März 2021, 17:49:12
ja, hatte ich noch nicht eingebaut, aber wie es geht, habe ich bereits hier beschrieben. Kannst es ja mal probiere es einzubauen.

defmod Wetter HTTPMOD https://www.wunderground.com/dashboard/pws/STATIONSID
attr Wetter userattr
attr Wetter enableControlSet 1
attr Wetter reading01Name Wind
attr Wetter reading01Regex wu-unit .{109}>(\d+\.\d)
attr Wetter reading02Name Windboeen
attr Wetter reading02Regex wu-unit-speed .{109}>(\d+\.\d)
attr Wetter reading03Name Windrichtung
attr Wetter reading03Regex (\d+)deg\).{84}Wind-Marker
attr Wetter reading04Name Regen
attr Wetter reading04Regex wu-unit-rainRate .{109}>(\d+\.\d\d)
attr Wetter reading05Name RegenGesamt
attr Wetter reading05Regex wu-unit-rain .{109}>(\d+\.\d\d)
attr Wetter reading06Name Temperatur
attr Wetter reading06Regex wu-unit-temperature .{127}>(\d+.\d)
attr Wetter reading07Name Feuchtigkeit
attr Wetter reading07Regex wu-unit-humidity .{109}>(\d\d)
attr Wetter reading08Name UV
attr Wetter reading08Regex UV<.{268}>(\d)
attr Wetter reading09Name Luftdruck
attr Wetter reading09Regex PRESSURE<.{285}>(\d+.\d+)
attr Wetter reading10Name TemperaturGefuehlt
attr Wetter reading10Regex wu-unit is-degree-visible .{109}>(\d+.\d)
attr Wetter reading11Name Taupunkt
attr Wetter reading11Regex DEWPOINT<.{305}>(\d+.\d+)
attr Wetter room Schnittstellen -> Wetter,System
attr Wetter timeout 10
attr Wetter userReadings WindKm {ReadingsVal("Wetter","Wind",0)*1.60934},\
WindboeenKm {ReadingsVal("Wetter","Windboeen",0)*1.60934},\
WindrichtungGrad {ReadingsVal("Wetter","Windrichtung",0)-180},\
RegenMm {ReadingsVal("Wetter","Regen",0)*25.4},\
RegenGesamtMm {ReadingsVal("Wetter","RegenGesamt",0)*25.4},\
TemperaturC {sprintf('%.0f', (ReadingsVal("Wetter","Temperatur",0)-32)*5/9)},\
LuftdruckHpa {ReadingsVal("Wetter","Luftdruck",0)*33.8639},\
TaupunktC {(ReadingsVal("Wetter","Taupunkt",0)-32)*5/9},\
TemperaturGefuehltC {(ReadingsVal("Wetter","TemperaturGefuehlt",0)-32)*5/9}


Um Taupunkt ergänzt, kann man den noch beim TaupunktC auf eine Stelle nach dem Komma aufrunden lassen?

Greetings BM030

Damian

Und hier noch die Visualisierung dazu:

defmod di_Wetter DOIF ##
attr di_Wetter room test13
attr di_Wetter uiTable {package ui_Table;;}\
icon_temp_hum_ring("temp_outside",[Wetter:TemperaturC],[Wetter:Feuchtigkeit],undef,undef,150)|\
icon_temp_ring ("temp_windchill",[Wetter:TemperaturGefuehltC],undef,undef,150) |\
icon_temp_ring ("temperature_humidity",[Wetter:TaupunktC],undef,undef,150) |\
icon_ring2([Wetter:WindKm] > 0 ? "wind".",1,0,0,".[Wetter:WindrichtungGrad]:"no_wind",[Wetter:WindKm],0,50,120,0,"km/h",150,undef,1,[Wetter:WindboeenKm],0,50,120,0,"km/h",undef,1) |\
icon_ring2("weather_rain_gauge",[Wetter:RegenMm],0,10,180,270,"mm/h",150,undef,1,[Wetter:RegenGesamtMm],0,10,180,270,"mm",undef,1)|\
icon_ring ("sani_solar",[Wetter:UV],0,10,200,0,"UV",0,150)|\
##icon_ring ("weather_barometric_pressure",[Wetter:LuftdruckHpa],950,1050,0,120,"hPa",0,150)\
icon_uring ('0,1,1,6',"weather_barometric_pressure",[Wetter:LuftdruckHpa],980,1047,undef,undef,"hPa",0,150,[(1008.5,0,1018.5,270,1047,190)],",40,45,45,,45")
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

BM030

Wert Anzeige Sonnenstrahlung: watts/m²


attr Wetter reading12Name Sonnenstrahung
attr Wetter reading12Regex Solar radiation<.{549}>(\d+.\d+)


Papaloewe

oder so:
reading11Name Solar
reading11Regex (\d+\.\d+)\swatts