Wetterstation umsonst

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

Vorheriges Thema - Nächstes Thema

Bartimaus

So habe ich es gemacht.....  8) dachte man könnte es auch im uitable berechnen  ::)
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Damian

Zitat von: Bartimaus am 12 April 2021, 20:11:05
So habe ich es gemacht.....  8) dachte man könnte es auch im uitable berechnen  ::)

In uiTable nicht, aber immerhin im gleichen DOIF-Modul.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

Yip

Kann man die Farbscala auch umdrehen ?
Also Rot wenn Tank leer ?
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Damian

Klar, indem du die Farbwerte vertauschst. Siehe Parameter $minColor, $maxColor.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

Da haste uns echt ein schönes Geschenk gemacht, ich überlege jetzt, mein FHEM komplett neu zu gestalten, d.h. alle vorhandenen Räume zu löschen und ein neues Layout zu basteln.
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Damian

Zitat von: Bartimaus am 13 April 2021, 10:05:41
Da haste uns echt ein schönes Geschenk gemacht, ich überlege jetzt, mein FHEM komplett neu zu gestalten, d.h. alle vorhandenen Räume zu löschen und ein neues Layout zu basteln.

ja, mit den card-Funktionen kann man sich ein Dashboard voll "kacheln" - und es wird bestimmt nicht bei der einen card-Funktion bleiben :)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

Hi,

habe ab und zu dieses Problem lt. Log

2021.04.13 11:44:21.402 3: di_temp_temp_ring:Warning in DOIF_RegisterEvalAll:package ui_Table;::DOIF_Widget($hash,$reg,'di_temp_temp_ring_uiTable_c_0_3_0_0',card(::ReadingValDoIf($hash,'Temp_Solarruecklauf','temperature','','col36'),"SolarRücklauf","temp_inside",15,75,undef,undef,"°C",\&temp_hue),"")
2021.04.13 11:44:21.406 3: di_temp_temp_ring:Warning in DOIF_RegisterEvalAll:package ui_Table;::DOIF_Widget($hash,$reg,'di_temp_temp_ring_uiTable_c_0_5_0_0',card(::ReadingValDoIf($hash,'Temp_SolarSpeicher','temperature','','col36'),"SolarSpeicher","temp_inside",15,75,undef,undef,"°C",\&temp_hue),"")
2021.04.13 12:09:53.501 3: di_temp_temp_ring:Warning in DOIF_RegisterEvalAll:package ui_Table;::DOIF_Widget($hash,$reg,'di_temp_temp_ring_uiTable_c_0_5_0_0',card(::ReadingValDoIf($hash,'Temp_SolarSpeicher','temperature','','col36'),"SolarSpeicher","temp_inside",15,75,undef,undef,"°C",\&temp_hue),"")
2021.04.13 12:10:09.064 3: di_temp_temp_ring:Warning in DOIF_RegisterEvalAll:package ui_Table;::DOIF_Widget($hash,$reg,'di_temp_temp_ring_uiTable_c_0_5_0_0',card(::ReadingValDoIf($hash,'Temp_SolarSpeicher','temperature','','col36'),"SolarSpeicher","temp_inside",15,75,undef,undef,"°C",\&temp_hue),"")
2021.04.13 12:12:07.518 3: di_temp_temp_ring:Warning in DOIF_RegisterEvalAll:package ui_Table;::DOIF_Widget($hash,$reg,'di_temp_temp_ring_uiTable_c_0_5_0_0',card(::ReadingValDoIf($hash,'Temp_SolarSpeicher','temperature','','col36'),"SolarSpeicher","temp_inside",15,75,undef,undef,"°C",\&temp_hue),"")
2021.04.13 12:12:32.705 3: di_temp_temp_ring:Warning in DOIF_RegisterEvalAll:package ui_Table;::DOIF_Widget($hash,$reg,'di_temp_temp_ring_uiTable_c_0_5_0_0',card(::ReadingValDoIf($hash,'Temp_SolarSpeicher','temperature','','col36'),"SolarSpeicher","temp_inside",15,75,undef,undef,"°C",\&temp_hue),"")
2021.04.13 12:12:37.448 3: di_temp_temp_ring:Warning in DOIF_RegisterEvalAll:package ui_Table;::DOIF_Widget($hash,$reg,'di_temp_temp_ring_uiTable_c_0_5_0_0',card(::ReadingValDoIf($hash,'Temp_SolarSpeicher','temperature','','col36'),"SolarSpeicher","temp_inside",15,75,undef,undef,"°C",\&temp_hue),"")

jump to the top


So ist definiert:

{package ui_Table}
card([Temp_HeizungVorlauf:temperature:col36],"HeizungVorlauf","temp_inside",15,45,undef,undef,"°C",\&temp_hue)|
card([Temp_HeizungRuecklauf:temperature:col36],"HeizungRuecklauf","temp_inside",15,45,undef,undef,"°C",\&temp_hue)|
card([Temp_Solarvorlauf:temperature:col36],"SolarVorlauf","temp_inside",15,75,undef,undef,"°C",\&temp_hue)|
card([Temp_Solarruecklauf:temperature:col36],"SolarRücklauf","temp_inside",15,75,undef,undef,"°C",\&temp_hue)|
card([Temp_SolarKollektor:temperature:col36],"SolarKollektor","temp_inside",-15,85,undef,undef,"°C",\&temp_hue)|
card([Temp_SolarSpeicher:temperature:col36],"SolarSpeicher","temp_inside",15,75,undef,undef,"°C",\&temp_hue)
card([1wire_Strom_Gesamt:E-Energy:col48],"Tagesstrom,fill:darkorange","power","0.00","25.00",120,0,"kWh",undef,"2")|
card([1wire_Strom_Gesamt:E-Power:col48],"aktueller Strom,fill:darkorange","power","0.00","10.00",120,0,"kW",undef,"2")


DOIF-Version:
TYPE       DOIF
VERSION    24210 2021-04-10 18:05:36

Wo habe ich was auf den Augen ? Weil es tritt nicht immer auf
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Damian

Du musst Stacktrace aktivieren, dann siehst du genauer, was da los ist, wahrscheinlich irgendwelche Werte in den Readings, die nicht stimmig sind.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Bartimaus

Ah ok, habe gerade auch mal auf die neue Version aktualisiert, bis jetzt kein Entrag mehr im Log, aber Stacktrace mal aktiviert.
LG
B.


FHEM@Intel-J4105@Debian-LXC, CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Vize

Hallo zusammen,

erstmal danke an Damian für den Hinweis auf die Abfragemöglichkeit bei Wunderground!

Nun würde ich noch gerne die Windrichtung als Text von der Seite extrahieren.

Ich finde im buf zum HTTPMOD-Device z.B.
<div _ngcontent-sc289="" class="weather__header">WIND FROM</div><div _ngcontent-sc289="" class="weather__text">SW</div>

Mich interessiert dort dann das SW am Ende.

Da mir wenig bis kein Wissen im Weg steht, möchte ich mal fragen, ob mir jemand die passende Regex nennen kann, um das SW in ein reading zu bekommen...  :-[
Habe schon ewig lange nichts mehr mit Regex gemacht...

Besten Dank schonmal für jegliche Hinweise und Tipps!

VG
Andreas

mi.ke

Moin,

WIND.*?weather__text">(.*?)<

Wenn Du das öfter nutzen willst, und glaub mir HTTPMOD macht süchtig, darf ich Dir https://regex101.com/ ans Herz legen

cheers
mi.ke
FHEM 5.9 | RPi4 + 5 x RPi(Z) + FB7590 + FB 6890 LTE via LAN und WAN (VPN) verbunden.
2 x CUL868 + 3 x RFXTRX(e) + 6 x HMwLanGW + 4 x z2tGw + 5 x LGW + 2 x IRBlast + CO2 +++
FS20, FHT, FMS, Elro(mod), CM160, Revolt, LGTV, STV, AVR, withings, HM-sec-*, HM-CC-RT-DN, AMAD, PCA301, arlo, Aqara

Vize

Hallo mi.ke,

nochmals danke...  ;)

Leider klappt (auch) das nicht...die Zeile im Reading bleibt leer...

VG
Andreas

PS auf regex101.com hatte ich vorher auch schon getüftelt, bin aber nicht weitergekommen.
Dort funktioniert deine Regex aber...

Vize

Update:

Funktioniert jetzt...sorry für die stümperhafte Vorbereitung...

WIND FROM.*?weather__text">(.*?)<

Musste noch das FROM dazu nehmen, da "Wind" noch ungefähr drölfzig mal auf der Seite vorkommt...  :-[

Dnke nochmal mi.ke!

VG
Andreas

Vize

Hallo zusammen,

im Netz gibt es einen Hinweis, dass man die Daten von wunderground Stationen auch mit einem öffentlichen api-key auslesen kann.
Die Antwort liegt dann im JSON-Format vor.
Quelle.

Mit dem Attribut
extractAllJSON 1
erhält man auf einen Schlag alle Readings, die dabei möglich sind.

Über weitere HTTPMOD-Optionen lässt sich dann das device nach eigenen Wünschen anpassen.

Als Vorteil sehe ich hier u. a., dass die Werte sofort im metrischen Format vorliegen und man sie nicht noch zusätzlich "umbiegen" muss.

Zur hier im Faden beschriebenen Visualisierung kann Damian bestimmt was sagen...  ;)

