Carnet - Homebridge: Wie kriegt man die KFZ-Infos ins Homekit?

Begonnen von bgewehr, 21 Januar 2018, 13:05:24

Vorheriges Thema - Nächstes Thema

msome

@ReneR1986, bei mir läuft es jetzt mit Autocreate eines Devices und auch die Readings sind verfügbar.
Ich bin jetzt allerdings auf einen MQTT2_SERVER umgestiegen da meine Mosquitto Verbindung ständig disconnects hatte.
Mit MQTT2_SERVER wollte der Autocreate partout kein Device erstellen.

Nachdem ich dann rausbekommen hatte dass weconnect-mqtt scheinbar per Default keine ClientID oder Prefix übermittelt,
konnte ich über die zusätzlichen Startup-Parameter    --prefix tswc --mqttclientid tswcc        diese definieren.
Sofort wurde das MQTT2_DEVICE angelegt und die Readings eingetragen.

Falls du auch Docker-compose verwendest, einfach im yml file die zusätzlichen Parameter im ADDITONAL_PARAMETERS angeben.

Bei mir sieht es so aus:
ADDITIONAL_PARAMETERS=--no-capabilities --prefix tswc --mqttclientid tswcc
FHEM auf ODROID-C4 & FHEM auf Raspberry 3B+
IO: HMUARTLGW (wired), Velux KLF200, DuoFernStick, DeConz, HMUSB-2, JeeLink, ModBus, RS232, WiFi,
Geräte: so ziemlich alles was es an Geräten von HM gibt, PCA301, SDM630M, Hue Lampen & Steckdosen

ReneR1986

#61
Das hört sich gut, probiere ich mal aus.

Grundsätzlich hat es bei mir schon funktioniert aber ich habe es eben nicht hinbekommen alle Topics in die Readings per Wildcard zu bekommen.
Werden beim Autocreate vom MQTT2_DEVICE automatisch alle Topics abonniert und in die Readings gepackt?

msome

Er hat automatisch diese hier angelegt...


carCapturedTimestamp 2021-07-31 14:50:14+00:00
carType electric
chargeMode invalid
charging none
chargingState off
climatisationState off
climatisationWithoutExternalPower True
climatization none
coUsers_0_enrollmentStatus NOT_STARTED
coUsers_0_id uuid
coUsers_0_role SECONDARY_USER
coUsers_0_roleReseted False
code
cruisingRangeElectric_km 116
currentSOC_pct 50
enrollmentStatus COMPLETED
group
images {}
info
latitude 47.110000
lockState locked
longitude 08.150000
maxChargeCurrentAC maximum
message
model e-up!
nickname my e-up!
openState closed
overallStatus safe
plugConnectionState disconnected
plugLockState locked
remainingChargingTimeToComplete_min 10
remainingClimatisationTime_min 0
remainingRange_km 116
retry
role PRIMARY_USER
status off
targetTemperature_C 15.5
targetTemperature_K 288.5
totalRange_km 116
type electric
vin WVWirgendeineVIN!
weconnectConnected True
weconnectForceUpdate False
weconnectUpdateInterval_s 300
weconnectUpdated 2021-07-31T21:06:34+00:00
windowHeatingState off


Aber dadurch dass die komplexen Pfade auf das letzte Element eingedampft werden, kollidieren viele Elemente wie z.B. die Türstati.

Das Gute ist, in der ReadingList werden alle automatisch aufgelistet, daher ist eine Korrektur auf das gewünschte Zielreading sehr einfach, z.B.


