Autor Thema: Volvo MQTT Anbindung  (Gelesen 1715 mal)

Offline AlphaKingOne

  • Jr. Member
  • **
  • Beiträge: 87
Volvo MQTT Anbindung
« am: 29 Januar 2021, 19:38:37 »
Hallo zusammen.
Ich hatte nach eine Volvo Fhem Anbindung im netzt gesucht aber leider nichts gefunden.
Deswegen hatte ich mir dann selbst was zusammen gestellt was ich euch gerne Vorstellen möchte.
Da dies bestimmt den ein oder anderen interessieren könnte.
Ich möchte auch gleich erwähnen dass ich auch nicht ein richtiger Profi in dem Bereich bin. Ich weiß dass man einiges besser machen kann oder so auch nicht machen sollte.
Ich bin da auch für Kritik offen und der Beitrag kann dann auch anderen helfen.

Als Basis hab ich dieses Gitub Programm genommen.
https://github.com/molobrakos/volvooncall
Worin ich meine Schwierigkeiten bei der Installation hatte war eine gescheite Anleitung zu finden wie man eine Aktuelle Python Version installiert. Am Ende bin ich auf diese Seite gestoßen https://maker-tutorials.com/python3-pip-raspberry-pi-installieren und es hat wirklich ohne Probleme funktioniert. Also erst mal Python und Pip installiert.
Dann
cd ~
git clone https://github.com/molobrakos/volvooncall.git
cd volvooncall
python setup.py install      # oder python3

jetzt kann man schon mit dem Befehl voc testen ob es funktioniert.


Also in Normalfall führt man nano ~/.voc.conf aus und füllt die Datei folgendermaßen aus

mqtt_url: mqtt:@172.0.0.1
username: XXXXX@XXXX.de
password: XXXXXX

jetzt kann man das Ganze mit voc mqtt starten. Vorausgesetzt mosquitto ist schon installiert.

Jetzt komm ich zu einem Teil wo ich weiß dass es einfacher geht, aber ich und Linux rechte. Damit muss ich mich auch mal beschäftigen  ;D

Wenn man das ganze so einrichtet das man über User Fhem es ausführen kann ist das natürlich top. Ich wusste es nicht.

Deswegen hab ich dann sudo su eingegeben und dann nano ~/.voc.conf und dort die Config reingeschrieben.

Jetzt in Fhem
define Volvo_MQTT dummy
attr Volvo_MQTT setList active
define VOC_MQTT_Status notify
Volvo_MQTT:active "sudo voc mqtt"    # sudo wenn die Config unter root läuft

Jetzt kann der Befhel über den Dummy gestartet werden. Wenn jemand weiß wie man den Prozess aus Fhem wieder beendet kann er dies mir gern mitteilen.

define n_global_INITIALIZED notify
global:INITIALIZED\
set Volvo_MQTT active

Und so wird es beim Start von Fhem automatisch ausgeführt

