Hallo,
ich habe einen SENEC Batteriespeicher für unsere Photovoltaikanlage. Dieser hat einen Webserver den ich mittels IP aufrufen kann. Jetzt möchte ich die Daten aber mittels Python Script auslesen.
Dazu habe ich auch etwas gefunden.
Unter: https://gist.github.com/smashnet/82ad0b ... 49ba08f88a
Das funktioniert auch alles soweit. Aber ich bekomme folgendes Ergebnis
Daten aus Webportal
Ich danke dir.
Beim Suchen bin ich auf https://hellocoding.de/blog/coding-lang ... -verwenden gestoßen und habe ich die Lösung gefunden.
Code: Alles auswählen
if __name__ == "__main__":
api = Senec("IP_OF_YOUR_SENEC_APPLIANCE")
jsontxt = json.dumps(api.get_values())
obj = json.loads(jsontxt)
print(obj['STATISTIC']['CURRENT_STATE'])
Ich komme nicht drauf....
Das ist die Fehlermeldung die ich bekomme
Traceback (most recent call last):
File "SpeicherZ.py", line 212, in <module>
print((str(api.get_all_values(["ENERGY"]["GUI_GRID_POW"]))))
TypeError: list indices must be integers or slices, not str
Code: Alles auswählen
print((str(api.get_all_values(["ENERGY"]["GUI_GRID_POW"]))))
Code: Alles auswählen
print((api.get_all_values(["ENERGY"]["GUI_GRID_POW"])))
Das ist die Fehlermeldung die ich bekomme
Traceback (most recent call last):
File "SpeicherZ.py", line 212, in <module>
print((str(api.get_all_values(["ENERGY"]["GUI_GRID_POW"]))))
TypeError: list indices must be integers or slices, not str
- __blackjack__
- User
- Beiträge: 13937
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@DatMichi: Das ist ja auch nicht wirklich überraschend:
Was hättest Du denn erwartet was dieser Teilausdruck als Ergebnis hätte?
Code: Alles auswählen
In [338]: ["ENERGY"]["GUI_GRID_POW"]
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-338-2578f77319f4> in <module>
----> 1 ["ENERGY"]["GUI_GRID_POW"]
TypeError: list indices must be integers or slices, not str
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
— Scott Bellware
- __blackjack__
- User
- Beiträge: 13937
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@DatMichi: Das kannst Du aber nicht erwarten wenn Du diesen Teilausdruck da rein schreibst. Der für sich ist halt schon mal falsch. Du müsstest zumindest mal erkennen, dass der Unsinnig ist und was da passiert,an der Stelle und das Du eigentlich was anderes wolltest. Es mag zwar nur nach einer Kleinigkeit aussehen, aber Programmiersprachen sind da sehr genau. Da kann man nicht ungefähr was schreiben und hoffen da passiert das was man eigentlich meinte.
Edit: Vielleicht noch mal: Was hast Du da erwartet, und zwar ganz konkret bei dem Teilausdruck, und warum hast Du das erwartet, und erklär mal was da tatsächlich passiert. Das Gesamtziel ist mir und anderen Lesern ja klar. Du musst da halt Schritt für Schritt hin, und wenn es nicht klappt, musst Du den Schritt ermitteln an dem sich das nicht so verhält wie Du erwartest, und dann herausfinden warum das so ist.
Edit: Vielleicht noch mal: Was hast Du da erwartet, und zwar ganz konkret bei dem Teilausdruck, und warum hast Du das erwartet, und erklär mal was da tatsächlich passiert. Das Gesamtziel ist mir und anderen Lesern ja klar. Du musst da halt Schritt für Schritt hin, und wenn es nicht klappt, musst Du den Schritt ermitteln an dem sich das nicht so verhält wie Du erwartest, und dann herausfinden warum das so ist.
“Java is a DSL to transform big Xml documents into long exception stack traces.”
— Scott Bellware
— Scott Bellware