[Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI

Begonnen von Ellert, 17 Januar 2023, 14:33:07

Vorheriges Thema - Nächstes Thema

Ellert

#210
@wieral: Danke fürs Testen, die neue Version liegt im SVN unter contrib/AutomowerConnect/Common.pm

Zum Laden ist nur
{ Svn_GetFile('contrib/AutomowerConnect/Common.pm', 'lib/FHEM/Devices/AMConnect/Common.pm') }erforderlich.
Nach dem Laden der Module muss nur FHEM neu gestartet werden.

Mich würde interessieren, ob Du mit dem Scheduler den Zeitplan im Mäher setzen kannst.

Es reicht die Startzeit um  1 min zu verändern und die Änderung zum Mäher zu senden.
Dann sollte es nach einiger Zeit ein settings-event geben, danach sollte beim erneuten Aufruf des Schedulers die Änderung angezeigt werden.

Die Änderung sollte auch in der App zusehen sein.

Die Readings settings_cuttingHeight, settings_headlight, statistics_newGeoDataSets können gelöscht werden, sie werden nicht mehr auftauchen.

wieral

Hallo Ellert,

vielen Dank für deine Bemühungen.

Folgendes getestet:

- Änderung Tage = OK
- Änderung Uhrzeit und Dauer = OK

Sehe kein Error im Log. Top Arbeit.
Werde den Betrieb beobachten.

Danke und einen schönen Abend.

Ellert

Es gibt eine neue Version zum Testen, bitte beide Dateien laden.
{ Svn_GetFile('contrib/AutomowerConnect/Common.pm', 'lib/FHEM/Devices/AMConnect/Common.pm') }
{ Svn_GetFile('contrib/AutomowerConnect/automowerconnect.js', 'www/pgm2/automowerconnect.js') }

Nach dem Laden der Module muss FHEM neu gestartet, der Browsercache gelöscht und die Webseite neu geladen werden.

Der Aspire R4 kennt keine Work Area die Tasks haben aber eine WorkAreaId = 0, das ist im Scheduler berücksichtigt.

Wenn es keine Klagen gibt, wird dieser Stand veröffentlicht.

Ellert

Nach dem heutigen Update muss FHEM neu gestartet, der Browsercache gelöscht und die Webseite neu geladen werden.

Das Update beinhaltet die bisherigen Testversionen und läd hull.js nur bei Bedarf.

fis14

Hi, das Modul macht Spaß danke dafür.

vorschlag für die "Common.pm"

my $errorjson = '{"0":"Unexpected error","1":"Outside working area","2":"No loop signal","3":"Wrong loop signal","4":"Loop sensor problem, front","5":"Loop sensor problem, rear","6":"Loop sensor problem, left","7":"Loop sensor problem, right","8":"Wrong PIN code","9":"Trapped","10":"Upside down","11":"Low battery","12":"Empty battery","13":"No drive","14":"Mower lifted","15":"Lifted","16":"Stuck in charging station","17":"Charging station blocked","18":"Collision sensor problem, rear","19":"Collision sensor problem, front","20":"Wheel motor blocked, right","21":"Wheel motor blocked, left","22":"Wheel drive problem, right","23":"Wheel drive problem, left","24":"Cutting system blocked","25":"Cutting system blocked","26":"Invalid sub-device combination","27":"Settings restored","28":"Memory circuit problem","29":"Slope too steep","30":"Charging system problem","31":"STOP button problem","32":"Tilt sensor problem","33":"Mower tilted","34":"Cutting stopped - slope too steep","35":"Wheel motor overloaded, right","36":"Wheel motor overloaded, left","37":"Charging current too high","38":"Electronic problem","39":"Cutting motor problem","40":"Limited cutting height range","41":"Unexpected cutting height adj","42":"Limited cutting height range","43":"Cutting height problem, drive","44":"Cutting height problem, curr","45":"Cutting height problem, dir","46":"Cutting height blocked","47":"Cutting height problem","48":"No response from charger","49":"Ultrasonic problem","50":"Guide 1 not found","51":"Guide 2 not found","52":"Guide 3 not found","53":"GPS navigation problem","54":"Weak GPS signal","55":"Difficult finding home","56":"Guide calibration accomplished","57":"Guide calibration failed","58":"Temporary battery problem","59":"Temporary battery problem","60":"Temporary battery problem","61":"Temporary battery problem","62":"Temporary battery problem","63":"Temporary battery problem","64":"Temporary battery problem","65":"Temporary battery problem","66":"Battery problem","67":"Battery problem","68":"Temporary battery problem","69":"Alarm! Mower switched off","70":"Alarm! Mower stopped","71":"Alarm! Mower lifted","72":"Alarm! Mower tilted","73":"Alarm! Mower in motion","74":"Alarm! Outside geofence","75":"Connection changed","76":"Connection NOT changed","77":"Com board not available","78":"Slipped - Mower has Slipped.Situation not solved with moving pattern","79":"Invalid battery combination - Invalid combination of different battery types.","80":"Cutting system imbalance    Warning","81":"Safety function faulty","82":"Wheel motor blocked, rear right","83":"Wheel motor blocked, rear left","84":"Wheel drive problem, rear right","85":"Wheel drive problem, rear left","86":"Wheel motor overloaded, rear right","87":"Wheel motor overloaded, rear left","88":"Angular sensor problem","89":"Invalid system configuration","90":"No power in charging station","91":"Switch cord problem","92":"Work area not valid","93":"No accurate position from satellites","94":"Reference station communication problem","95":"Folding sensor activated","96":"Right brush motor overloaded","97":"Left brush motor overloaded","98":"Ultrasonic Sensor 1 defect","99":"Ultrasonic Sensor 2 defect","100":"Ultrasonic Sensor 3 defect","101":"Ultrasonic Sensor 4 defect","102":"Cutting drive motor 1 defect","103":"Cutting drive motor 2 defect","104":"Cutting drive motor 3 defect","105":"Lift Sensor defect","106":"Collision sensor defect","107":"Docking sensor defect","108":"Folding cutting deck sensor defect","109":"Loop sensor defect","110":"Collision sensor error","111":"No confirmed position","112":"Cutting system major imbalance","113":"Complex working area","114":"Too high discharge current","115":"Too high internal current","116":"High charging power loss","117":"High internal power loss","118":"Charging system problem","119":"Zone generator problem","120":"Internal voltage error","121":"High internal temerature","122":"CAN error","123":"Destination not reachable","124":"Destination blocked","125":"Battery needs replacement","126":"Battery near end of life","127":"Battery problem","128":"Multiple reference stations detected","129":"Auxiliary cutting means blocked","130":"Imbalanced auxiliary cutting disc detected","131":"Lifted in link arm","132":"EPOS accessory missing","133":"Bluetooth com with CS failed","134":"Invalid SW configuration","135":"Radar problem","136":"Work area tampered","137":"High temperature in cutting motor, right","138":"High temperature in cutting motor, center","139":"High temperature in cutting motor, left","141":"Wheel brush motor problem","143":"Accessory power problem","144":"Boundary wire problem","701":"Connectivity problem","702":"Connectivity settings restored","703":"Connectivity problem","704":"Connectivity problem","705":"Connectivity problem","706":"Poor signal quality","707":"SIM card requires PIN","708":"SIM card locked","709":"SIM card not found","710":"SIM card locked","711":"SIM card locked","712":"SIM card locked","713":"Geofence problem","714":"Geofence problem","715":"Connectivity problem","716":"Connectivity problem","717":"SMS could not be sent","724":"Communication circuit board SW must be updated"}';
    if ( AttrVal('global','language','EN') eq 'DE') {
        $errorjson = '{"0":"Unerwarteter Fehler","1":"Außerhalb des Arbeitsbereichs","2":"Kein Schleifensignal","3":"Falsches Schleifensignal","4":"Schleifensensorproblem, vorne","5":"Schleifensensorproblem, hinten","6":"Schleifensensorproblem, links","7":"Schleifensensorproblem, rechts","8":"Falscher PIN-Code","9":"Eingeklemmt","10":"Auf dem Kopf","11":"Niedriger Batteriestand","12":"Leere Batterie","13":"Kein Antrieb","14":"Mäher angehoben","15":"Angehoben","16":"In Ladestation stecken geblieben","17":"Ladestation blockiert","18":"Kollisions-Sensorproblem, hinten","19":"Kollisions-Sensorproblem, vorne","20":"Radmotor blockiert, rechts","21":"Radmotor blockiert, links","22":"Radantriebsproblem, rechts","23":"Radantriebsproblem, links","24":"Schneidsystem blockiert","25":"Schneidsystem blockiert","26":"Ungültige Kombination von Geräten","27":"Einstellungen wiederhergestellt","28":"Speicherschaltkreisproblem","29":"Zu steile Neigung","30":"Problem mit dem Ladesystem","31":"Problem mit der STOP-Taste","32":"Neigungssensorproblem","33":"Mäher gekippt","34":"Schneiden gestoppt - zu steile Neigung","35":"Radmotor überlastet, rechts","36":"Radmotor überlastet, links","37":"Zu hoher Ladestrom","38":"Elektronikproblem","39":"Problem mit dem Schneidemotor","40":"Begrenzter Bereich der Schnitthöhe","41":"Unerwartete Schnitthöhenanpassung","42":"Begrenzter Bereich der Schnitthöhe","43":"Problem mit der Schnitthöhe, Antrieb","44":"Problem mit der Schnitthöhe, aktuell","45":"Problem mit der Schnitthöhe, Richtung","46":"Schnitthöhe blockiert","47":"Problem mit der Schnitthöhe","48":"Keine Antwort vom Ladegerät","49":"Ultraschallproblem","50":"Führung 1 nicht gefunden","51":"Führung 2 nicht gefunden","52":"Führung 3 nicht gefunden","53":"GPS-Navigationsproblem","54":"Schwaches GPS-Signal","55":"Schwierigkeiten beim Finden des Heimwegs","56":"Führungskalibrierung abgeschlossen","57":"Führungskalibrierung fehlgeschlagen","58":"Vorübergehendes Batterieproblem","59":"Vorübergehendes Batterieproblem","60":"Vorübergehendes Batterieproblem","61":"Vorübergehendes Batterieproblem","62":"Vorübergehendes Batterieproblem","63":"Vorübergehendes Batterieproblem","64":"Vorübergehendes Batterieproblem","65":"Vorübergehendes Batterieproblem","66":"Batterieproblem","67":"Batterieproblem","68":"Vorübergehendes Batterieproblem","69":"Alarm! Mäher ausgeschaltet","70":"Alarm! Mäher gestoppt","71":"Alarm! Mäher angehoben","72":"Alarm! Mäher gekippt","73":"Alarm! Mäher in Bewegung","74":"Alarm! Außerhalb der Geofence","75":"Verbindung geändert","76":"Verbindung NICHT geändert","77":"Com-Board nicht verfügbar","78":"Gerutscht - Mäher ist gerutscht. Situation nicht mit Bewegungsmuster gelöst","79":"Ungültige Batteriekombination - Ungültige Kombination verschiedener Batterietypen","80":"Ungleichgewicht im Schneidsystem - Warnung","81":"Sicherheitsfunktion fehlerhaft","82":"Radmotor blockiert, hinten rechts","83":"Radmotor blockiert, hinten links","84":"Radantriebsproblem, hinten rechts","85":"Radantriebsproblem, hinten links","86":"Radmotor überlastet, hinten rechts","87":"Radmotor überlastet, hinten links","88":"Winkelsensorproblem","89":"Ungültige Systemkonfiguration","90":"Keine Stromversorgung in der Ladestation","91":"Schalterkabelproblem","92":"Arbeitsbereich ungültig","93":"Keine genaue Position von Satelliten","94":"Kommunikationsproblem mit der Referenzstation","95":"Falt-Sensor aktiviert","96":"Rechter Bürstenmotor überlastet","97":"Linker Bürstenmotor überlastet","98":"Ultraschallsensor 1 defekt","99":"Ultraschallsensor 2 defekt","100":"Ultraschallsensor 3 defekt","101":"Ultraschallsensor 4 defekt","102":"Schneidantriebsmotor 1 defekt","103":"Schneidantriebsmotor 2 defekt","104":"Schneidantriebsmotor 3 defekt","105":"Hubsensor defekt","106":"Kollisionssensor defekt","107":"Docking-Sensor defekt","108":"Sensor des klappbaren Mähdecks defekt","109":"Schleifensensor defekt","110":"Kollisionssensorfehler","111":"Keine bestätigte Position","112":"Großes Ungleichgewicht im Schneidsystem","113":"Komplexer Arbeitsbereich","114":"Zu hoher Entladestrom","115":"Zu hoher interner Strom","116":"Hoher Leistungsverlust beim Laden","117":"Hoher interner Leistungsverlust","118":"Problem mit dem Ladesystem","119":"Zonengeneratorproblem","120":"Interner Spannungsfehler","121":"Hohe interne Temperatur","122":"CAN-Fehler","123":"Ziel nicht erreichbar","124":"Ziel blockiert","125":"Batterie muss ersetzt werden","126":"Batterie kurz vor dem Ende ihrer Lebensdauer","127":"Batterieproblem","128":"Mehrere Referenzstationen erkannt","129":"Hilfsschneideinrichtung blockiert","130":"Ungleichgewicht im Hilfsschneidscheibe erkannt","131":"Im Verbindungsarm angehoben","132":"EPOS-Zubehör fehlt","133":"Bluetooth-Kommunikation mit CS fehlgeschlagen","134":"Ungültige SW-Konfiguration","135":"Radarproblem","136":"Arbeitsbereich manipuliert","137":"Hohe Temperatur im rechten Schneidemotor","138":"Hohe Temperatur im mittleren Schneidemotor","139":"Hohe Temperatur im linken Schneidemotor","141":"Problem mit dem Radbürstenmotor","143":"Problem mit der Stromversorgung des Zubehörs","144":"Problem mit dem Begrenzungsdraht","701":"Konnektivitätsproblem","702":"Konnektivitätseinstellungen wiederhergestellt","703":"Konnektivitätsproblem","704":"Konnektivitätsproblem","705":"Konnektivitätsproblem","706":"Schlechte Signalqualität","707":"SIM-Karte erfordert PIN","708":"SIM-Karte gesperrt","709":"SIM-Karte nicht gefunden","710":"SIM-Karte gesperrt","711":"SIM-Karte gesperrt","712":"SIM-Karte gesperrt","713":"Geofence-Problem","714":"Geofence-Problem","715":"Konnektivitätsproblem","716":"Konnektivitätsproblem","717":"SMS konnte nicht gesendet werden","724":"Die SW der Kommunikationsplatine muss aktualisiert werden"}'
    }

Gruß
Falk

Ellert

Danke für den Vorschlag.
Ich habe mich dagegen entschieden in dieses Modul Übersetzungen einzubauen.

Daher mein Gegenvorschlag, den jeder selbst einrichten kann, für Raw definition:

defmod fehlerDE DOIF (["^global$:^INITIALIZED$"]) ({\
  my $errorjson = '{"0":"Unerwarteter Fehler","1":"Außerhalb des Arbeitsbereichs","2":"Kein Schleifensignal","3":"Falsches Schleifensignal","4":"Schleifensensorproblem, vorne","5":"Schleifensensorproblem, hinten","6":"Schleifensensorproblem, links","7":"Schleifensensorproblem, rechts","8":"Falscher PIN-Code","9":"Eingeklemmt","10":"Auf dem Kopf","11":"Niedriger Batteriestand","12":"Leere Batterie","13":"Kein Antrieb","14":"Mäher angehoben","15":"Angehoben","16":"In Ladestation stecken geblieben","17":"Ladestation blockiert","18":"Kollisions-Sensorproblem, hinten","19":"Kollisions-Sensorproblem, vorne","20":"Radmotor blockiert, rechts","21":"Radmotor blockiert, links","22":"Radantriebsproblem, rechts","23":"Radantriebsproblem, links","24":"Schneidsystem blockiert","25":"Schneidsystem blockiert","26":"Ungültige Kombination von Geräten","27":"Einstellungen wiederhergestellt","28":"Speicherschaltkreisproblem","29":"Zu steile Neigung","30":"Problem mit dem Ladesystem","31":"Problem mit der STOP-Taste","32":"Neigungssensorproblem","33":"Mäher gekippt","34":"Schneiden gestoppt - zu steile Neigung","35":"Radmotor überlastet, rechts","36":"Radmotor überlastet, links","37":"Zu hoher Ladestrom","38":"Elektronikproblem","39":"Problem mit dem Schneidemotor","40":"Begrenzter Bereich der Schnitthöhe","41":"Unerwartete Schnitthöhenanpassung","42":"Begrenzter Bereich der Schnitthöhe","43":"Problem mit der Schnitthöhe, Antrieb","44":"Problem mit der Schnitthöhe, aktuell","45":"Problem mit der Schnitthöhe, Richtung","46":"Schnitthöhe blockiert","47":"Problem mit der Schnitthöhe","48":"Keine Antwort vom Ladegerät","49":"Ultraschallproblem","50":"Führung 1 nicht gefunden","51":"Führung 2 nicht gefunden","52":"Führung 3 nicht gefunden","53":"GPS-Navigationsproblem","54":"Schwaches GPS-Signal","55":"Schwierigkeiten beim Finden des Heimwegs","56":"Führungskalibrierung abgeschlossen","57":"Führungskalibrierung fehlgeschlagen","58":"Vorübergehendes Batterieproblem","59":"Vorübergehendes Batterieproblem","60":"Vorübergehendes Batterieproblem","61":"Vorübergehendes Batterieproblem","62":"Vorübergehendes Batterieproblem","63":"Vorübergehendes Batterieproblem","64":"Vorübergehendes Batterieproblem","65":"Vorübergehendes Batterieproblem","66":"Batterieproblem","67":"Batterieproblem","68":"Vorübergehendes Batterieproblem","69":"Alarm! Mäher ausgeschaltet","70":"Alarm! Mäher gestoppt","71":"Alarm! Mäher angehoben","72":"Alarm! Mäher gekippt","73":"Alarm! Mäher in Bewegung","74":"Alarm! Außerhalb der Geofence","75":"Verbindung geändert","76":"Verbindung NICHT geändert","77":"Com-Board nicht verfügbar","78":"Gerutscht - Mäher ist gerutscht. Situation nicht mit Bewegungsmuster gelöst","79":"Ungültige Batteriekombination - Ungültige Kombination verschiedener Batterietypen","80":"Ungleichgewicht im Schneidsystem - Warnung","81":"Sicherheitsfunktion fehlerhaft","82":"Radmotor blockiert, hinten rechts","83":"Radmotor blockiert, hinten links","84":"Radantriebsproblem, hinten rechts","85":"Radantriebsproblem, hinten links","86":"Radmotor überlastet, hinten rechts","87":"Radmotor überlastet, hinten links","88":"Winkelsensorproblem","89":"Ungültige Systemkonfiguration","90":"Keine Stromversorgung in der Ladestation","91":"Schalterkabelproblem","92":"Arbeitsbereich ungültig","93":"Keine genaue Position von Satelliten","94":"Kommunikationsproblem mit der Referenzstation","95":"Falt-Sensor aktiviert","96":"Rechter Bürstenmotor überlastet","97":"Linker Bürstenmotor überlastet","98":"Ultraschallsensor 1 defekt","99":"Ultraschallsensor 2 defekt","100":"Ultraschallsensor 3 defekt","101":"Ultraschallsensor 4 defekt","102":"Schneidantriebsmotor 1 defekt","103":"Schneidantriebsmotor 2 defekt","104":"Schneidantriebsmotor 3 defekt","105":"Hubsensor defekt","106":"Kollisionssensor defekt","107":"Docking-Sensor defekt","108":"Sensor des klappbaren Mähdecks defekt","109":"Schleifensensor defekt","110":"Kollisionssensorfehler","111":"Keine bestätigte Position","112":"Großes Ungleichgewicht im Schneidsystem","113":"Komplexer Arbeitsbereich","114":"Zu hoher Entladestrom","115":"Zu hoher interner Strom","116":"Hoher Leistungsverlust beim Laden","117":"Hoher interner Leistungsverlust","118":"Problem mit dem Ladesystem","119":"Zonengeneratorproblem","120":"Interner Spannungsfehler","121":"Hohe interne Temperatur","122":"CAN-Fehler","123":"Ziel nicht erreichbar","124":"Ziel blockiert","125":"Batterie muss ersetzt werden","126":"Batterie kurz vor dem Ende ihrer Lebensdauer","127":"Batterieproblem","128":"Mehrere Referenzstationen erkannt","129":"Hilfsschneideinrichtung blockiert","130":"Ungleichgewicht im Hilfsschneidscheibe erkannt","131":"Im Verbindungsarm angehoben","132":"EPOS-Zubehör fehlt","133":"Bluetooth-Kommunikation mit CS fehlgeschlagen","134":"Ungültige SW-Konfiguration","135":"Radarproblem","136":"Arbeitsbereich manipuliert","137":"Hohe Temperatur im rechten Schneidemotor","138":"Hohe Temperatur im mittleren Schneidemotor","139":"Hohe Temperatur im linken Schneidemotor","141":"Problem mit dem Radbürstenmotor","143":"Problem mit der Stromversorgung des Zubehörs","144":"Problem mit dem Begrenzungsdraht","701":"Konnektivitätsproblem","702":"Konnektivitätseinstellungen wiederhergestellt","703":"Konnektivitätsproblem","704":"Konnektivitätsproblem","705":"Konnektivitätsproblem","706":"Schlechte Signalqualität","707":"SIM-Karte erfordert PIN","708":"SIM-Karte gesperrt","709":"SIM-Karte nicht gefunden","710":"SIM-Karte gesperrt","711":"SIM-Karte gesperrt","712":"SIM-Karte gesperrt","713":"Geofence-Problem","714":"Geofence-Problem","715":"Konnektivitätsproblem","716":"Konnektivitätsproblem","717":"SMS konnte nicht gesendet werden","724":"Die SW der Kommunikationsplatine muss aktualisiert werden"}';;\
  $::FHEM::Devices::AMConnect::Common::errortable = eval { JSON::XS->new->decode ( $errorjson ) };;\
  return undef;;\
})
attr fehlerDE do always
attr fehlerDE wait 120
Mit set fehlerDE cmd_1 kann man das DOIF manuell auslösen und mit get <name> errorCodes kann das Ergebnis im Mähergerät überprüft werden.

Über wait kann man einstellen, wie lange nach dem Start von FHEM der deutsche Text den englischen Text überschreibt, falls erforderlich.