Mit Home Assistant Webseiten-Daten auslesen & in Entitäten sichern (Scrape)

1 „Gefällt mir“

Hallo,

vielen Dank für die Video-Anleitung zum Scraper.
Ich habe das einmal anhand eines sehr einfachen Beispiels versucht nachzubauen.
Nach deiner Anleitung komme ich bei der Seite:

https://raw.githubusercontent.com/Blueforcer/awtrix-light/main/version

auf den CSS-Selector: body > pre:nth-child(1)

Auf der Seite ist nur eine einzige Zahl dargestellt, die ich gern auslesen möchte.
Das funktioniert aber nicht.

Das ganze ist nicht per YAML eingetragen, sondern über das user interface.

Ich vermute der CSS Selector stimmt nicht. Sehe ich das richtig?

Gruß
Riverghost

CSS-Selector: body pre sollte auf dieser Seite reichen.

Vielen Dank für die schnelle Antwort.

Der Selector funktioniert bei mir leider auch nicht.

Irgendwie ist da der Wurm drin.

Ich habe es jetzt mal nur mit body ausprobiert und siehe da, es geht.

Manchmal denke ich, mit Logik hat das nix zu tun. :wink:

Gruß
Riverghost

1 „Gefällt mir“

Schön, daß du es hinbekommen hast!

Ich glaub, das Problem kommt daher, dass die Ausgabe ein Frame ist und nicht der original Quelltext geladen wird.

Das bestätigt meine Vermutung. Es hat mehr mit Glauben zu tun als mit Logik. (IRONIE)

Klar ist aber, das der Weg über den Inspector bei mir nicht funktioniert hat. Offensichtlich ist das auch Glückssache.

“Trial and Error” und Durchhalten ist dann gefragt. :slight_smile:

Hallo zusammen,
ich habe diese Lösung nachgebaut da wir auch eine alten Danfoss Wechselrichter haben. Die Webseite ist fast gleich aufgebaut. Ich konnte also den Flow und die Template Sensoren fast 1 zu 1 übernehmen.

Ein Problem habe ich noch mit der Angabe der aktuellen Leistung. Anders als bei Simon weißt unsere Anlage den Wert standardmäßig in kW statt in W aus.

Den Wert bekomme ich auch über Node-Red ermittelt. Für pvanlage_curr_power_raw werden z.B. 1,93 kW ausgewiesen.

Ich dachte nun ich könnte die Einheit im Template Sensor einfach anpassen


  - sensor:
    # Errechnet aus den Rohdaten den Watt Wert
    # Anders als bei Simon42 hier unit auf kw gesetzt und Formel für Berechnung angepasst. Daher bei kW nicht durch 1000 teilen und falls was anderes kommt (vermutlich Watt, mit 1000 multipliziert)
      - name: Aktuelle Leistung PV Anlage
        unique_id: "AktuelleLeistungPVAnlage"
        unit_of_measurement: 'kW'
        device_class: "power"
        state_class: "measurement"
        state: >-
            {% if 'kW' in states('input_text.pvanlage_curr_power_raw') %}
            {{ states('input_text.pvanlage_curr_power_raw').split(" ")[0] | float }}
            {% else %} 
            {{ states('input_text.pvanlage_curr_power_raw').split(" ")[0] | float / 1000}}
            {% endif %}

Leider passt das noch nicht ganz. Ich bekomme bei der aktuellen Leistung zwar den vermeintlich richtigen Wert angezeigt, klicke ich aber auf die Grafik sehre ich das die Skalierung überhaupt nicht passt. Kann das daran liegen das noch alte Werte im System sind? Hatte anfangs mehrfach rumprobiert bis ich die richtige Zahl für den Sensor bekam.

image

Guten Morgen,
ich habe seit kurzem HA installiert und Versuche gerade meine Holzvergaserheizung einzubinden. Ich habe dazu leider keine Weboberfläche, kann verschiedene Daten über http://192.168.XXX.XX/daqdata.cgi auslesen:

Ich habe nun mit Scrape versucht die einzelnen Datenpunkte in HA einzulesen.

Leider bekomme ich aber immer nur Datenblöcke als Wert angezeigt:

Hat jemand eine Idee, wie ich die einzelnen Werte nochmal in Entitäten auftrennen oder einzeln auslesen könnte?

Hier noch den Code:

Kessel_yaml

Besten Dank!

Gruß
Johannes

Hallo,
niemand eine Idee?

Gruß Johannes

Guten Abend @simon42
Vorerst mal Danke für dein Video. Leider hat sich in der Zwischenzeit etwas in HA geändert und ich und
@Shadow31 kommen nicht weiter. Siehe hier

(https://community.simon42.com/t/pelletpreisuebersicht/14474)


vielleicht hast du einmal Zeit und kannst uns hier vielleicht weiterhelfen

Frohe Weihnachten und schöne Feiertage
Helmut

Dafür gibt es doch die Community hier :thinking:
Thema sollte hier weiter behandelt werden

1 „Gefällt mir“

Hallo Simon42, Hallo Community

zuerst auch einmal von mir ein grosses Lob zu deinen Videos, Simon. Diese haben mir schon etliche Male geholfen!

Auch beim Auslesen der daten konnte ich deiner Anleitung folgen, um bereits die erste Anwendung zu realisieren!

Leider hänge ich beim Select für eine weitere webseite bei der ich nicht den richtigen Wert, bzw. überhaupt einen Wert bekomme.

Die Website ist folgende: HEIZÖLPREISE - Preisentwicklung, Prognose, Preisrechner - TECSON

Ich versuche den aktuellen Refenzpreis zu ermitteln.
Dieser ist entweder in der Graphik oder in einer Tabelle:
Bei beiden bekomme ich nur ein “Unknown” als Wert in HA.
Bei der Tabelle kann ich mir auch keinen Select kopieren, habe aber versucht, aus einer früheren Antwort etwas zu basteln, leider ohne Erfolg.

Tabellenversuche (ohne Erfolg):
select: “#article-879 > div.ce_text.line.horizontalscroll.horizontalscroll.block > table > tbody > tr:nth-child(1) > td:nth-child(2) > strong > span > br”
select: “#article-879 > div.ce_text.line.horizontalscroll.horizontalscroll.block > table > tbody > tr:nth-child(1) > td:nth-child(2) > b”

Graphik auch ohne Erfolg, da es wahrscheinlich im Bild ist…:
select: “#highcharts-0 > svg > g:nth-child(43) > text > tspan:nth-child(2)”

Hat jemand eine Idee?

Danke und Gruss
Andreas