Autocreated:
tswcc:tswc/vehicles/WVWirgendeineVIN!/status/accessStatus/doors/rearLeft/openState:.* openState
tswcc:tswc/vehicles/WVWirgendeineVIN!/status/accessStatus/doors/rearRight/openState:.* openState
tswcc:tswc/vehicles/WVWirgendeineVIN!/status/accessStatus/doors/trunk/openState:.* openState
...
-->
Angepasst:
tswcc:tswc/vehicles/WVWirgendeineVIN!/status/accessStatus/doors/rearLeft/openState:.* doorOpenStateRL
tswcc:tswc/vehicles/WVWirgendeineVIN!/status/accessStatus/doors/rearRight/openState:.* doorOpenStateRR
tswcc:tswc/vehicles/WVWirgendeineVIN!/status/accessStatus/doors/trunk/openState:.* doorOpenStateTR
...

FHEM auf ODROID-C4 & FHEM auf Raspberry 3B+
IO: HMUARTLGW (wired), Velux KLF200, DuoFernStick, DeConz, HMUSB-2, JeeLink, ModBus, RS232, WiFi,
Geräte: so ziemlich alles was es an Geräten von HM gibt, PCA301, SDM630M, Hue Lampen & Steckdosen

kjmEjfu

#63
Das WeConnect-mqtt ist zum Abrufen der Daten ja ziemlich cool und zuverlässig, aber Steuern kann ich damit gar nichts, oder? Mir ginge es primär um die Klimatisierung, die per App außerordentlich unzuverlässig ist.

Update: ok, es geht mit

attr vw_e_up setList Klimatisierung:Start,Stopp { my %h=('Start'=>'start','Stopp'=>'stop');;qq($DEVICETOPIC/controls/climatization $h{$EVTPART1}) }

Dauert aber sogar noch länger als mit der App bis beim Up angekommen ist. Hängt vielleicht mit dem 300 Sekunden Intervall von WeConnect-mqtt zusammen.
Migriere derzeit zu Home Assistant

SimonHipp

Zitat von: msome am 31 Juli 2021, 23:18:43
Er hat automatisch diese hier angelegt...


carCapturedTimestamp 2021-07-31 14:50:14+00:00
carType electric
chargeMode invalid
charging none
chargingState off
climatisationState off
climatisationWithoutExternalPower True
climatization none
coUsers_0_enrollmentStatus NOT_STARTED
coUsers_0_id uuid
coUsers_0_role SECONDARY_USER
coUsers_0_roleReseted False
code
cruisingRangeElectric_km 116
currentSOC_pct 50
enrollmentStatus COMPLETED
group
images {}
info
latitude 47.110000
lockState locked
longitude 08.150000
maxChargeCurrentAC maximum
message
model e-up!
nickname my e-up!
openState closed
overallStatus safe
plugConnectionState disconnected
plugLockState locked
remainingChargingTimeToComplete_min 10
remainingClimatisationTime_min 0
remainingRange_km 116
retry
role PRIMARY_USER
status off
targetTemperature_C 15.5
targetTemperature_K 288.5
totalRange_km 116
type electric
vin WVWirgendeineVIN!
weconnectConnected True
weconnectForceUpdate False
weconnectUpdateInterval_s 300
weconnectUpdated 2021-07-31T21:06:34+00:00
windowHeatingState off


Aber dadurch dass die komplexen Pfade auf das letzte Element eingedampft werden, kollidieren viele Elemente wie z.B. die Türstati.

Das Gute ist, in der ReadingList werden alle automatisch aufgelistet, daher ist eine Korrektur auf das gewünschte Zielreading sehr einfach, z.B.


Autocreated:
tswcc:tswc/vehicles/WVWirgendeineVIN!/status/accessStatus/doors/rearLeft/openState:.* openState
tswcc:tswc/vehicles/WVWirgendeineVIN!/status/accessStatus/doors/rearRight/openState:.* openState
tswcc:tswc/vehicles/WVWirgendeineVIN!/status/accessStatus/doors/trunk/openState:.* openState
...
-->
Angepasst:
tswcc:tswc/vehicles/WVWirgendeineVIN!/status/accessStatus/doors/rearLeft/openState:.* doorOpenStateRL
tswcc:tswc/vehicles/WVWirgendeineVIN!/status/accessStatus/doors/rearRight/openState:.* doorOpenStateRR
tswcc:tswc/vehicles/WVWirgendeineVIN!/status/accessStatus/doors/trunk/openState:.* doorOpenStateTR
...


