Batterie SOC -> invalid literal for int()

Ulanzie Clock Anzeige TC001 für einzelne Daten.

Moderatoren: Ulrich, mr.big

StevieP
Beiträge: 9
Registriert: Di 19. Dez 2023, 22:36
Hat sich bedankt: 1 Mal

Batterie SOC -> invalid literal for int()

Beitrag von StevieP »

Hallo Zusammen,
habt ihr eine Idee, was ich ändern muss, damit mein Batterie SOC keinen Fehler zurück gibt?
Umrichter und Batterie sind von Sungrow, Werte werden auch korrekt gelesen.
Hier mal die Infos, hoffe diese reichen.


pi@solaranzeige:~/scripts/Ulanzi-Solaranzeige-Connector $ python3 ./ulanziconnect.py
settings.ini eingelesen
['07:06', '06:36', '18:23', '22:23']
Statuscode: 403
True -> Solaranzeige URL verfügbar
Statuscode: 403
Statuscode: 200
True -> Ulanzi URL verfügbar
Statuscode: 200
** -> Intro senden!
** -> Day_hell gesendet
** -> Astro-Zeiten geladen!
10:48:01
['solaranzeige', 'PV', 'Leistung']
/usr/lib/python3/dist-packages/bs4/builder/__init__.py:545: XMLParsedAsHTMLWarning: It looks like you're parsing an XML document using an HTML parser. If this really is an HTML document (maybe it's XHTML?), you can ignore or filter this warning. If it's XML, you should know that using an XML parser will be more reliable. To parse this document as XML, make sure you have the lxml package installed, and pass the keyword argument `features="xml"` into the BeautifulSoup constructor.
warnings.warn(
** Wert aus DB: 2976
10:48:11
['solaranzeige', 'Batterie', 'SOC']
** Wert aus DB: 26.8
Traceback (most recent call last):
File "/home/pi/scripts/Ulanzi-Solaranzeige-Connector/./ulanziconnect.py", line 183, in <module>
loop.loop(
File "/home/pi/scripts/Ulanzi-Solaranzeige-Connector/loop.py", line 179, in loop
if int(wert[3]) >= 0 and int(wert[3]) <= 10:
^^^^^^^^^^^^
ValueError: invalid literal for int() with base 10: '26.8'


VG Stephan

Benutzeravatar
mr.big
Beiträge: 518
Registriert: Mi 7. Sep 2022, 12:12
Wohnort: tief im Osten...
Hat sich bedankt: 13 Mal
Danksagung erhalten: 100 Mal

Re: Batterie SOC -> invalid literal for int()

Beitrag von mr.big »

Hi,

das Problem bei dir ist das der SOC aus der Datenbank mit "Nachkommawert" kommt, damit kommt die Auswertung so nicht klar!
Schreib mit bitte mal welchen Regler du nutzt?

Ich ändere das sobald ich Zeit habe und poste was du bei dir anpassen musst!
Bis dahin den SOC in der "settings.ini" wieder auskommentieren(;) dann läuft hoffentlich der Rest!

StevieP
Beiträge: 9
Registriert: Di 19. Dez 2023, 22:36
Hat sich bedankt: 1 Mal

Re: Batterie SOC -> invalid literal for int()

Beitrag von StevieP »

Danke.
Regler ist ein Sungrow SH10RT.

VG Stephan

Wer ist online?

Mitglieder in diesem Forum: skoppi und 0 Gäste