FHEM Forum

FHEM => Frontends => Sprachsteuerung => Thema gestartet von: Stargazer am 09 Dezember 2020, 10:14:38

Titel: Auslesen der Aussentemperatur HTTPMOD/Davis WeatherLink über AlexaFHEM-Connector
Beitrag von: Stargazer am 09 Dezember 2020, 10:14:38
Hallo zusammen,

ich habe gestern unser System von der alten Alexa-FHEM Version 0.3.2 auf den aktuellsten Stand gebracht. Nun mittels FHEM-Connector. Es lief alles wie am Schnürchen, doch nun wollte ich die Außentemperatur hier vor Ort von der Station gerne in die Alexa-Umgebung integrieren. Das funktioniert auch. Nur habe ich das Problem, dass mir Alexa immer nur den Wert des Readings ansagt, der zum Zeitpunkt des Einrichtens vorherrschte. Auch wenn sich die Temperatur ändert, sagt sie immer den gleichbleibenden Wert. Es sei denn, ich starte FHEM einmal mittels "shutdown restart" neu. Dann hat sie den aktuellen Wert. Aber den sagt sie dann trotz sich ändernden Readings immer gleich an.

Hier mal ein list der Station:

nternals:
   BUSY       0
   DEF        https://api.weatherlink.com/v1/NoaaExt.xml?user=001XXXXXXXXXX&pass=LoXXXXXXXXXXX&apiToken=f20de81c992aXXXXXXXXXXXXXXXXXXXX 60
   FUUID      5fcb88f2-f33f-5918-349e-f1f29d14222f3ee2
   Interval   60
   MainURL    https://api.weatherlink.com/v1/NoaaExt.xml?user=00XXXXXXXXXXX&pass=LoXXXXXXXXXXX&apiToken=f20de81c992aXXXXXXXXXXXXXXXXXXXX
   ModuleVersion 4.0.12 - 24.10.2020
   NAME       WeatherLink
   NOTIFYDEV  global
   NR         333
   NTFY_ORDER 50-WeatherLink
   STATE      Wind : 0  m/s
   TYPE       HTTPMOD
   value     
   CompiledRegexes:
   HttpUtils:
     NAME       
     addr       https://api.weatherlink.com:443
     auth       0
     buf       
     code       200
     compress   1
     conn       
     data       
     displayurl https://api.weatherlink.com/v1/NoaaExt.xml?user=001XXXXXXXXX&pass=LoXXXXXXXXXXX&apiToken=f20de81c992aXXXXXXXXXXXXXXXXXXXX
     header     
     host       api.weatherlink.com
     httpheader HTTP/1.1 200 OK
Date: Wed, 09 Dec 2020 08:45:17 GMT
Content-Type: application/xml
Content-Length: 1665
Connection: close
Server: Apache
Content-Encoding: gzip
Vary: Accept-Encoding
     httpversion 1.0
     hu_blocking 0
     hu_filecount 1
     hu_port    443
     hu_portSfx
     ignoreredirects 1
     loglevel   4
     path       /v1/NoaaExt.xml?user=001XXXXXXXXX&pass=LoXXXXXXXXXXX&apiToken=f20de81c992aXXXXXXXXXXXXXXXXXXXX
     protocol   https
     redirects  0
     timeout    2
     url        https://api.weatherlink.com/v1/NoaaExt.xml?user=001XXXXXXXXX&pass=LoXXXXXXXXXXX&apiToken=f20de81c992aXXXXXXXXXXXXXXXXXXXX
     sslargs:
   QUEUE:
   READINGS:
     2020-12-09 09:43:51   Außentemperatur 1.2
     2020-12-09 09:43:51   Barometer       1010.9
     2020-12-09 09:43:51   Durchschnittswind 0
     2020-12-09 09:43:51   DurchschnittswindRoh 0.0
     2020-12-09 09:45:17   Gefühlte_Temperatur 1.1
     2020-12-09 09:43:51   Hitzeindex      1.1
     2020-12-09 09:43:51   Jahresregenmenge 559.19878
     2020-12-09 09:43:51   JahresregenmengeRoh 22.0157
     2020-12-09 09:43:51   Luftfeuchte     96
     2020-12-09 09:43:51   Maximale_Boe    0
     2020-12-09 09:43:51   Maximale_BöeRoh 0.0
     2020-12-09 09:43:51   Monatsregenmenge 9.40054
     2020-12-09 09:43:51   MonatsregenmengeRoh 0.3701
     2020-12-09 09:43:51   Tagesregenmenge 0.2054
     2020-12-09 09:43:51   TagesregenmengeRoh 0.0079
     2020-12-09 09:43:51   Windgeschwindigkeit 0
     2020-12-09 09:43:51   WindgeschwindigkeitRoh 0.0
     2020-12-09 09:43:51   Windrichtung    N
     2020-12-09 09:43:51   Windrichtungszahl 17
     2020-12-09 08:59:55   statAußentemperaturTendency 1h: +0.2 2h: +0.3 3h: +0.6 6h: +1.7
     2020-12-09 08:59:55   statBarometerTendency 1h: +0.0 2h: +0.8 3h: +0.9 6h: +1.8
     2020-12-09 08:59:55   statGefühlte_TemperaturTendency 1h: +0.0 2h: +0.5 3h: +0.5 6h: +1.1
     2020-12-09 08:59:55   statLuftfeuchteTendency 1h: +0 2h: +0 3h: +0 6h: +1
   REQUEST:
     context    reading
     data       
     header     
     ignoreredirects 0
     num        0
     retryCount 0
     type       update
     url        https://api.weatherlink.com/v1/NoaaExt.xml?user=001D0XXXXXX&pass=LoXXXXXXXXXXX&apiToken=f20de81c992aXXXXXXXXXXXXXXXXXXXX
   defptr:
     readingBase:
       Gefühlte_Temperatur reading
     readingNum:
       Gefühlte_Temperatur 05
     readingOutdated:
     requestReadings:
       update:
         Gefühlte_Temperatur reading 05
   helper:
     _98_statistics WetterStatFeuchte
