Wetterstation liefert keine Werte mehr nach Update

Begonnen von ppmss, 01 Januar 2025, 17:49:44

Vorheriges Thema - Nächstes Thema

ppmss

Hallo Alle,
nach langer Zeit habe ich mir mal wieder neue Shellies gekauft und eingebunden.
Hierzu musste ich allerdings einen FHEM-Update laufen lassen.

Nun funktioniert mein Bresser Wetterstations-Abruf nicht mehr und ich suche mir einen Wolf ....
Ich habe Folgendes versucht:
- WEBweatherstation und Wetterstation - devices gelöscht und über define Wetterstation neu angelegt und attr wie bisher wieder gesetzt
--> KEIN Erfolg

- 50_HP1000.pm und 01_FHEMWEB.pm temporär gegen gesicherte Version rückgetauscht
--> KEIN Erfolg

Ich habe: stateReadings temperature humidity --> liefern seit update im STATE '?'

Im log findet man folgende pl-Fehler/Warnings:
2025.01.01 16:43:29.214 2: Registering HP1000 Wetterstation for URL /updateweatherstation...
2025.01.01 16:44:45.070 1: PERL WARNING: Use of uninitialized value in hash element at fhem.pl line 4619.
2025.01.01 16:44:45.388 1: PERL WARNING: Use of uninitialized value in hash element at fhem.pl line 1761.
2025.01.01 16:44:47.911 1: PERL WARNING: Use of uninitialized value in hash element at ./FHEM/01_FHEMWEB.pm line 1941.
2025.01.01 16:44:47.912 1: PERL WARNING: Use of uninitialized value $type in hash element at ./FHEM/01_FHEMWEB.pm line 3467.
2025.01.01 16:44:47.913 1: PERL WARNING: Use of uninitialized value in hash element at fhem.pl line 2030.
2025.01.01 16:44:47.914 1: PERL WARNING: Use of uninitialized value in hash element at fhem.pl line 2875.
2025.01.01 16:44:47.914 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at fhem.pl line 2875.
2025.01.01 16:44:50.780 1: Error: >WEBweatherstation< has no TYPE, but following keys: >BYTES_READ<
2025.01.01 16:45:09.300 2: Unregistering HP1000 Wetterstation for URL /updateweatherstation...
2025.01.01 16:45:37.929 3: HP1000 Wetterstation: Creating new FHEMWEB instance WEBweatherstation with webname 'weatherstation'
2025.01.01 16:45:37.932 3: WEBweatherstation: port 8084 opened

Hat jemand eine Idee, was ich noch prüfen/ausprobieren könnte?

Vielen Dank,
alternder ITler der noch nicht in Rente ist und dem die Zeit fehlt den relevante pl-Code zu analysieren.

Bin aber schon bereit tiefer einzusteigen, wenn ich nen Tipp bekomme, wo ich anfangen soll.

Nochmal Danke und allen ein gutes neues Jahr,
Peter

rudolfkoenig

Ich gehe davon aus, dass Problem nichts mit FHEMWEB zu tun hat.
Laut MAINTAINER.txt wird 50_HP1000.pm in "Unterstützende Dienste/Wettermodule" betreut, bitte das Thema dahin verschieben (Knopf im Forum unten links).

Ansonsten wuerde ich "attr global verbose 5" setzen, die Wetterstation in FHEM erneut definieren, und in FHEM-Log schauen, was dazu gemeldet wird.

ppmss

Hallo,
vielen Dank für den Tipp ...
Ich werde das so bald als möglich ausprobieren.

Ich habe verschoben ..

Ciao,
Peter

ppmss

Hi,
kann mir jemand sagen, wie ich mit PostMan die REST-Calls an fhem/wetterstation senden kann um die Ergebnisse zu testen?
Ich denke, dass die Calls keine Reading-Ergebnisse liefern.

