Bmw`s connected drive har et API, som det finnes noe dokumentasjon på. Jeg har ikke klart å finne plugin eller scripts til Homeseer, men har funnet ett til OpenHab.
(Creds til denne mannen: https://github.com/jupe76/bmwcdapi )
Dette har jeg gjort om littegrann på, slik at det henter verdiene fra json, og lagrer til en txt fil. Deretter bruker jeg Jon00 Datascrapper for å lese textfilen.
Prereq:
- Python runtime: https://www.python.org/downloads/
- Jon00 Datascrapper: http://www.jon00.me.uk/hs.html (alternativ link: http://sensys.no/hs3/Jon00DataScraperHS3.zip )
- Script for tilkobling mot ConnectedDrive : http://sensys.no/hs3/bmwcdapi.py
Installer python, legg scriptet i en mappe du har skrivetilgang til (f.eks c:\bmw\)
Rediger scriptet slik at linjene 45,46,47 inneholder dine påloggingsdetaljer for Connected Drive, samt VIN nummer for den bilen du ønsker å hente data fra
Sett opp en scheduled task (cronjob for de på linux) som kjører scripet med jevne mellomrom.
(OBS: Jeg har ikke klart å finne ut hvordan man kan lagre aut-token, og sjekke om det er utløpt eller ikke, derfor foretas en ny autentisering hver gang scriptet kjøres, for å være litt snille med BMWs servere så tenker jeg en gang i halvtimen er passe)
Når scriptet er ferdig kjørt sitter du med filen bmw.txt (Kjør script med parameter "-p" for å dumpe hele json settet til egne filer)
Den skal se slik ut:
Man kunne sikkert brukt http kall i python mot http://hs3ip/json?JSON?request=controldevicebyvalue&ref=xxx&value=yyy for å unngå veien om Jon00 sit script men men..
Installer Jon00 Datascrapper og sett opp filen: C:\Program Files (x86)\HomeSeer HS3\Config\Jon00DataScraper.ini slik:
Lag så en event som du trigger litt oftere enn det du kjører pythonscriptet, som kaller Jon00 datascrapper scriptet. (Denne leser bare bmw.txt, og er det ingen endringer så gjør den ingen ting)
Når textfilen er ferdig parset så skal du ha disse nye devicene:
Scriptet har muligheter for følgende parametre.
Om noen vet hvordan man kan lage en virtuell device med actions, der hver action kan kjøre dette scriptet med disse parametrene så blir jeg veldig glad.
Er kanskje mulig å få til med
hs.DeviceButtonAdd