Volkswagen ID.7: Unterschied zwischen den Versionen

Aus FHEMWiki
(Die Seite wurde neu angelegt: „<pre> defmod ID7 MQTT2_DEVICE MQTTBridge attr ID7 autocreate 0 attr ID7 babbleName ID7 attr ID7 devStateIcon charging_car.*:ev_car@darkorange finished_car.*:ev_car@green .*_car:ev_car@black attr ID7 devicetopic weconnect attr ID7 group energyControl attr ID7 readingList MQTTBridge:weconnect/mqtt/weconnectConnected:.* connected\ MQTTBridge:weconnect/mqtt/weconnectUpdated:.* connection_updated\ MQTTBridge:weconnect/mqtt/weconnectUpdateInterval_s:.* interval…“)
 
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Dr VW ID.7 ist ein batterieelektrisches Fahrzeug (BEV) mit semipermanenter Anbindung an die Server von Volkswagen connect.
==Anbindung via MQTT==
Mit einem relativ kompakten [https://github.com/tillsteinbach/WeConnect-mqtt Code von Till Steinbach] kann man die Fahrzeugdaten von VW connect abfragen und als MQTT-Nachricht an FHEM senden.
===Python-Server===
Zur Installation sei auf die Anleitung von Till Steinbach verwiesen, sie den obigen Link. In Kürze:
* Python 3.8 muss installiert sein
* weconnect-mqtt installieren mit
pip3 install weconnect-mqtt
* Zum Ausprobieren den Server starten über die Kommandozeile
/usr/bin/python3 -m weconnect_mqtt --username <username> --password <passwort> --mqttbroker <IP-Adresse des FHEM MQTT-Servers> --prefix weconnect --pictures --picture-format png --convert-times Europe/Berlin --no-capabilities
Damit das Programm beim Neustart des Betriebssystems ebenfalls startet, muss es als Service registriert werden.
Dazu bitte eine Datei /etc/systemd/system/weconnect-mqtt.service anlegen mit dem Inhalt
<pre>
[Unit]
Description=WeConnect-mqtt
After=network-online.target
[Service]
Type=simple
# change the username and commandline parameters here:
User=fhem
ExecStart=/usr/bin/python3 -m weconnect_mqtt --username <username> --password <passwort> --mqttbroker <IP-Adresse des FHEM MQTT-Servers> --prefix weconnect --pictures --picture-format png --convert-times Europe/Berlin --no-capabilities
[Install]
WantedBy=multi-user.target
</pre>
Diesen Service mit
systemctl start weconnect-mqtt
manuell starten bzw. mit
systemctl enable weconnect-mqtt
den automatischen Start beim Systemstart einrichten.
===FHEM-Device ===
Der ID7 ist ziemlich gesprächig, man muss sich daher genau überlegen, welche Daten man wirklich benötigt. Zum Ausprobieren folgender Vorschlag
<div class="mw-collapsible mw-collapsed">
Code:<div class="mw-collapsible-content">
<pre>
<pre>
defmod ID7 MQTT2_DEVICE MQTTBridge
defmod ID7 MQTT2_DEVICE MQTTBridge
Zeile 9: Zeile 47:
MQTTBridge:weconnect/mqtt/weconnectUpdated:.* connection_updated\
MQTTBridge:weconnect/mqtt/weconnectUpdated:.* connection_updated\
MQTTBridge:weconnect/mqtt/weconnectUpdateInterval_s:.* interval\
MQTTBridge:weconnect/mqtt/weconnectUpdateInterval_s:.* interval\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/readiness/readinessStatus/connectionState/isOnline:.* isOnline\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/readiness/readinessStatus/connectionState/isOnline:.* isOnline\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/readiness/readinessStatus/connectionState/isActive:.* connection_isActive\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/readiness/readinessStatus/connectionState/isActive:.* connection_isActive\
MQTTBridge:weconnect/mqtt/error/code:.* mqtt_error_code\
MQTTBridge:weconnect/mqtt/error/code:.* mqtt_error_code\
MQTTBridge:weconnect/mqtt/error/message:.* mqtt_error_message\
MQTTBridge:weconnect/mqtt/error/message:.* mqtt_error_message\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/controls/wakeup:.* wakeup\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/controls/wakeup:.* wakeup\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/.*pictures:.* { json2nameValue($EVENT, '', $JSONMAP) }\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/.*pictures:.* { json2nameValue($EVENT, '', $JSONMAP) }\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/climatisation:.* { json2nameValue($EVENT, '', $JSONMAP) }\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation:.* { json2nameValue($EVENT, '', $JSONMAP) }\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingSettings/maxChargeCurrentAC:.* charge_current\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/maxChargeCurrentAC:.* charge_current\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/access/accessStatus/overallStatus:.* door_security\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/overallStatus:.* door_security\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/access/accessStatus/doorLockStatus:.* door_lock_status\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/doorLockStatus:.* door_lock_status\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/access/accessStatus/doors/frontLeft/lockState:.* door_FL_ls\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/doors/frontLeft/lockState:.* door_FL_ls\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/access/accessStatus/doors/frontLeft/openState:.* door_FL\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/doors/frontLeft/openState:.* door_FL\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/access/accessStatus/windows/frontRight/openState:.* door_FR\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/windows/frontRight/openState:.* door_FR\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/access/accessStatus/doors/frontRight/lockState:.* door_FR_ls\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/doors/frontRight/lockState:.* door_FR_ls\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/access/accessStatus/doors/rearRight/lockState:.* door_RR_ls\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/doors/rearRight/lockState:.* door_RR_ls\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/access/accessStatus/doors/rearLeft/lockState:.* door_RL_ls\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/doors/rearLeft/lockState:.* door_RL_ls\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/access/accessStatus/doors/trunk/lockState:.* trunk_ls\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/doors/trunk/lockState:.* trunk_ls\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/access/accessStatus/doors/trunk/openState:.* trunk\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/doors/trunk/openState:.* trunk\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/access/accessStatus/windows/frontLeft/openState:.* window_FL\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/windows/frontLeft/openState:.* window_FL\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/access/accessStatus/windows/frontRight/openState:.* window_FR\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/windows/frontRight/openState:.* window_FR\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/access/accessStatus/windows/rearLeft/openState:.* window_RL\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/windows/rearLeft/openState:.* window_RL\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/access/accessStatus/windows/rearRight/openState:.* window_RR\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/windows/rearRight/openState:.* window_RR\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/parking/parkingPosition/latitude:.* parking_latitude\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/parking/parkingPosition/latitude:.* parking_latitude\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/parking/parkingPosition/longitude:.* parking_longitude\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/parking/parkingPosition/longitude:.* parking_longitude\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/batteryStatus/currentSOC_pct:.* SOC\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/batteryStatus/currentSOC_pct:.* SOC\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/measurements/fuelLevelStatus/currentSOC_pct:.* SOC\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/measurements/fuelLevelStatus/currentSOC_pct:.* SOC\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/fuelStatus/rangeStatus/primaryEngine/currentSOC_pct:.* SOC\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/fuelStatus/rangeStatus/primaryEngine/currentSOC_pct:.* SOC\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingSettings/targetSOC_pct:.* SOC_target\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/targetSOC_pct:.* SOC_target\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/automation/chargingProfiles/nextChargingTimer/targetSOCreachable:.* SOC_reachable\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/chargingProfiles/nextChargingTimer/targetSOCreachable:.* SOC_reachable\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/chargingProfiles/chargingProfilesStatus/nextChargingTimer/targetSOCreachable:.* SOC_reachable\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/chargingProfiles/chargingProfilesStatus/nextChargingTimer/targetSOCreachable:.* SOC_reachable\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/measurements/temperatureBatteryStatus/temperatureHvBatteryMin_K:.* battery_tempMin\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/measurements/temperatureBatteryStatus/temperatureHvBatteryMin_K:.* battery_tempMin\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/measurements/temperatureBatteryStatus/temperatureHvBatteryMax_K:.* battery_tempMax\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/measurements/temperatureBatteryStatus/temperatureHvBatteryMax_K:.* battery_tempMax\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/batteryChargingCare/chargingCareSettings/batteryCareMode:.* battery_careMode\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/batteryChargingCare/chargingCareSettings/batteryCareMode:.* battery_careMode\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/batterySupport/batterySupportStatus/batterySupport:.* battery_Support\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/batterySupport/batterySupportStatus/batterySupport:.* battery_Support\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/batterySupport/batterySupportStatus/error/message:.* batttery_error_message\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/batterySupport/batterySupportStatus/error/message:.* batttery_error_message\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/batterySupport/batterySupportStatus/error:.* batttery_error\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/batterySupport/batterySupportStatus/error:.* batttery_error\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingSettings/request:.* charge_request\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/request:.* charge_request\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/automation/chargingProfiles/profiles/1/maxChargingCurrent:.* charge_current\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/chargingProfiles/profiles/1/maxChargingCurrent:.* charge_current\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingSettings/autoUnlockPlugWhenCharged:.* charge_autoUnlock\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/autoUnlockPlugWhenCharged:.* charge_autoUnlock\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingSettings/autoUnlockPlugWhenChargedAC:.* charge_AC_autoUnlock\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/autoUnlockPlugWhenChargedAC:.* charge_AC_autoUnlock\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingStatus/chargeMode:.* charge_mode\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingStatus/chargeMode:.* charge_mode\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingStatus/chargePower_kW:.* charge_power\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingStatus/chargePower_kW:.* charge_power\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingStatus/chargeRate_kmph:.* charge_rate\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingStatus/chargeRate_kmph:.* charge_rate\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingStatus/chargeType:.* charge_type\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingStatus/chargeType:.* charge_type\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingStatus/chargingSettings:.* charge_settings\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingStatus/chargingSettings:.* charge_settings\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingStatus/chargingState:.* charge_state\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingStatus/chargingState:.* charge_state\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingStatus/remainingChargingTimeToComplete_min:.* charge_timeremain\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingStatus/remainingChargingTimeToComplete_min:.* charge_timeremain\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/plugStatus/externalPower:.* charge_plugpower\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/plugStatus/externalPower:.* charge_plugpower\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/plugStatus/ledColor:.* charge_plugcolor\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/plugStatus/ledColor:.* charge_plugcolor\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/plugStatus/plugConnectionState:.* charge_plugstate\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/plugStatus/plugConnectionState:.* charge_plugstate\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/plugStatus/plugLockState:.* charge_plugls\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/plugStatus/plugLockState:.* charge_plugls\
\
\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/measurements/rangeStatus/totalRange_km:.* range\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/measurements/rangeStatus/totalRange_km:.* range\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/measurements/rangeStatus/electricRange:.* range\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/measurements/rangeStatus/electricRange:.* range\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/batteryStatus/cruisingRangeElectric_km:.* range\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/batteryStatus/cruisingRangeElectric_km:.* range\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/fuelStatus/rangeStatus/primaryEngine/remainingRange_km:.* range\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/fuelStatus/rangeStatus/primaryEngine/remainingRange_km:.* range\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/fuelStatus/rangeStatus/totalRange_km:.* range\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/fuelStatus/rangeStatus/totalRange_km:.* range\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/measurements/odometerStatus/odometer:.* odometer\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/measurements/odometerStatus/odometer:.* odometer\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/vehicleHealth.*/mileage_km:.* odometer\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/vehicleHealth.*/mileage_km:.* odometer\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/automation/climatisationTimer/timers/1/enabled:.* timers_1_enabled\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/climatisationTimer/timers/1/enabled:.* timers_1_enabled\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/automation/climatisationTimer/timers/2/enabled:.* timers_2_enabled\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/climatisationTimer/timers/2/enabled:.* timers_2_enabled\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/automation/chargingProfiles/profiles/1/preferredChargingTimes/None/id:.* chargeTimer_id\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/chargingProfiles/profiles/1/preferredChargingTimes/None/id:.* chargeTimer_id\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/automation/chargingProfiles/profiles/1/preferredChargingTimes/4/enabled:.* chargeTimer_4_enabled\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/chargingProfiles/profiles/1/preferredChargingTimes/4/enabled:.* chargeTimer_4_enabled\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/automation/chargingProfiles/profiles/1/preferredChargingTimes/4/startTime:.* chargeTimer_4_startTime\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/chargingProfiles/profiles/1/preferredChargingTimes/4/startTime:.* chargeTimer_4_startTime\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/automation/chargingProfiles/profiles/1/preferredChargingTimes/4/endTime:.* chargeTimer_4_endTime\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/chargingProfiles/profiles/1/preferredChargingTimes/4/endTime:.* chargeTimer_4_endTime\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/chargingProfiles/chargingProfilesStatus/profiles/1/preferredChargingTimes/None/id:.* chargeTimer_id\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/chargingProfiles/chargingProfilesStatus/profiles/1/preferredChargingTimes/None/id:.* chargeTimer_id\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/chargingProfiles/chargingProfilesStatus/profiles/1/preferredChargingTimes/4/enabled:.* chargeTimer_4_enabled\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/chargingProfiles/chargingProfilesStatus/profiles/1/preferredChargingTimes/4/enabled:.* chargeTimer_4_enabled\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/chargingProfiles/chargingProfilesStatus/profiles/1/preferredChargingTimes/4/startTime:.* chargeTimer_4_startTime\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/chargingProfiles/chargingProfilesStatus/profiles/1/preferredChargingTimes/4/startTime:.* chargeTimer_4_startTime\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/chargingProfiles/chargingProfilesStatus/profiles/1/preferredChargingTimes/4/endTime:.* chargeTimer_4_endTime\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/chargingProfiles/chargingProfilesStatus/profiles/1/preferredChargingTimes/4/endTime:.* chargeTimer_4_endTime\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/climatisation/climatisationStatus/climatisationState:.* clima_state\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/climatisationStatus/climatisationState:.* clima_state\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/climatisation/windowHeatingStatus/windows/front/windowHeatingState:.* clima_window_F\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/windowHeatingStatus/windows/front/windowHeatingState:.* clima_window_F\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/climatisation/windowHeatingStatus/windows/rear/windowHeatingState:.* clima_window_R\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/windowHeatingStatus/windows/rear/windowHeatingState:.* clima_window_R\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/climatisation/climatisationSettings/climatizationAtUnlock:.* clima_atUnlock\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/climatisationSettings/climatizationAtUnlock:.* clima_atUnlock\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/climatisation/climatisationSettings/targetTemperature_C:.* clima_temperature\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/climatisationSettings/targetTemperature_C:.* clima_temperature\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/climatisationTimers/climatisationTimersStatus/timers/1/enabled:.* timers_1_enabled\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisationTimers/climatisationTimersStatus/timers/1/enabled:.* timers_1_enabled\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/climatisationTimers/climatisationTimersStatus/timers/2/enabled:.* timers_2_enabled\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisationTimers/climatisationTimersStatus/timers/2/enabled:.* timers_2_enabled\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/automation/chargingProfiles/profiles/1/preferredChargingTimes/4/id:.* chargeTimer_4_id\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/chargingProfiles/profiles/1/preferredChargingTimes/4/id:.* chargeTimer_4_id\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/chargingProfiles/chargingProfilesStatus/profiles/1/preferredChargingTimes/4/id:.* chargeTimer_4_id\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/chargingProfiles/chargingProfilesStatus/profiles/1/preferredChargingTimes/4/id:.* chargeTimer_4_id\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/automation/chargingProfiles/profiles/1/preferredChargingTimes/4:.* chargeTimer_4\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/chargingProfiles/profiles/1/preferredChargingTimes/4:.* chargeTimer_4\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/chargingProfiles/chargingProfilesStatus/profiles/1/preferredChargingTimes/4:.* chargeTimer_4\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/chargingProfiles/chargingProfilesStatus/profiles/1/preferredChargingTimes/4:.* chargeTimer_4\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/automation/chargingProfiles/nextChargingTimer:.* chargeTimer_next\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/chargingProfiles/nextChargingTimer:.* chargeTimer_next\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/chargingProfiles/chargingProfilesStatus/nextChargingTimer:.* chargeTimer_next\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/chargingProfiles/chargingProfilesStatus/nextChargingTimer:.* chargeTimer_next\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/coUsers/0:.* coUsers_0\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/coUsers/0:.* coUsers_0\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/coUsers/0/id:.* coUsers_0_id\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/coUsers/0/id:.* coUsers_0_id\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/coUsers/0/role:.* coUsers_0_role\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/coUsers/0/role:.* coUsers_0_role\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/coUsers/0/roleReseted:.* coUsers_0_roleReseted\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/coUsers/0/roleReseted:.* coUsers_0_roleReseted\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/coUsers/0/enrollmentStatus:.* coUsers_0_enrollmentStatus\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/coUsers/0/enrollmentStatus:.* coUsers_0_enrollmentStatus\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/.*/webApp/status:.* status_app\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/.*/webApp/status:.* status_app\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/.*/predictiveWakeUp/status:.* status_wakeup\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/.*/predictiveWakeUp/status:.* status_wakeup\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/.*/roadExperienceManagementLocalization/status:.* status_roadex\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/.*/roadExperienceManagementLocalization/status:.* status_roadex\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/vehicleHealthInspection/maintenanceStatus/inspectionDue_days:.* maintenance_due\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/vehicleHealthInspection/maintenanceStatus/inspectionDue_days:.* maintenance_due\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/vehicleHealthInspection/maintenanceStatus/error/message:.* maintenance_eror_message\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/vehicleHealthInspection/maintenanceStatus/error/message:.* maintenance_eror_message\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/vehicleHealthInspection/maintenanceStatus/error:.* maintenanance_error\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/vehicleHealthInspection/maintenanceStatus/error:.* maintenanance_error\
\
\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingSettings/request/6e1647f9-a0aa-4896-80bf-b9ec44c89e6a/status:.* 6e1647f9_status\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/request/6e1647f9-a0aa-4896-80bf-b9ec44c89e6a/status:.* 6e1647f9_status\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingSettings/request/6e1647f9-a0aa-4896-80bf-b9ec44c89e6a/operation:.* 6e1647f9_operation\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/request/6e1647f9-a0aa-4896-80bf-b9ec44c89e6a/operation:.* 6e1647f9_operation\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingSettings/request/6e1647f9-a0aa-4896-80bf-b9ec44c89e6a/body:.* 6e1647f9_body\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/request/6e1647f9-a0aa-4896-80bf-b9ec44c89e6a/body:.* 6e1647f9_body\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingSettings/request/6e1647f9-a0aa-4896-80bf-b9ec44c89e6a/requestId:.* 6e1647f9_charge_requestId\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/request/6e1647f9-a0aa-4896-80bf-b9ec44c89e6a/requestId:.* 6e1647f9_charge_requestId\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingSettings/request/6e1647f9-a0aa-4896-80bf-b9ec44c89e6a/vcfRequestId:.* 6e1647f9_charge_vcfRequestId\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/request/6e1647f9-a0aa-4896-80bf-b9ec44c89e6a/vcfRequestId:.* 6e1647f9_charge_vcfRequestId\
MQTTBridge:weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingSettings/request/6e1647f9-a0aa-4896-80bf-b9ec44c89e6a:.* 6e1647f9_else\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/request/6e1647f9-a0aa-4896-80bf-b9ec44c89e6a:.* 6e1647f9_else\
\
\


attr ID7 room Energie
attr ID7 setList update:noArg weconnect/mqtt/weconnectForceUpdate_writetopic True\
attr ID7 setList update:noArg weconnect/mqtt/weconnectForceUpdate_writetopic True\
interval:60,300 weconnect/mqtt/weconnectUpdateInterval_s_writetopic\
interval:60,300 weconnect/mqtt/weconnectUpdateInterval_s_writetopic\
battery_careMode:activated,deactivated weconnect/vehicles/WVWZZZED4RE509053/domains/batteryChargingCare/chargingCareSettings/batteryCareMode_writetopic\
battery_careMode:activated,deactivated weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/batteryChargingCare/chargingCareSettings/batteryCareMode_writetopic\
clima:start,stop,on,off weconnect/vehicles/WVWZZZED4RE509053/controls/climatisation_writetopic\
clima:start,stop,on,off weconnect/vehicles/WVWxxxxxxxxxxxxxxx/controls/climatisation_writetopic\
clima_atUnlock:True,False weconnect/vehicles/WVWZZZED4RE509053/domains/climatisation/climatisationSettings/climatizationAtUnlock_writetopic\
clima_atUnlock:True,False weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/climatisationSettings/climatizationAtUnlock_writetopic\
clima_temperature:slider,20,1,25 weconnect/vehicles/WVWZZZED4RE509053/domains/climatisation/climatisationSettings/targetTemperature_C_writetopic\
clima_temperature:slider,20,1,25 weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/climatisationSettings/targetTemperature_C_writetopic\
clima_windowheat:True,False weconnect/vehicles/WVWZZZED4RE509053/domains/climatisation/climatisationSettings/windowHeatingEnabled_writetopic\
clima_windowheat:True,False weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/climatisationSettings/windowHeatingEnabled_writetopic\
clima_frontleft:True,False weconnect/vehicles/WVWZZZED4RE509053/domains/climatisation/climatisationSettings/zoneFrontLeftEnabled_writetopic\
clima_frontleft:True,False weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/climatisationSettings/zoneFrontLeftEnabled_writetopic\
clima_frontright:True,False weconnect/vehicles/WVWZZZED4RE509053/domains/climatisation/climatisationSettings/zoneFrontRightEnabled_writetopic\
clima_frontright:True,False weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/climatisationSettings/zoneFrontRightEnabled_writetopic\
SOC_target:slider,50,10,100 weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingSettings/targetSOC_pct_writetopic\
SOC_target:slider,50,10,100 weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/targetSOC_pct_writetopic\
charge_current:maximum,reduced weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingSettings/maxChargeCurrentAC_writetopic\
charge_current:maximum,reduced weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/maxChargeCurrentAC_writetopic\
charge_autoUnlock:on,off weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingSettings/autoUnlockPlugWhenCharged_writetopic\
charge_autoUnlock:on,off weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/autoUnlockPlugWhenCharged_writetopic\
charge_AC_autoUnlock:on,off weconnect/vehicles/WVWZZZED4RE509053/domains/charging/chargingSettings/autoUnlockPlugWhenChargedAC_writetopic\
charge_AC_autoUnlock:on,off weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/autoUnlockPlugWhenChargedAC_writetopic\


attr ID7 sortby 2
attr ID7 sortby 2
Zeile 179: Zeile 216:
parking_location:parking_latitude.* {my $lat=ReadingsVal("ID7","parking_latitude",0);;\
parking_location:parking_latitude.* {my $lat=ReadingsVal("ID7","parking_latitude",0);;\
   my $lon=ReadingsVal("ID7","parking_longitude",0);;\
   my $lon=ReadingsVal("ID7","parking_longitude",0);;\
   return ((sqrt(($lon-8.51527)**2+($lat-49.06611)**2)<=0.01)?"Home":"unknown")\
   return ((sqrt(($lon-0.00)**2+($lat-0.00)**2)<=0.01)?"Home":"unknown")\
}
}
</pre>
</div>
</div>


</pre>
==Offene Fragen==
* Eine Schwierigkeit besteht darin, dass die Daten des Fahrzeuges nur teilweise zur Verfügung stehen, wenn ein anderer Benutzer im Fahrzeug angemeldet ist. Till Steinbach, der Autor des Python-Servers, steht auf dem Standpunkt, dass ein automatischer Benutzerwechsel im Python-Server nicht nötig ist und sieht die Verantwortung dafür bei Volkswagen.
[[Kategorie:Elektromobilität]]

Aktuelle Version vom 11. August 2024, 10:34 Uhr

Dr VW ID.7 ist ein batterieelektrisches Fahrzeug (BEV) mit semipermanenter Anbindung an die Server von Volkswagen connect.

Anbindung via MQTT

Mit einem relativ kompakten Code von Till Steinbach kann man die Fahrzeugdaten von VW connect abfragen und als MQTT-Nachricht an FHEM senden.

Python-Server

Zur Installation sei auf die Anleitung von Till Steinbach verwiesen, sie den obigen Link. In Kürze:

  • Python 3.8 muss installiert sein
  • weconnect-mqtt installieren mit
pip3 install weconnect-mqtt
  • Zum Ausprobieren den Server starten über die Kommandozeile
/usr/bin/python3 -m weconnect_mqtt --username <username> --password <passwort> --mqttbroker <IP-Adresse des FHEM MQTT-Servers> --prefix weconnect --pictures --picture-format png --convert-times Europe/Berlin --no-capabilities

Damit das Programm beim Neustart des Betriebssystems ebenfalls startet, muss es als Service registriert werden. Dazu bitte eine Datei /etc/systemd/system/weconnect-mqtt.service anlegen mit dem Inhalt

[Unit]
Description=WeConnect-mqtt
After=network-online.target

[Service]
Type=simple
# change the username and commandline parameters here:
User=fhem
ExecStart=/usr/bin/python3 -m weconnect_mqtt --username <username> --password <passwort> --mqttbroker <IP-Adresse des FHEM MQTT-Servers> --prefix weconnect --pictures --picture-format png --convert-times Europe/Berlin --no-capabilities

[Install]
WantedBy=multi-user.target

Diesen Service mit

systemctl start weconnect-mqtt

manuell starten bzw. mit

systemctl enable weconnect-mqtt

den automatischen Start beim Systemstart einrichten.

FHEM-Device

Der ID7 ist ziemlich gesprächig, man muss sich daher genau überlegen, welche Daten man wirklich benötigt. Zum Ausprobieren folgender Vorschlag

Code:
defmod ID7 MQTT2_DEVICE MQTTBridge
attr ID7 autocreate 0
attr ID7 babbleName ID7
attr ID7 devStateIcon charging_car.*:ev_car@darkorange finished_car.*:ev_car@green .*_car:ev_car@black
attr ID7 devicetopic weconnect
attr ID7 group energyControl
attr ID7 readingList MQTTBridge:weconnect/mqtt/weconnectConnected:.* connected\
MQTTBridge:weconnect/mqtt/weconnectUpdated:.* connection_updated\
MQTTBridge:weconnect/mqtt/weconnectUpdateInterval_s:.* interval\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/readiness/readinessStatus/connectionState/isOnline:.* isOnline\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/readiness/readinessStatus/connectionState/isActive:.* connection_isActive\
MQTTBridge:weconnect/mqtt/error/code:.* mqtt_error_code\
MQTTBridge:weconnect/mqtt/error/message:.* mqtt_error_message\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/controls/wakeup:.* wakeup\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/.*pictures:.* { json2nameValue($EVENT, '', $JSONMAP) }\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation:.* { json2nameValue($EVENT, '', $JSONMAP) }\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/maxChargeCurrentAC:.* charge_current\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/overallStatus:.* door_security\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/doorLockStatus:.* door_lock_status\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/doors/frontLeft/lockState:.* door_FL_ls\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/doors/frontLeft/openState:.* door_FL\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/windows/frontRight/openState:.* door_FR\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/doors/frontRight/lockState:.* door_FR_ls\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/doors/rearRight/lockState:.* door_RR_ls\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/doors/rearLeft/lockState:.* door_RL_ls\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/doors/trunk/lockState:.* trunk_ls\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/doors/trunk/openState:.* trunk\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/windows/frontLeft/openState:.* window_FL\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/windows/frontRight/openState:.* window_FR\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/windows/rearLeft/openState:.* window_RL\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/access/accessStatus/windows/rearRight/openState:.* window_RR\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/parking/parkingPosition/latitude:.* parking_latitude\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/parking/parkingPosition/longitude:.* parking_longitude\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/batteryStatus/currentSOC_pct:.* SOC\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/measurements/fuelLevelStatus/currentSOC_pct:.* SOC\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/fuelStatus/rangeStatus/primaryEngine/currentSOC_pct:.* SOC\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/targetSOC_pct:.* SOC_target\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/chargingProfiles/nextChargingTimer/targetSOCreachable:.* SOC_reachable\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/chargingProfiles/chargingProfilesStatus/nextChargingTimer/targetSOCreachable:.* SOC_reachable\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/measurements/temperatureBatteryStatus/temperatureHvBatteryMin_K:.* battery_tempMin\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/measurements/temperatureBatteryStatus/temperatureHvBatteryMax_K:.* battery_tempMax\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/batteryChargingCare/chargingCareSettings/batteryCareMode:.* battery_careMode\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/batterySupport/batterySupportStatus/batterySupport:.* battery_Support\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/batterySupport/batterySupportStatus/error/message:.* batttery_error_message\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/batterySupport/batterySupportStatus/error:.* batttery_error\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/request:.* charge_request\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/chargingProfiles/profiles/1/maxChargingCurrent:.* charge_current\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/autoUnlockPlugWhenCharged:.* charge_autoUnlock\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/autoUnlockPlugWhenChargedAC:.* charge_AC_autoUnlock\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingStatus/chargeMode:.* charge_mode\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingStatus/chargePower_kW:.* charge_power\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingStatus/chargeRate_kmph:.* charge_rate\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingStatus/chargeType:.* charge_type\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingStatus/chargingSettings:.* charge_settings\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingStatus/chargingState:.* charge_state\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingStatus/remainingChargingTimeToComplete_min:.* charge_timeremain\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/plugStatus/externalPower:.* charge_plugpower\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/plugStatus/ledColor:.* charge_plugcolor\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/plugStatus/plugConnectionState:.* charge_plugstate\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/plugStatus/plugLockState:.* charge_plugls\
\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/measurements/rangeStatus/totalRange_km:.* range\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/measurements/rangeStatus/electricRange:.* range\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/batteryStatus/cruisingRangeElectric_km:.* range\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/fuelStatus/rangeStatus/primaryEngine/remainingRange_km:.* range\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/fuelStatus/rangeStatus/totalRange_km:.* range\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/measurements/odometerStatus/odometer:.* odometer\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/vehicleHealth.*/mileage_km:.* odometer\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/climatisationTimer/timers/1/enabled:.* timers_1_enabled\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/climatisationTimer/timers/2/enabled:.* timers_2_enabled\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/chargingProfiles/profiles/1/preferredChargingTimes/None/id:.* chargeTimer_id\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/chargingProfiles/profiles/1/preferredChargingTimes/4/enabled:.* chargeTimer_4_enabled\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/chargingProfiles/profiles/1/preferredChargingTimes/4/startTime:.* chargeTimer_4_startTime\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/chargingProfiles/profiles/1/preferredChargingTimes/4/endTime:.* chargeTimer_4_endTime\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/chargingProfiles/chargingProfilesStatus/profiles/1/preferredChargingTimes/None/id:.* chargeTimer_id\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/chargingProfiles/chargingProfilesStatus/profiles/1/preferredChargingTimes/4/enabled:.* chargeTimer_4_enabled\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/chargingProfiles/chargingProfilesStatus/profiles/1/preferredChargingTimes/4/startTime:.* chargeTimer_4_startTime\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/chargingProfiles/chargingProfilesStatus/profiles/1/preferredChargingTimes/4/endTime:.* chargeTimer_4_endTime\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/climatisationStatus/climatisationState:.* clima_state\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/windowHeatingStatus/windows/front/windowHeatingState:.* clima_window_F\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/windowHeatingStatus/windows/rear/windowHeatingState:.* clima_window_R\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/climatisationSettings/climatizationAtUnlock:.* clima_atUnlock\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/climatisationSettings/targetTemperature_C:.* clima_temperature\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisationTimers/climatisationTimersStatus/timers/1/enabled:.* timers_1_enabled\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisationTimers/climatisationTimersStatus/timers/2/enabled:.* timers_2_enabled\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/chargingProfiles/profiles/1/preferredChargingTimes/4/id:.* chargeTimer_4_id\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/chargingProfiles/chargingProfilesStatus/profiles/1/preferredChargingTimes/4/id:.* chargeTimer_4_id\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/chargingProfiles/profiles/1/preferredChargingTimes/4:.* chargeTimer_4\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/chargingProfiles/chargingProfilesStatus/profiles/1/preferredChargingTimes/4:.* chargeTimer_4\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/automation/chargingProfiles/nextChargingTimer:.* chargeTimer_next\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/chargingProfiles/chargingProfilesStatus/nextChargingTimer:.* chargeTimer_next\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/coUsers/0:.* coUsers_0\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/coUsers/0/id:.* coUsers_0_id\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/coUsers/0/role:.* coUsers_0_role\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/coUsers/0/roleReseted:.* coUsers_0_roleReseted\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/coUsers/0/enrollmentStatus:.* coUsers_0_enrollmentStatus\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/.*/webApp/status:.* status_app\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/.*/predictiveWakeUp/status:.* status_wakeup\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/.*/roadExperienceManagementLocalization/status:.* status_roadex\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/vehicleHealthInspection/maintenanceStatus/inspectionDue_days:.* maintenance_due\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/vehicleHealthInspection/maintenanceStatus/error/message:.* maintenance_eror_message\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/vehicleHealthInspection/maintenanceStatus/error:.* maintenanance_error\
\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/request/6e1647f9-a0aa-4896-80bf-b9ec44c89e6a/status:.* 6e1647f9_status\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/request/6e1647f9-a0aa-4896-80bf-b9ec44c89e6a/operation:.* 6e1647f9_operation\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/request/6e1647f9-a0aa-4896-80bf-b9ec44c89e6a/body:.* 6e1647f9_body\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/request/6e1647f9-a0aa-4896-80bf-b9ec44c89e6a/requestId:.* 6e1647f9_charge_requestId\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/request/6e1647f9-a0aa-4896-80bf-b9ec44c89e6a/vcfRequestId:.* 6e1647f9_charge_vcfRequestId\
MQTTBridge:weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/request/6e1647f9-a0aa-4896-80bf-b9ec44c89e6a:.* 6e1647f9_else\
\

attr ID7 setList update:noArg weconnect/mqtt/weconnectForceUpdate_writetopic True\
interval:60,300 weconnect/mqtt/weconnectUpdateInterval_s_writetopic\
battery_careMode:activated,deactivated weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/batteryChargingCare/chargingCareSettings/batteryCareMode_writetopic\
clima:start,stop,on,off weconnect/vehicles/WVWxxxxxxxxxxxxxxx/controls/climatisation_writetopic\
clima_atUnlock:True,False weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/climatisationSettings/climatizationAtUnlock_writetopic\
clima_temperature:slider,20,1,25 weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/climatisationSettings/targetTemperature_C_writetopic\
clima_windowheat:True,False weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/climatisationSettings/windowHeatingEnabled_writetopic\
clima_frontleft:True,False weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/climatisationSettings/zoneFrontLeftEnabled_writetopic\
clima_frontright:True,False weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/climatisation/climatisationSettings/zoneFrontRightEnabled_writetopic\
SOC_target:slider,50,10,100 weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/targetSOC_pct_writetopic\
charge_current:maximum,reduced weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/maxChargeCurrentAC_writetopic\
charge_autoUnlock:on,off weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/autoUnlockPlugWhenCharged_writetopic\
charge_AC_autoUnlock:on,off weconnect/vehicles/WVWxxxxxxxxxxxxxxx/domains/charging/chargingSettings/autoUnlockPlugWhenChargedAC_writetopic\

attr ID7 sortby 2
attr ID7 stateFormat {my $soc=ReadingsVal("ID7","SOC",0);;\
  my $ran=ReadingsVal("ID7","range",0);;\
  my $cst=ReadingsVal("ID7","charge_state","");;\
  my $ret;;\
  if( $cst eq "charging"){\
    $ret=sprintf("<p align=\"left\">\n%s_car\n<br/>%d %% (%d km)",$cst,$soc,$ran);;\
    my $cp=ReadingsVal("ID7","charge_power",0);;\
    my $tr=ReadingsVal("ID7","charge_timeremain",0);;\
    $ret.=sprintf("\n<br>charging %.1f kW, %d min",$cp,$tr)\
  }elsif( $cst eq "notReadyForCharging" ){\
   $ret=sprintf("<p align=\"left\">\n%s_car\n<br/>%d %% (%d km)",$cst,$soc,$ran);;\
  }elsif( $cst eq "chargePurposeReachedAndNotConservationCharging"){\
    $ret=sprintf("<p align=\"left\">\nfinished_car\n<br/>%d %% (%d km)",$soc,$ran);;\
    my $ce=ReadingsVal("Wally","energy_today",0);;\
    $ret.=sprintf("\n<br>acquired %.1f kWh",$ce)\
  }\
  $ret.="\n</p>";;\
  return $ret;;\
}
attr ID7 userReadings message:SOC.* {my $soc=ReadingsVal("ID7","SOC",0);;\
  my $ran=ReadingsVal("ID7","range",0);;\
  my $cst=ReadingsVal("ID7","charge_state","");;\
  my $ret=sprintf("Der ID7 hat %d %% Batterieladung, das reicht für %d Kilometer",$soc,$ran);;\
  if( $cst eq "charging"){\
    my $cp=ReadingsVal("ID7","charge_power",0);;\
    my $tr=ReadingsVal("ID7","charge_timeremain",0);;\
    $ret.=sprintf(", geladen wird noch %d Minuten mit %.1f Kilowatt.",$tr,$cp)\
  }\
  return $ret;;\
},\
parking_location:parking_latitude.* {my $lat=ReadingsVal("ID7","parking_latitude",0);;\
  my $lon=ReadingsVal("ID7","parking_longitude",0);;\
  return ((sqrt(($lon-0.00)**2+($lat-0.00)**2)<=0.01)?"Home":"unknown")\
}

Offene Fragen

  • Eine Schwierigkeit besteht darin, dass die Daten des Fahrzeuges nur teilweise zur Verfügung stehen, wenn ein anderer Benutzer im Fahrzeug angemeldet ist. Till Steinbach, der Autor des Python-Servers, steht auf dem Standpunkt, dass ein automatischer Benutzerwechsel im Python-Server nicht nötig ist und sieht die Verantwortung dafür bei Volkswagen.