Hi, ich habe das gleiche Problem, woher hast du die angepassten "Variablen"?
Ich habe das Problem, das er spordisch einfach keine Werte mehr per MQTT übermittelt und ich dann den Dienst restarten muss.
FHEM 6.0 auf AMD Ryzen 5 MICRO PC (NUC) mit VDSL 100/40Mbit/s

msome

@SimonHipp

ich versuche mal dich mit zwei Bildern vom Schlauch (vgl. github Diskussion) runterzubringen ;-)

Die Anpassung der Zuordnung habe ich händisch gemacht.

Wenn du im Attribut readingList die einzelnen Zeilen durchgehst sieht man die Kollisionen.

Im MQTT Device legt FHEM bei mir die Readings-Namen als Inhalt des "letztes Segment des MQTT Topics" an,
d.h. blabla-langer-Pfad-openState und
       blablablubb-anderer-langer-Pfad-openState
werden beide auf das gleiche Attribut "openState" gemappt.

Ich habe im Bild im Anhang mal versucht Beispiele dafür zu geben wie die Kollision aussieht & im zweiten wie ich sie aufgelöst habe.

Ich habe leider auch keine komplette Auflösung, da ich nur wenige Readings nutze; daher kollidieren immer noch viele davon - ist mir aber egal....

Gruß, Matthias
FHEM auf ODROID-C4 & FHEM auf Raspberry 3B+
IO: HMUARTLGW (wired), Velux KLF200, DuoFernStick, DeConz, HMUSB-2, JeeLink, ModBus, RS232, WiFi,
Geräte: so ziemlich alles was es an Geräten von HM gibt, PCA301, SDM630M, Hue Lampen & Steckdosen

SimonHipp

Zitat von: msome am 07 Januar 2022, 09:21:32
@SimonHipp

ich versuche mal dich mit zwei Bildern vom Schlauch (vgl. github Diskussion) runterzubringen ;-)

Die Anpassung der Zuordnung habe ich händisch gemacht.

Wenn du im Attribut readingList die einzelnen Zeilen durchgehst sieht man die Kollisionen.

Im MQTT Device legt FHEM bei mir die Readings-Namen als Inhalt des "letztes Segment des MQTT Topics" an,
d.h. blabla-langer-Pfad-openState und
       blablablubb-anderer-langer-Pfad-openState
werden beide auf das gleiche Attribut "openState" gemappt.

Ich habe im Bild im Anhang mal versucht Beispiele dafür zu geben wie die Kollision aussieht & im zweiten wie ich sie aufgelöst habe.

Ich habe leider auch keine komplette Auflösung, da ich nur wenige Readings nutze; daher kollidieren immer noch viele davon - ist mir aber egal....

Gruß, Matthias
DANKE ich habs jetzt geblickt und wie ich es benötigte angepasst.
Jetzt schauen wir mal ob es heute Nacht und morgen auch noch alles so super läuft.

Grüße
Simon
FHEM 6.0 auf AMD Ryzen 5 MICRO PC (NUC) mit VDSL 100/40Mbit/s

Nighthawk

Hallo zusammen,

ich habe seit heute leider das Problem dass weconnect-mqtt nicht mehr fehlerfrei starten will.

Es kommt immer die Fehlermeldung:
2022-01-28T15:29:31+0100:CRITICAL:weconnect_mqtt_base:There was a problem when communicating with WeConnect.  If this problem persists please open a bug report: No credentials form found
Traceback (most recent call last):
  File "/opt/fhem/.local/bin/weconnect-mqtt", line 8, in <module>
    sys.exit(main())
  File "/opt/fhem/.local/lib/python3.9/site-packages/weconnect_mqtt/weconnect_mqtt_base.py", line 252, in main
    mqttCLient.disconnect()
  File "/opt/fhem/.local/lib/python3.9/site-packages/weconnect_mqtt/weconnect_mqtt_base.py", line 278, in disconnect
    disconectPublish.wait_for_publish()
  File "/opt/fhem/.local/lib/python3.9/site-packages/paho/mqtt/client.py", line 362, in wait_for_publish
    raise RuntimeError('Message publish failed: %s' % (error_string(self.rc)))