Kann jemand was mit den log-Einträgen anfangen?
2025.01.04 13:55:53.852 2: Registering HP1000 Wetterstation for URL /updateweatherstation...
2025.01.04 13:55:53.853 5: Starting notify loop for global, 1 event(s), first is DEFINED Wetterstation
2025.01.04 13:55:53.854 5: createNotifyHash
2025.01.04 13:55:53.858 4: DBLogging - check Device: global , Event: DEFINED Wetterstation
2025.01.04 13:55:53.864 5: End notify loop for global
2025.01.04 13:55:53.868 5: GET /fhem?detail=Wetterstation&fw_id=1735995317.19973 HTTP/1.1
Host: ***pi1:8083
Connection: keep-alive
Cache-Control: max-age=0
Authorization: Basic cGV0ZXJzOlJvc3NseW4wMCE=
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://***pi1:8083/fhem?detail=global&fw_id=1735995317.19973
Accept-Encoding: gzip, deflate
Accept-Language: de,de-DE;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
2025.01.04 13:55:53.869 4: WEB_192.168.***.22_58281 GET /fhem?detail=Wetterstation&fw_id=1735995317.19973; BUFLEN:0
2025.01.04 13:55:53.912 5: HP1000 Wetterstation: called function HP1000_Get()
2025.01.04 13:55:53.932 4: WEB: /fhem?detail=Wetterstation&fw_id=1735995317.19973 / RL:4256 / text/html; charset=UTF-8 / Content-Encoding: gzip
 / Cache-Control: no-cache, no-store, must-revalidate

2025.01.04 13:55:53.951 5: GET /fhem?cmd=%7BAttrVal(%22Wetterstation%22%2C%22room%22%2C%22%22)%7D&XHR=1&fwcsrf=csrf_59945202350855 HTTP/1.1
Host: ***pi1:8083
Connection: keep-alive
Authorization: Basic cGV0ZXJzOlJvc3NseW4wMCE=
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0
Accept: */*
Referer: http://***pi1:8083/fhem?detail=Wetterstation&fw_id=1735995317.19973
Accept-Encoding: gzip, deflate
Accept-Language: de,de-DE;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
2025.01.04 13:55:53.952 4: WEB_192.168.***.22_58281 GET /fhem?cmd=%7BAttrVal(%22Wetterstation%22%2C%22room%22%2C%22%22)%7D&XHR=1&fwcsrf=csrf_59945202350855; BUFLEN:0
2025.01.04 13:55:53.953 5: Cmd: >{AttrVal("Wetterstation","room","")}<
2025.01.04 13:55:53.954 4: WEB: /fhem?cmd=%7BAttrVal(%22Wetterstation%22%2C%22room%22%2C%22%22)%7D&XHR=1&fwcsrf=csrf_59945202350855 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
 / Cache-Control: no-cache, no-store, must-revalidate

2025.01.04 13:55:54.369 4: Connection accepted from WEB_192.168.***.22_58319
2025.01.04 13:55:54.372 5: GET /fhem?XHR=1&inform=type%3Dstatus%3Bfilter%3DWetterstation%3Bsince%3D1735995352.89548%3Bfmt%3DJSON&fw_id=1735995317.19973×tamp=1735995353137 HTTP/1.1
Host: ***pi1:8083
Connection: Upgrade
Pragma: no-cache
Cache-Control: no-cache
Authorization: Basic cGV0ZXJzOlJvc3NseW4wMCE=
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0
Upgrade: websocket
Origin: http://***pi1:8083
Sec-WebSocket-Version: 13
Accept-Encoding: gzip, deflate
Accept-Language: de,de-DE;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Sec-WebSocket-Key: gGf7flAV/UrK+mbZkgAEvQ==
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
2025.01.04 13:55:56.402 5: POST /fhem?cmd=save&XHR=1&fwcsrf=csrf_59945202350855&fw_id=1735995317.19973 HTTP/1.1
Host: ***pi1:8083
Connection: keep-alive
Content-Length: 0
Authorization: Basic cGV0ZXJzOlJvc3NseW4wMCE=
cache-control: no-cache
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0
Accept: text/plain, */*; q=0.01
Origin: http://***pi1:8083
Referer: http://***pi1:8083/fhem?detail=Wetterstation&fw_id=1735995317.19973
Accept-Encoding: gzip, deflate
Accept-Language: de,de-DE;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
2025.01.04 13:55:56.403 4: WEB_192.168.***.22_58281 POST /fhem?cmd=save&XHR=1&fwcsrf=csrf_59945202350855&fw_id=1735995317.19973; BUFLEN:0
2025.01.04 13:55:56.404 5: Cmd: >save<
2025.01.04 13:55:56.405 5: Starting notify loop for global, 1 event(s), first is SAVE
2025.01.04 13:55:56.405 5: createNotifyHash
2025.01.04 13:55:56.410 4: DBLogging - check Device: global , Event: SAVE
2025.01.04 13:55:56.413 5: End notify loop for global


