**Gelöst** HTTPMOD Umzug von RPI3 auf RPI5

Begonnen von Tueftler1983, 23 August 2024, 20:03:43

Vorheriges Thema - Nächstes Thema

Tueftler1983

Hallo so wie im Titel gesagt Zieht mein Fhem grade vom RPI3 auf den 5er um soweit bin ich langsam parat.... Aber HTTPMOD macht probleme.

ich habe 2 HTTPMOD Geräte das 1. Ruft die Livedaten von Discovergy ab, Zählerstand, Verbrauch etc auf dem alten fhem läuft es auf dem neuen mit der selben Config nicht es kommen keine daten.

das 2. Gerät ruft daten über die Radioaktivität ab auch hier funktioniert nur das Alte
Altes System
define RadioaktiveStrahlung HTTPMOD https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D 1900
attr RadioaktiveStrahlung DbLogInclude Messwert,ProzentRound,Gefahrenlage
attr RadioaktiveStrahlung devStateIcon {my $mS =  ReadingsVal($name, "Messwert", 0) < 0.5?"RadioA\@green": ReadingsVal($name, "Messwert", 0) < 1.7?"RadioA\@yellow":"RadioA\@red" ;; $mS = FW_makeImage($mS);; my $mW = ReadingsVal($name,'Messwert','0');; qq(<a>Radioaktive Strahlung: $mW &micro;;;;Sv/h  </a><a>$mS</a>)}
attr RadioaktiveStrahlung icon RadioA@yellow
attr RadioaktiveStrahlung readingsName_Messwert Messwert
attr RadioaktiveStrahlung readingsRegex_Messwert "value":(.*?),
attr RadioaktiveStrahlung room Radioaktivität
attr RadioaktiveStrahlung stateFormat Messwert
attr RadioaktiveStrahlung userReadings Messwert { my $val = (ReadingsVal("$name", "Messwert", 0));; $val =~ s/,/\./g;; return $val;;},Datum {join("." => reverse split('-', (split(' ',ReadingsTimestamp("RadioaktiveStrahlung","Messwert",0)))[0]))}, Uhrzeit {(split(' ',ReadingsTimestamp("RadioaktiveStrahlung","Messwert",0)))[1]}, Prozent {ReadingsNum("RadioaktiveStrahlung","Messwert",0)*100/0.085-100},ProzentRound { sprintf("%.2f",ReadingsNum($name,"Prozent",0))}
#  BUSY      0
#  DEF        https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D 1900
#  FUUID      62232d65-f33f-91a4-cf71-719a5b8046ae2ce8
#  Interval  1900
#  MainURL    https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D
#  ModuleVersion 4.2.0 - 11.8.2023
#  NAME      RadioaktiveStrahlung
#  NOTIFYDEV  global
#  NR        453
#  NTFY_ORDER 50-RadioaktiveStrahlung
#  STATE      0.071
#  TYPE      HTTPMOD
#  eventCount 187
#  value     
#  CompiledRegexes:
#  Helper:
#    DBLOG:
#      Messwert:
#        logdb:
#          TIME      1724435263.75421
#          VALUE      0.071
#      ProzentRound:
#        logdb:
#          TIME      1724435263.75421
#          VALUE      -16.47
#  HttpUtils:
#    NAME     
#    addr      https://www.imis.bfs.de:443
#    auth      0
#    code      200
#    compress  1
#    conn     
#    data     
#    displayurl https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D
#    header   
#    host      www.imis.bfs.de
#    httpheader HTTP/1.1 200
#Date: Fri, 23 Aug 2024 17:47:43 GMT
#Server: Apache/2.4.6 () OpenSSL/1.0.2k-fips
#X-Frame-Options: SAMEORIGIN
#X-Content-Type-Options: nosniff
#Content-Disposition: inline; filename=odlinfo_timeseries_odl_1h.json
#Content-Encoding: gzip
#Content-Type: application/json;charset=UTF-8
#Connection: close
#    httpversion 1.0
#    hu_blocking 0
#    hu_filecount 1
#    hu_port    443
#    hu_portSfx
#    ignoreredirects 1
#    loglevel  4
#    path      /ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D
#    protocol  https
#    redirects  0
#    timeout    2
#    url        https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D
#    sslargs:
#  QUEUE:
#  READINGS:
#    2024-08-23 19:47:43  Datum          23.08.2024
#    2022-03-06 08:38:27  Gefahrenlage    ok
#    2024-08-23 19:47:43  Messwert        0.071
#    2024-08-23 19:47:43  Prozent        -16.4705882352941
#    2024-08-23 19:47:43  ProzentRound    -16.47
#    2024-08-23 19:47:43  Uhrzeit        19:47:43
#  REQUEST:
#    context    reading
#    data     
#    header   
#    ignoreredirects 0
#    num        unknown
#    retryCount 0
#    type      update
#    url        https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D
#  defptr:
#    readingBase:
#      Messwert  reading
#    readingNum:
#      Messwert  _Messwert
#    readingOutdated:
#    requestReadings:
#      update:
#        Messwert  reading _Messwert
#
setstate RadioaktiveStrahlung 0.071
setstate RadioaktiveStrahlung 2024-08-23 19:47:43 Datum 23.08.2024
setstate RadioaktiveStrahlung 2022-03-06 08:38:27 Gefahrenlage ok
setstate RadioaktiveStrahlung 2024-08-23 19:47:43 Messwert 0.071
setstate RadioaktiveStrahlung 2024-08-23 19:47:43 Prozent -16.4705882352941
setstate RadioaktiveStrahlung 2024-08-23 19:47:43 ProzentRound -16.47
setstate RadioaktiveStrahlung 2024-08-23 19:47:43 Uhrzeit 19:47:43


