Ankündigung

Einklappen
Keine Ankündigung bisher.

Werte aus Website mit Multiscrape

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Werte aus Website mit Multiscrape

    Servus!
    Ich würde gerne aus einer Website Ortsdosisleistungswerte auslesen, da es hierfür keine Integration gibt.
    Im Moment nutze ich noch IO Broker mit dem ODL Adapter, der mir die gewünschten Werte per MQTT an HA übergibt. Das läuft auch, allerdings möchte ich IO Broker abschalten.
    Es geht um den Wert von dieser Site https://odlinfo.bfs.de/ODL/DE/themen...l?id=096781381

    In der configuration.yaml habe ich diesen Code eingebaut.
    Allerdings funktioniert das nicht.
    Code:
    multiscrape:
      - name: "ODL Grettstadt Scraper"
        resource: "https://odlinfo.bfs.de/ODL/DE/themen/wo-stehen-die-sonden/karte/_documents/Messstelle.html?id=096781381"
        scan_interval: 600  # Alle 10 Minuten scrapen
        sensor:
          - unique_id: grettstadt_measurement
            name: "Aktueller Messwert Grettstadt"
            select: "js-decimal"  # CSS-Selektor für den Messwert
            value_template: "{{ value }}"  # Entfernt unnötige Leerzeichen und gibt den Wert direkt aus​

    grafik.png
    Die Entität wird angelegt, allerdings als unavailable. Ich glaube es hängt mit der Zelle zusammen, in der der Wert auf der Site steht.

    Habt ihr einen Lösungsansatz für mich? Oder gar die Lösung?

    Besten Dank vorab!
    Zuletzt geändert von Amokd0c; 17.05.2025, 16:03.
    Katy Perry: Can you here me roar?
    Tatiana Shmailyuk: ... hold my beer!

    #2
    Der Wert wird per Javascript nachgeladen.
    Sprich wenn das HTML geladen wird, ist das Feld leer.
    image.png
    OpenKNX www.openknx.de | Kaenx-Creator | Dali-GW

    Kommentar


      #3
      Ok Danke!
      Gibt es eine andere Lösung, wie ich diese Werte als Entität bereitstellen kann?
      Katy Perry: Can you here me roar?
      Tatiana Shmailyuk: ... hold my beer!

      Kommentar


        #4
        Hi!
        Endlich kann ich mit REST die Daten direkt in HA abfragen und als Sensor eintragen lassen. Somit kann ich den IO Broker komplett abschalten.
        Entscheidend war die Kennung der einzelnen Messstellen. Die konnte ich noch über den IObroker rausfinden.
        Die müssen dann im Code eingefügt werden
        {% if feature.properties.kenn == '096781382' %}
        Hier der komplette yaml Code mit den Messstellen die ich verwende.

        Code:
        sensor:
          - platform: rest
            name: ODL Grettstadt
            resource: https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_odl_1h_latest&outputFormat=application/json
            value_template: >
              {% for feature in value_json.features %}
                {% if feature.properties.kenn == '096781382' %}
                  {{ feature.properties.value }}
                {% endif %}
              {% endfor %}
            unit_of_measurement: 'µSv/h'
            scan_interval: 600
        
          - platform: rest
            name: ODL Schweinfurt
            resource: https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_odl_1h_latest&outputFormat=application/json
            value_template: >
              {% for feature in value_json.features %}
                {% if feature.properties.kenn == '096620001' %}
                  {{ feature.properties.value }}
                {% endif %}
              {% endfor %}
            unit_of_measurement: 'µSv/h'
            scan_interval: 600
        
          - platform: rest
            name: ODL Gerolzhofen
            resource: https://www.imis.bfs.de/ogc/opendata/ows?service=WFS&version=1.1.0&request=GetFeature&typeName=opendata:odlinfo_odl_1h_latest&outputFormat=application/json
            value_template: >
              {% for feature in value_json.features %}
                {% if feature.properties.kenn == '096781342' %}
                  {{ feature.properties.value }}
                {% endif %}
              {% endfor %}
            unit_of_measurement: 'µSv/h'
            scan_interval: 600
        
        ​
        Katy Perry: Can you here me roar?
        Tatiana Shmailyuk: ... hold my beer!

        Kommentar

        Lädt...
        X