define Volvo_Status MQTT_DEVICE
attr Volvo_Status DbLogInclude .*
attr Volvo_Status IODev myBroker
attr Volvo_Status event-on-change-reading .*
attr Volvo_Status icon hue_room_driveway
attr Volvo_Status room Volvo
attr Volvo_Status subscribeReading_Alle_Fenster volvo/KENZEICHEN/binary_sensor/any_window_open/state
attr Volvo_Status subscribeReading_Alle_Tueren volvo/KENZEICHEN/binary_sensor/any_door_open/state
attr Volvo_Status subscribeReading_Bremsfluessigkeit volvo/KENZEICHEN/binary_sensor/brake_fluid/state
attr Volvo_Status subscribeReading_Durchschnitsgeschwindigkeit volvo/KENZEICHEN/sensor/average_speed/state
attr Volvo_Status subscribeReading_Durchschnitsverbrauch volvo/KENZEICHEN/sensor/average_fuel_consumption/state
attr Volvo_Status subscribeReading_Geo owntracks/volvo/KENZEICHEN
attr Volvo_Status subscribeReading_KilometerZaehler_1 volvo/KENZEICHEN/sensor/trip_meter1/state
attr Volvo_Status subscribeReading_KilometerZaehler_2 volvo/KENZEICHEN/sensor/trip_meter2/state
attr Volvo_Status subscribeReading_Lampen volvo/KENZEICHEN/binary_sensor/bulb_failures/state
attr Volvo_Status subscribeReading_Motor_Status volvo/KENZEICHEN/binary_sensor/is_engine_running/state
attr Volvo_Status subscribeReading_ODO_Meter volvo/KENZEICHEN/sensor/odometer/state
attr Volvo_Status subscribeReading_Reichweite volvo/KENZEICHEN/sensor/distance_to_empty/state
attr Volvo_Status subscribeReading_Reifen_Hinten_Links volvo/KENZEICHEN/binary_sensor/tyre_pressure_rear_left_tyre_pressure/state
attr Volvo_Status subscribeReading_Reifen_Hinten_Rechts volvo/KENZEICHEN/binary_sensor/tyre_pressure_rear_right_tyre_pressure/state
attr Volvo_Status subscribeReading_Reifen_Vorne_Links volvo/KENZEICHEN/binary_sensor/tyre_pressure_front_left_tyre_pressure/state
attr Volvo_Status subscribeReading_Reifen_Vorne_Rechts volvo/KENZEICHEN/binary_sensor/tyre_pressure_front_right_tyre_pressure/state
attr Volvo_Status subscribeReading_Scheiben_wisch_Wasser volvo/KENZEICHEN/binary_sensor/washer_fluid_level/state
attr Volvo_Status subscribeReading_Service_Warnung volvo/KENZEICHEN/binary_sensor/service_warning_status/state
attr Volvo_Status subscribeReading_Standheizung volvo/KENZEICHEN/switch/heater/state
attr Volvo_Status subscribeReading_Tank_Inhalt volvo/KENZEICHEN/sensor/fuel_amount_level/state
attr Volvo_Status subscribeReading_Tank_Inhalt_Litter volvo/KENZEICHEN/sensor/fuel_amount/state


KENZEICHEN dann bitte durch eures ersetzen

Ich hab dies vorwiegend gemacht um über Alexa die Standheizung zu Starten da mir die App von Volvo zulange fürs Login braucht und ich kein Fan von vorprogrammierten Zeiten bin.

Was ich mir hier vom Forum noch wünschen würde, wäre eine Erkennung ob das Auto zuhause steht.

Zurzeit sieht das Reading so aus. {"_type": "location", "tid": "volvo", "t": "p", "lat": 59.10093144479297, "lon": 8.969945185546875, "acc": 1, "tst": 1611939589, "now": 1611944401, "tst_iso": "2021-01-29T16:59:49+00:00"}
Ich weiß die Formatierung müsste man noch ändern. Wie weiß ich aber nicht wie ich sie am besten darstellen sollte so dass sie in Fhem verarbeitet werden kann. Und ob man überhaupt in Fhem ein „Home Bereich“ einrichten kann. Ich hätte da zwar eine Idee aber dazu müsste der Breiten und Längengrad in separate readings.  Und wenn jemand weiß ob und wie man die Außentemperatur noch mit loggen kann wäre das echt super.

Wie gesagt es ist keine Anleitung die man zu 100% übernehmen sollte. Aber es kann den ein oder anderem vielleicht weiterhelfen.
Raspberry B, B+, B v2 u. v3; DS18B20; MCP23017; CUL; ESP8266

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 18123
Antw:Volvo MQTT Anbindung
« Antwort #1 am: 30 Januar 2021, 10:38:20 »
Vermutlich ginge auch das Ding hier einfacher, wenn man MQTT2_DEVICE verwenden würde, dann kann auch die mosquitto-Installation entfallen und der System-Befehl in die readingList wandern.
Server: HP-T620@Debian 11, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Offline AlphaKingOne

  • Jr. Member
  • **
  • Beiträge: 87
Antw:Volvo MQTT Anbindung
« Antwort #2 am: 05 Februar 2021, 16:21:18 »
hab das mit den Koordinate doch noch selbst hinbekommen.

