fhempy: Skoda Connect

Begonnen von dominik, 30 Juli 2021, 21:34:14

Vorheriges Thema - Nächstes Thema

scooty

Attributes:
   update_interval 300


Mach Dir über nötige Starts des Autos keinen Kopf  ;)
Das ist sowas von intransparent, wann und weshalb das nötig ist.
Hat sich auch schon in der ioBroker-Gemeinde bei deren Tests gezeigt.

Danke für Deine prompten Reaktionen,
Andreas
Fhem auf Gigabyte Brix
CUL V3 HM / CUL V3 MAX / MaxCube aFW Homematic&MAX / ZWave.me ZME_UZB1 / SDuino 433 / Velux KLF200
Homematic / MAX / Logitech Hub / ZWave / Wifi LED / div. 433 Temperatursensoren / pywws WH10880 / IO Homecontrol

dominik

Also ich hab nun gesehen, dass iobroker ganz andere Endpunkte verwendet als die Skodaconnect Implementierung.
Könntest du mir vielleicht Username und Passwort+SPIN für ein besseres Testing zukommen lassen? Da könnte ich nämlich im Debug Modus alles im Detail prüfen.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

JF Mennedy

Hi, jetzt bin ich doch zufällig über diesen Thread gestolpert ;-)

Skoda aktualsiert die Werte immer nachdem das Fahrzeug ausgeschaltet wurde... Kilometerstand und Standort z.B bekommt man nicht in Echtzeit... Schade eigentlich, könnte man sich schöne Karten von bauen lassen...
Der Befehl force_update bewirkt aktiv eine Anfrage an das Skoda Backend die Werte vom Fahrzeug zu holen... Daher nicht zu oft, oder falls ausgesperrt einmal Zündung starten...

Die Funktionen Lock/Unlock und Hupen/Blinken müssen vom Skoda Partner explizit freigeschaltet werden. Hupen/Blinken ist in der Basis Lib, auf die das Modul aufbaut noch nicht implementiert...

Ich habe einen Oktravia RS und die Standheizung/Klimatisierung (pheater) sowie lock/unlock  funktionieren super (Besser als mit IO-Broker) ...

Dominik hat heute noch ein Update eingespielt (fhempy v0.1.85), in dem das update_readings gefixt wurde...

Gruss Jan

dominik

Es gab noch einen Fehler bei climatisation_temperature. Ich habe diese soeben behoben und einen Fix in 0.1.88 released.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Loetkolben

#19
Hallo,

tolle Sache, habe das bei mir auch eingebunden und es liefert auch schön Daten.
Jetzt möchte ich die Positionsdaten weiter nutzen um in TabletUI die Position des Autos anzuzeigen.
Wie kann ich das Reading 'position_str' so aufteilen, das nur lat und lon rauskommen?

In meiner derzeitigen Version habe ich immer die Klammer und ein Leerzeichen im UserReading.
Ich komme bei dem split im Reading nicht weiter.


Internals:
   .AttrList  vin update_interval update_readings:always,onchange IODev event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading
   .FhemMetaInternals 1
   DEF        skodaconnect my@account.com PaSSwOrD SPIN
   FUUID      6144ed52-f33f-b9f5-8d6a-845aabce6c924f16
   FVERSION   10_PythonModule.pm:0.182830/2019-01-16
   IODev      pyBinding
   NAME       my_skoda
   NR         1351
   PYTHONTYPE skodaconnect
   STATE      100 %
   TYPE       PythonModule
   .attraggr:
   .attrminint:
   .userReadings:
     HASH(0xbcbfcd8)
     HASH(0xb8600c8)
   OLDREADINGS:
   READINGS:
     2021-09-19 05:32:56  ...
...
Ganz viele Readings
...
     2021-09-19 05:32:57   parking_light   0
     2021-09-19 05:32:57   parking_light_str Off
     2021-09-19 05:32:56   parking_time    2021-09-18 21:04:17
     2021-09-19 05:32:56   parking_time_str 2021-09-18 21:04:17
     2021-09-19 05:32:55   position        (51.xxxxxx, 6.xxxxxx, datetime.datetime(2021, 9, 18, 19, 4, 17, tzinfo=datetime.timezone.utc))
     2021-09-19 05:32:58   position_lat    (51.xxxxxx
     2021-09-19 05:32:58   position_lon     6.xxxxxx
     2021-09-19 05:32:55   position_str    (51.xxxxxx, 6.xxxxx, '2021-09-18 21:04:17+02:00')
...
Ganz viele Readings
...

     2021-09-19 05:32:58   window_closed_right_front_str Closed
     2021-09-19 05:32:57   windows_closed  1
     2021-09-19 05:32:58   windows_closed_str Closed
   args:
     my_skoda
     PythonModule
     skodaconnect
     my@account.com
     PaSSwOrD
     SPIN
   argsh:
Attributes:
   room       fhempy
   update_interval 300
   userReadings position_lon {(split ',',ReadingsVal("my_skoda","position_str",0))[1]}, position_lat {(split ',',ReadingsVal("my_skoda","position_str",0))[0]}
   verbose    0
1x Pi3, 1x Pi4, CUL V3, miniCUL433+868, IKEA-Steckdosen, sonoff, shelly1, Conbee II, div. Zigbee-Leuchten, Alexa, Homematic, Tablet UI

dominik

Ich denke da macht es Sinn, dass ich die Werte gleich aufteile in lat, lon und einzelne Readings baue.

Btw, ich könnte auch eine Abfrage bei openstreetmaps einbauen und die Adresse in Readings ausgeben.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

Loetkolben

lat, lon und Adresse als reading wäre natürlich prima  :) 
1x Pi3, 1x Pi4, CUL V3, miniCUL433+868, IKEA-Steckdosen, sonoff, shelly1, Conbee II, div. Zigbee-Leuchten, Alexa, Homematic, Tablet UI

