Ein virtueller Regensensor mit wetter.com und HTTPMOD

Begonnen von Tri, 17 August 2021, 15:54:09

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

Bei mir scheint es noch zu gehen.

Welche "Version" hast du denn am Start?

Was ich aktiviert habe ist: attr Device showMatched 1

Damit solltest du sehen was "gefunden" bzw. "nicht gefunden" wurde...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Aeroschmelz

#76
Hi Joachim,

mit dem Attribut bestätigt er mir mit 


UNMATCHED_READINGS Regen5M


Dass da etwas nicht passt. Allerdings taucht der HTML Code im Quellcode der Seite auch noch auf, allerdings bin ich bei RegEx total aufgeschmissen.

Ich verwende die Version von ch.eick aus Post 52.

Viele Grüße
Marcus

Aeroschmelz

Habe den Fehler gefunden. Die Zeile für Regen5M muss so aussehen:


reading08Regex <td.class=\"\[.colorcell.top.border..grey.bottom.border..grey.*\]\".title.*style=\"background.color.(.*?)\;\"><\/td>


Steht zwar weiter vorne, ist mir aber anicht aufgefallen.

ch.eick

#78
Moin, seit gestern bekomme ich keine Antwort mehr vom Wetter Radar.

Wenn ich die Seite im Browser aufrufe wird sie jedoch angezeigt.
Hat da jemand eine Idee?
2023.08.14 09:36:04.773 5: Niederschlag: get called with Wetter_Wolfskehlen
2023.08.14 09:36:04.774 5: Niederschlag: get found option Wetter_Wolfskehlen in attribute get01Name
2023.08.14 09:36:04.774 4: Niederschlag: get will now request Wetter_Wolfskehlen, no optional value
2023.08.14 09:36:04.775 5: Niederschlag: AddToQueue adds type get01 to URL https://www.wetter.com/deutschland/riedstadt/wolfskehlen/DE0008876012.html, no data, no headers, retry 0, initial queue len: 0
2023.08.14 09:36:04.775 5: Niederschlag: HandleSendQueue called from AddToSendQueue, qlen = 1
2023.08.14 09:36:04.775 4: Niederschlag: HandleSendQueue sends get01 with timeout 5 to https://www.wetter.com/deutschland/riedstadt/wolfskehlen/DE0008876012.html, No Data, No Header
2023.08.14 09:36:04.776 5: Niederschlag: ReadCallback called from __ANON__
2023.08.14 09:36:04.776 5: Niederschlag: Read callback Error LogLvl set to 3, regex
2023.08.14 09:36:04.776 3: Niederschlag: Read callback: Error: Cant create UDP socket:Invalid argument
2023.08.14 09:36:04.777 4: Niederschlag: Read callback: request type was get01 retry 0, no headers, no body
2023.08.14 09:36:04.777 5: Niederschlag: Read callback: body empty
2023.08.14 09:36:04.777 4: Niederschlag: BodyDecode is not decoding the response body (charset not found, bodyDecode defaults to none)
2023.08.14 09:36:04.777 5: Niederschlag: GetCookies is looking for Cookies
2023.08.14 09:36:04.777 5: Niederschlag: ExtractSid called, context get, num 01
2023.08.14 09:36:04.777 4: Niederschlag: no header to look for redirects
2023.08.14 09:36:04.778 5: Niederschlag: Read callback sets LAST_REQUEST to get01
2023.08.14 09:36:04.778 5: Niederschlag: CheckAuth decided no authentication required

VG   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MadMax-FHEM

Hmm, bei mir geht es (noch)...
Scheint aber irgendwie an der Büchse wo fhem läuft zu liegen?

Zitat2023.08.14 09:36:04.776 5: Niederschlag: ReadCallback called from __ANON__
2023.08.14 09:36:04.776 5: Niederschlag: Read callback Error LogLvl set to 3, regex
2023.08.14 09:36:04.776 3: Niederschlag: Read callback: Error: Cant create UDP socket:Invalid argument
2023.08.14 09:36:04.777 4: Niederschlag: Read callback: request type was get01 retry 0, no headers, no body
2023.08.14 09:36:04.777 5: Niederschlag: Read callback: body empty
2023.08.14 09:36:04.777 4: Niederschlag: BodyDecode is not decoding the response body (charset not found, bodyDecode defaults to none)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ch.eick

