SoC: OVMS
-
- Beiträge: 983
- Registriert: Mo Nov 02, 2020 9:50 am
- Has thanked: 5 times
- Been thanked: 28 times
SoC: OVMS
Hier wird bei Fragen und Problemen zum SoC-Modul OVMS geholfen.
Aktueller Stand:
2.x: PR: https://github.com/openWB/core/pull/1996 (in 2.1.6 RC1 und Master merged)
1.9: PR: https://github.com/snaptec/openWB/pull/2855 (in 1.9.304.0 Nightly ab 2024-11-14 merged)
Das OVMS-Modul im Fahrzeug sendet je nach Ausführung die Daten über Mobilnetz und/oder WLAN an den OVMS-Server (z.B. ovms.dexters-web.de).
Die OVMS Smartphone-Apps (Android/ios) verbinden sich mit dem gewählten OVMS-Server.
Das SoC-Modul holt die Daten auch vom selben OVMS Server.
Folgende Daten werden bei der Konfiguration benötigt:
- Server URL
- User Id des Accounts im OVMS-Server
- Passwort des Accounts
- VehicleId des Fahrzeuges (wird bei der Einrichtung des OVMS-Moduls vergeben)
- Abfrage-Intervall wenn nicht geladen wird
- Abfrage-Intervall wenn geladen wird.
Aktueller Stand:
2.x: PR: https://github.com/openWB/core/pull/1996 (in 2.1.6 RC1 und Master merged)
1.9: PR: https://github.com/snaptec/openWB/pull/2855 (in 1.9.304.0 Nightly ab 2024-11-14 merged)
Das OVMS-Modul im Fahrzeug sendet je nach Ausführung die Daten über Mobilnetz und/oder WLAN an den OVMS-Server (z.B. ovms.dexters-web.de).
Die OVMS Smartphone-Apps (Android/ios) verbinden sich mit dem gewählten OVMS-Server.
Das SoC-Modul holt die Daten auch vom selben OVMS Server.
Folgende Daten werden bei der Konfiguration benötigt:
- Server URL
- User Id des Accounts im OVMS-Server
- Passwort des Accounts
- VehicleId des Fahrzeuges (wird bei der Einrichtung des OVMS-Moduls vergeben)
- Abfrage-Intervall wenn nicht geladen wird
- Abfrage-Intervall wenn geladen wird.
Zuletzt geändert von rleidner am Mi Nov 20, 2024 9:57 am, insgesamt 5-mal geändert.
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Kia EV6, Smart EQ forfour
Re: SoC: OVMS
Hallo,
also eigentlich sendet das OVMS den SoC über MQTT ja bereits raus. Man müsste somit nur irgendwie der OpenWB klar machen, dass der ankommende Topic "ovms//*vehicleid*/metric/v/b/soc" als "openWB/set/lp/1/%Soc" verstanden werden soll.
ICH kann das leider nicht. Darum hab ich das über NodeRed lösen müssen.
WENN wir der OpenWB also beibringen wollen, dass sie den SoC vom OVMS richtig interpretieren soll, dann würde ich das nicht über Dexter's Server machen, sondern direkt im lokalen Netz regeln.
Und da bietet sich für mich halt MQTT an.
also eigentlich sendet das OVMS den SoC über MQTT ja bereits raus. Man müsste somit nur irgendwie der OpenWB klar machen, dass der ankommende Topic "ovms//*vehicleid*/metric/v/b/soc" als "openWB/set/lp/1/%Soc" verstanden werden soll.
ICH kann das leider nicht. Darum hab ich das über NodeRed lösen müssen.
WENN wir der OpenWB also beibringen wollen, dass sie den SoC vom OVMS richtig interpretieren soll, dann würde ich das nicht über Dexter's Server machen, sondern direkt im lokalen Netz regeln.
Und da bietet sich für mich halt MQTT an.
LP1: OpenWB-custom 1p3p; LP2: go-eCharger HOMEfix; PV1: 7,150 kWp Sunny Tripower 7000TL-20, PV2: 4,440 kWp SB 4000TL-20, Sunny Home Manager 2.0; Škoda Citigo e iV, Smart ED3
-
- Beiträge: 983
- Registriert: Mo Nov 02, 2020 9:50 am
- Has thanked: 5 times
- Been thanked: 28 times
Re: SoC: OVMS
Danke für den Hinweis - ich bin normalerweise auch für MQTT.Stevie_AN hat geschrieben: ↑Mi Sep 11, 2024 7:14 am Hallo,
also eigentlich sendet das OVMS den SoC über MQTT ja bereits raus. Man müsste somit nur irgendwie der OpenWB klar machen, dass der ankommende Topic "ovms//*vehicleid*/metric/v/b/soc" als "openWB/set/lp/1/%Soc" verstanden werden soll.
ICH kann das leider nicht. Darum hab ich das über NodeRed lösen müssen.
WENN wir der OpenWB also beibringen wollen, dass sie den SoC vom OVMS richtig interpretieren soll, dann würde ich das nicht über Dexter's Server machen, sondern direkt im lokalen Netz regeln.
Und da bietet sich für mich halt MQTT an.
Mein OVMS-Modul published über MQTT auf einen lokalen Broker (nicht der in der openWB).
Von dort mache ich einiges in Node-Red wie logging diverser Daten in InfluxDB oder Starten der Klimatisierung im smart wenn die 12V-Batterie-Spannung zu niedrig wird.
SoC/Range an die openWB weiterzureichen ist dann kein grosser Aufwand mehr.
Warum ich es dann doch über OVMS-Server gelöst habe:
Ich wollte die Daten aus dem OVMS auch, wenn das Fahrzeug unterwegs ist - deshalb über den OVMS-Server.
Ich habe das Modul hauptsächlich implementiert, weil zum Jahresende die smartEQ Cloud abgeschaltet wird und ich wollte einen gleichwertigen Ersatz.
BTW, falls Du es nicht gesehen hast:
Ohne spezielles SoC-Modul und Node-Red ginge es wohl lokal auch: https://forum.openwb.de/viewtopic.php?p=7186#p7186
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Kia EV6, Smart EQ forfour
Re: SoC: OVMS
Ja, diese Lösung über den HTTP-Soc hatte ich am Anfang auch genau so eingerichtet. Es wäre natürlich interessant, ob man das OVMS-Scriptrleidner hat geschrieben: ↑Mi Sep 11, 2024 9:17 am
BTW, falls Du es nicht gesehen hast:
Ohne spezielles SoC-Modul und Node-Red ginge es wohl lokal auch: https://forum.openwb.de/viewtopic.php?p=7186#p7186
Code: Alles auswählen
/**
/**
* Module plugin: openWB soc
* Version 1.0
*
* Dependencies:
* - OVMS firmware >= 3.2.008-266
*
* Installation:
* - Save as /store/scripts/lib/openwbsoc.js
* - Add to /store/scripts/ovmsmain.js: openwbsoc = require("lib/openwbsoc");
* - Issue "script reload"
*
*/
// Get state of charge:
function getSoc() {
var soc = OvmsMetrics.Value(["v.b.soc"]);
if ( soc )
print(Math.floor(soc));
else print(0);
}
// API exports:
exports.get = getSoc;
LP1: OpenWB-custom 1p3p; LP2: go-eCharger HOMEfix; PV1: 7,150 kWp Sunny Tripower 7000TL-20, PV2: 4,440 kWp SB 4000TL-20, Sunny Home Manager 2.0; Škoda Citigo e iV, Smart ED3
-
- Beiträge: 983
- Registriert: Mo Nov 02, 2020 9:50 am
- Has thanked: 5 times
- Been thanked: 28 times
Re: SoC: OVMS
Da sehe ich keine einfache Lösung; ich denke dazu müsste man die OVMS Firmware um eine generische mqtt-publish Funktion erweitern.
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Kia EV6, Smart EQ forfour
Re: SoC: OVMS
Vielen Dank erstmal für das Modul.
Mit dem Update 2.1.6 kam das OVMS-Modul hinzu, welches ich gleich nutzen wollte. Leider erhalte ich eine Fehlermeldung und habe keinen Plan was falsch sein soll.
Mit dem Update 2.1.6 kam das OVMS-Modul hinzu, welches ich gleich nutzen wollte. Leider erhalte ich eine Fehlermeldung und habe keinen Plan was falsch sein soll.
-
- Beiträge: 983
- Registriert: Mo Nov 02, 2020 9:50 am
- Has thanked: 5 times
- Been thanked: 28 times
Re: SoC: OVMS
Hmm, ich nehme an Du hast in der Konfiguration des Moduls alles richtig eingetragen.
Was steht im SOC-Log? (Einstellungen - System - Fehlersuche - SoC-Log), evtl. den Debug Level mal auf Info stellen und den SoC im Desktop manuell abrufen (Kreispfeil).
Log eines Abrufs hier als Code Block posten (Button </>)
Was steht im SOC-Log? (Einstellungen - System - Fehlersuche - SoC-Log), evtl. den Debug Level mal auf Info stellen und den SoC im Desktop manuell abrufen (Kreispfeil).
Log eines Abrufs hier als Code Block posten (Button </>)
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Kia EV6, Smart EQ forfour
Re: SoC: OVMS
https://paste.openwb.de/Sy3B0IdtD9X4iyv
Code: Alles auswählen
2024-12-01 12:41:42,687 - {modules.common.configurable_vehicle:56} - {DEBUG:fetch soc_ev1} - Vehicle Instance <class 'modules.vehicles.ovms.config.OVMS'>
2024-12-01 12:41:42,688 - {modules.common.configurable_vehicle:57} - {DEBUG:fetch soc_ev1} - Calculated SoC-State CalculatedSocState(imported_start=None, manual_soc=None, soc_start=80)
2024-12-01 12:41:42,688 - {modules.common.configurable_vehicle:58} - {DEBUG:fetch soc_ev1} - Vehicle Update Data VehicleUpdateData(plug_state=False, charge_state=False, imported=None, battery_capacity=32000, efficiency=92, soc_from_cp=None, timestamp_soc_from_cp=None)
2024-12-01 12:41:42,688 - {modules.common.configurable_vehicle:59} - {DEBUG:fetch soc_ev1} - General Config GeneralVehicleConfig(use_soc_from_cp=False, request_interval_charging=180, request_interval_not_charging=1800, request_only_plugged=False)
2024-12-01 12:41:42,689 - {modules.common.component_context:26} - {DEBUG:fetch soc_ev1} - Update Komponente ['OVMS']
2024-12-01 12:41:42,689 - {asyncio:59} - {DEBUG:fetch soc_ev1} - Using selector: EpollSelector
2024-12-01 12:41:42,697 - {urllib3.connectionpool:973} - {DEBUG:fetch soc_ev1} - Starting new HTTPS connection (1): dexters-web.de:6869
2024-12-01 12:41:42,697 - {urllib3.connectionpool:973} - {DEBUG:fetch soc_ev1} - Starting new HTTPS connection (1): dexters-web.de:6869
2024-12-01 12:41:42,858 - {urllib3.connectionpool:452} - {DEBUG:fetch soc_ev1} - https://dexters-web.de:6869 "POST /api/token?username=xxx&password=0F%26t5w8PRE HTTP/1.1" 201 165
2024-12-01 12:41:42,858 - {urllib3.connectionpool:452} - {DEBUG:fetch soc_ev1} - https://dexters-web.de:6869 "POST /api/token?username=xxx&password=0F%26t5w8PRE HTTP/1.1" 201 165
2024-12-01 12:41:42,861 - {modules.common.req:32} - {DEBUG:fetch soc_ev1} - Get-Response: {"application":"owb-ovms-2.x-vh1","owner":"xxx","permit":"auth","purpose":"get soc","token":"c824e9bef323e8566c4b2a0b7f9a0ea2cb166ef996ee79063ce8e579602b42cd"}
2024-12-01 12:41:42,862 - {modules.vehicles.ovms.api:52} - {DEBUG:fetch soc_ev1} - create_token status_code=201
2024-12-01 12:41:42,863 - {modules.vehicles.ovms.api:54} - {DEBUG:fetch soc_ev1} - create_token response={
"application": "owb-ovms-2.x-vh1",
"owner": "xxx",
"permit": "auth",
"purpose": "get soc",
"token": "c824e9bef323e8566c4b2a0b7f9a0ea2cb166ef996ee79063ce8e579602b42cd"
}
2024-12-01 12:41:42,865 - {modules.common.fault_state:49} - {ERROR:fetch soc_ev1} - OVMS: FaultState FaultStateLevel.ERROR, FaultStr <class 'AttributeError'> ("'api' object has no attribute 'confDict'",), Traceback:
Traceback (most recent call last):
File "/var/www/html/openWB/packages/modules/common/configurable_vehicle.py", line 66, in update
car_state = self._get_carstate_by_source(vehicle_update_data, source)
File "/var/www/html/openWB/packages/modules/common/configurable_vehicle.py", line 110, in _get_carstate_by_source
return self.__component_updater(vehicle_update_data)
File "/var/www/html/openWB/packages/modules/vehicles/ovms/soc.py", line 24, in updater
return fetch(vehicle_update_data, vehicle_config, vehicle)
File "/var/www/html/openWB/packages/modules/vehicles/ovms/soc.py", line 18, in fetch
soc, range, soc_ts = api.fetch_soc(config, vehicle)
File "/var/www/html/openWB/packages/modules/vehicles/ovms/api.py", line 190, in fetch_soc
soc, range, soc_ts = loop.run_until_complete(a._fetch_soc(conf, vehicle))
File "/usr/lib/python3.9/asyncio/base_events.py", line 642, in run_until_complete
return future.result()
File "/var/www/html/openWB/packages/modules/vehicles/ovms/api.py", line 143, in _fetch_soc
self.token = self.create_token()
File "/var/www/html/openWB/packages/modules/vehicles/ovms/api.py", line 56, in create_token
log.debug("create_token confDict=" + dumps(self.confDict, indent=4))
AttributeError: 'api' object has no attribute 'confDict'
-
- Beiträge: 983
- Registriert: Mo Nov 02, 2020 9:50 am
- Has thanked: 5 times
- Been thanked: 28 times
Re: SoC: OVMS
Danke für die Rückmeldung.
Da ist noch ein Fehler wenn das Modul neu konfiguriert wird.
Das hatte ich leider bei mir lange nicht mehr getestet.
Ich behebe das und melde mich, wenn es ein PR gibt (dann aber erst mal im Zweig master).
Da ist noch ein Fehler wenn das Modul neu konfiguriert wird.
Das hatte ich leider bei mir lange nicht mehr getestet.
Ich behebe das und melde mich, wenn es ein PR gibt (dann aber erst mal im Zweig master).
openWB-2 Standard+ | openWB EVU Kit v2 MID| 9,9kWp mit Kostal Plenticore 8.5 plus | VW ID.3, Kia EV6, Smart EQ forfour