Daten von 2 Goodwe WR zusammenrechnen
Moderator: Ulrich
- mr.big
- Beiträge: 519
- Registriert: Mi 7. Sep 2022, 12:12
- Wohnort: tief im Osten...
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 100 Mal
Re: Daten von 2 Goodwe WR zusammenrechnen
Hallo Andreas,
Python kann man sich eigentlich recht schnell beibringen!
Das Script entstand als "Fingerübung" zum testen der Anbindung an Influxdb.
Das Script selber ist recht rudimentär, hat keinerlei Funktionen zur Fehlerbehandlung etc., macht aber halbwegs was es soll!
Schreib doch einfach mal, was du so gern noch zusätzlich damit machen möchtest, und wir verbasteln das dann hier!
Mach da ruhig einen eigenen Thread für auf! Ich denke da gibt es hier noch den einen oder anderen den das auch interessiert!?
Python kann man sich eigentlich recht schnell beibringen!
Das Script entstand als "Fingerübung" zum testen der Anbindung an Influxdb.
Das Script selber ist recht rudimentär, hat keinerlei Funktionen zur Fehlerbehandlung etc., macht aber halbwegs was es soll!
Schreib doch einfach mal, was du so gern noch zusätzlich damit machen möchtest, und wir verbasteln das dann hier!
Mach da ruhig einen eigenen Thread für auf! Ich denke da gibt es hier noch den einen oder anderen den das auch interessiert!?
- Ulrich
- Administrator
- Beiträge: 5569
- Registriert: Sa 7. Nov 2015, 10:33
- Wohnort: Essen
- Hat sich bedankt: 125 Mal
- Danksagung erhalten: 837 Mal
Re: Daten von 2 Goodwe WR zusammenrechnen
Ich möchte dazu einmal generell etwas sagen. Python und PHP sind beides Programmiersprachen, die es schon sehr lange gibt. Beide Sprachen kann man ganz gut und einfach lernen. Beides sind Interpretersprachen. Mit beiden Sprachen kommt man fast identisch zum Ziel. Ich hätte die Solaranzeige auch in Python schreiben können, technisch wäre das kein Problem, nur kann ich 10 mal so schnell etwas in PHP wie in Phyten schreiben. Da liegt der Haken. Als junger Mensch könnte man beide Sprachen parallel lernen, mit zunehmendem Alter wird das aber immer schwieriger. Man kann aber ohne große Mühe Programmteile von PHP mit Python verstricken. So können sich PHP und Python Programmierer super ergänzen. Und noch was. Beide Sprachen laufen auf Linux super, wie dafür gemacht....
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]
Ulrich . . . . . . . . [Projekt Administrator]
Re: Daten von 2 Goodwe WR zusammenrechnen
Ich habe es jetzt mal versucht nach Deiner Anleitung umzusetzen (hätte ich alleine niemals hinbekommen ), jetzt bekomme ich folgende
Ausgabe in der Konsole:
pi@solaranzeige:~/scripts/Tools $ python3 ./db_summen.py
890.0
117.0
Traceback (most recent call last):
File "/home/pi/scripts/Tools/./db_summen.py", line 79, in <module>
handler.write_data("Summen", "PV", "PV1_Leistung", wert, time_stamp_db)
File "/home/pi/scripts/Tools/./db_summen.py", line 37, in write_data
self.client.write_points(data)
File "/usr/lib/python3/dist-packages/influxdb/client.py", line 525, in write_points
return self._write_points(points=points,
File "/usr/lib/python3/dist-packages/influxdb/client.py", line 594, in _write_points
self.write(
File "/usr/lib/python3/dist-packages/influxdb/client.py", line 337, in write
self.request(
File "/usr/lib/python3/dist-packages/influxdb/client.py", line 302, in request
raise InfluxDBClientError(response.content, response.status_code)
influxdb.exceptions.InfluxDBClientError: 404: {"error":"database not found: \"Summen\""}
Wenn ich gleichzeitig auf dem Grafana Dashboard schaue wird mir dort ein Gesamtwert von ca. 1300W angezeigt, hier kommen beide Werte
zusammen auf 1007W
Muss ich in der Datenbank das Feld "Summen" erst noch anlegen?
- mr.big
- Beiträge: 519
- Registriert: Mi 7. Sep 2022, 12:12
- Wohnort: tief im Osten...
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 100 Mal
Re: Daten von 2 Goodwe WR zusammenrechnen
Ja, Du musst die "Zieldatenbank Summen" erst händisch anlegen!
Code: Alles auswählen
pi@solaranzeige:~ $ influx
Connected to http://localhost:8086 version 1.8.10
InfluxDB shell version: 1.8.10
> create database Summen
> quit
Re: Daten von 2 Goodwe WR zusammenrechnen
Sieht schonmal ganz gut aus, jetzt bekomme ich folgende Ausgabe:
610.0
178.0
788.0 Gesamt PV1
151.0
227.0
378.0 Gesamt PV2
Thats all, have Fun!
Wenn ich jetzt den Gesamtwert mit der Ulanzi anzeigen lassen will, müssen die beiden Gesamtwerte noch addiert werden?
610.0
178.0
788.0 Gesamt PV1
151.0
227.0
378.0 Gesamt PV2
Thats all, have Fun!
Wenn ich jetzt den Gesamtwert mit der Ulanzi anzeigen lassen will, müssen die beiden Gesamtwerte noch addiert werden?
- mr.big
- Beiträge: 519
- Registriert: Mi 7. Sep 2022, 12:12
- Wohnort: tief im Osten...
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 100 Mal
Re: Daten von 2 Goodwe WR zusammenrechnen
da kopiere dir doch einfach diesen Block noch rein (bei Zeile 92) und der kümmert sich dann um die Gesamtsumme!
Code: Alles auswählen
# Wertepaar für Gesamtsumme holen, berechnen und nach Summen schreiben
result = handler.read_data("Summen", "PV", "PV1_Leistung")
result_1 = round(float(result), 2)
print(result_1)
result = handler.read_data("Summen", "PV", "PV2_Leistung")
result_2 = round(float(result), 2)
print(result_2)
wert = result_1 + result_2
handler.write_data("Summen", "PV", "PV_Gesamt", wert, time_stamp_db)
print(wert)
- mr.big
- Beiträge: 519
- Registriert: Mi 7. Sep 2022, 12:12
- Wohnort: tief im Osten...
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 100 Mal
Re: Daten von 2 Goodwe WR zusammenrechnen
Du kannst die Daten aus "Summen" nun auch in Grafana "vervisualisieren"!
Musst in Grafana nur die entsprechende Verbindung zu der Datenbank erstellen!
Musst in Grafana nur die entsprechende Verbindung zu der Datenbank erstellen!
Re: Daten von 2 Goodwe WR zusammenrechnen
In Grafana hatte ich das vorher schon hinbekommen, indem ich die 4 Einzelwerte dort zu einem Wert addiert hatte,
aber ist jetzt natürlich einfacher, werde ich noch anpassen
Die Ausgabe des Gesamtwertes klappt jetzt per Konsole schonmal, nur auf der Ulanzi wird der Wert noch nicht angezeigt
Habe den Wert der vorher angezeigt wurde so geändert:
Code: Alles auswählen
################################# Beginn Block Auswertung #################################
################################ "solaranzeige,PV,Leistung" ###############################
if ((wert[0]) + "," + (wert[1]) + "," + (wert[2])) == "Summen,PV,PV_Gesamt":
print(wert[3])
url = ulanzi_url + "/api/custom?name="+(wert[1])+(wert[2])
data = {
"text": str(int(float(wert[3]))) + " W", # darzustellender Wert/Text
"lifetime": int(app_life_time),
"icon": 27283, # darzustellendes Icon
# "rainbow": bool(1),
"color": [252, 186, 10],
"duration": app_show_time
}
funktionen.ulanzi_senden(url, data)
################################## Ende Block Auswertung ##################################
app_werte = Summen,PV,PV_Gesamt
# Anzeige der PV-GesamtLeistung, (ben. Icon 27283)
oder mache ich ja jetzt wieder einen Denkfehler?
- mr.big
- Beiträge: 519
- Registriert: Mi 7. Sep 2022, 12:12
- Wohnort: tief im Osten...
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 100 Mal
Re: Daten von 2 Goodwe WR zusammenrechnen
Sieht soweit eigentlich richtig aus!
Stoppe mal den Ulanzi Dienst und starte das ganze von der Konsole aus, da kommt wenigstens etwas Feedback!?
Stoppe mal den Ulanzi Dienst und starte das ganze von der Konsole aus, da kommt wenigstens etwas Feedback!?
Code: Alles auswählen
sudo systemctl stop ulanzi-connector.service
cd /home/pi/scripts/Ulanzi-Solaranzeige-Connector
python3 ./ulanziconnect.py
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste