Seite 1 von 9

SOC: smart EQ

Verfasst: Do Dez 08, 2022 10:28 am
von rleidner
Wie hoffentlich alle smart EQ Nutzer bereits wissen, wird die smart EQ Control Plattform ab 31.12.2024 eingestellt werden.
Ohne die Serverseite werden spätestens dann die smartEQ SOC-Module in 1.9 und 2.x nicht mehr funktionieren.


Als Alternative bietet sich z.B. OVMS an. Ich habe ein OVMS Modul in unserem smart EQ installiert und es funktioniert sehr gut - momentan noch parallel zu smart EQ Control.

Für oWB 2.x habe ich ein OVMS - Fahrzeug Modul entwickelt: PR https://github.com/openWB/core/pull/1743 wartet auf Merge in 2.1.6.



Hier wird bei Fragen und Problemen zum SoC-Modul SmartEQ geholfen.

Dieses Modul ist in openWB enthalten ab Version 1.9.289 (2022-12-09 07:16:52 +0100 [62fbb84f] )
Es wird ein aktiver Account im (alten) smart Connected Portal benötigt, also nicht das für #1, etc.

Achtung: Im Herbst 2023 hat das Modul zeitweise nicht mehr richtig funktioniert, da zwingend 2-Faktor-Authentication notwendig wurde wenn die bestehenden Token verloren gingen, z.B. durch Neustart oder Update.
Seit Ende November 2023 funktioniert das Modul wieder ohne Änderung, d.h. das Login mit User und Passwort ist wieder möglich ohne 2FA.


Erfolgreich getestet: smart EQ forfour (2018), Smart EQ forfour (2021)

Wenn im Status - Ev SOC Log Meldungen wie z.B. diese

Code: Alles auswählen

2022-12-10 10:24:47: PID: 6882: Lp2: Error from soc_smart: (LV0)
ImportError: No module named 'bs4'
import bs4
File "/var/www/html/openWB/modules/soc_smarteq/soc_smarteq.py", line 6, in <module>
Traceback (most recent call last):
auftreten sollten, hat sich nach dem Update ein notwendiges Python-Modul nicht installiert.
In diesem Fall einen Reboot ausführen (Einstellungen - System - Reboot).
Falls danach der SOC noch nicht funktioniert:
Den Debug - Log, Bereich atreboot, auf Fehler prüfen und diese posten (als code block (</>).

Ab Version openWB Version: 1.9.289 (2022-12-22 09:10:42 +0100 [4e1ed148] ) ist das Zugriffsverfahren optimiert.
Die smart Control Web-Seite benutzt OAUTH (open authorization) mit access- und refresh-Token, um nicht bei jedem Zugriff ein zeitaufwändiges Login zu erfordern.
Beide Token haben eine Gültigkeit von 2 Stunden.
Daher sollten in der Konfiguration des SOC-Moduls beide Abrufintervalle kleiner 2 Stunden gesetzt werden; 90/10 Minuten haben sich bewährt.

Im Debug Mode 1 (Info) wird im Ev SOC Log folgendes protokolliert:

Code: Alles auswählen

2022-12-17 11:27:45 INFO:soc_smarteq:Lp2 SOC: 82%@2022-12-17 08:38:44, Method: 2-refresh_tokens 1-get_status
Die Angaben von links:
Zeitstempel des SOC-Abrufs
INFO: logging level
soc_smarteq: Name des SOC-Moduls
SOC xx%: SOC in Prozent
@: Zeitstempel des letzten Updates vom Fahrzeug zum Server
Method: ausgeführte Schritte mit folgenden 3 Möglichkeiten:
* 1-get_status: einfacher SOC-Abruf mit gültigem Access-Token
* 2-refresh-tokens: Refresh des ungültigen Access-Token mit gültigem Refresh-Token, dann 1
* 3-full (re)connect: beide Token fehlend oder ungültig, Login mit username and password, dann 1
Methode 1 ist am schnellsten, 2 ist auch noch relativ schnell, 3 benötigt relativ viel Zeit
Methode 3 wird notwendig zu Beginn und wenn länger als 2 ca. Stunden keine Ausführung des SOC-Moduls erfolgt ist.

Noch ein Workaround - wurde bei mir beim Testen notwendig:
Falls die SOC-Abfrage zu häufigeren Neuanmeldungen in der App führt, die wegen der 2FA etwas umständlich sind:
Im mercedes me Dashboard einen weiteren "virtuellen" Mitbenutzer ( mit unterschiedlicher email Adresse) einrichten und diesen für die SOC-Abfrage konfigurieren.

Falls der Login trotz korrekter Daten scheitert: einmal per Browser in MercedesMe einloggen.

Bei weiteren Fragen und Problemen: hier posten mit Angabe relevanter Daten:
- oWB SW Version
- oWB gekauft oder selbst installiert
- wenn selbst installiert: welches OS(Stretch/Buster)
- welches Fahrzeug
- falls vorhanden Angaben über Firewall, VPN, etc., also Appliances, die den Internetzugang limitieren könnten
- relevante Abschnitte der Logs, vor allem Fehlermeldungen, als CODE-blocks </>.

---- ENGLISH ----
In case of Questions or Problems: post the issue in this thread including relevant data:
- oWB SW Version
- oWB bought or self installed
- if self installed: which OS(Stretch/Buster/Bullseye)
- which vehicle
- if installed details about Firewall, VPN, etc., also Appliances, which could limit internet access
- relevant sequences from logs, esp. errors or exceptions, as CODE-blocks </>.

Re: SOC: smart EQ

Verfasst: Sa Dez 10, 2022 9:27 am
von MeisterM
Hallo,

erstmal möchte ich mich für die Implementierung des Smart EQ SOC Modul bedanken. Kann ich irgendwo sehen, ob sich das Modul erfolgreich anmelden kann? Weil leider bleibt bei mir die SOC Anzeige auf 0% stehen. Ich benötige hier wohl etwas Hilfe beim testen.

Hier noch das Log:2022-12-10 10:24:57: PID: 8221: Lp2: Error from soc_smart: (LV0)
ImportError: No module named 'bs4'
import bs4
File "/var/www/html/openWB/modules/soc_smarteq/soc_smarteq.py", line 6, in <module>
Traceback (most recent call last):
2022-12-10 10:24:53: PID: 8221: Lp2: Requesting SoC (LV0)
2022-12-10 10:24:47: PID: 6882: Lp2: Error from soc_smart: (LV0)
ImportError: No module named 'bs4'
import bs4
File "/var/www/html/openWB/modules/soc_smarteq/soc_smarteq.py", line 6, in <module>
Traceback (most recent call last):
2022-12-10 10:24:43: PID: 6882: Lp2: Requesting SoC (LV0)
2022-12-10 10:20:56: PID: 9979: Lp2: Error from soc_smart: (LV0)
ImportError: No module named 'bs4'
import bs4
File "/var/www/html/openWB/modules/soc_smarteq/soc_smarteq.py", line 6, in <module>
Traceback (most recent call last):
2022-12-10 10:20:53: PID: 9979: Lp2: Requesting SoC (LV0)
2022-12-10 10:20:46: PID: 8760: Lp2: Error from soc_smart: (LV0)
ImportError: No module named 'bs4'
import bs4

Vielen Dank
Marius

Re: SOC: smart EQ

Verfasst: Sa Dez 10, 2022 10:00 am
von rleidner
Danke fürs Testen und die Rückmeldung.

Da ist nach dem Update ein notwendiges Python-Modul (bs4) nicht installiert worden.
Das sollte beim Neustart geprüft und automatisch installiert werden.
Bitte einen Neustart machen (Einstellungen-System-Reboot) .

Danach gleich im Debug Log nachsehen ob es in dem Bereich, dessen Zeilen mit at_reboot (oder atreboot?) markiert sind Fehlermeldungen gibt; diese Meldungen evtl. hier posten (als code Knopf </> oben)

Falls Du spezielle Netzwerk-Komponenten in Betrieb hast, die den Zugriff ins Internet limitieren könnten (Firewall, Kindersicherung, GastNetz, etc) , bitte diese prüfen bzw. mitteilen, was da läuft.

Re: SOC: smart EQ

Verfasst: Sa Dez 10, 2022 11:26 am
von MeisterM
Hallo,

also nach dem Neustart hat es direkt funktioniert. Danke für den Tip.
Das erste Laden bis 90% hat geklappt. Die WB hat bei 91% aufgehört zu laden.

getestet am Smart EQ forfour BJ2021 an einer OpenWB Pro angeschlossen und von einer OpenWB series2 standard+ gesteuert.

Vielen, vielen Dank

P.S. Jetzt muss nur noch das Bosch Smart Home System eingebunden werden, dann wäre meine Konfiguration vollständig.

Gruß,
Marius

Re: SOC: smart EQ

Verfasst: Sa Dez 10, 2022 11:54 am
von rleidner
MeisterM hat geschrieben: Sa Dez 10, 2022 11:26 am Hallo,

also nach dem Neustart hat es direkt funktioniert. Danke für den Tip.
Das erste Laden bis 90% hat geklappt. Die WB hat bei 91% aufgehört zu laden.

getestet am Smart EQ forfour BJ2021 an einer OpenWB Pro angeschlossen und von einer OpenWB series2 standard+ gesteuert.

Vielen, vielen Dank

P.S. Jetzt muss nur noch das Bosch Smart Home System eingebunden werden, dann wäre meine Konfiguration vollständig.

Gruß,
Marius
Danke für die Rückmeldung.
Das mit dem Reboot kommt in die Anleitung im ersten Beitrag.

Kann Bosch Smart Home kein MQTT?
Ich habe hier Home Assistant, iobroker und NodeRed auf raspi-s bzw. NAS unter Docker bzw. als VM laufen.
Alle reden mit owb 1.0 und 2.0 Instanzen via MQTT problemlos.

Re: SOC: smart EQ

Verfasst: Mo Dez 12, 2022 9:23 am
von PeterS
Hallo,

auch von meiner Seite den besten Dank dafür, dass sich dem Thema SoC auslesen beim Smart EQ gewidmet wurde. Das war bislang ja immer ein Problem und ist die Komponente die mir noch fehlt. Den Umweg über Tronity habe ich mal getestet, aber es ist für mich keine Lösung auf Dauer gewesen.
Gerne bin ich auch beim Testen dabei.

Leider habe ich habe aber tatsächlich technische Probleme bei deiner Lösung.

Ich erhalte im Log folgende Meldung:
2022-12-12 10:18:50: PID: 2218: Lp1: SoC: -2 (LV0)
Step7 Exception: 'precond'
get_status failed, reconnecting ...
get_status failed, soc= -1
Tokens load failed[Errno 2] No such file or directory: '/var/www/html/openWB/ramdisk/soc_smarteq_tokens_lp1'
RequestsDependencyWarning)
/usr/lib/python3/dist-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.26.13) or chardet (3.0.4) doesn't match a supported version!
2022-12-12 10:18:46: PID: 2218: Lp1: Requesting SoC (LV0)
**** REBOOT ****
Ich habe für alle Fälle auch einen Reboot durchgeführt ...

Kann mir hier jemand weiterhelfen?

Danke !!!

Re: SOC: smart EQ

Verfasst: Mo Dez 12, 2022 9:41 am
von rleidner
PeterS hat geschrieben: Mo Dez 12, 2022 9:23 am Hallo,

auch von meiner Seite den besten Dank dafür, dass sich dem Thema SoC auslesen beim Smart EQ gewidmet wurde. Das war bislang ja immer ein Problem und ist die Komponente die mir noch fehlt. Den Umweg über Tronity habe ich mal getestet, aber es ist für mich keine Lösung auf Dauer gewesen.
Gerne bin ich auch beim Testen dabei.

Leider habe ich habe aber tatsächlich technische Probleme bei deiner Lösung.

Ich erhalte im Log folgende Meldung:
2022-12-12 10:18:50: PID: 2218: Lp1: SoC: -2 (LV0)
Step7 Exception: 'precond'
get_status failed, reconnecting ...
get_status failed, soc= -1
Tokens load failed[Errno 2] No such file or directory: '/var/www/html/openWB/ramdisk/soc_smarteq_tokens_lp1'
RequestsDependencyWarning)
/usr/lib/python3/dist-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.26.13) or chardet (3.0.4) doesn't match a supported version!
2022-12-12 10:18:46: PID: 2218: Lp1: Requesting SoC (LV0)
**** REBOOT ****
Ich habe für alle Fälle auch einen Reboot durchgeführt ...

Kann mir hier jemand weiterhelfen?

Danke !!!
Bitte auch alle Informationen liefern, wie im 1. Beitrag:
Bei weiteren Fragen und Problemen: hier posten mit Angabe relevanter Daten:
- oWB SW Version
- oWB gekauft oder selbst installiert
- wenn selbst installiert: welches OS(Stretch/Buster)
- welches Fahrzeug
- falls vorhanden Angaben über Firewall, VPN, etc., also Appliances, die den Internetzugang limitieren könnten

Einige der Fehler sind erwartet.

Code: Alles auswählen

Tokens load failed[Errno 2] No such file or directory: '/var/www/html/openWB/ramdisk/soc_smarteq_tokens_lp1'
Unkritisch, nach Update/Reboot ist diese Datei noch nicht vorhanden, später dann schon.

Code: Alles auswählen

  RequestsDependencyWarning)
/usr/lib/python3/dist-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.26.13) or chardet (3.0.4) doesn't match a supported version!
OWB gekauft oder selbst installiert?
Falls selbst installiert: Lösung z.B. hier: viewtopic.php?p=67171#p67171

Wenn nichts weiter hilft, In Einstellungen - System - Debugging den Debug-;Modus auf 2 stellen, den SOC manuell abrufen (Kreispfeil) und den EV-Soc log hier als code block posten.

Re: SOC: smart EQ

Verfasst: Mo Dez 12, 2022 2:01 pm
von PeterS
Na das reiche ich doch gerne noch nach soweit ich es hinbekomme :D

Hardware
Board: Raspberry Pi 3 Model B Plus Rev 1.3
CPU: ARMv7 Processor rev 4 (v7l)
CPU-Kerne: 4

-oWB SW Version
openWB Version: 1.9.289 (2022-12-09 07:16:52 +0100 [62fbb84f] )

oWB gekauft oder selbst installiert
Selbst installiert

wenn selbst installiert: welches OS(Stretch/Buster)
Ich glaube Stretch ... Muss zugeben, dass ich es nicht mehr sicher sagen kann. Woran kann ich es erkennen?

Mit PuTTY komme ich nicht drauf, ich kenne das Kennwort nicht und habe schon User Pi und Password raspberry/openwb/openWB probiert

- welches Fahrzeug
Smart EQ fortwo 2021

- falls vorhanden Angaben über Firewall, VPN, etc., also Appliances, die den Internetzugang limitieren könnten
Unifi Enviroment

Danke !

Re: SOC: smart EQ

Verfasst: Mo Dez 12, 2022 2:13 pm
von rleidner
Da selbst installiert hast Du doch bei der Installation schon mal Zugriff per ssh oder putty gehabt und solltest das Passwort für user pi auch noch wissen.
Dann kannst per ssh/putty Du das eher kosmetische urllib3/chardet-Problem beheben - s. link in meinem letzten post

Davon unabhängig und zum smart-SOC-Problem:
In Einstellungen - System - Debugging den Debug-;Modus auf 2 stellen, den SOC manuell abrufen (Kreispfeil) und den EV-Soc log hier als code block posten.

EDIT:
wenn selbst installiert: welches OS(Stretch/Buster)
Ich glaube Stretch ... Muss zugeben, dass ich es nicht mehr sicher sagen kann. Woran kann ich es erkennen?
Sieht man an der Kernel Version (System Info) bis 4.14 ist Stretch, danach Buster

Re: SOC: smart EQ

Verfasst: Mo Dez 12, 2022 5:06 pm
von PeterS
... also dann müßte es Buster sein ... wenn ich es richtig interpretiere

Kernel: Linux 5.10.63-v7+ GNU/Linux
Python 3.7.3
openWB Version: 1.9.289 (2022-12-09 07:16:52 +0100 [62fbb84f] )
In Einstellungen - System - Debugging den Debug-;Modus auf 2 stellen, den SOC manuell abrufen (Kreispfeil) und den EV-Soc log hier als code block posten.

Code: Alles auswählen

2022-12-12 17:54:55: PID: 6728: Lp1: Nothing to do yet. Incrementing timer. (LV2) at 100 main modules/soc_smarteq/main.sh
2022-12-12 17:54:45: PID: 5541: Lp1: Nothing to do yet. Incrementing timer. (LV2) at 100 main modules/soc_smarteq/main.sh
2022-12-12 17:54:35: PID: 4352: Lp1: Nothing to do yet. Incrementing timer. (LV2) at 100 main modules/soc_smarteq/main.sh
2022-12-12 17:54:26: PID: 3165: Lp1: Nothing to do yet. Incrementing timer. (LV2) at 100 main modules/soc_smarteq/main.sh
2022-12-12 17:54:22: PID: 2183: Lp1: SoC: -2 (LV0) at 83 getAndWriteSoc modules/soc_smarteq/main.sh
Step7 Exception: 'precond'
get_status failed, reconnecting ...
get_status failed, soc= -1
Tokens load failed[Errno 2] No such file or directory: '/var/www/html/openWB/ramdisk/soc_smarteq_tokens_lp1'
  RequestsDependencyWarning)
/usr/lib/python3/dist-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.26.13) or chardet (3.0.4) doesn't match a supported version!
2022-12-12 17:54:17: PID: 2183: Lp1: Requesting SoC (LV0) at 70 getAndWriteSoc modules/soc_smarteq/main.sh
**** REBOOT ****
Da selbst installiert hast Du doch bei der Installation schon mal Zugriff per ssh oder putty gehabt und solltest das Passwort für user pi auch noch wissen.
Tja, mit dem PWD wird vermutlich zum Problem. Normalerweise passiert mir das nicht ... aber in dem Fall steh ich da gerade ziemlich blöd da ... Vielleicht hab ich ja noch ne Chance, dass es mir einfällt ansonsten darf ich wohl noch einmal neu installieren ...

Danke!