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.