Neues System
define RadioaktiveStrahlung HTTPMOD https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D 1900
attr RadioaktiveStrahlung DbLogInclude Messwert,ProzentRound,Gefahrenlage
attr RadioaktiveStrahlung devStateIcon {my $mS =  ReadingsVal($name, "Messwert", 0) < 0.5?"RadioA\@green": ReadingsVal($name, "Messwert", 0) < 1.7?"RadioA\@yellow":"RadioA\@red" ;; $mS = FW_makeImage($mS);; my $mW = ReadingsVal($name,'Messwert','0');; qq(<a>Radioaktive Strahlung: $mW &micro;;;;Sv/h  </a><a>$mS</a>)}
attr RadioaktiveStrahlung icon RadioA@yellow
attr RadioaktiveStrahlung readingsName_Messwert Messwert
attr RadioaktiveStrahlung readingsRegex_Messwert "value":(.*?),
attr RadioaktiveStrahlung room Radioaktivität
attr RadioaktiveStrahlung stateFormat Messwert
attr RadioaktiveStrahlung userReadings Messwert { my $val = (ReadingsVal("$name", "Messwert", 0));; $val =~ s/,/\./g;; return $val;;},Datum {join("." => reverse split('-', (split(' ',ReadingsTimestamp("RadioaktiveStrahlung","Messwert",0)))[0]))}, Uhrzeit {(split(' ',ReadingsTimestamp("RadioaktiveStrahlung","Messwert",0)))[1]}, Prozent {ReadingsNum("RadioaktiveStrahlung","Messwert",0)*100/0.085-100},ProzentRound { sprintf("%.2f",ReadingsNum($name,"Prozent",0))}
#  BUSY      0
#  DEF        https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D 1900
#  FUUID      62232d65-f33f-91a4-cf71-719a5b8046ae2ce8
#  Interval  1900
#  MainURL    https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D
#  ModuleVersion 4.2.0 - 11.8.2023
#  NAME      RadioaktiveStrahlung
#  NOTIFYDEV  global
#  NR        447
#  NTFY_ORDER 50-RadioaktiveStrahlung
#  STATE      0
#  TYPE      HTTPMOD
#  eventCount 2
#  value     
#  CompiledRegexes:
#  Helper:
#    DBLOG:
#      Datum:
#        logdb:
#          TIME      1724436058.29073
#          VALUE      23.08.2024
#      Messwert:
#        logdb:
#          TIME      1724436058.29073
#          VALUE      0
#      Prozent:
#        logdb:
#          TIME      1724436058.29073
#          VALUE      -100
#      ProzentRound:
#        logdb:
#          TIME      1724436058.29073
#          VALUE      -100.00
#      Uhrzeit:
#        logdb:
#          TIME      1724436058.29073
#          VALUE      20:00:58
#  HttpUtils:
#    addr      https://www.imis.bfs.de:443
#    auth      0
#    data     
#    displayurl https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D
#    header   
#    host      www.imis.bfs.de
#    httpversion 1.0
#    ignoreredirects 1
#    loglevel  4
#    path      /ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D
#    protocol  https
#    redirects  0
#    timeout    2
#    url        https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D
#    sslargs:
#  QUEUE:
#  READINGS:
#    2024-08-23 20:00:58  Datum          23.08.2024
#    2024-08-23 19:09:42  Gefahrenlage    ok
#    2024-08-23 20:00:58  Messwert        0
#    2024-08-23 20:00:58  Prozent        -100
#    2024-08-23 20:00:58  ProzentRound    -100.00
#    2024-08-23 20:00:58  Uhrzeit        20:00:58
#  REQUEST:
#    context    reading
#    data     
#    header   
#    ignoreredirects 0
#    num        unknown
#    retryCount 0
#    type      update
#    url        https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D
#
setstate RadioaktiveStrahlung 0
setstate RadioaktiveStrahlung 2024-08-23 20:00:58 Datum 23.08.2024
setstate RadioaktiveStrahlung 2024-08-23 19:09:42 Gefahrenlage ok
setstate RadioaktiveStrahlung 2024-08-23 20:00:58 Messwert 0
setstate RadioaktiveStrahlung 2024-08-23 20:00:58 Prozent -100
setstate RadioaktiveStrahlung 2024-08-23 20:00:58 ProzentRound -100.00
setstate RadioaktiveStrahlung 2024-08-23 20:00:58 Uhrzeit 20:00:58


