Hallo,
hat jemand schon mal das gleiche Problem gehabt?
Ich habe in meiner openWB (1.9.250 (2022-01-12 15:01:08 +0100 [af01572c] ) als Batteriespeicher die Tesla Powerball eingestellt. Im Menüpunkt "Status" wird mir unter Speicher dann angezeigt, dass ein Timeout beim lesen der Daten vorliegt.
Laut Debug-Log wird folgender Fehler geworfen:
Traceback (most recent call last):
InsecureRequestWarning,
/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py InsecureRequestWarning: Unverified HTTPS request is being made to host '10.10.60.50'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/1.26. ... l-warnings
2022-01-14 07:36:00: **** FATAL ********************************* (LV0)
2022-01-14 07:36:00: **** FATAL Regulation loop needs 10 seconds (LV0)
2022-01-14 07:36:00: **** FATAL ********************************* (LV0)
ValueError: invalid literal for int() with base 10: '21.35.3'
firmwareversion = int(status["version"].split()[0])
File "/var/www/html/openWB/modules/bezug_powerwall/powerwall.py", line 57, in update_using_cookie
update_using_cookie(address, cookies)
File "/var/www/html/openWB/modules/bezug_powerwall/powerwall.py", line 106, in update
parser.set_defaults(RUN=lambda args: function(*[getattr(args, argument_name) for argument_name in arg_spec.args]))
File "/var/www/html/openWB/packages/helpermodules/cli/_run_using_positional_cli_args.py", line 19, in <lambda>
args.RUN(args)
File "/var/www/html/openWB/packages/helpermodules/cli/_run_using_positional_cli_args.py", line 34, in run_using_positional_cli_args
run_using_positional_cli_args(update)
File "/var/www/html/openWB/modules/bezug_powerwall/powerwall.py", line 118, in <module>
Ich muss dazu sagen, dass meine Speicher aktuell bei 0% sind. Der Aufruf Gateway-Seite über die o. g. IP funktioniert.
Grüße,
Jörg
Fehler "Unverified HTTPS request" bei Zugriff auf PowerWall
Re: Fehler "Unverified HTTPS request" bei Zugriff auf PowerWall
Ich habe selber keine Powerwall, insofern kann ich nur allgemein antworten:tomac hat geschrieben: ↑Fr Jan 14, 2022 7:02 am Laut Debug-Log wird folgender Fehler geworfen:
Traceback (most recent call last):
InsecureRequestWarning,
/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py InsecureRequestWarning: Unverified HTTPS request is being made to host '10.10.60.50'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/1.26. ... l-warnings
SSL soll 2 Dinge sicherstellen:
1. Dass die Dinge die du mit jemanden austauschst nur du und der Empfänger lesen kannst und niemand drittes
2. Dass wenn du eine Verbindung aufbaust du sicherstellen kannst, dass du dich tatsächlich mit der Gegenstelle unterhälst mit der du dich unterhalten möchtest.
1. geht mit Verschlüsselung, das ist einfach
2. Ist etwas aufwendiger. Der Server hat ein digitales beglaubigtes Zertifikat, welches er vorzeigt. Normalerweise gibt es eine Reihe von Unternehmen die solche Zertifikate "beglaubigen". Damit wird aber eine Domain beglaubigt. Also zum Beispiel erzeugt openWB für die Domain openWB.de ein Zertifikat und lässt das von einer entsprechenden Stelle beglaubigen, dass denen die Domain openWB.de wirklich gehört. Wenn du im Browser https://openwb.de aufrufst, dann weist sich der Server mit diesem Zertifikat aus und du weißt damit, dass du dich tatsächlich mit dem Server von openWB unterhälst und nicht irgendjemand anderes, der sich in deine Leitung gehängt hat. Aber wer soll beglaubigen, dass die IP-Adresse deiner Powerwall, die eine private, nicht-eindutige Adresse die nur in deinem privaten Netzwerk gültig ist Tesla gehört und korrekt ist?
Die korrekte Lösung wäre das Zertifikat von der Powerwall in der openWB zu hinterlegen um dieses einzelne Zertifikat freizuschalten. Aber den Aufwand wurde wohl bis jetzt gescheut. Wohl auch, weil der Angriff nicht so sonderlich aufregend ist, weil alles was man damit machen kann ist der openWB falsche Daten zum Ladestand deiner Batterie vorzugaukeln. Die meisten anderen Hersteller arbeiten sogar gänzlich unverschlüsselt.
Die "einfache" Alternative ist eine Option zu setzen die besagt "überprüfe das Zertifikat einfach nicht". Das ist hier der Fall. Schlimm ist das erstmal nicht.
Das ist ein völlig anderes Problem und sollte gelöst werden. Du hast aber leider genau eine Zeile zu wenig vom Log gepostet um zu sehen was kommt. Da müsste ein Log kommen mit "Firmware: xxxxx", die wäre interessant. (Damit die Zeile kommt muss das Loglevel allerdings auf 2 stehen. Bitte einstellen falls nicht der Fall und nochmal posten).ValueError: invalid literal for int() with base 10: '21.35.3'