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

2 „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

Hi

Ich versuche nun seit tagen Ebenthals eine Webseite auszulesen
nur funktioniert das bei mir gar nicht, sowohl lokal als auch direkt auf der Seite

ziel ist es den dKh wert auszulesen

hat jemand eventuell eine Idee was das problem ist
habe mall ein paar Bilder mit angehangen um eine überblick zu geben

Was ich bereits gemacht habe ist:

  • andere Selektoren verwenden,
  • andere Einstellung in der option ( Bild 2 & 3 )

nicht wichtig - ich kann leider in meiner yaml machen was ich möchte außer templates wird nicht übernommen bzw bei allem andere kommt immer ein Waning bei den Entwickler Werkzeuge


zweite einstellung

Moin,

Also,

  • wäre es möglich, die benötigten Informationen nicht aus Bildchen abschreiben zu müssen, sondern das als Text, Link zu bekommen?
  • Ist das eine Seite, wo man sich erst anmelden muss, um auf die Information zugreifen zu können?
  • dKh ist, Wasserhärte?

VG
Bernd

moin

  1. Wie meinen sie das genau, bin noch nicht so in dem Thema

  2. Also ein erster versuch war auf der Haupt Seite wo man sich anmelden muss.
    das zweite was ich versucht hatte war lokal sprich auf meine ip Adresse wo keine Anmeldung nötig ist

  3. genau ist Karbonathärte der wird von einen test gerät getestet
    da es aber keine Integration für Reef Factory gibt will ich mir so helfen

Moin,

You can say you to me :slight_smile:
Du darfst mich ruhig Duzen :slight_smile:
Wir sind hier unter gleichgesinnten.

Ja, genau und um welche Seite handelt es sich, genau? Also als Beispiel:

http://www.wetter.de/wolfsburg

Das verstehe ich nicht, Du betreibst eine Web-Seite?
Versuch doch mal genauer zu erklären, worum es bei Dir genau geht!
Also z. B.:

Ich möchte auf der Seite "https://web.page.org/was/auch/immer.html" die
Werte `X, Y, und Z` auslesen (scrapen) und mittels Entität, in HA integrieren.

Auch hier, mehr Informationen, währen schon ganz gut, vielleicht hat ja jemand so ein Gerät und kann Dir sagen wie man das in HA integriert, vielleicht über MQTT oder per WLAN. Solange Du diese Informationen schuldig bleibst, kann man Dir nur allgemeine Ratschläge geben.

Wenn ich bei Tante Google Suche bekomme ich schon den einen oder anderen Treffer, ob das die richtigen sind, kann ich nicht abschätzen.

VG
Bernd

Also

Es geht um ein KH-Keeper von Reef factory
ich möchte gerne den dKh auslesen

das gerät kann sowohl lokal als auch über die Seite vom Hersteller gesichtet werden

website: Reef Factory - smart aquarium devices
Lokal: http://192.168.2.154

gerät wird peer Wlan betrieben

es ist aber kein reef-pi
auf google gibt es kein treffe bezüglich das integrieren
wann sofort sieht hat mit meinem nichts zu tun

Hersteller seite:

Lokal:

Moin,

alles ohne Gewähr, da ich das nicht testen kann.

Du kannst es so versuchen, indem Du in die configuration.yaml folgendes einträgst, am besten vorher ein Backup machen, denn haben ist besser als brauchen

configuration.yaml

scrape:
  - resource: http://192.168.2.154
    scan_interval: 20
    sensor:
      # Wasserhärte
      - name: Wasserhärte
        unique_id: water_hardness      # Try a more specific selector targeting text element
        select: "span:contains('dKh')"  # Replace with a more specific selector

Wenn es klappt, dann hast Du eine Entität water_hardness mit dem aktuellen Wert, den san_interval kannst Du noch an Deine Bedürfnisse anpassen.

VG
Bernd

ich danke dir,

leider ohne Erfolg
es taucht keine Entität mit water_hardness auf

ich danke dir trotzdem für die mühe