Hi,
ich hatte vor einiger Zeit mit Jan seinen Skoda an FHEM angebunden :)
Wie das funktioniert...einfach hier entlang:
https://github.com/dominikkarall/fhempy/blob/master/FHEM/bindings/python/fhempy/lib/skodaconnect/README.md
Hallo,
Oh Nice mein neuer ist leider noch nicht da sonst hätte Ichs jetzt schon probiert, aber weißt du zufällig, ob darüber auch die Standheizung bedienbar ist ?
Danke.
Zitat von: chopsor am 02 August 2021, 12:38:29
Hallo,
Oh Nice mein neuer ist leider noch nicht da sonst hätte Ichs jetzt schon probiert, aber weißt du zufällig, ob darüber auch die Standheizung bedienbar ist ?
Danke.
Ja, das geht. Hier die Library welche dafür genutzt wird:
https://github.com/lendy007/skodaconnect
Da gibt es ein paar Infos was möglich ist.
Hallo,
Vielen Dank für die Info :D
Tolle Sache, vielen Dank!
:)
Bisher habe ich es mit ioBroker und Kopplung mit FHEM gemacht.
Finde ich persönlich unschön, daher nun der Versuch mit fhempy.
Vorweg, ich habe einen Skoda Superb PlugIn-Hybrid (PHEV).
Dieser verfügt (standardmäßig) über die Möglichkeit im Stand elektrisch zu heizen oder abzukühlen (Reading electric_climatisation?).
Zusätzlich habe ich noch eine kraftstoffbetriebene Standheizung verbaut (Reading auxiliary_climatisation?).
Mir ist der Ablauf bzw. Bedienung zum Aktivieren der Klimatisierung mit diesem Modul noch nicht so ganz klar, daher erst einmal die Befehle
set XXXX_SKODA_REM climatisation auxiliary
set XXXX_SKODA_REM climatisation electric
set XXXX_SKODA_REM climatisation off
ausprobiert. Leider erscheint jeweils die Fehlermeldung:
ZitatFailed to execute function Set: Traceback (most recent call last):
File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 351, in _onMessage
fct_timeout,
File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
return fut.result()
File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 94, in Set
return await utils.handle_set(self._conf_set, self, hash, args, argsh)
File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 243, in handle_set
fct_call = getattr(obj, fct_name)
AttributeError: 'skodaconnect' object has no attribute 'set_climatisation'
Ähnliches beim Befehl
set XXXX_SKODA_REM climatisation_target_temperature
ZitatFailed to execute function Set: Traceback (most recent call last):
File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/fhem_pythonbinding.py", line 351, in _onMessage
fct_timeout,
File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
return fut.result()
File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/generic.py", line 94, in Set
return await utils.handle_set(self._conf_set, self, hash, args, argsh)
File "/opt/fhem/.local/lib/python3.7/site-packages/fhempy/lib/utils.py", line 243, in handle_set
fct_call = getattr(obj, fct_name)
AttributeError: 'skodaconnect' object has no attribute 'set_climatisation_temperature'
Zur Verfügung steht auch ein Befehl
set XXXX_SKODA_REM battery_climatisation on|off
der allerdings keinerlei Wirkung zeigt (keine Änderung von Readings bzw. Einstellungen).
Darüber hinaus sind ein paar Werte von Readings unstimmig, z.B.
trunk_closed
trunk_locked
zeigen jeweils den Wert 0=offen, der Kofferraumdeckel ist aber ge- und verschlossen.
Ein Kilometerstand (=Reading distance?) von 4294967295 scheint mir auch ein bisschen viel.
;)
Ein
set XXXX_SKODA_REM update_interval 300
zeigt leider auch keine Wirkung, das Modul macht weiterhin alle 60 Sekunden sein Update.
Bitte nicht falsch verstehen, soll keine "Runtermachen" des Moduls sein und kann leider auch nicht abschätzen, ob die Probleme im originären Python-Code oder der FHEM-Integration liegen.
Das Modul und die Idee finde ich sehr gut, möchte Feedback geben und zur Verbesserung beitragen.
Also stehe ich natürlich gerne für weitere Tests zur Verfügung.
Vielen Dank und Grüße,
Andreas
PS:
Und hier noch das list des Devices (ein paar Werte wurden anonymisiert):
Internals:
CFGFN
DEF skodaconnect my@account.com PaSSwOrD SPIN
FUUID 610c3dd7-f33f-202d-b050-73b454bd98c1f9eb
IODev XXXX_FHEMPY
NAME XXXX_SKODA_REM
NR 6972
PYTHONTYPE skodaconnect
STATE 76 %
TYPE PythonModule
READINGS:
2021-08-06 10:43:25 auxiliary_climatisation 0
2021-08-06 10:43:26 auxiliary_climatisation_str Off
2021-08-06 10:43:26 battery_level 88
2021-08-06 10:43:26 battery_level_str 88 %
2021-08-06 10:43:28 charge_max_ampere Maximum
2021-08-06 10:43:28 charge_max_ampere_str Maximum A
2021-08-06 10:43:26 charging 0
2021-08-06 10:43:30 charging_cable_connected 0
2021-08-06 10:43:30 charging_cable_connected_str Disconnected
2021-08-06 10:43:30 charging_cable_locked 0
2021-08-06 10:43:30 charging_cable_locked_str Unlocked
2021-08-06 10:43:26 charging_str Off
2021-08-06 10:43:28 charging_time_left 00:00
2021-08-06 10:43:28 charging_time_left_str 00:00 h
2021-08-06 10:43:28 climatisation_target_temperature 21.0
2021-08-06 10:43:28 climatisation_target_temperature_str 21.0 °C
2021-08-06 10:43:25 climatisation_without_external_power 1
2021-08-06 10:43:25 climatisation_without_external_power_str On
2021-08-06 10:43:28 combined_range 549
2021-08-06 10:43:28 combined_range_str 549 km
2021-08-06 10:43:28 combustion_range -1
2021-08-06 10:43:28 combustion_range_str -1 km
2021-08-06 10:43:26 departure1 0
2021-08-06 10:43:26 departure1_str Off
2021-08-06 10:43:26 departure2 0
2021-08-06 10:43:26 departure2_str Off
2021-08-06 10:43:26 departure3 0
2021-08-06 10:43:26 departure3_str Off
2021-08-06 10:43:26 distance 4294967295
2021-08-06 10:43:26 distance_str 4294967295 km
2021-08-06 10:43:30 door_closed_left_back 1
2021-08-06 10:43:30 door_closed_left_back_str Closed
2021-08-06 10:43:29 door_closed_left_front 1
2021-08-06 10:43:29 door_closed_left_front_str Closed
2021-08-06 10:43:30 door_closed_right_back 1
2021-08-06 10:43:30 door_closed_right_back_str Closed
2021-08-06 10:43:30 door_closed_right_front 1
2021-08-06 10:43:30 door_closed_right_front_str Closed
2021-08-06 10:43:29 door_locked 1
2021-08-06 10:43:29 door_locked_str Locked
2021-08-06 10:43:25 electric_climatisation 0
2021-08-06 10:43:25 electric_climatisation_str Off
2021-08-06 10:43:29 energy_flow 0
2021-08-06 10:43:29 energy_flow_str Off
2021-08-06 10:43:29 external_power 0
2021-08-06 10:43:29 external_power_str Off
2021-08-06 10:43:26 fuel_level 76
2021-08-06 10:43:27 fuel_level_str 76 %
2021-08-06 10:43:30 hood_closed 1
2021-08-06 10:43:30 hood_closed_str Closed
2021-08-06 10:43:27 last_connected 2021-08-06 09:39:38
2021-08-06 10:43:27 last_connected_str 2021-08-06 09:39:38
2021-08-06 10:43:27 oil_inspection 252
2021-08-06 10:43:27 oil_inspection_distance 14300
2021-08-06 10:43:27 oil_inspection_distance_str 14300 km
2021-08-06 10:43:27 oil_inspection_str 252 days
2021-08-06 10:43:29 outside_temperature 18.0
2021-08-06 10:43:29 outside_temperature_str 18.0 °C
2021-08-06 10:43:29 parking_light 0
2021-08-06 10:43:29 parking_light_str Off
2021-08-06 10:43:27 parking_time 2021-08-05 10:13:09
2021-08-06 10:43:27 parking_time_str 2021-08-05 10:13:09
2021-08-06 10:43:25 position (XX.XXXXXX, XX.XXXXXX, datetime.datetime(2021, 8, 5, 8, 13, 9, tzinfo=datetime.timezone.utc))
2021-08-06 10:43:25 position_str (XX.XXXXXX, XX.XXXXXX, '2021-08-05 10:13:09+02:00')
2021-08-06 10:43:25 refresh_data
2021-08-06 10:43:25 refresh_data_str Off
2021-08-06 10:43:31 request_in_progress 0
2021-08-06 10:43:31 request_in_progress_str Off
2021-08-06 10:43:26 request_results Unknown
2021-08-06 10:43:26 request_results_str Unknown
2021-08-06 10:43:29 requests_remaining -1
2021-08-06 10:43:29 requests_remaining_str -1
2021-08-06 10:43:27 service_inspection 257
2021-08-06 10:43:27 service_inspection_distance 17800
2021-08-06 10:43:27 service_inspection_distance_str 17800 km
2021-08-06 10:43:27 service_inspection_str 257 days
2021-08-06 10:43:27 state 76 %
2021-08-06 10:43:28 trip_last_average_electric_consumption -1.7
2021-08-06 10:43:28 trip_last_average_electric_consumption_str -1.7 kWh/100 km
2021-08-06 10:43:28 trip_last_average_fuel_consumption 5.7
2021-08-06 10:43:28 trip_last_average_fuel_consumption_str 5.7 l/100 km
2021-08-06 10:43:28 trip_last_average_speed 74
2021-08-06 10:43:28 trip_last_average_speed_str 74 km/h
2021-08-06 10:43:28 trip_last_duration 112
2021-08-06 10:43:28 trip_last_duration_str 112 min
2021-08-06 10:43:29 trip_last_length 138
2021-08-06 10:43:29 trip_last_length_str 138 km
2021-08-06 10:43:30 trunk_closed 0
2021-08-06 10:43:30 trunk_closed_str Open
2021-08-06 10:43:30 trunk_locked 0
2021-08-06 10:43:30 trunk_locked_str Unlocked
2021-08-06 09:25:24 update_interval 300
2021-08-05 22:44:19 update_readings onchange
2021-08-06 10:43:31 vehicle_moving 0
2021-08-06 10:43:31 vehicle_moving_str Off
2021-08-06 10:43:31 window_closed_left_back 1
2021-08-06 10:43:31 window_closed_left_back_str Closed
2021-08-06 10:43:31 window_closed_left_front 1
2021-08-06 10:43:31 window_closed_left_front_str Closed
2021-08-06 10:43:31 window_closed_right_back 1
2021-08-06 10:43:31 window_closed_right_back_str Closed
2021-08-06 10:43:31 window_closed_right_front 1
2021-08-06 10:43:31 window_closed_right_front_str Closed
2021-08-06 10:43:25 window_heater 0
2021-08-06 10:43:25 window_heater_str Off
2021-08-06 10:43:30 windows_closed 1
2021-08-06 10:43:30 windows_closed_str Closed
args:
my_skoda
PythonModule
skodaconnect
my@account.com
PaSSwOrD
SPIN
argsh:
Ah, da fehlen noch ein paar Funktionen, die sind noch nicht implementiert. Wir hatten auch keinen Elektro zum Testen :)
Ich baue die die Tage ein und gebe dann Bescheid.
Stimmen zumindest ein paar Readings?
Zitat von: dominik am 06 August 2021, 17:28:44
Stimmen zumindest ein paar Readings?
Ich wusste es doch, der Gesamteindruck meines Posts hinterlässt wohl mehr Negatives als Positives.
;)
Gerade nochmals geprüft, die von mir genannten Readings sind wirklich die einzig problematischen.
Also die gute Nachricht: Somit sind alle anderen Readings plausibel und stimmig.
:)
Und vielen Dank für die geplanten Erweiterungen, wie gesagt, ich teste gerne.
Viele Grüße,
Andreas
Teste bitte mal die neue Version. Damit sollte set_climatisation(_temperature) funktionieren.
Bzgl. distance und trunk, wurden die bei iobroker korrekt angezeigt? Teste bitte auch nochmals wegen dem Update Intervall. Eigentlich sollte das funktionieren. Default ist 30s.
Falls bei iobroker distance funktioniert, würde ich gerne in die Details reinschauen. Wenn für dich ok, kannst du mir deine Anmeldedaten (zuvor bitte das Passwort ändern) per PN zukommen lassen und ich schau mir das genauer an.
Kaum fährt man ´mal eine Runde und benutzt den Kofferraum, stimmen auch die Werte für Kilometerstand und Kofferraumklappe.
:)
Habe Update gemacht (version 0.1.79).
set_climatisation_temperature bringt jetzt zwar keine Fehlermeldung mehr, wird aber wohl leider nicht korrekt ausgeführt. Das Reading (und auch der angezeigte Wert in der Skoda Connect App) ändern sich leider nicht.
Update Intervall ist bei mir auf 300 Sekunden, Updates erfolgen aber dennoch schneller, ca alle 30-40 Sekunden) (und auch ohne Rücksicht auf update_readings onchange).
Auszug aus Event-Monitor:
2021-08-07 10:14:16.894 PythonModule XXXX_SKODA_REM request_in_progress_str: Off
2021-08-07 10:14:57.313 PythonModule XXXX_SKODA_REM position: (xx.xxxx, xx.xxxx, datetime.datetime(2021, 8, 7, 7, 34, 7, tzinfo=datetime.timezone.utc))
2021-08-07 10:14:57.375 PythonModule XXXX_SKODA_REM position_str: (xx.xxxx, xx.xxxx, '2021-08-07 09:34:07+02:00')
2021-08-07 10:14:57.437 PythonModule XXXX_SKODA_REM door_locked: 1
2021-08-07 10:14:57.485 PythonModule XXXX_SKODA_REM door_locked_str: Locked
2021-08-07 10:14:57.534 PythonModule XXXX_SKODA_REM trunk_locked: 1
2021-08-07 10:14:57.590 PythonModule XXXX_SKODA_REM trunk_locked_str: Locked
2021-08-07 10:14:57.641 PythonModule XXXX_SKODA_REM refresh_data:
2021-08-07 10:14:57.691 PythonModule XXXX_SKODA_REM refresh_data_str: Off
2021-08-07 10:14:57.754 PythonModule XXXX_SKODA_REM window_heater: 0
2021-08-07 10:14:57.804 PythonModule XXXX_SKODA_REM window_heater_str: Off
2021-08-07 10:14:57.853 PythonModule XXXX_SKODA_REM climatisation_without_external_power: 1
2021-08-07 10:14:57.913 PythonModule XXXX_SKODA_REM climatisation_without_external_power_str: On
2021-08-07 10:14:57.973 PythonModule XXXX_SKODA_REM electric_climatisation: 0
2021-08-07 10:14:58.022 PythonModule XXXX_SKODA_REM electric_climatisation_str: Off
...
2021-08-07 10:15:03.668 PythonModule XXXX_SKODA_REM request_in_progress_str: Off
2021-08-07 10:15:43.436 PythonModule XXXX_SKODA_REM position: (xx.xxxx, xx.xxxx, datetime.datetime(2021, 8, 7, 7, 34, 7, tzinfo=datetime.timezone.utc))
2021-08-07 10:15:43.497 PythonModule XXXX_SKODA_REM position_str: (xx.xxxx, xx.xxxx, '2021-08-07 09:34:07+02:00')
2021-08-07 10:15:43.551 PythonModule XXXX_SKODA_REM door_locked: 1
Hast du es mal mit pheater probiert?
Ich hab leider keinen Skoda und weiß daher auch nicht genau was welche Funktion bezwecken soll :D
Bitte aber gerne die Funktionen die gehen hier beschreiben, dann nehme ich das mal in ein Readme auf, damit sich neue User leichter tun.
Wegen des Updates schaue ich heute Abend noch, das ist eigenartig.
Hallo Dominik,
pheater steht mir leider in der set-Auswahlliste nicht zur Verfügung. Kann wohl auch nicht, da ich einen PHEV habe.
Zitat von https://github.com/lendy007/skodaconnect (https://github.com/lendy007/skodaconnect):
Zitat
- Parking Heater is the auxiliary/parking heater for non-PHEV vehicles. This uses the "legacy" remotestandheizung API function. Heating is what it sounds like and ventilation is used to ventilate/cool the car.
- Auxiliary Heater is the auxiliary/parking heater for PHEV vehicles. This uses the climater API function, same as electric climatisation.
Über ioBroker habe ich immer nur ein
vw-connect.0.<VIN>.remote.climatisation true
gesetzt.
Der Wagen hat dann automatisch elektrisch gekühlt (wenn Innentemperatur über climatisation_temperature) oder elektrisch bzw. per Standheizung geheizt (wenn Innentemperatur unter climatisation_temperature).
Für die Art der Heizung kann man in der Skoda Connect App noch setzen, ob sie elektrisch oder über die Standheizung laufen soll. Bei Auswahl von Standheizung und Start der Klimatisierung wird in der App noch die SPIN verlangt.
Für die Wahl der Heizung ist im ioBroker
vw-connect.0.<VIN>.climater.settings.heaterSource.content
der Wert "auxiliary" oder "electric" gesetzt.
Hilft das etwas?
Viele Grüße,
Andreas
PS:
Fällt mir gerade ein, alle Temperaturangaben bei Skoda Connect sind in Kelvin, nicht Celsius, ggf. läuft das schief beim Versuch des Setzens der climatisation_temperature?
Ich bau das mit dem update_interval und update_readings mal in Attribute statt Readings ein, da sollte es dann problemlos klappen. Mach ich vielleicht heute Abend noch.
Hm...komisch, funktioniert irgendein set Command bei dir? Lock/Unlock zum Beispiel?
update_interval und update_readings ist nun ein Attribut. Damit sollte es nun klappen. Update ist online (0.1.80).
Lass mich dann bitte noch wissen ob irgendein Command bei dir funktioniert. Wenn nicht, dürfte es ein generisches Problem sein.
//Edit
Achja, sicherheitshalber noch die Frage SPIN hast du gesetzt?
//Edit2
Ein Typo in "auxiliary" wurde auch noch in 0.1.81 beseitigt :)
Hallo Dominik,
vielen Dank, nach Umstellung auf Attribute wirken die Einstellungen nun.
Tja, sonst eher nur nicht so gute Ergebnisse (hatte das Device gelöscht und mit der neuesten Version 0.1.81 erneut angelegt):
- Reading state bleibt nun auf "PythonBinding timeout" stehen, Daten kommen aber
- Im Vergleich zu vorherigen Versionen des Moduls sine einige Readings nicht mehr vorhanden, z.B. climatisation_temperature (s. list unten)
- Befehl "set climatisation_temperature" zeigt keine Wirkung/Ergebnisse
- Ein funktionierender Befehl ist "set window_heating on", Readings "window_heater" und "window_heater_str "gehen auf 1 bzw. "on" und auch in der Skoda App wir die Scheibenheizung als aktiv angezeigt.
Testen ist wegen des üblen Antwortzeitverhalten des Wagens/der Backend-Server nicht so "angenehm". Kommt vor, dass erst einmal wieder eine Fahrt mit dem Wagen gemacht werden muss bis die Remote-Funktionen überhaupt wieder möglich sind (auch über die Skoda App).
Daher auch keine Tests/Versuche/Aussagen zu den anderen Funktionen wie "lock" oder die ganzen charging/timer-Funktionen.
Mir würde auch reichen, wenn die Klimatisierungs-/Heizungsfunktionen funktionieren, sollen wir uns erst einmal darauf konzentrieren?
Viele Grüße,
Andreas
PS:
Die korrekte SPIN habe ich im DEF gesetzt.
PPS:
Anbei ein aktuelles list des Devices:
Internals:
CFGFN
DEF skodaconnect my@account.com PaSSwOrD SPIN
IODev XXXX_FHEMPY
NAME XXXX_SKODA_REM
NR 125
PYTHONTYPE skodaconnect
STATE PythonBinding timeout
TYPE PythonModule
READINGS:
2021-08-10 08:28:40 auxiliary_climatisation 0
2021-08-10 08:28:40 auxiliary_climatisation_str Off
2021-08-10 08:28:41 battery_level 83
2021-08-10 08:28:41 battery_level_str 83 %
2021-08-10 08:28:40 charging 0
2021-08-10 08:28:40 charging_str Off
2021-08-10 08:28:39 climatisation_without_external_power 1
2021-08-10 08:28:40 climatisation_without_external_power_str On
2021-08-10 08:28:40 departure1 0
2021-08-10 08:28:40 departure1_str Off
2021-08-10 08:28:40 departure2 0
2021-08-10 08:28:41 departure2_str Off
2021-08-10 08:28:41 departure3 0
2021-08-10 08:28:41 departure3_str Off
2021-08-10 08:28:41 distance 12354
2021-08-10 08:28:41 distance_str 12354 km
2021-08-10 08:28:38 door_locked 0
2021-08-10 08:28:39 door_locked_str Unlocked
2021-08-10 08:28:40 electric_climatisation 0
2021-08-10 08:28:40 electric_climatisation_str Off
2021-08-10 08:28:41 fuel_level 73
2021-08-10 08:28:41 fuel_level_str 73 %
2021-08-10 08:28:38 position (None, None, None)
2021-08-10 08:28:38 position_str (None, None, None)
2021-08-10 08:28:39 refresh_data
2021-08-10 08:28:39 refresh_data_str Off
2021-08-10 08:28:40 request_results Success
2021-08-10 08:28:40 request_results_str Success
2021-08-08 22:50:14 state PythonBinding timeout
2021-08-10 08:28:39 trunk_locked 0
2021-08-10 08:28:39 trunk_locked_str Unlocked
2021-08-10 08:28:39 window_heater 0
2021-08-10 08:28:39 window_heater_str Off
args:
XXXX_SKODA_REM
PythonModule
skodaconnect
my@account.com
PaSSwOrD
SPIN
argsh:
Attributes:
update_interval 300
Welches update_interval hast du bei dir eingestellt? Wenn man zu oft abfragt, muss man angeblich das Auto einmal Starten damit es wieder geht.
Nachdem window_heater geht, dürfte es dann doch nur ein Problem bei climatisation sein. Ich schau mir das am Abend an.
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
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.
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
Es gab noch einen Fehler bei climatisation_temperature. Ich habe diese soeben behoben und einen Fix in 0.1.88 released.
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
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.
lat, lon und Adresse als reading wäre natürlich prima :)
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
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
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
Welche fhempy Devices hast du schon alles angelegt?
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?
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
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.
Hi,
poste bitte das fhempy Log wo man (hoffentlich) den Fehler nach dem Define sieht.
hier das log, das wiederholt sich immer wieder so:
2021-11-11 20:24:52,585 - INFO - websockets.server: server listening on 0.0.0.0:15733
2021-11-11 20:25:02,602 - INFO - websockets.server: connection open
2021-11-11 20:25:02,606 - INFO - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2021-11-11 20:25:27,388 - INFO - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-11-11 20:25:27,417 - INFO - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-11-11 20:25:27,553 - 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 0x751584d0>()] 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
2021-11-11 20:25:27,557 - INFO - websockets.server: server listening on 0.0.0.0:15733
2021-11-11 20:25:36,309 - INFO - websockets.server: connection open
2021-11-11 20:25:36,314 - INFO - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
Lösch Mal das Device, dann mach ein restart, warte bis in pybinding auf opened geht und dann mach das define. Poste dann bitte wieder das Log.
Habe das define skodaconnect gelöscht, Fhem gestopt, den Raspi neugestartet und das define skodaconnect neu angelegt.
Das log sieht aber gleich aus:
2021-11-11 20:32:19,592 - INFO - websockets.server: server listening on 0.0.0.0:15733
2021-11-11 20:32:28,624 - INFO - websockets.server: connection open
2021-11-11 20:32:28,632 - INFO - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2021-11-11 20:38:55,138 - INFO - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-11-11 20:38:55,176 - INFO - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-11-11 20:38:55,362 - 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 0x7519c4d0>()] 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.224 seconds
2021-11-11 20:38:55,365 - INFO - websockets.server: server listening on 0.0.0.0:15733
2021-11-11 20:39:11,501 - INFO - websockets.server: connection open
2021-11-11 20:39:11,504 - INFO - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2021-11-11 20:40:20,231 - INFO - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-11-11 20:40:20,260 - INFO - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-11-11 20:40:20,396 - 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 0x7515d4b0>()] 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
2021-11-11 20:40:20,400 - INFO - websockets.server: server listening on 0.0.0.0:15733
2021-11-11 20:40:29,846 - INFO - websockets.server: connection open
2021-11-11 20:40:29,850 - INFO - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
2021-11-11 20:40:51,448 - INFO - fhempy.lib.fhem_pythonbinding: Starting fhempy...
2021-11-11 20:40:51,477 - INFO - fhempy.lib.fhem_pythonbinding: Waiting for FHEM connection
2021-11-11 20:40:51,612 - 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 0x751645b0>()] 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.164 seconds
2021-11-11 20:40:51,616 - INFO - websockets.server: server listening on 0.0.0.0:15733
Stell bitte beim Skoda Device auf verbose 5, hoffe dann ist mehr im Log.
den verbose beim Skoda Device auf 5 zusetzen hat nicht gebracht, habe den level auch bei den anderen devices auf 5 gesetzt, vielleicht kannst Du da was erkennen:
Fhem.log
2021.11.11 20:48:45 4: http://127.0.0.1:15733/: HTTP response code 101
2021.11.11 20:48:45 5: HttpUtils http://127.0.0.1:15733/: Got data, length: 0
2021.11.11 20:48:45 5: HttpUtils response header:
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: RfOEdxmBcIk5a+RevnL2/BsC2NI=
Date: Thu, 11 Nov 2021 19:48:45 GMT
Server: Python/3.7 websockets/10.0
2021.11.11 20:48:45 4: BindingsIo (local_pybinding): start fhempyFunction: my_skoda => Define (50535480)
2021.11.11 20:48:45 4: BindingsIo (local_pybinding): <<< WS: {"args":["my_skoda","fhempy","skodaconnect","xxx@x.de","xxx","xxxx"],"defargsh":{},"argsh":{},"id":"50535480","FHEMPYTYPE":"skodaconnect","function":"Define","defargs":["my_skoda","fhempy","skodaconnect","xxx@x.de","xxx","xxxx"],"PYTHONTYPE":"skodaconnect","msgtype":"function","NAME":"my_skoda"}
2021.11.11 20:48:45 5: DevIo_SimpleWrite local_pybinding: 7b2261726773223a5b226d795f736b6f6461222c226668656d7079222c22736b6f6461636f6e6e656374222c22762e73746165626c65696e40676d782e6465222c22736b6175636f323121222c2230353239225d2c226465666172677368223a7b7d2c226172677368223a7b7d2c226964223a223530353335343830222c224648454d505954595045223a22736b6f6461636f6e6e656374222c2266756e6374696f6e223a22446566696e65222c2264656661726773223a5b226d795f736b6f6461222c226668656d7079222c22736b6f6461636f6e6e656374222c22762e73746165626c65696e40676d782e6465222c22736b6175636f323121222c2230353239225d2c22505954484f4e54595045223a22736b6f6461636f6e6e656374222c226d736774797065223a2266756e6374696f6e222c224e414d45223a226d795f736b6f6461227d
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): DevIo_SimpleRead
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): DevIo_SimpleRead WithTimeout
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): QUEUE: start handling - 0
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): QUEUE: finished handling - 0
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): DevIo_SimpleRead
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): DevIo_SimpleRead WithTimeout
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): QUEUE: start handling - 0
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): QUEUE: finished handling - 0
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): DevIo_SimpleRead
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): DevIo_SimpleRead WithTimeout
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): QUEUE: start handling - 0
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): QUEUE: finished handling - 0
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): DevIo_SimpleRead
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): DevIo_SimpleRead WithTimeout
2021.11.11 20:48:45 4: BindingsIo (local_pybinding): >>> WS: {"msgtype": "version", "version": "0.1.172"}
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): QUEUE: start handling - 1
2021.11.11 20:48:45 5: processMessage: {"msgtype": "version", "version": "0.1.172"}
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): QUEUE: finished handling - 0
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): DevIo_SimpleRead
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): DevIo_SimpleRead WithTimeout
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): QUEUE: start handling - 0
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): QUEUE: finished handling - 0
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): DevIo_SimpleRead
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): DevIo_SimpleRead WithTimeout
2021.11.11 20:48:45 4: BindingsIo (local_pybinding): >>> WS: {"args": ["my_skoda", "fhempy", "skodaconnect", "xxx@x.de", "xxx", "xxxx"], "defargsh": {}, "argsh": {}, "id": "50535480", "FHEMPYTYPE": "skodaconnect", "function": "Define", "defargs": ["my_skoda", "fhempy", "skodaconnect", "xxx@x.de", "xxx", "xxxx"], "PYTHONTYPE": "skodaconnect", "msgtype": "function", "NAME": "my_skoda", "finished": 1, "returnval": ""}
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): QUEUE: start handling - 1
2021.11.11 20:48:45 5: processMessage: {"args": ["my_skoda", "fhempy", "skodaconnect", "xxx@x.de", "xxx", "xxxx"], "defargsh": {}, "argsh": {}, "id": "50535480", "FHEMPYTYPE": "skodaconnect", "function": "Define", "defargs": ["my_skoda", "fhempy", "skodaconnect", "xxx@x.de", "xxx", "xxxx"], "PYTHONTYPE": "skodaconnect", "msgtype": "function", "NAME": "my_skoda", "finished": 1, "returnval": ""}
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): QUEUE: finished handling - 0
2021.11.11 20:48:45 4: BindingsIo (local_pybinding): end fhempyFunction: my_skoda => Define (50535480) - result:
2021.11.11 20:48:45 1: ws:127.0.0.1:15733 reappeared (local_pybinding)
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): DevIo_SimpleRead
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): DevIo_SimpleRead NoTimeout
2021.11.11 20:48:45 5: BindingsIo (local_pybinding): DevIo_SimpleRead WithTimeout - connection seems to be closed
2021.11.11 20:48:45 1: ws:127.0.0.1:15733 disconnected, waiting to reappear (local_pybinding)
2021.11.11 20:48:45 3: fhempyserver_15733: read: end of file reached while sysread
2021.11.11 20:48:45 3: fhempyserver_15733: stopped
2021.11.11 20:48:45 4: fhempyserver_15733: last run duration was only 12 sec, restarting with delay
2021.11.11 20:48:45 5: HttpUtils url=http://127.0.0.1:15733/ NonBlocking via http
2021.11.11 20:48:45 4: IP: 127.0.0.1 -> 127.0.0.1
2021.11.11 20:48:45 4: HttpUtils: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.11.11 20:48:45 1: BindingsIo (local_pybinding): ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.11.11 20:49:00 5: HttpUtils url=http://127.0.0.1:15733/ NonBlocking via http
2021.11.11 20:49:00 4: IP: 127.0.0.1 -> 127.0.0.1
2021.11.11 20:49:00 4: HttpUtils: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.11.11 20:49:00 1: BindingsIo (local_pybinding): ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
2021.11.11 20:49:05 5: fhempyserver_15733: using FHEM/bindings/python/bin/fhempy
2021.11.11 20:49:05 3: fhempyserver_15733: starting
2021.11.11 20:49:05 3: fhempyserver_15733: using logfile: ./log/fhempy-2021-11-11.log
2021.11.11 20:49:10 5: HttpUtils url=http://127.0.0.1:15733/ NonBlocking via http
2021.11.11 20:49:10 4: IP: 127.0.0.1 -> 127.0.0.1
2021.11.11 20:49:10 5: HttpUtils request header:
GET / HTTP/1.1
Host: 127.0.0.1:15733
User-Agent: fhem
Accept-Encoding: gzip,deflate
Upgrade: websocket
Sec-WebSocket-Key: xyhkeceJkN4rcC9iJ0dbeA==
Connection: Upgrade
Sec-WebSocket-Version: 13
Bitte auch das fhempy Log nachdem du alles auf verbose 5 gestellt hast. Achte da bitte auch darauf, dass im Log keine Credentials ersichtlich sind.
da steht leider nicht mehr drin, also ich oben schon gepostet habe.
Ich habe das Gefühl das das Device in fhem nicht "richtig" angelegt/ausgeführt wird.
z.b. beim attr room oder verbose ist keine dropdown Auswahl möglich, wie bei den anderen.
Probier bitte statt Skodaconnect Mal das helloworld Modul.
mit helloworld ist es das gleiche ... gleiche log Einträge und server offline
Was hat es mit dem Fehler 111 auf sich? Ist das ok?
BindingsIo (local_pybinding): ERROR local_pybinding - error while connecting: 127.0.0.1: Verbindungsaufbau abgelehnt (111)
Naja, da ist fhempy weg, daher die Meldung.
Stoppe den fhempyServer in FHEM und starte fhempy über die Konsole.
sudo -u fhem bash
fhempy --local
Danach mach wieder das Define und schau ob fhempy auf der Console wirklich ohne Fehler stoppt.
Ja dann kommt ein Speicherzugriffsfehler...
Kann man damit erkennen aus welcher Funktion heraus das passiert?
2021-11-11 21:48:29,922 - INFO - websockets.server: server listening on 0.0.0.0:15733
2021-11-11 21:48:43,728 - INFO - websockets.server: connection open
2021-11-11 21:48:43,733 - INFO - fhempy.lib.fhem_pythonbinding: Incoming FHEM connection: 127.0.0.1
Speicherzugriffsfehler
Welche Python Version nutzt du? Auf welchem System? Manuell oder per apt installiert?
Python 3.7.3 manuell installiert und Raspbian stretch
Ok, dann würde ich empfehlen auf Buster zu wechseln. Ich gehe davon aus, dass bei der manuellen Installation irgendwas schief gelaufen ist bzw. vielleicht eine Library fehlt.
Mach besser ein Buster Upgrade dann hast ein sauberes System, alles andere ist jetzt sonst gebastel und führt wahrscheinlich später zu weiteren Problemen.
ok werde ich am WE machen.
Vielen Dank für Deine Unterstützung. Prima Arbeit.
Hi,
hab das ganze eben mal eingerichtet - vielen Dank für die Arbeit. Das einzige was mir aufgefallen ist - pheater (hab nen TDI) setzen funktioniert nicht. Hab es dann über die App per Handy gesetzt, der Status wird in der App auch aktualisiert, im fhem modul bleibt es aber steht auf läuft nicht.
Edit:
Nach einem neustart von fhem zeigt er jetzt an, dass pheater läuft. Setzen hatte vorher nicht geklappt, werde ich heute Abend nochmal probieren. Danke!
geil. geht das auch mit BMW? i3s, lässt sich leider nicht mehr mit fhem abfragen
pheater funktioniert nicht. honkandflash funktioniert allerdings.
2022-01-25 12:53:53 fhempy my_skoda request_results: Failed
2022-01-25 12:53:53 fhempy my_skoda request_results_str: Failed
2022-01-25 12:53:54 fhempy my_skoda request_in_progress: 0
2022-01-25 12:53:54 fhempy my_skoda request_in_progress_str: Off
Hallo @all,
habe es mal versucht lt Anleitung einzurichten ...
fhempyserver_15733 und local_pybinding laufen - auch das Modul rrring steht auf connected und legt einiges an readings an .
Aber bei scodaconnect bleibt es bei connecting und es werden auch keine readings angelegt :-(
Wenn ich mit den Zugangsdaten über https://www.skoda-connect.com teste -sehe ich das Passwort & spin stimmen - wo hakt es denn da ?
Das gleiche habe ich auch:
Fhempy ist connectet da ich Tuya auch laufen habe.
Er bleibt bei connected stehen, über die Webseite kann ich mich mit den Daten einloggen.
2022-01-30 16:37:35,504 - WARNING - skodaconnect.connection: Invalid credentials or invalid configuration. Make sure you have entered the correct credentials
Ok , das ist schonmal beruhigend, nicht allein zu sein :-)
Vielleicht schaut Dominik mal rein ...und hat ne Idee 💡
Nachdem heutigen Update von FHEM läuft es ( htmlutils ? )
Am Modul fhempy hat sich meines Wissens nichts geändert - jedenfalls es lüppt jetzt *freu
Da hat sich was beim Login geändert. JF Mennedy hat zum Glück immer die Library im Auge und hat das Library Update bereitgestellt:
https://github.com/dominikkarall/fhempy/pull/64
Wer noch Probleme hat, sollte 0.1.211 testen.
mit der heutigen Änderung hat sich, bei mir, ein kleiner Schönheitsfehler eingeschlichen:
Reading outside_temperature_str gibt 7.5 °C aus ...
Hallo,
sehr cool dieses Modul, hat auch mit meinem ENYAQ soweit alles gut geklappt.
Was noch cool wäre, wenn ich diesen Wert verstellen könnte, min_charge_level.
Ich sehe diesen als reading aber verstellen geht nicht, in der App kann ich den verstellen.
Wie kommt das Modul eigentlich an die Daten? Wenn ich mich auf der Seite Einlogge kann ich nix am Fahrzeug verstellen oder sehen.
Danke.
Gruß
Max
Zitat von: Aladin222 am 07 Februar 2022, 08:06:07
mit der heutigen Änderung hat sich, bei mir, ein kleiner Schönheitsfehler eingeschlichen:
Reading outside_temperature_str gibt 7.5 °C aus ...
Sollte behoben sein.
Zitat von: MadMax am 12 Februar 2022, 16:04:42
Hallo,
sehr cool dieses Modul, hat auch mit meinem ENYAQ soweit alles gut geklappt.
Was noch cool wäre, wenn ich diesen Wert verstellen könnte, min_charge_level.
Ich sehe diesen als reading aber verstellen geht nicht, in der App kann ich den verstellen.
Wie kommt das Modul eigentlich an die Daten? Wenn ich mich auf der Seite Einlogge kann ich nix am Fahrzeug verstellen oder sehen.
Danke.
Gruß
Max
Das Modul basiert auf der Library hier: https://github.com/lendy007/skodaconnect
min_charge_level wird dort leider nicht unterstützt. Willst du nicht eher charge_limit setzen? Meinst du mit min_charge_level, dass erst geladen wird, wenn ein definiertes Minimum SoC erreicht wurde? Fall ja, könntest du SoC Level prüfen und dann den Charger ein und ausschalten!? Ich habe leider keinen Skoda, daher kann ich es nicht testen.
hallo @all,
leider funzt der Skoda connect nicht mehr ..... bleibt auf connecting :-(
Dürfte sich wieder was beim Login geändert haben.
https://github.com/lendy007/skodaconnect/releases
Ich habe die aktualisierte Lib aufgenommen. Update ist in paar Minuten online.
perfekt ! ...funzt wieder :-)
Danke !
Zitat von: dominik am 12 Februar 2022, 18:42:06
Das Modul basiert auf der Library hier: https://github.com/lendy007/skodaconnect
min_charge_level wird dort leider nicht unterstützt. Willst du nicht eher charge_limit setzen? Meinst du mit min_charge_level, dass erst geladen wird, wenn ein definiertes Minimum SoC erreicht wurde? Fall ja, könntest du SoC Level prüfen und dann den Charger ein und ausschalten!? Ich habe leider keinen Skoda, daher kann ich es nicht testen.
Kann sein das du recht hast aber davon habe ich auch kein Reading und kann das auch nicht setzen.
Wie kann man das Hinzufügen?
Welche Readings hast du? Batterieladestand sollte eigentlich dabei sein.
Ja den sehe ich.
Über die App (wenn sie mal funktioniert) kann ich den Maximalen Ladestand bis zu dem geladen werden soll einstellen.
Dieser eingestellte Wert stimmt mit dem Reading min_charge_level überein.
Ob das auch der Wert ist den ich verstellen muss weiß ich nicht.
Gruß
Max
Auf dem Bild zu sehen, links die 100% kann ich verstellen, den Wert sehe ich dann auch als Reading.
Ich meinte nur, wenn du den Batterieladestand siehst, kannst du ein DOIF machen und das Laden beenden wenn der gewünschte Ladestand erreicht ist. Oder habe ich den Use Case falsch verstanden?
Ja das wäre kein Problem, ich brauche das nicht zwingend aber wenn es ohne großen Aufwand gehen würde wäre es halt schon gut.
Was ist eigentlich mit den Timern für die Abfahrt?
Wann kann die setzen aber als Reading sind die nicht da?
Liegt das am Auto oder ist das allgemein so?
Bei mir ist es ein ENYAQ.
Danke
Max
Ich glaube wir reden noch aneinander vorbei :) Beschreibe mir bitte den Use Case den du haben möchtest, dann finden wir wahrscheinlich eine Lösung dafür.
Mein Verständnis vom Use Case:
Du möchtest nach erreichen eines bestimmten Batterielevels die Ladevorgang beenden. Z.B. bei 80% Batterielevel soll nicht weiter geladen werden. Des Weiteren soll erst ab einem Minimum Batterie Level der Ladevorgang gestartet weden. Z.B. wenn du mit 60% ansteckst wird nicht geladen, wenn du aber mit 40% ansteckst wird geladen.
Wie gesagt das würde ich im zusammenspiel mit der WB hinbekommen.
Wir ist halt aufgefallen das ich die Dinge in der App einstellen kann und bin davon ausgegangen das du im Prinzip die gleiche Schnittstelle nutzt.
Ok, ich verstehe, dass dein Use Case sowieso mit der WB möglich ist und du daher wirklich nur den Wert setzen willst?
Und mit dem Wert meinst du den Charge Level ab welchen das Laden beendet werden soll, richtig? Wenn ja, dann sollte das mit charge_limit setzbar sein. Probier das bitte mal mit set charge_limit 50 aus und schau was sich in der App tut.
Hallo,
Ich habe das mal versucht, leider streikt die App mal wieder...
Werde das mal beobachten wenn die App mal wieder funktioniert.
Hallo,
Da die App noch immer nicht funktioniert hat ich es heute im Auto probiert.
Also wenn ich charge_limit in fhem setze tut sich beim Auto nix, finde auch keinen parameter den ich damit in Verbindung setzen könnte.
Stelle ich im Auto das Ladelimmit auf 90% ändert sich in fhem das "min_charge_level".
Somit ist die zumindest bei meinem Auto kein Min sondern eher ein max Limit.
Eie gesagt schön wäre es den Wert über Fhem verstellen zu können aber ich kann auch ohne leben.
Gruß Max
...nach update pythonbinding steht mein Skoda wieder nur auf connecting und es kommen keine Readings :-(
Verstehe ich was falsch und sollte die Updates besser nicht machen ?
Eigentlich sollten mit dem letzten Update die Probleme behoben sein. Weil davor hatte es nicht mehr funktioniert.
Läuft es bei den anderen? Ich habe selbst keinen Skoda, hab nur das Modul entwickelt, daher kann ich nicht testen.
Bei mir Läuft alles
hmmm, also , bei mir steht der Skoda auf connecting - da wurde sonst der Tankstand in % angezeigt !
Aber die readings scheinen sich doch zu aktualisieren ....
Teste das aber gleich nochmal.
stateFormat Attribut entfernt?
stateformat hab ich nix außergewöhnliches drin bzw. gesetzt .
Aber gerade auf pybinding 0.1.250 Update gemacht ...funzt wieder wie gewohnt :-)
Hi, supercooles Modul, funktioniert mit meinem neuen Enyaq ganz hervorragend.
Einzig "spooky" ist, dass der state auf "connecting" bleibt (und der ReadingsTimestamp sich nicht ändert), obwohl alle anderen Readings sich regelmäßig (und auch plausibel) aktualisieren - aber das ist für mich ehere eyecandy ..
Ich hätte noch einen Änderungswunsch.
Die aktuelle Implementation ist für PHEV gedacht, nicht für vollelektrische.
mit meinem Enyaq funktioniert das nur halbwegs. Um den Enyaq richtig zu steuern, müsste man folgende Änderungen machen (in skodaconnect.py):
self.set_config["charger_current"] = {
"args": ["current"],
"options": "Maximum,Reduced",
}
self.set_config["charge_limit"] = {
"args": ["limit"],
"options": "50,60,70,80,90,100",
}
siehst du irgend eine Möglichkeit, das je nach Modell konfigurierbar zu machen?
Hallo macfly,
Was kannst oder willst du damit steuern?
Ich habe auch einen Enyaq darum bin ich sehr an Funktionen für das Auto interessiert.
Gruß
Max
Zitat von: MadMax am 30 Mai 2022, 20:42:44
Hallo macfly,
Was kannst oder willst du damit steuern?
Ich habe auch einen Enyaq darum bin ich sehr an Funktionen für das Auto interessiert.
Gruß
Max
Ich baue gerade an einer Überschussladelösung. Und da meine PV-Anlage relativ klein ist (6KW Peak in Ost/West Ausrichtung), habe ich nie mehr als 3KW anliegen. Wenn ich also möglichst punktgenau den Überschuss laden möchte, kann ich das mit der Wallbox (Go-E) ab 6A nur in 1A schritten tun. Wenn ich dann noch pro 1A Schritt im Auto jeweils "Ladeleistung verringern/nicht verringern" aktivieren kann, habe ich noch Zwischenschritte.
Und ich möchte die minimale Ladung des Autos gerne über das Wandtablet steuern, dann brauche ich nicht die skodaconnect app (die ich ziemlich gammelig finde). Im Prinzip kann man alles, was die skodaconnect app kann, auch via api ansteuern (Ladelimit, Ladestrom begrenzen, Vorklimatisieren, Scheibe heizen, Abfahrtzeiten)
also, zusammengefasst (lt. skodaconnect api):
Ladelimit (vehicle.set_charge_limit)
PHEV können das Ladelimit setzen von 0-50 in 10er Schritten
EV können das Ladelimit setzen von 50-100 in 10er Schritten
Ladestrom (vehicle.set_charger_current)
PHEV können Ladestrom reduzieren (=252) oder maximal laden (=254)
EV können Ladestrom reduzieren (=Reduced) oder maximal laden (=Maximum)
Wäre nett, wenn man dem Modul sagen könnte, dass man ein PHEV oder ein EV hat, und dann diese Werte jeweils zugelassen werden.
hallo zusammen ,
mit dem Update auf 0.1.358 steht mein Skoda wieder nur auf connecting :-(
Zitat von: Aladin222 am 31 Mai 2022, 10:51:53
hallo zusammen ,
mit dem Update auf 0.1.358 steht mein Skoda wieder nur auf connecting :-(
ja bei mir auch, Daten werden trotzdem aktualisiert (bei mir).
Zitat von: macfly am 30 Mai 2022, 20:51:59
Ich baue gerade an einer Überschussladelösung. Und da meine PV-Anlage relativ klein ist (6KW Peak in Ost/West Ausrichtung), habe ich nie mehr als 3KW anliegen. Wenn ich also möglichst punktgenau den Überschuss laden möchte, kann ich das mit der Wallbox (Go-E) ab 6A nur in 1A schritten tun. Wenn ich dann noch pro 1A Schritt im Auto jeweils "Ladeleistung verringern/nicht verringern" aktivieren kann, habe ich noch Zwischenschritte.
Und ich möchte die minimale Ladung des Autos gerne über das Wandtablet steuern, dann brauche ich nicht die skodaconnect app (die ich ziemlich gammelig finde). Im Prinzip kann man alles, was die skodaconnect app kann, auch via api ansteuern (Ladelimit, Ladestrom begrenzen, Vorklimatisieren, Scheibe heizen, Abfahrtzeiten)
also, zusammengefasst (lt. skodaconnect api):
Ladelimit (vehicle.set_charge_limit)
PHEV können das Ladelimit setzen von 0-50 in 10er Schritten
EV können das Ladelimit setzen von 50-100 in 10er Schritten
Ladestrom (vehicle.set_charger_current)
PHEV können Ladestrom reduzieren (=252) oder maximal laden (=254)
EV können Ladestrom reduzieren (=Reduced) oder maximal laden (=Maximum)
Wäre nett, wenn man dem Modul sagen könnte, dass man ein PHEV oder ein EV hat, und dann diese Werte jeweils zugelassen werden.
Was genau beeinflusst vehicle.set_charge_limit?
charge_limit gibt an, bis zu welchem Prozentsatz der Autoakku gefüllt werden kann.
Das funktioniert bei mir gar nicht musste ich feststellen
Hallo zusammen,
ich habe mich mal etwas in die python-Welt eingelesen und einige Verbesserungen an zwei Repositories durchgeführt. Vielleicht mag das mal der eine oder andere mit einem Enyaq testen?
a) als erstes wird eine geänderte Version der skodaconnect-Implementierung benötigt, diese ist zu finden unter https://github.com/fbuescher/skodaconnect . Im Prinzip ist nur skodaconnect/vehicle.py geändert, sodass Rückgabewerte aus dem Setzen der API nicht verschluckt sondern zurückgegeben werden. Es reicht also auch aus, diese eine Datei zu tauschen (unter linux liegt die im fhem-user-home unter .local/lib/python{versionsnummer}/site-packages/skodaconnect)
b) außerdem wird eine geänderte Version von fhempy benötigt, diese gibt es hier: https://github.com/fbuescher/fhempy . Hier ist nur FHEM/bindings/python/fhempy/lib/skodaconnect/skodaconnect.py geändert, sodass charge_limit und charger_current für den Enyaq funktionieren und der Status des Moduls aktualisiert wird. Auch hier reicht es im Prinzip, die einzelne Datei auszutauschen (unter linux liegt die im fhem-user-home unter .local/lib/python{versionsnummer}/site-packages/fhempy/lib/skodaconnect)
Achtung, {versionsnummer} ist zu ersetzen mit der Python-Version, die ihr habt, bei mir 3.10.
Über feedback und konstruktive Kritik freue ich mich.
schöne Grüße,
Friedhelm
Hi Friedhelm,
benötigt dein Pull Request (https://github.com/dominikkarall/fhempy/pull/80) bereits die adaptierte Version der SkodaConnect Library? Oder klappt es auch ohne der Anpassung? Wenn es auch ohne geht, würde ich den mergen.
Btw, kann man über die API eventuell automatisch feststellen ob es ein EV ist? Womöglich check von einem Reading fuel oder so? Dann müsste man das Attribut nicht setzen was für neue User meistens schneller zum Erfolg führt.
Zitat von: dominik am 01 Juni 2022, 22:15:46
Hi Friedhelm,
benötigt dein Pull Request (https://github.com/dominikkarall/fhempy/pull/80) bereits die adaptierte Version der SkodaConnect Library? Oder klappt es auch ohne der Anpassung? Wenn es auch ohne geht, würde ich den mergen.
Btw, kann man über die API eventuell automatisch feststellen ob es ein EV ist? Womöglich check von einem Reading fuel oder so? Dann müsste man das Attribut nicht setzen was für neue User meistens schneller zum Erfolg führt.
Benötigen ist zuviel gesagt. mit der Änderung der API würde man im state ein "Timeout" für 5s angezeigt bekommen, ist aber eher eyecandy.
Das automatisch feststellen habe ich nicht hinbekommen. Insbesondere, da offenbar EV und PHEV unterschiedlich angesteuert werden sollen, beide aber geladen werden können.
Warte aber nochmal mit dem pull-request, ich würde das gerne noch weiter testen .. (ich war da möglicherweise zu ungeduldig und zu stolz, was in python geschrieben zu haben, was nicht *sofort* eine exception wirft ;-))
Alles gut, probieren soll ja auch erlaubt sein, so habe ich auch Python gelernt :D
...und freut mich, dass du mitentwickelst, alleine kann ich die Vielzahl an Modulen kaum mehr stemmen. Danke!
Vielleicht kann jemand mit einem PHEV seine Readings hier posten, womöglich gibt es einen Wert den man gut für die Unterscheidung verwenden kann.
Guten Morgen,
Hier mal die Readings von meinem Enyaq.
setstate my_skoda connecting
setstate my_skoda 2022-06-02 05:54:27 battery_level 78
setstate my_skoda 2022-06-02 05:54:27 battery_level_str 78 %
setstate my_skoda 2022-06-02 05:54:27 charge_max_ampere Maximum
setstate my_skoda 2022-06-02 05:54:27 charge_max_ampere_str Maximum A
setstate my_skoda 2022-06-02 05:54:27 charge_rate 0
setstate my_skoda 2022-06-02 05:54:27 charge_rate_str 0 km/h
setstate my_skoda 2022-06-02 05:54:27 charging 0
setstate my_skoda 2022-06-02 05:54:27 charging_cable_connected 1
setstate my_skoda 2022-06-02 05:54:27 charging_cable_connected_str Connected
setstate my_skoda 2022-06-02 05:54:27 charging_cable_locked 1
setstate my_skoda 2022-06-02 05:54:27 charging_cable_locked_str Locked
setstate my_skoda 2022-06-02 05:54:27 charging_power 0
setstate my_skoda 2022-06-02 05:54:27 charging_power_str 0 W
setstate my_skoda 2022-06-02 05:54:27 charging_str Off
setstate my_skoda 2022-06-02 05:54:27 charging_time_left 00:00
setstate my_skoda 2022-06-02 05:54:27 charging_time_left_str 00:00 h
setstate my_skoda 2022-06-02 05:54:27 climatisation_target_temperature 19.0
setstate my_skoda 2022-06-02 05:54:27 climatisation_target_temperature_str 19.0 °C
setstate my_skoda 2022-06-02 05:54:27 departure1 1
setstate my_skoda 2022-06-02 05:54:27 departure1_str On
setstate my_skoda 2022-06-02 05:54:27 departure2 0
setstate my_skoda 2022-06-02 05:54:27 departure2_str Off
setstate my_skoda 2022-06-02 05:54:27 electric_climatisation 0
setstate my_skoda 2022-06-02 05:54:27 electric_climatisation_str Off
setstate my_skoda 2022-06-02 05:54:27 electric_range 272
setstate my_skoda 2022-06-02 05:54:27 electric_range_str 272 km
setstate my_skoda 2022-06-02 05:54:27 external_power 0
setstate my_skoda 2022-06-02 05:54:27 external_power_str Off
setstate my_skoda 2022-06-02 05:54:27 min_charge_level 100
setstate my_skoda 2022-06-02 05:54:27 min_charge_level_str 100 %
setstate my_skoda 2022-06-02 05:54:27 model_image_large https://ip-modcwp.azureedge.net/modcwp5azs22101014/H6H6us_L3HCJw0yo7X6l-2NpwBgdMTFsKr98Xmjva4Ph-8GrXMPj39fSUlhA1K-_4Fmcq6kgHbMxsP1puUERB7Oi0.-B-1080570dayvext_front1080.png
Gruß Max
Der Enyaq ist ein EV, oder? Oder ist es ein PHEV?
Jepp, rein elektrisch.
so, ich melde mich mal wieder ..
Ich war erst etwas verhalten, weil in letzter Zeit (ziemlich genau, wo ich mit fhempy gestartet bin) starke Probleme mit meinem fhem-server hatte. Segmentation Faults, spontane reboots usw. Ich hatte erst das interface perl <-> python im Verdacht, bis sich herausstellte, dass mein mainboard defekt ist und das Ram-Corruptions waren (!).
Egal, Server ist repariert, und das skodaconnect läuft wie geschmiert. Ich habe einen neuen pullrequest erzeugt, woe jetzt auch die Stati etwas gesprächiger sind. Magst du dir das mal anschauen?
schöne Grüße,
Friedhelm
Uij...das hört sich nach einer langwierigen Fehlersuche an :o
Ich habe mir den Pull Request angeschaut. Danke nochmals, dass du dich dem annimmst! Was ich nicht so schön finde, ist das hier:
https://github.com/dominikkarall/fhempy/pull/84/files#diff-5147a915f15690bbf0398de961fbe7de3f0efce0c2fd024141319ff2d6f4cfc5R287
Der "state" wird ziemlich oft geändert und die Funktionsnamen im state sind denke ich für viele User nicht optimal. Aus meiner Sicht sollte state auf connected bleiben, bis ein Fehler auftritt. Wenn dieser auftritt, dann auf failed gehen. Was meinst du? Weil die Funktionsnamen im state sind schon sehr unüblich in FHEM.
hm, ok, das mit den Funktionsnamen, da stimm ich dir zu.
Allerdings ist es so, dass man ohne Änderung der skodaconnect-implementierung *keinen* Fehler zurückbekommt, sondern immer ok. Auch bei einem Timeout. deswegen würde ich schon gerne visualisieren, dass die fhempy-skodaconnect-anbindung noch auf Antwort wartet. Vielleicht für alle Änderungen ein "wait for API to respond" oder so? Dass man zumindest sieht, dass die API mal wieder superlahm ist? Das wäre äquivalent zur Skodaconnect-Android-App, wo durchaus auch mal 2 Minuten die Eieruhr dreht und dann kommt "es ist ein Fehler aufgetreten".
was meinst du?
Eine Idee:
Eine generische Funktion bauen, die dann die vehicle-Methoden aufruft. Dort kann man dann jede Rückmeldung der vehicle-Methoden bearbeiten. Ich habe gesehen, dass die Skodaconnect Library da schöne Exceptions wirft die man dann im state ausgeben könnte.
Hier mal schnell die Idee runtergeschrieben (untested!):
async def set_pheater(self, hash, params):
func = self.vehicle.set_pheater(params["mode"], self.spin)
self.create_async_task(self._call_vehicle_function(func))
async def _call_vehicle_function(self, function):
try:
await function()
except Exception as e:
await fhem.readingsSingleUpdate(self.hash, "state", str(e), 1)
Führt man dann ein set.... durch, wird im Fehlerfall der state auf den Fehler gesetzt. Läuft es korrekt durch, müsste sich das entsprechende Reading ändern.
Hi, ich hab das Modul jetzt auch am laufen.
Die Readings funktionieren.
Aber es geht kein einziger Set Befehl.
Gibt es dazu noch Tipps?
Grüße
Danke
...weiß einer ob zwischenzeitlich der Zielladestand bei Enyaq-Fahrzeugen funktioniert?
Hi, auch bei mir holt sich das Modul recht zuverlässig die Werte meines Enyaq. Für Aussetzer der Server kann hier ja keiner was. :)
Aber die Set-Befehle funktionieren auch hier nicht. Leider
Kommt eine Fehlermeldung im fhempy Log bei den Set-Befehlen?
Hallo,
ich bin sehr zufrieden mit dem Modul und würde gerne einen Wunsch äußern.
Um nicht auf meiner zweiten Fhem Instanz parallel die Skoda API abrufen zu müssen wäre es schön, wenn das Modul FHEM2FHEM kompatible wäre. Besteht da eine Chance?
Grüße Jörg
Update: Habe das jetzt mit httpmod und JsonList2 gelöst.
Hallo,
Bezüglich der Set Befehle muss ich korrigieren:
climatization electric geht.
climatization_target_temperature geht nicht:
Im Log:
2023-01-05 22:07:00,295 - INFO - skodaconnect.vehicle: Remote control of climatisation functions is not supported.
Charge_limit geht nicht:
Im Log:
2023-01-05 22:00:49,024 - ERROR - MySkodaEnyaq: Exception raised by task: <Task finished name='Task-2323' coro=<FhemModule._run_coro() done, defined at /home/fhem/.local/lib/python3.8/site-packages/fhempy/lib/generic.py:194> exception=SkodaInvalidRequestException('Charge limit "50" is not supported.') created at /usr/lib/python3.8/asyncio/tasks.py:382>
Traceback (most recent call last):
File "/home/fhem/.local/lib/python3.8/site-packages/fhempy/lib/generic.py", line 202, in _handle_task_result
task.result()
File "/home/fhem/.local/lib/python3.8/site-packages/fhempy/lib/generic.py", line 196, in _run_coro
await coro
File "/home/fhem/.local/lib/python3.8/site-packages/skodaconnect/vehicle.py", line 519, in set_charge_limit
raise SkodaInvalidRequestException(f'Charge limit "{limit}" is not supported.')
skodaconnect.exceptions.SkodaInvalidRequestException: Charge limit "50" is not supported.
und seit dem Update gestern läuft es immer nur eine Stunde lang.
Im Log steht dann:
2023-01-06 15:10:45,175 - WARNING - skodaconnect.connection: Something went wrong when refreshing tokens for "connect".
2023-01-06 15:10:45,175 - WARNING - skodaconnect.connection: Could not fetch air-conditioning, error: Failed to set token for "connect"
Nach einem Neustart von fhempy_local läuft es dann wieder, für eine Stunde. :(
Hi,
zuletzt wurde wieder ein Update der skodaconnect Library von JFMennedy gemacht. Es sollte daher IMHO wieder laufen.
Ja, läuft wieder super.
Danke
Hallo Dominik,
Nochmal Danke für die Hilfe in dem anderen Threat. Die Verbindung zu meinem Superb klappt einwandfrei. :)
Ich würde das gerne bei deinem Freund auch einrichten. Er hat allerdings einen VW T6. Bei VW gibt es ja auch eine APP und am Ende ist Skoda ja auch VW. Hier im Forum habe ich aber nur ein 8 Jahre altes Phyton Projekt https://github.com/bisho/carnet (https://github.com/bisho/carnet) gefunden und einen umständlichen Weg über Homebridge.
Gibt es einen Weg auch einen VW über fhempy zu verbinden?
Hi,
Der Entwickler der Basis Lib ist bald stolzer Besitzer eines VW.. Nicht undenkbar, dass er die Skoda Lib an VW anpasst... Bis dahin das we connect Modul in iobroker nutzen und über mqtt mit fhem verbinden... Hatte ich so vor fhempy laufen...
Gruss Jan
Zitat von: JF Mennedy am 20 Februar 2023, 21:25:10
Hi,
Der Entwickler der Basis Lib ist bald stolzer Besitzer eines VW.. Nicht undenkbar, dass er die Skoda Lib an VW anpasst... Bis dahin das we connect Modul in iobroker nutzen und über mqtt mit fhem verbinden... Hatte ich so vor fhempy laufen...
Gruss Jan
Danke für den Tipp, ist wie gesagt für einen Freund. Das wäre mir zu aufwendig und am Ende vermutlich auch nicht "pflegeleicht". Wenn es mal direkt über FHEMPY geht, wäre es gut. Wenn es erst mal nicht geht ist es auch kein Problem.
@Jan, lass mich wissen wenn es die Library gibt. Wird wahrscheinlich nicht so ein hoher Aufwand sein das in fhempy aufzunehmen.
Hi,
Ich halte das gerne im Auge und pushe auch die nötigen vorher getesten Updates in das fhempy Repository... Es tut sich gerade einiges (beunruhigendes) von Seiten Basis Lib. Der jetzige Maintainer hat das Projekt abgegben, da er, wie bereits erwähnt, die Marke wechselt. Die Base wird zukünftig aus einem anderen Repo kommen (https://github.com/skodaconnect/skodaconnect)... Ich hoffe, dass diese Lib das überlebt und nicht vor einem grösseren Update der VAG vor dem Aus steht... (Die Hintergrund Infos hab ich aus dem Discord des scheidenen Maintainers...)
Gruss Jan
Hallo,
seit 22.07.2023 wird keine Verbindung mehr aufgebaut. Das Device bleibt permanent im connecting hängen. Bin ich damit alleine?
Grüße Jörg
Habe das gleiche Problem. Seit 2 Tagen hängen die Readings...
Am Python Modul kann es nicht liegen, da mein Wechaelrixhrer ebenfalls über Python noch funktioniert.
Auch die App funktioniert noch?
Hallo,
im fhempy-Log stand bei mir:
'The terms and conditions must be accepted first at "https://www.skoda-connect.com/"
Habe auf https://www.skoda-connect.com/ eine Anmeldung gemacht und musste dort den neuen Nutzungsbedingungen zustimmen.
Nach erneutem Speichern der DEF des Skoda Connect devices in FHEM wurden dann die Readings wieder aktualisiert.
Andreas
Hallo Andreas,
vielen Dank für den Hinweis. Den Hinweis habe ich echt übersehen. Jetzt läuft es wieder.
Grüße Jörg
Ohh, Mensch. Das wars tatsächlich...
Seit zwei Tagen synced mein Enyaq nicht mehr mit FHEM.
Im Log steht:
2023-11-04 17:50:59,117 - WARNING - skodaconnect.connection: Could not refresh tokens: 0, message='Attempt to decode JSON with unexpected mimetype: text/plain', url=URL('https://api.connect.skoda-auto.cz/api/v1/authentication/token/refresh?systemId=CONNECT')
2023-11-04 17:50:59,118 - WARNING - skodaconnect.connection: Could not refresh tokens: Token is invalid for client "connect"
2023-11-04 17:50:59,118 - WARNING - skodaconnect.connection: An error was encountered during interaction with the API: Failed to set token for "vwg": No valid tokens for client "vwg"
Ich habe schon versucht mich nochmal über die Webseite anzumelden (geht).
Die App ebenfalls.
Und auch das Device habe ich gelöscht und neu angelegt...
Bringt alles nichts - irgendwelche Ideen?
Hi,
Ideen leider keine, aber bei mir mit dem CITIGO dasselbe Problem, scheint sich also um ein systematisches Problem zu handeln.
Grüsse,
Stephan
Auch bei mir ist der Enyaq nicht mehr verbunden. :'(
Grüße,
Jens
Auf der Git Page von FhemPy gibt es einen Workaround. Einfach auf Isuses klicken.
Grüße Jörg
Hast Du vielleicht den direkten Link dahin?
Irgendwie bin ich zu blöd das Issue zu finden?
https://github.com/fhempy/fhempy/issues
es war bereits als closed geflagged:
https://github.com/fhempy/fhempy/issues/215
Zitat von: Nogga am 04 November 2023, 21:30:41Seit zwei Tagen synced mein Enyaq nicht mehr mit FHEM.
Bei mir gehts nach Update des FHEMPY-Server auf Version 0.1.673 wieder.
Bin mir aber nicht sicher, ob dies der Grund ist, dass es wieder funktioniert?
Viele Grüße,
Andreas
AHHH, ich erhalte seit gestern, ohne was gemacht zu haben den Fehler -> 127.0.0.1: Verbindungsaufbau abgelehnt (111)
Kann mir jemand helfen, Fhem-Neustart, sowie NUC Neustart haben nix gebracht.
Zitat von: SimonHipp am 15 Dezember 2023, 22:21:57AHHH, ich erhalte seit gestern, ohne was gemacht zu haben den Fehler -> 127.0.0.1: Verbindungsaufbau abgelehnt (111)
Kann mir jemand helfen, Fhem-Neustart, sowie NUC Neustart haben nix gebracht.
Hallo,
die Datenschutzbedingungen haben sich geändert. Dem musst erst durch Anmeldung über die Internetadresse zustimmen.
Grüße Jörg
hey vielen Dank für Eure Infos in diesem Kanal. Ich konnte meinen neuen Skoda Enyaq 85 problemlose mit wenigen Klicks einbinden. Funktioniert alles bestens, Top!!
Damit bin ich nun auf den Geschmack gekommen und möchte hier eine Frage stellen, die ich anderswo im Forum nirgends geklärt bekommen habe.
Skoda und Volkswagen basieren ja auf der gleichen Plattform und ich vermute auch die Zugriffe auf skodaconnect und weconnect dürften sehr ähnlich sein. Gibt es eine Möglichkeit mit fhempy auch meinen VW auszulesen? Kann ich irgendwo die geänderte Portaladresse eintragen oder einen Parameter einstellen? Hat das schon jemand realisiert?
Da ja seat connect selbe anmeldeprozedur hat, versuchs einfach mit VW. VIN evt. eintragen bei attr
Hallo ihr,
Installation "Skoda Connect": habe fhempy (https://github.com/fhempy/fhempy) installiert (soweit ok), aber hänge an:
FHEMWEB WEB CSRF error: csrf_124021830045776 ne csrf_92598614231964 for client WEB_192.168.178.62_56116 / command define fhempy_local BindingsIo fhempy. For details see the csrfToken FHEMWEB attribute.
2024.04.21 20:58:30 1: ERROR evaluating { getRange(1) }: Undefined subroutine &main::getRange called at (eval 1528) line 1.
2024.04.21 20:58:30 1: ERROR evaluating { getRange(2) }: Undefined subroutine &main::getRange called at (eval 1529) line 1. ##möglicherweise anderer Fehler im Log
2024.04.21 20:58:34 1: reload: Error:Modul 10_BindingsIo deactivated:
Can't locate Protocol/WebSocket/Frame.pm in @INC (you may need to install the Protocol::WebSocket::Frame module) (@INC contains: ./lib ./FHEM . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/arm-linux-gnueab
ihf/perl5/5.28 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base ./FHEM/lib) at ./FHEM/10_BindingsIo.pm line 10.
BEGIN failed--compilation aborted at ./FHEM/10_BindingsIo.pm line 10.
https://github.com/ntruchsess/fhem-mirror/raw/websockets/fhem/FHEM/98_websocket.pm zeigt ins Nirwana.
Hm, weiß jemand bitte Rat?
Viele Grüße