jemand eine idee woran es liegen könnte??

betateilchen

"läuft es auf dem neuen mit der selben Config nicht" ist eine ziemlich sinnfreie Fehlerbeschreibung.

Hast Du Fehlermeldungen im Log?
Was sagt verbose=5 ?

An Deiner Gerätedefinition liegt es jedenfalls nicht, die funktioniert bei mir auf Anhieb fehlerfrei.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Das geht übrigens auch mit JsonMod, wenn die von der Webseite gelieferten Daten ohnehin schon in JSON ankommen.

defmod radio JsonMod https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D
attr radio readingList single(jsonPath('$.features.1.properties.value'),'value',-1))

Nur Deine userReadings habe ich noch nicht verstanden.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Tueftler1983

Ja sorry habe halt auf dem neuen PI Raspbian installert, Dann Fhem, Apache2, Node.js, SqlLite, Etc und dann den Kompletten Fhem Ordner des alten Systems auf das neue geclont.

dann habe ich mich stück für stück vorgearbeitet, Alexa, Amazon, GAssistent, dblog wieder ans laufen gebracht und bin halt derzeit an meinen HTTPMOD geräten, wovon 4 von den 6 auf anhieb liefen.

Jetzt läuft mein Discovery Gerät das die Daten von meinem Stromzähler abruft auch wieder aber halt die Radioaktivitätsanzeige nicht.