Zitat von: MadMax-FHEM am 14 August 2023, 10:19:57Hmm, bei mir geht es (noch)...
Scheint aber irgendwie an der Büchse wo fhem läuft zu liegen?
Da habe ich bereits ein "update all" gemacht und einen kompletten restart des RPI4, da der letzte bereits 1/2 Jahr her war.
Das hat leider nichts gebracht.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MadMax-FHEM

Zitat von: ch.eick am 14 August 2023, 10:42:00
Zitat von: MadMax-FHEM am 14 August 2023, 10:19:57Hmm, bei mir geht es (noch)...
Scheint aber irgendwie an der Büchse wo fhem läuft zu liegen?
Da habe ich bereits ein "update all" gemacht und einen kompletten restart des RPI4, da der letzte bereits 1/2 Jahr her war.
Das hat leider nichts gebracht.

Hmm.
Habe vorgestern zufällig ;) beides einem Update unterzogen, also OS (Bullseye) und fhem.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ch.eick

#82
Zitat von: MadMax-FHEM am 14 August 2023, 10:59:37
Zitat von: ch.eick am 14 August 2023, 10:42:00
Zitat von: MadMax-FHEM am 14 August 2023, 10:19:57Hmm, bei mir geht es (noch)...
Scheint aber irgendwie an der Büchse wo fhem läuft zu liegen?
Da habe ich bereits ein "update all" gemacht und einen kompletten restart des RPI4, da der letzte bereits 1/2 Jahr her war.
Das hat leider nichts gebracht.

Hmm.
Habe vorgestern zufällig ;) beides einem Update unterzogen, also OS (Bullseye) und fhem.

Gruß, Joachim
Andere HTTPMOD laufen bei mir jedoch noch und den upgrade habe ich erst nach dem Problem gemacht, damit ich keine alten Fehler suchen muss ;-)

Soo, nach dem apt-get im Docker Container und einem reboot des containers scheint es jetzt wieder zu laufen.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

#83
Hallo zusammen,
falls noch jemand meine Definition aus diesem Thread verwendet hätte ich da mal eine Korrektur.

Fehler Bild:
    Es geht um die Regen5M readings, die bei schönem Wetter nicht getrigget werden und somit falsche Werte beinhalten können.
    Auf der Webseite wird anscheinend nur bei möglichem Regen der Balken mit den 5 Minuten Werten angezeigt und ansonsten
    nur ein Text.
Du darfst diesen Dateianhang nicht ansehen.


EDIT: Im weiteren Verlauf gibt es noch eine neuere Änderung

Mit dieser Änderung habe ich den Trigger verändert und das Regen5M_Time reading gelöscht, wenn es nicht geliefert wird.
attr Niederschlag reading07DeleteIfUnmatched 1

attr Niederschlag userReadings Status_akt:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 1, 7, "txt")},\
Status_akt_num:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 1, 7, "num")},\
Status1h:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 8, 15, "txt")},\
Status1h_num:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 8, 15, "num")},\
Status2h:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 16, 21, "txt")},\
Status2h_num:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 16, 21, "num")}

Ich werde das mal etwas beobachten, falls sich ansonsten der Aufbau der Seite geändert hat.

Anwendung findet das bei mir im Autoshuttercontrol (ASC), wo ich ein virtuelle Brigthness Device habe. Dieses Device
definiert auch einen Trigger im ASC, wenn die Sonne im Fenster blendet. Bei Regen kann ja die Brigthness hoch sein,
trotzdem sollte es dann aber nicht blenden und das Rollo oben bleiben.
Eine der Bedingungen wäre dann soetwas
and [?Niederschlag:Status_akt_num] == 0                         ## Es regnet nicht

VG  Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

jkriegl

Die Niederschlagsprognose (5 Min-Abstand) wurde auch geändert.
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

jkriegl

Bin kein regex-Experte, so scheint es zu funktionieren
reading08Regex    
pt- pb- mr- palm-bottom-border--grey.*\W.*color:(.*?);">
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

ch.eick

#86
So, jetzt dann nochmal die Änderungen zusammen. Ich hoffe es passt jetzt wieder.
## Bei Regen5M_Time fallen jetzt einige Attribute weg, da die Zeit jetzt direkt geliefert wird.
deleteattr Niederschlag reading07OExpr
deleteattr Niederschlag reading07DeleteIfUnmatched

