Seite 1 von 1

[gelöst] Wetterstation mit HTTP Binding auslesen

Verfasst: 19. Feb 2024 09:15
von Goofy180173
Ich würde gerne über ein HTTP Binding eine Wetterstation auslesen.
Ich hab die Url und bekomme dann im Browser folgendes HTML zurück

Code: Alles auswählen

<observations xmlns="">
   <observations>
      <observations>
         <neighborhood>Markersdorf-Haindorf</neighborhood>
         <country>AT</country>
         <solarRadiation>38.53</solarRadiation>
         <lon>15.5</lon>
         <epoch>1708329050</epoch>
         <lat>48.188999</lat>
         <uv>0</uv>
         <winddir>33</winddir>
         <humidity>84</humidity>
         <qcStatus>1</qcStatus>
         <metric>
            <temp>9</temp>
            <heatIndex>9</heatIndex>
            <dewpt>7</dewpt>
            <windChill>9</windChill>
            <windSpeed>2</windSpeed>
            <windGust>5</windGust>
            <pressure>1031.731014762</pressure>
            <precipRate>0</precipRate>
            <precipTotal>0</precipTotal>
            <elev>248</elev>
         </metric>
      </observations>
   </observations>
</observations>
Ich hätte mir darüf folgendes Thing erstellt

Code: Alles auswählen

UID: http:url:5ebbe80f4b
label: Wetterstation
thingTypeUID: http:url
configuration:
  authMode: BASIC
  ignoreSSLErrors: false
  baseURL: http://192.168.1.10?format=xml&units=m
  delay: 0
  stateMethod: GET
  refresh: 600
  commandMethod: GET
  contentType: text/html
  timeout: 3000
  bufferSize: 2048
location: Garten
channels:
  - id: Sonneneinstrahlung
    channelTypeUID: http:string
    label: Sonneneinstrahlung
    description: ""
    configuration:
      mode: READONLY
      stateTransformation: REGEX:<solarRadiation>([\d]+)

Die Regex liefert mir laut Regex Tester den richtigen wert.
Ich hab mir jetzt ein Item Wetterstation erstellt und diesen Channel ausgewählt.
Allerdings sehe ich keinen Wert im Item.
Wie kann ich feststellen was hier falsch läuft

Re: Wetterstation mit HTTP Binding auslesen

Verfasst: 19. Feb 2024 13:46
von Goofy180173
Ich hab das Problem gefunden.
Hab das Loglevel von http-Binding auf Trace gesetzt

Code: Alles auswählen

log:set DEBUG org.openhab.binding.http
log:tail
Die Korrekte Regex lautet

Code: Alles auswählen

stateTransformation: REGEX:.*<solarRadiation>([\d]+).*