erst beim Device ein userReadings G_Breite {(split ",",((split ":",(ReadingsVal("$name","Geo","")))[1]))[0]},\
G_Laenge  {(split ",",((split ":",(ReadingsVal("$name","Geo","")))[2]))[0]}

und dann hab ich noch ein Doif angelegt der dann sagt das dass Auto zuhause steht

define Volvo_Zuhause_D DOIF (
[Volvo_Status:G_Breite:d] lt 51.85091 and [Volvo_Status:G_Breite:d] gt 51.83959
 and
[Volvo_Status:G_Laenge:d] lt 9.92052 and [Volvo_Status:G_Laenge:d] gt 9.91653)
 (setreading Volvo_Status Zuhause Ja)
  DOELSE
 (setreading Volvo_Status Zuhause Nein)
Raspberry B, B+, B v2 u. v3; DS18B20; MCP23017; CUL; ESP8266

Offline papa

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2015
Antw:Volvo MQTT Anbindung
« Antwort #3 am: 25 August 2021, 23:00:08 »
Man kann die Daten auch mit FHEM-Bord-Mitteln abrufen. Dazu kann das HTTPMOD verwendet werden.
define VolvoOnCall HTTPMOD https://USERNAME:PASSWORD@vocapi.wirelesscar.net/customerapi/rest/v3.0/vehicles/VIN/status 300
attr VolvoOnCall extractAllJSON 1
attr VolvoOnCall requestHeader01 Content-Type: application/json
attr VolvoOnCall requestHeader02 x-device-id: Device
attr VolvoOnCall requestHeader03 x-originator-type: App
attr VolvoOnCall requestHeader04 x-os-type: Android
attr VolvoOnCall requestHeader05 x-os-version: 22

Username und Password sollten klar sein. Die VIN ist die Fahrgestellnummer.
Für die aktuelle Position einfach diese URL nehmen - der Rest ist gleich.
define VolvoPosition HTTPMOD https://USERNAME:PASSWORD@vocapi.wirelesscar.net/customerapi/rest/v3.0/vehicles/VIN/position 300
Wenn jetzt Username und Password nicht im Klartext in der URL stehen würden, wäre das ganze noch besser.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline tweety-rt

  • New Member
  • *
  • Beiträge: 12
Antw:Volvo MQTT Anbindung
« Antwort #4 am: 12 Oktober 2021, 14:19:39 »
Mit der Erklärung von @PAPA kann ich meinen Volvo auslesen. Allerdings sind die Timestamp zwei Stunden zurück. Diese ergeben sich wohl nicht aus der Uhrzeit im Volvo.
Kann mir jemand erklären, wie ich mit Post Kommandos senden kann? Laut API-Beschreibung kann man z.B. die Klimatisierung starten.
Habe die Beschreibung zu HTTPMOD gelesen aber nicht verstanden. Bei
https://USERNAME:PASSWORT@vocapi.wirelesscar.net/customerapi/rest/v3.0/vehicles/VIN/climatization-start bekomme ich eine Fehlermeldung.
 

Offline papa

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2015
Antw:Volvo MQTT Anbindung
« Antwort #5 am: 12 Oktober 2021, 21:20:43 »
POST geht wie folgt - habe bisher nur Lock refolgreich hingekriegt
attr VolvoOnCall set01URL https://USERNAME:PASSWORD@vocapi.wirelesscar.net/customerapi/rest/v3.0/vehicles/VIN/lock
attr VolvoOnCall set01Name Lock
attr VolvoOnCall set01NoArg 1
Dann bit es
set VolvoOnCall LockWenn die Ausführung erfolgreich ist, sind auch die Zeitstempel aktualisiert Diese sind übrigen in GMT und deshalb 2 Stunden zurück.
Weitere Infos zur API gibt es hier https://www.swedespeed.com/threads/getting-acclimated-with-voc-api-wow-so-much-potential.526450/post-6396946
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Offline B.Stromberg

  • Full Member
  • ***
  • Beiträge: 236
Antw:Volvo MQTT Anbindung
« Antwort #6 am: 07 Februar 2022, 04:55:59 »