JF Mennedy

Ich hab das zur Zeit mit UserReadings gelöst und dann in fhem als als weblink in ner Karte dargestellt

latitude {substr ((ReadingsVal($name,"position",0)), 1, 9)},
longitude {substr ((ReadingsVal($name,"position",0)), 12, 8)},
location {sprintf("%.6f,%.6f",ReadingsNum($name,"latitude",0.0),ReadingsNum($name,"longitude",0.0))}


htmlCode {
'<ul style="width: 1000px; overflow: hidden;  height: 300px;">
<iframe name="SkodaOctavia_map" src="https://www.google.com/maps/embed/v1/place?key=blablablablabkey='.ReadingsVal('SkodaOctavia','location','')
.'&zoom=15" width="1000" height="480" frameborder="0" style="border:0;">
</iframe>
</ul>'
}


Gruss Jan

Loetkolben

Zitat von: JF Mennedy am 23 September 2021, 13:24:17
Ich hab das zur Zeit mit UserReadings gelöst und dann in fhem als als weblink in ner Karte dargestellt

...
...

Gruss Jan

Genau was ich gesucht habe, Danke.
Habe es bei mir in TabletUI über das maps-Widget eingebunden.

Gruß
   Andreas
1x Pi3, 1x Pi4, CUL V3, miniCUL433+868, IKEA-Steckdosen, sonoff, shelly1, Conbee II, div. Zigbee-Leuchten, Alexa, Homematic, Tablet UI

staeblvo

Hi,

ich habe am Wochenende versucht fhempy und scodaconnect einzubinden, leider scheitere ich daran das der fhempy server immer offline anzeigt.
Im fhem.log steht "ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)".
Weiß jemand was dafür die Ursachen ist?
(Die Meldung ist hier im Forum schon öfters aufgetaucht, aber eine Lösung dazu habe ich noch nicht gefunden)

Vielen Dank
Volker


fhempy-2021-11-08.log
2021-11-08 16:44:22,524 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-11-08 16:44:22,554 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-11-08 16:44:22,695 - WARNING  - asyncio: Executing <Task pending coro=<async_main() running at /opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py:531> wait_for=<_GatheringFuture pending cb=[<TaskWakeupMethWrapper object at 0x751885b0>()] created at /usr/local/lib/python3.7/asyncio/tasks.py:615> cb=[_run_until_complete_cb() at /usr/local/lib/python3.7/asyncio/base_events.py:158] created at /usr/local/lib/python3.7/asyncio/base_events.py:563> took 0.170 seconds
2021-11-08 16:44:22,699 - INFO     - websockets.server: server listening on 0.0.0.0:15733
2021-11-08 16:44:22,846 - INFO     - websockets.server: connection open
2021-11-08 16:44:22,850 - INFO     - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2021-11-08 16:44:46,423 - INFO     - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-11-08 16:44:46,452 - INFO     - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-11-08 16:44:46,588 - WARNING  - asyncio: Executing <Task pending coro=<async_main() running at /opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py:531> wait_for=<_GatheringFuture pending cb=[<TaskWakeupMethWrapper object at 0x751214d0>()] created at /usr/local/lib/python3.7/asyncio/tasks.py:615> cb=[_run_until_complete_cb() at /usr/local/lib/python3.7/asyncio/base_events.py:158] created at /usr/local/lib/python3.7/asyncio/base_events.py:563> took 0.165 seconds


fhem.log
2021.11.08 16:45:54 1: ws:127.0.0.1:15733 reappeared (local_pybinding)
2021.11.08 16:45:54 1: ws:127.0.0.1:15733 disconnected, waiting to reappear (local_pybinding)
2021.11.08 16:45:54 3: fhempyserver_15733: read: end of file reached while sysread
2021.11.08 16:45:54 3: fhempyserver_15733: stopped
2021.11.08 16:45:54 1: BindingsIo (local_pybinding): ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.11.08 16:46:09 3: fhempyserver_15733: starting
2021.11.08 16:46:09 3: fhempyserver_15733: using logfile: ./log/fhempy-2021-11-08.log
2021.11.08 16:46:14 3: fhempyserver_15733: read: end of file reached while sysread
2021.11.08 16:46:14 3: fhempyserver_15733: stopped
2021.11.08 16:46:14 3: fhempyserver_15733: starting
2021.11.08 16:46:14 3: fhempyserver_15733: using logfile: ./log/fhempy-2021-11-08.log