Vielleicht hilft/nützt es ja dem ein oder anderen...

VG
Andreas

FHEM-User22

Hallo an Alle hier,

ich bin begeistert von der Wetterstation. Danke für die Arbeit.

Nun möchte ich für mehrere Orte jeweils die Anzeigen machen.

Also:
defmod WetterWerms HTTPMOD https://www.wunderground.com/dashboard/pws/IWERMS1
attr WetterWerms DbLogInclude LuftdruckHpa,Regen,RegenGesamt,RegenGesamtMm,TaupunktC,TemperaturC,TemperaturGefuehltC,UV,WindKm,WindboeenKm,WindrichtungGrad
attr WetterWerms comment https://forum.fhem.de/index.php/topic,119612.0/topicseen.html
attr WetterWerms enableControlSet 1
attr WetterWerms event-on-change-reading LuftdruckHpa,Regen,RegenGesamt,RegenGesamtMm,TaupunktC,TemperaturC,TemperaturGefuehltC,UV,WindKm,WindboeenKm,WindrichtungGrad
attr WetterWerms reading01Name Wind
attr WetterWerms reading01Regex wu-unit .{109}>(\d+\.\d)
attr WetterWerms reading02Name Windboeen
attr WetterWerms reading02Regex wu-unit-speed .{109}>(\d+\.\d)
attr WetterWerms reading03Name Windrichtung
attr WetterWerms reading03Regex (\d+)deg\).{84}Wind-Marker
attr WetterWerms reading04Name Regen
attr WetterWerms reading04Regex wu-unit-rainRate .{109}>(\d+\.\d\d)
attr WetterWerms reading05Name RegenGesamt
attr WetterWerms reading05Regex wu-unit-rain .{109}>(\d+\.\d\d)
attr WetterWerms reading06Name Temperatur
attr WetterWerms reading06Regex wu-unit-temperature .{127}>(\d+.\d)
attr WetterWerms reading07Name Feuchtigkeit
attr WetterWerms reading07Regex wu-unit-humidity .{109}>(\d\d)
attr WetterWerms reading08Name UV
attr WetterWerms reading08Regex UV<.{268}>(\d)
attr WetterWerms reading09Name Luftdruck
attr WetterWerms reading09Regex PRESSURE<.{285}>(\d+.\d+)
attr WetterWerms reading10Name TemperaturGefuehlt
attr WetterWerms reading10Regex wu-unit is-degree-visible .{109}>(\d+.\d)
attr WetterWerms reading11Name Taupunkt
attr WetterWerms reading11Regex DEWPOINT<.{305}>(\d+.\d+)
attr WetterWerms room 00-Buero,Wetter
attr WetterWerms timeout 10
attr WetterWerms 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}

setstate WetterWerms 2021-05-18 17:47:20 Feuchtigkeit 83
setstate WetterWerms 2021-05-18 17:47:20 Luftdruck 29.55
setstate WetterWerms 2021-05-18 17:47:20 LuftdruckHpa 1013.207888
setstate WetterWerms 2021-05-18 17:47:20 Regen 0.00
setstate WetterWerms 2021-05-18 17:47:20 RegenGesamt 0.29
setstate WetterWerms 2021-05-18 17:47:20 RegenGesamtMm 1.016
setstate WetterWerms 2021-05-18 17:47:20 RegenMm 0
setstate WetterWerms 2021-05-18 17:47:20 Taupunkt 47.7
setstate WetterWerms 2021-05-18 17:47:20 TaupunktC 8.83333333333333
setstate WetterWerms 2021-05-18 17:47:20 Temperatur 52.7
setstate WetterWerms 2021-05-18 17:47:20 TemperaturC 13
setstate WetterWerms 2021-05-18 17:47:20 TemperaturGefuehlt 52.7
setstate WetterWerms 2021-05-18 17:47:20 TemperaturGefuehltC 12.7777777777778
setstate WetterWerms 2021-05-18 17:47:20 UV 1
setstate WetterWerms 2021-05-18 17:47:20 Wind 1.8
setstate WetterWerms 2021-05-18 17:47:20 WindKm 10.138842
setstate WetterWerms 2021-05-18 17:47:20 Windboeen 2.2
setstate WetterWerms 2021-05-18 17:47:20 WindboeenKm 11.909116
setstate WetterWerms 2021-05-18 17:47:20 Windrichtung 281
setstate WetterWerms 2021-05-18 17:47:20 WindrichtungGrad 257


Das ganze nochmal für einen andere Ort:

defmod WetterNerchau HTTPMOD https://www.wunderground.com/dashboard/pws/IGRIMM18
attr WetterNerchau DbLogInclude LuftdruckHpa,Regen,RegenGesamt,RegenGesamtMm,TaupunktC,TemperaturC,TemperaturGefuehltC,UV,WindKm,WindboeenKm,WindrichtungGrad
attr WetterNerchau comment https://www.wunderground.com/wundermap?lat=51.239&lon=12.725\
https://forum.fhem.de/index.php/topic,119612.0/topicseen.html
attr WetterNerchau enableControlSet 1
attr WetterNerchau event-on-change-reading LuftdruckHpa,Regen,RegenGesamt,RegenGesamtMm,TaupunktC,TemperaturC,TemperaturGefuehltC,UV,WindKm,WindboeenKm,WindrichtungGrad
attr WetterNerchau reading01Name Wind
attr WetterNerchau reading01Regex wu-unit .{109}>(\d+\.\d)
attr WetterNerchau reading02Name Windboeen
attr WetterNerchau reading02Regex wu-unit-speed .{109}>(\d+\.\d)
attr WetterNerchau reading03Name Windrichtung
attr WetterNerchau reading03Regex (\d+)deg\).{84}Wind-Marker
attr WetterNerchau reading04Name Regen
attr WetterNerchau reading04Regex wu-unit-rainRate .{109}>(\d+\.\d\d)
attr WetterNerchau reading05Name RegenGesamt
attr WetterNerchau reading05Regex wu-unit-rain .{109}>(\d+\.\d\d)
attr WetterNerchau reading06Name Temperatur
attr WetterNerchau reading06Regex wu-unit-temperature .{127}>(\d+.\d)
attr WetterNerchau reading07Name Feuchtigkeit
attr WetterNerchau reading07Regex wu-unit-humidity .{109}>(\d\d)
attr WetterNerchau reading08Name UV
attr WetterNerchau reading08Regex UV<.{268}>(\d)
attr WetterNerchau reading09Name Luftdruck
attr WetterNerchau reading09Regex PRESSURE<.{285}>(\d+.\d+)
attr WetterNerchau reading10Name TemperaturGefuehlt
attr WetterNerchau reading10Regex wu-unit is-degree-visible .{109}>(\d+.\d)
attr WetterNerchau reading11Name Taupunkt
attr WetterNerchau reading11Regex DEWPOINT<.{305}>(\d+.\d+)
attr WetterNerchau room 00-Buero,Wetter
attr WetterNerchau timeout 10
attr WetterNerchau 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}

setstate WetterNerchau 2021-05-05 09:46:11 Feuchtigkeit 55
setstate WetterNerchau 2021-05-05 09:46:11 Luftdruck 29.79
setstate WetterNerchau 2021-05-18 17:44:21 LuftdruckHpa 1013.207888
setstate WetterNerchau 2021-05-05 09:46:11 Regen 0.00
setstate WetterNerchau 2021-05-05 09:46:11 RegenGesamt 0.00
setstate WetterNerchau 2021-05-18 17:44:21 RegenGesamtMm 1.016
setstate WetterNerchau 2021-05-18 17:44:21 RegenMm 0
setstate WetterNerchau 2021-05-05 09:46:11 Taupunkt 33.9
setstate WetterNerchau 2021-05-18 17:44:21 TaupunktC 9.33333333333333
setstate WetterNerchau 2021-05-05 09:46:11 Temperatur 49.6
setstate WetterNerchau 2021-05-18 17:44:21 TemperaturC 14
setstate WetterNerchau 2021-05-05 09:46:11 TemperaturGefuehlt 47.3
setstate WetterNerchau 2021-05-18 17:44:21 TemperaturGefuehltC 13.6666666666667
setstate WetterNerchau 2021-05-05 09:46:11 Wind 5.8
setstate WetterNerchau 2021-05-18 17:44:21 WindKm 16.254334
setstate WetterNerchau 2021-05-05 09:46:11 Windboeen 6.0
setstate WetterNerchau 2021-05-18 17:44:21 WindboeenKm 19.151146
setstate WetterNerchau 2021-05-05 09:46:11 Windrichtung 495
setstate WetterNerchau 2021-05-18 17:44:21 WindrichtungGrad 261


Seltsamerweise sind alle Readings immer genau gleich, sie ändern sich gemeinsamauf den gleichen Wert. Auch wenn ich weitere Orte hinzufüge, immer sind die Werte gleich, obwohl wenn ich die Links direkt anklicke die Werte auf der Website nicht gleich sind.

Wo habe ich einen Fehler/etwas übersehen?

Dankeschön

FHEM auf Raspberry Pi und Proxmox und... und.... und....