Attributes:
   alexaName  wetterstation
   alexaRoom  Alexa, Wetter
   genericDeviceType thermometer
   homebridgeMapping clear CurrentTemperature=Außentemperatur
   reading01Name Barometer
   reading01Regex (?s)Barometer.+?>([\d\....]+)
   reading02Name Außentemperatur
   reading02Regex (?s)Outside Temp.+?>([\-\d\.]+)
   reading03Name Luftfeuchte
   reading03Regex (?s)Outside Humidity.+?>([\d\.]+)
   reading04Name Hitzeindex
   reading04Regex (?s)Heat Index.+?>([\d\.]+)
   reading05Name Gefühlte_Temperatur
   reading05Regex (?s)windchill_c>([\d\.]+)
   reading06Name Windgeschwindigkeit
   reading06Regex (?s)Wind Speed.+?>([\d\.]+)
   reading07Name Windrichtung
   reading07Regex (?s)Wind Direction.*?data\">([NWES]+)
   reading08Name Durchschnittswind
   reading08Regex (?s)Average Wind Speed.+?>([\d\.]+)
   reading09Name Maximale_Böe
   reading09Regex (?s)Wind Gust Speed.+?>([\d\.]+)
   reading10Name Tagesregenmenge
   reading10Regex (?s)mm\/Hour.+?data">([\d.]+)
   reading11Name Windrichtungszahl
   reading11Regex (?s)Wind Direction.*?data\">.*?([\d]+)
   reading12Name Monatsregenmenge
   reading12Regex (?s)mm\/Hour.+?data">([\d.][\d]+..)
   reading13Name Jahresregenmenge
   reading13Regex (?s)mm\/Hour.+?data">([\d.][\d][\d]+..)
   reading14Name Vorhersage
   reading14Regex (?s)colspan="5">(..............................................)
   reading15Name temperature
   reading15Regex (?s)Outside Temp.+?>([\-\d\.]+)
   room       Alexa,Wetter
   stateFormat Wind : Windgeschwindigkeit  m/s
   userattr   reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex reading09Name reading09Regex reading10Name reading10RegOpt reading10Regex reading11Name reading11Regex reading12Name reading12Regex reading13Name reading13Regex reading14Name reading14Regex reading15Name reading15Regex readings01Name readings01Regex
   verbose    0


Ich hatte die Davis auch schonmal mit dem, so glaube ich, inoffiziellen Modul laufen. Doch brachte das immer etwas Netzwerkprobleme mit sich. Deshalb das parsen meiner WeatherLink Seite per HTTPMOD übernommen.

Hat jemand eine Idee ?
Titel: Antw:Auslesen der Aussentemperatur HTTPMOD/Davis WeatherLink über AlexaFHEM-Connector
Beitrag von: amenomade am 10 Dezember 2020, 01:51:17
Versuch mal nocache=1 noch ins homeBridgeMapping hinzuzufügen
Titel: Antw:Auslesen der Aussentemperatur HTTPMOD/Davis WeatherLink über AlexaFHEM-Connector
Beitrag von: Stargazer am 10 Dezember 2020, 09:46:39
Hallo amenomade,

irgendwie war das gestern Abend etwas komisch, aber es läuft jetzt so wie es soll. Es scheint wohl am Regex gelegen zu haben. Ich hatte beides nochmal überprüft und neu abgespeichert. Den ReadingName und ReadingRegex. Dabei habe ich einfach mal den Namen "Außentemperatur" in "Aussentemperatur" umbenannt. Und siehe da...das Reading wird anständig aktualisiert und auch Alexa gibt den aktuellen Wert aus.

Danke für deinen Tipp. Muss mich wohl auch erst an manche "Neuerungen" nach dem Update von FHEM gewöhnen.
Habe das immer vor mir her geschoben, weil never change a running system. Aber jetzt ist es gemacht und soweit bin
ich hoch zufrieden. Trotzdem möchte ich es noch gerne schaffen, den SoC - Wert vom Elektroauto über Alexa ausgeben zu lassen.
Aber da frage ich hier noch einmal separat nach Quellen.

Viele Grüße

André
Titel: Antw:Auslesen der Aussentemperatur HTTPMOD/Davis WeatherLink über AlexaFHEM-Connector
Beitrag von: justme1968 am 10 Dezember 2020, 09:49:03
deutsche umlaute funktionieren zwar im fhem im prinzip überall, in regex machen sie aber probleme. d.h. am besten immer mit . oder .. ersetzen.