Ich hab dies vorwiegend gemacht um über Alexa die Standheizung zu Starten da mir die App von Volvo zulange fürs Login braucht und ich kein Fan von vorprogrammierten Zeiten bin.


Moin!
Habe nun auch einen XC60 und bin auf diesen Thread gestoßen.

Funktioniert das denn bei dir mit Alexa?
Könntest du das dann bitte etwas genauer erläutern?

Danke!

Offline B.Stromberg

  • Full Member
  • ***
  • Beiträge: 236
Antw:Volvo MQTT Anbindung
« Antwort #7 am: 07 Februar 2022, 13:28:17 »
Man kann die Daten auch mit FHEM-Bord-Mitteln abrufen. Dazu kann das HTTPMOD verwendet werden.

Wenn jetzt Username und Password nicht im Klartext in der URL stehen würden, wäre das ganze noch besser.

Ergänze das mal, weil Alpha schon länger hier nicht mehr online war.
Hast du Volvo on Call weiterverfolgt? Mit Alexa Aktivierung der SH und würdest mir ein wenig unter die Arme greifen?

Mir geht es eigentlich wirklich nur darum, die Standheizung mit Alexa ein und auszuschalten. (wobei da selbst "ein" reichen würde)
für meine Frau.

Das Alexa Device habe ich in FHEM schon am laufen.

Offline B.Stromberg

  • Full Member
  • ***
  • Beiträge: 236
Antw:Volvo MQTT Anbindung
« Antwort #8 am: 09 Februar 2022, 21:42:29 »
Hmm.... scheint dann also closed Source oder ein großes Geheimnis zu sein...

Schade!

Offline papa

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2015
Antw:Volvo MQTT Anbindung
« Antwort #9 am: 09 Februar 2022, 22:13:14 »
Redest Du jetzt mir mir ? Lese nicht immer alles ....
Ich habe nur das, was oben beschrieben ist ausprobiert.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Offline dominik

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3172
Antw:Volvo MQTT Anbindung
« Antwort #10 am: 09 Februar 2022, 22:43:44 »
Ich glaube die neuen Volvos verwenden nur mehr die neue API. Bei mir funktioniert die alte API auch nicht, hier ist der Link zur neuen:
https://developer.volvocars.com/volvo-api/connected-vehicle/

Leider kann man die noch nicht nutzen, zumindest bekommt man bei der Registrierung noch keine OAuth Infos um einen Token zu generieren. Man kann zumindest für 1h einen Demo Token generieren und diesen mit seinem Auto ausprobieren.
fhempy -  https://github.com/dominikkarall/fhempy: GoogleCast, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Offline B.Stromberg

  • Full Member
  • ***
  • Beiträge: 236
Antw:Volvo MQTT Anbindung
« Antwort #11 am: 09 Februar 2022, 23:52:57 »
@papa

Wie ich schon schrieb, bekomme ich Daten nach der Methode, die du gepostet hast.
Habe ein MY2018, noch kein Android in Car System.

Dachte das du evtl. auch einen Volvo hast und das mit der Standheizung und Alexa realisiert hast.

Der TE meldet sich ja nicht mehr, der dies realisieren wollte...

Offline B.Stromberg

  • Full Member
  • ***
  • Beiträge: 236
Antw:Volvo MQTT Anbindung
« Antwort #12 am: 09 Februar 2022, 23:54:18 »
Ich glaube die neuen Volvos verwenden nur mehr die neue API. Bei mir funktioniert die alte API auch nicht, hier ist der Link zur neuen:
https://developer.volvocars.com/volvo-api/connected-vehicle/

Leider kann man die noch nicht nutzen, zumindest bekommt man bei der Registrierung noch keine OAuth Infos um einen Token zu generieren. Man kann zumindest für 1h einen Demo Token generieren und diesen mit seinem Auto ausprobieren.

Habe noch ein Modelljahr 2018 und bekomme Daten nach der Methode von @papa

Geht jetzt "nur" noch darum, mit Alexa zu realisieren, dass ich die Standheizung per Sprachbefehl starten kann.

 

decade-submarginal