RuntimeError: Message publish failed: The client is not currently connected.


Kennt das jemand und hat evtl. eine Lösung parat?

msome

Zitat von: Nighthawk am 28 Januar 2022, 15:40:56
No credentials form found
Ich hab die gleiche Fehlermeldung mit der aktuellen Version:

2022-01-28T16:45:27+0100:CRITICAL:There was a problem when communicating with WeConnect. If this problem persists please open a bug report: No credentials form found

Scheint aber wirklich nur am Login zu liegen - meine seit Tagen immer noch verbundene Instanz bekommt weiter Daten geliefert.

Ich warte erstmal ab. Das VW Portal ist ja immer mal wieder ein paar Stunden offline oder liefert sinnfreie Daten aus.
Wenn es sich die nächsten Tage nicht behebt, bleibt wohl nur, ein Ticket in Github zu öffnen und auf einen Fix zu warten.
FHEM auf ODROID-C4 & FHEM auf Raspberry 3B+
IO: HMUARTLGW (wired), Velux KLF200, DuoFernStick, DeConz, HMUSB-2, JeeLink, ModBus, RS232, WiFi,
Geräte: so ziemlich alles was es an Geräten von HM gibt, PCA301, SDM630M, Hue Lampen & Steckdosen

kjmEjfu

Mit weconnect-cli gibt es keine Fehlermeldung, was irgendwie seltsam ist.
Migriere derzeit zu Home Assistant

msome

Es gab gestern noch ein Update welches den Fehler behebt.
FHEM auf ODROID-C4 & FHEM auf Raspberry 3B+
IO: HMUARTLGW (wired), Velux KLF200, DuoFernStick, DeConz, HMUSB-2, JeeLink, ModBus, RS232, WiFi,
Geräte: so ziemlich alles was es an Geräten von HM gibt, PCA301, SDM630M, Hue Lampen & Steckdosen

kjmEjfu

Jup. Allerdings haben sich (irgendwann zwischendurch) die Pfade der Topics geändert.
Migriere derzeit zu Home Assistant

msome

Ja, den Umstieg hab ich auch noch vor mir, läuft bisher nur auf dem Testsystem.
Es gibt aber jetzt eine FHEM Definition als Template:

https://github.com/tillsteinbach/WeConnect-mqtt/wiki/FHEM-examples
FHEM auf ODROID-C4 & FHEM auf Raspberry 3B+
IO: HMUARTLGW (wired), Velux KLF200, DuoFernStick, DeConz, HMUSB-2, JeeLink, ModBus, RS232, WiFi,
Geräte: so ziemlich alles was es an Geräten von HM gibt, PCA301, SDM630M, Hue Lampen & Steckdosen

Nighthawk

Danke für den Wink, habe gerade upgedatet und es läuft wieder.

Die Regex Definition ist top, danke für den Link, verkürzt meine Definition um das 10fache :-)

ReneR1986

Hallo zusammen,

ich bekomme nach einiger Zeit keine Updates mehr. Ich nutze weConnect (und auch FHEM) mit Docker und den MQTT2_SERVER + MQTT2_DEVICE.
Nur wenn ich den weConnect Container neu starte, kommen wieder Daten an.
Auf weConnect Seite konnte ich bisher keine Fehler in den Logs feststellen.

Welche Möglichkeiten habe ich auf FHEM Seite, um zu prüfen, ob hier etwas nicht stimmt?
In den Logs konnte ich bisher hier auch nichts feststellen.

VG