Lademenge abhängig von Geofence mit Bedingungen

Begonnen von Dracolein, 01 Februar 2025, 06:59:23

Vorheriges Thema - Nächstes Thema

Dracolein

Hallo zusammen,
anbei meine grundsätzlich funktionierende Lösung, um die geladene Menge meines Elektroautos an einer bestimmten Ladesäule zu loggen. Dabei wird der Status des E-Autos genutzt, kombiniert mit dem GeoFence.

Besonderheit:
Ich musste eine Art Flankenabfrage bauen, um festzustellen, wann die Ladung abgeschlossen ist, sprich wenn das KFZ von "Charging" zu "Online" wechselt, wird dies hier erkannt und folglich ein zuvor aufaddiertes Reading abgespeichert.
Das aufaddierte Reading wird erst auf Null gesetzt, wenn das Kabel einmal getrennt wird.
Soweit, so gut.

Mein Problem:
Wenn ich nach Abschluss des Ladevorgangs nicht ungefähr innerhalb 60 Minuten das Fahrzeug physisch abstecke, wird ca. stündlich eine winzige Menge nachgeladen ( ca. 0,2 kWh). Dies führt zu unerwünschtem Verhalten dieses DOIF, da dann stündlich neue Logeinträge erzeugt werden, was ich vermeiden möchte.
Es wäre mir ausreichend, wenn z.B. nach erstmaligem Durchlauf von cmd1 (=> Ladung abgeschlossen!) eine Art Timer für 6-7 Std läuft, der nochmaligen Durchlauf verhindert.

Meine bisher einzige Idee ist es, zusätzliche Dummy-Devices zu bauen, dessen state bei erstmaligem Durchlauf bei cmd1 auf "1" gesetzt werden und dessen state ebenso in der Bedingung für cmd1 (prüfung auf wert = "0", --> wenn True --> dann hat cmd1 noch nicht durchgelaufen) eingefügt werden. Dies Dummy könnte ich dann zeitgesteuert mittels at am Abend wieder auf Null setzen oder sowas. Aber das geht sicher eleganter, oder?
Ich hoffe auf Eure Hilfe ,wie ich dieses DOIF entsprechend modifizieren kann.

defmod doif_Tesla_Geotag1_energy_check DOIF (
[MQTT2_TeslaMate:cars_1_geofence] eq "Geotag1" and
[MQTT2_TeslaMate:cars_1_state] eq "online" and
[MQTT2_TeslaMate:cars_1_state_old] eq "charging"
)
(set dummy_Tesla_Geotag1_energy_added [MQTT2_TeslaMate:cars_1_charge_energy_added])
(setreading MQTT2_TeslaMate cars_1_state_old online)
DOELSEIF
(
[MQTT2_TeslaMate:cars_1_geofence] eq "Geotag1" and
[MQTT2_TeslaMate:cars_1_state] eq "charging"
)
(setreading MQTT2_TeslaMate cars_1_state_old charging)
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;

Nobbynews

Zitat von: Dracolein am 01 Februar 2025, 06:59:23Meine bisher einzige Idee ist es, zusätzliche Dummy-Devices zu bauen, dessen state bei erstmaligem Durchlauf bei
Warum direkt ein Dummy?
Ein reading im DOIF oder im device des Autos reicht doch völlig aus.