## Ich lese jedoch nur die erste Zeit aus dem % Minuten Raster
attr Niederschlag reading07Name Regen5M_Time
attr Niederschlag reading07Regex data-WetterNowcast data-nowcast.*\n.*\n.*nowcast-table-item.*\n.*<span>(.*?)<\/span>.*rainnowcast-color

## Für Regen5M hat ja @jkriegl die regex bereits gefunden
## Bei der OMap war zum ende hin noch ein Fehler in der Definition, der jetzt so passen sollte
attr Niederschlag reading08AutoNumLen 2
attr Niederschlag reading08DeleteIfUnmatched 1
attr Niederschlag reading08Name Regen5M
attr Niederschlag reading08OMap #fff:0, #a6caf0:< 0.4 l/m²/h, #bfd4ff:< 0.4 l/m²/h, #fce4ec:< 0.4 l/m²/h(*), #6699ff:< 1.9 l/m²/h, #f9bad0:< 1.9 l/m²/h(*), #004ce5:< 8.1 l/m²/h, #f68db1:< 8.1 l/m²/h(*), #002673:< 35 l/m²/h, #f25f91:< 35 l/m²/h(*), #ffa800:< 150 l/m²/h, #ee3c79:< 150 l/m²/h(*), #e60000:> 150 l/m²/h(*), #eb1561:> 150 l/m²/h(*)
attr Niederschlag reading08RegOpt g
attr Niederschlag reading08Regex pt- pb- mr- palm-bottom-border--grey.*\W.*color:(.*?);;">

## Bei den userreadings habe ich den Trigger geändert
## Die my_userReadingsWetterCom() Funktion würde ich behalten, da man damit die Zeitfenster etwas zusammen fassen
## kann und einen nummerischen Wert bekommt, was bei der Auswertung angenehmer ist
attr Niederschlag userReadings Status_akt:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 1, 7, "txt")},\
Status_akt_num:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 1, 7, "num")},\
Status1h:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 8, 15, "txt")},\
Status1h_num:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 8, 15, "num")},\
Status2h:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 16, 21, "txt")},\
Status2h_num:Regen5M_Text.* {my_userReadingsWetterCom("$name","Regen5M", 16, 21, "num")}

Bei den Farben hat sich wohl soweit nichts geändert, was wir mal beobachten sollten.
Das reading08OMap beinhaltet Regen und Schnee zusammen.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MadMax-FHEM

#87
Hallo (seit) heute(?) matchen (bei mir) Regen5M_Time und Regen5M nicht mehr :-\
Aufgefallen ist es, weil bei Regen5M_Time (und damit in meinem "STATE") irgendwas mit 08:00 angezeigt wurde.
Bei UNMATCHED_READINGS dann eben: Regen5M_Time und Regen5M

Ist das nur bei mir so?

Ich bin für die Regenmengen/aktueller "Zustand" und "Forecast" auf "Niederschlagsmenge-.*" ausgewichen, zumindest das geht.

Für "Regen5M_Time" habe ich aktuell folgendes:
<div class="\[ mb \]">Letzte Aktualisierung der Vorhersage.....(.*) \(Ortszeit\)<\/div>
ist aber nicht schön :-\

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

ch.eick

Zitat von: MadMax-FHEM am 01 Oktober 2023, 11:16:57Hallo (seit) heute(?) matchen (bei mir) Regen5M_Time und Regen5M nicht mehr :-\
Aufgefallen ist es, weil bei Regen5M_Time (und damit in meinem "STATE") irgendwas mit 08:00 angezeigt wurde.
Bei UNMATCHED_READINGS dann eben: Regen5M_Time und Regen5M

Ist das nur bei mir so?

Ich bin für die Regenmengen/aktueller "Zustand" und "Forecast" auf "Niederschlagsmenge-.*" ausgewichen, zumindest das geht.

Für "Regen5M_Time" habe ich aktuell folgendes:
<div class="\[ mb \]">Letzte Aktualisierung der Vorhersage.....(.*) \(Ortszeit\)<\/div>

Moin Joachim,
lies mal die letzten Posts, da hatten wir das schon auf die neue Webseite angepasst.

VG   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

MadMax-FHEM

Zitat von: ch.eick am 01 Oktober 2023, 11:41:01Moin Joachim,
lies mal die letzten Posts, da hatten wir das schon auf die neue Webseite angepasst.

VG   Christian

Hallo Christian,

hmm, ok schaue ich mal.
Wobei ich eigentlich dachte aktuell zu sein ;)

Danke, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)