2025.01.04 13:56:06.392 4: Connection accepted from WEBweatherstation_192.168.***.58_53477
2025.01.04 13:56:06.578 5: GET /weatherstation/updateweatherstation.php?ID=***Wetter&PASSWORD=***S0!&action=updateraww&realtime=1&rtfreq=5&dateutc=now&baromin=29.40&tempf=32.1&dewptf=28.7&humidity=87&windspeedmph=2.2&windgustmph=2.2&winddir=188&rainin=0.0&dailyrainin=0.0&solarradiation=61.30&UV=0.0&indoortempf=66.0&indoorhumidity=37 HTTP/1.1
Host:***Pi1.fritz.box
Connection: keep-alive
2025.01.04 13:56:06.579 4: WEBweatherstation_192.168.***.58_53477 GET /weatherstation/updateweatherstation.php?ID=***Wetter&PASSWORD=***S0!&action=updateraww&realtime=1&rtfreq=5&dateutc=now&baromin=29.40&tempf=32.1&dewptf=28.7&humidity=87&windspeedmph=2.2&windgustmph=2.2&winddir=188&rainin=0.0&dailyrainin=0.0&solarradiation=61.30&UV=0.0&indoortempf=66.0&indoorhumidity=37; BUFLEN:0
2025.01.04 13:56:06.582 5: HP1000 : called function HP1000_CGI()
2025.01.04 13:56:06.588 5: HP1000: received insufficient data:
$VAR1 = {
          'indoortempf' => '66.0',
          'dailyrainin' => '0.0',
          'windgustmph' => '2.2',
          'action' => 'updateraww',
          'UV' => '0.0',
          'rainin' => '0.0',
          'winddir' => '188',
          'humidity' => '87',
          'dateutc' => 'now',
          'solarradiation' => '61.30',
          'indoorhumidity' => '37',
          'baromin' => '29.40',
          'tempf' => '32.1',
          'dewptf' => '28.7',
          'PASSWORD' => '***S0!',
          'windspeedmph' => '2.2',
          'ID' => '***Wetter',
          'realtime' => '1',
          'rtfreq' => '5'
        };

2025.01.04 13:56:06.588 4: WEBweatherstation: /weatherstation/updateweatherstation.php?ID=***Wetter&PASSWORD=***S0!&action=updateraww&realtime=1&rtfreq=5&dateutc=now&baromin=29.40&tempf=32.1&dewptf=28.7&humidity=87&windspeedmph=2.2&windgustmph=2.2&winddir=188&rainin=0.0&dailyrainin=0.0&solarradiation=61.30&UV=0.0&indoortempf=66.0&indoorhumidity=37 / RL:17 / text/plain; charset=utf-8 /  / Cache-Control: no-cache, no-store, must-revalidate

Danke und Ciao,
Peter

ppmss

Hallo zusammen,
nachdem ich nun die neue 50_hp1000.pm mit der gesicherten verglichen habe (nach debug - verbose 5) konnte ich das Problem Lösen/umschiffen:
in der Methode HP1000_CGI habe ich auf alte Prüfwerte zurückgestellt:

    # PeterS: sofwaretype ist keiner der webArgs       
    Log3 $name, 5,
          "HP1000: DumpwebArgs:\n" . Dumper($webArgs);
    # if (  !defined( $webArgs->{softwaretype} )
       if (  !defined( $webArgs->{dateutc} )
            || !defined( $webArgs->{action} ) )
        {
            Log3 $name, 5,
            # Log3 $name, 3,
              "HP1000: received insufficient data:\n" . Dumper($webArgs);

            return ( "text/plain; charset=utf-8", "Insufficient data: PETER" );
        }

        # if ( $webArgs->{action} ne "updateraw" ) {
        if ( $webArgs->{action} ne "updateraww" ) {
            Log3 $name, 5,
            # Log3 $name, 3,
              "HP1000: action $webArgs->{action} is not implemented:\n"
              . Dumper($webArgs);

Nach nochmaligem Löschen und neu Anlegen der Devices (defines aus fhem.cfg (gesichert)) läuft nun wieder alles wie gehabt.

ACHTUNG: nicht vergessen global-verbose wieder von 5 auf 3 zu stellen, da sonst das log zu voll wird
Vielleicht kann ja noch jemand etwas dazu sagen?

Danke und Ciao,
Peter

ppmss

Zitat von: rudolfkoenig am 01 Januar 2025, 18:23:38Ich gehe davon aus, dass Problem nichts mit FHEMWEB zu tun hat.
Laut MAINTAINER.txt wird 50_HP1000.pm in "Unterstützende Dienste/Wettermodule" betreut, bitte das Thema dahin verschieben (Knopf im Forum unten links).

Ansonsten wuerde ich "attr global verbose 5" setzen, die Wetterstation in FHEM erneut definieren, und in FHEM-Log schauen, was dazu gemeldet wird.

Hallo Rudolf,
danke für den DEBUG-Tipp.

Ciao,
Peter