Ankündigung

Einklappen
Keine Ankündigung bisher.

Scriptabfrage eines PV Datenloggers

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

    Scriptabfrage eines PV Datenloggers

    Hi Zusammen,

    würde gerne weitere Werte der Heimautomatisierung in openhab integrieren/nutzbar machen, bin mir aber nicht klar wie das am sinnvollsten geht und darum dankbar für Eure Tips.

    Neben dem RPI für openhab, habe ich noch einen weiteren RPI im Netzwerk auf dem den Datenlogger der PV Anlage läuft (sun-watch). Diesen RPI würde ich auch gerne unangetastet lassen, damit ein durchgehender Betrieb/Aufzeichnung gewährleistet ist.

    Nun lassen sich aus dem Datenlogger diverse Werte wie z.B. der aktuelle Verbrauch des Hauses (Kopplung des Zählers) über scriptbefehle abfragen (https://sun-watch.net/index.php/tips/scriptfaehigkeit/).

    Wenn ich nun auf meinem Openhab-RPI den Datenlogger abfrage über:

    #! /bin/sh
    echo -e "GETPAR;2;0;Pges" | nc 192.168.7.21 22222

    Zeigt mir das terminal schön die aktuelle Leistung des Hauses.

    Wir verknüpfe ich dies nun am Besten mit Openhab? Reicht hier ein exec-Binding? Sollte ich den Befehl in ein shell script speichern und dieses per exec-Binding aufrufen?
    Wie verarbeitet man die Ausgabe des Datenloggers in Openhab?

    Am Ende würde ich gerne die aktuelle Leistung in Openhab anzeigen. Vielleicht ein paar Regeln dazu definieren und etwas regeln. Gerne möchte ich aber auch die aktuelle Leistung an einen mqtt broker schicken. Neben den großen Hausgeräten (Waschm. u Trockner) soll dann ein kleines 8 Digit Display, welches per ESP8266 über mqtt die aktuelle Leistung anzeigt. Der Dame des Hauses soll hiermit eine Entscheidungshilfe gegeben werden, wann es günstig ist eine Maschine zu starten.

    Klingt die Umsetzung: Datenlogger->exec-Binding->Openhab->Mqtt-Broker->Mqtt-Client->ESP8266

    für Euch so geschickt gelöst?

    Wie würdet Ihr den Datenlogger abfragen? Möchte den Datenlogger durch zu viele/häufige Abfragen abschießen.

    Vielen Dank und Grüße

    #2
    Zitat von Oetsch Beitrag anzeigen
    Möchte den Datenlogger durch zu viele/häufige Abfragen abschießen.
    Vermutlich fehlt da nur ein nicht...
    Grundsätztlich könntest Du den Befehl vermutlich am einfachsten in eine Scriptdatei speichern und dieses Script dann von openHAB aus per Exec-Binding abfragen. Abhängig von der Ausgabe kannst Du die Ausgabe des Scripts z.B. mittels REGEX im Item ablegen, oder Du richtest eine JavaScript-Transformation ein (falls statt eines Punktes als Dezimaltrenner ein Komma in der Ausgabe steht, muss das ersetzt werden)

    Die nächste Frage wäre die Häufigkeit der Aktualisierung, da Du selbst am besten weißt, wie oft der Logger neue Daten schreibt, würde ich es davon abhängig machen.

    Ob damit der Logger überlastet wird, musst Du vermutlich ausprobieren.

    Eine andere Möglichkeit wäre noch, dem Logger ein Script zu verpassen, welches den Wert per Rest-API an openHAB pushed, ich hab von sun-watch keine Ahnung, aber vielleicht gibt es da ja Möglichkeiten, so etwas zu automatisieren, dann kann eine Aktualisierung in openHAB immer dann erfolgen, wenn der Logger gerade aktuelle Werte gespeichert hat.

    Kommentar


      #3
      Vielen Dank!

      Der Datenlogger liefert alle 3 Sekunden neue Werte. Wenn ich erstmal alle 10 Sekunden teste, wird hoffentlich nichts passieren

      Der Begriff REGEX hilft mir schonmal um mich weiter einzulesen, danke.

      Wie genau die Ausgabe aussieht (Komma oder Punkt) kann ich leider erst am Wochenende testen. Hoffe natürlich keine Transformation zu brauchen. Wenn ich mir die Beschreibung auf der Homepage ansehe, dann ist die Auflösung in Watt ohne Komma/Punkt.

      Werde dann mal per Scriptdatei testen. Habe mir die Frage gestellt, ob es nicht direkt im exec-Befehl bzw. dann im Item möglich und geschickter wäre?

      Wie das gehen könnte weiß ich natürlich nicht

      Kommentar


        #4
        Wenn es keine Nachkommastellen gibt, musst Du auch keine berücksichtigen.
        Was die Updaterate betrifft, wäre ich tatsächlich vorsichtig, da mit hoher Frequenz abzufragen, da wird dann schon einiges an Last erzeugt, für die Anzeige in openHAB ist die hohe Frequenz auch nicht weiter hilfreich, die UI wird ja auch nicht alle paar Sekunden aktualisiert, dann wäre sie nicht mehr vernünftig bedienbar.
        Als Richtwert empfehle ich Dir 60 Sekunden, es stellt sich natürlich die Frage, ob Du im Logger dann einen Mittelwert der letzten 60 Sekunden abrufen kannst.

        Kommentar

        Lädt...
        X