Das steht im Log
2024.08.23 23:01:04 5: RadioaktiveStrahlung: set called with start
2024.08.23 23:01:04 4: RadioaktiveStrahlung: UpdateTimer called from ControlSet with cmd start sets timer to call update function in 0.0 sec at 23:01:04.419, interval 1900
2024.08.23 23:01:04 4: RadioaktiveStrahlung: GetUpdate called (update)
2024.08.23 23:01:04 4: RadioaktiveStrahlung: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 1900.0 sec at 23:32:44.426, interval 1900
2024.08.23 23:01:04 5: RadioaktiveStrahlung: AddToQueue adds type update to URL https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D, no data, no headers, retry 0, initial queue len: 0
2024.08.23 23:01:04 5: RadioaktiveStrahlung: HandleSendQueue called from AddToSendQueue, qlen = 1
2024.08.23 23:01:04 5: RadioaktiveStrahlung: no separator for multiple values (Context update, unknown)
2024.08.23 23:01:04 4: RadioaktiveStrahlung: HandleSendQueue sends update with timeout 2 to https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D, No Data, No Header
2024.08.23 23:01:04 5: RadioaktiveStrahlung: ReadCallback called from __ANON__
2024.08.23 23:01:04 5: RadioaktiveStrahlung: Read callback Error LogLvl set to 3, regex
2024.08.23 23:01:04 3: RadioaktiveStrahlung: Read callback: Error: Cant create UDP socket:Invalid argument
2024.08.23 23:01:04 4: RadioaktiveStrahlung: Read callback: request type was update retry 0, no headers, no body
2024.08.23 23:01:04 5: RadioaktiveStrahlung: Read callback: body empty
2024.08.23 23:01:04 4: RadioaktiveStrahlung: BodyDecode is not decoding the response body (charset not found, bodyDecode defaults to none)
2024.08.23 23:01:04 5: RadioaktiveStrahlung: GetCookies is looking for Cookies
2024.08.23 23:01:04 5: RadioaktiveStrahlung: ExtractSid called, context reading, num unknown
2024.08.23 23:01:04 4: RadioaktiveStrahlung: no header to look for redirects
2024.08.23 23:01:04 5: RadioaktiveStrahlung: Read callback sets LAST_REQUEST to update
2024.08.23 23:01:04 5: RadioaktiveStrahlung: CheckAuth decided no authentication required
2024.08.23 23:01:14 5: RadioaktiveStrahlung: set called with reread
2024.08.23 23:01:14 4: RadioaktiveStrahlung: GetUpdate called (reread)
2024.08.23 23:01:14 5: RadioaktiveStrahlung: AddToQueue adds type update to URL https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D, no data, no headers, retry 0, initial queue len: 0
2024.08.23 23:01:14 5: RadioaktiveStrahlung: HandleSendQueue called from AddToSendQueue, qlen = 1
2024.08.23 23:01:14 5: RadioaktiveStrahlung: no separator for multiple values (Context update, unknown)
2024.08.23 23:01:14 4: RadioaktiveStrahlung: HandleSendQueue sends update with timeout 2 to https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_timeseries_odl_1h&outputFormat=application/json&viewparams=kenn:053700161&sortBy=end_measure+D, No Data, No Header
2024.08.23 23:01:14 5: RadioaktiveStrahlung: ReadCallback called from __ANON__
2024.08.23 23:01:14 5: RadioaktiveStrahlung: Read callback Error LogLvl set to 3, regex
2024.08.23 23:01:14 3: RadioaktiveStrahlung: Read callback: Error: Cant create UDP socket:Invalid argument
2024.08.23 23:01:14 4: RadioaktiveStrahlung: Read callback: request type was update retry 0, no headers, no body
2024.08.23 23:01:14 5: RadioaktiveStrahlung: Read callback: body empty
2024.08.23 23:01:14 4: RadioaktiveStrahlung: BodyDecode is not decoding the response body (charset not found, bodyDecode defaults to none)
2024.08.23 23:01:14 5: RadioaktiveStrahlung: GetCookies is looking for Cookies
2024.08.23 23:01:14 5: RadioaktiveStrahlung: ExtractSid called, context reading, num unknown
2024.08.23 23:01:14 4: RadioaktiveStrahlung: no header to look for redirects
2024.08.23 23:01:14 5: RadioaktiveStrahlung: Read callback sets LAST_REQUEST to update
2024.08.23 23:01:14 5: RadioaktiveStrahlung: CheckAuth decided no authentication required

passibe

Hier liegt vermutlich der Fehler.
Zitat von: Tueftler1983 am 23 August 2024, 23:03:352024.08.23 23:01:14 3: RadioaktiveStrahlung: Read callback: Error: Cant create UDP socket:Invalid argument

Scheint wohl irgendein DNS Problem zu sein (in der Fehlermeldung gemeint ist also die UDP socket zum DNS-Server), wenn man diesen Beiträgen hier folgt:
https://forum.fhem.de/index.php?topic=128935.0
https://forum.fhem.de/index.php?topic=126411.0
https://forum.fhem.de/index.php?topic=88360.0

Was ist denn bei dir im global Device beim dnsServer-Attribut eingetragen? Vielleicht musst du das neu anpassen?

Probeweise kannst du es mal löschen, oder auf die IP deiner FRITZBox (vermutlich 192.168.178.1, aber bitte überprüfen) setzen.

FHEM langfristig mit gelöschtem dnsServer-Attribut ist aber (soweit ich weiß, korrigiert mich gerne) nicht empfehlenswert, weil dann DNS-Abfragen nur noch blockierend ausgeführt werden und es ggfs. zu Freezes kommt.

Tueftler1983

Es lag tatsächlich an den in fhem hinterlegten DNS Servern ( 192.168.2.1 und 8.8.8.8)
Verstehe ich aber nicht da das ja vorher auch funktioniert hat auf dem alten System. Habe die fhem.cfg ja nur rübergeclont.


Jetzt spackt nur noch mein Tuya rum.