dominik

Welche fhempy Devices hast du schon alles angelegt?
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik

staeblvo

Hi,

hier die device, die ich angelegt habe:

fhempyserver_15733
Internals:
   CFGFN     
   DEF        0
   FD         37
   FUUID      618a5d11-f33f-bae1-32d3-02df5b6b54e50cbe
   LAST_START 2021-11-09 12:35:46
   LAST_STOP  2021-11-09 12:35:46
   NAME       fhempyserver_15733
   NR         31387
   NTFY_ORDER 50-fhempyserver_15733
   PID        19948
   STARTS     2
   STATE      ???
   TYPE       fhempyServer
   currentlogfile ./log/fhempy-2021-11-09.log
   logfile    ./log/fhempy-%Y-%m-%d.log
   CoProcess:
     cmdFn      fhempyServer_getCmd
     name       fhempy
     state      running FHEM/bindings/python/bin/fhempy
   READINGS:
     2021-11-09 12:35:46   fhempy          running FHEM/bindings/python/bin/fhempy
Attributes:
   devStateIcon {      my $status_img = "10px-kreis-gruen";;      my $status_txt = "running";;      if (substr(ReadingsVal($name, "fhempy", "running"),0,7) ne "running") {        $status_img = "10px-kreis-rot";;        $status_txt = "stopped";;      }      "<div><a>".FW_makeImage($status_img, $status_txt)."</a><a  href=\"/fhem?cmd.dummy=set $name restart&XHR=1\" title=\"Restart\">".FW_makeImage("audio_repeat")."</a></div>"      }
   group      fhempy
   icon       python
   logfile    ./log/fhempy-%Y-%m-%d.log
   nrarchive  10
   room       fhempy


local_pybinding
Internals:
   CFGFN     
   DEF        0
   FD         37
   FUUID      618a5d11-f33f-bae1-32d3-02df5b6b54e50cbe
   LAST_START 2021-11-09 12:35:46
   LAST_STOP  2021-11-09 12:35:46
   NAME       fhempyserver_15733
   NR         31387
   NTFY_ORDER 50-fhempyserver_15733
   PID        19948
   STARTS     2
   STATE      ???
   TYPE       fhempyServer
   currentlogfile ./log/fhempy-2021-11-09.log
   logfile    ./log/fhempy-%Y-%m-%d.log
   CoProcess:
     cmdFn      fhempyServer_getCmd
     name       fhempy
     state      running FHEM/bindings/python/bin/fhempy
   READINGS:
     2021-11-09 12:35:46   fhempy          running FHEM/bindings/python/bin/fhempy
Attributes:
   devStateIcon {      my $status_img = "10px-kreis-gruen";;      my $status_txt = "running";;      if (substr(ReadingsVal($name, "fhempy", "running"),0,7) ne "running") {        $status_img = "10px-kreis-rot";;        $status_txt = "stopped";;      }      "<div><a>".FW_makeImage($status_img, $status_txt)."</a><a  href=\"/fhem?cmd.dummy=set $name restart&XHR=1\" title=\"Restart\">".FW_makeImage("audio_repeat")."</a></div>"      }
   group      fhempy
   icon       python
   logfile    ./log/fhempy-%Y-%m-%d.log
   nrarchive  10
   room       fhempy


scodaconnect:
Internals
CFGFN
DEF skodaconnect x@x.de xxxx xxx
FHEMPYTYPE skodaconnect
FUUID 618a5e93-f33f-bae1-2396-7d0d2fc28af0d6f3
IODev local_pybinding
NAME my_skoda
NR 31482
PYTHONTYPE skodaconnect
STATE fhempy server offline
TYPE fhempy


Gibt es noch eine Möglickeit, mehr debug infos zu bekommen?

staeblvo

sorry, habe zweimal das gleiche kopiert.

local_pybinding
Internals:
BindingType fhempy
DEF fhempy
DeviceName ws:127.0.0.1:15733
FUUID 618a9973-f33f-bae1-07a5-121507814638f6d5
IP 127.0.0.1
NAME local_pybinding
NEXT_OPEN 1636473577.05384
NR 427
NTFY_ORDER 50-local_pybinding
PARTIAL
PORT 15733
STATE fhempy server offline
TYPE BindingsIo
localBinding 1
nextOpenDelay 10

staeblvo

Hi,

Ich habe jetzt nochmal alle devices gelöscht und neu angelegt.

Wenn nur das local_pybinding und der fhempyserver_15733 angelegt sind, sind beide grün, state ist opened.

Sobald ich aber ein Modul (egal welches) hinzufüge, wird in dem Modul "Websocket connection closed unexpected" angezeigt und der state wechselt auf fhempy server offline.

Ich bin über jeden Tipp dankbar.




dominik

Hi,

poste bitte das fhempy Log wo man (hoffentlich) den Fehler nach dem Define sieht.
fhempy -  https://github.com/fhempy/fhempy: GoogleCast, Tuya, UPnP, Ring, EQ3BT, Nespresso, Xiaomi, Spotify, Object Detection, ...
Kaffeespende: https://paypal.me/todominik