FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: Ellert am 17 Januar 2023, 14:33:07

Titel: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 17 Januar 2023, 14:33:07
FHEM-Wiki: Modul: AutomowerConnect (https://wiki.fhem.de/wiki/AutomowerConnect)

Das Modul AutomowerConnect ist eine weitere Möglichkeit Mähroboter von Husqvarna in FHEM einzubinden.

Es gibt schon einige Module, die den Automower bedienen können:


Das Modul AutomowerConnect greift auf die offizielle Husqvarna Automower Connect Api zu und bildet das Device (FHEM-Gerät) für einen Automower ab.
Mit der Nutzung einer Websocket Verbindung werden Daten auch ereignisnah übertragen.

Voraussetzungen

Anmeldung im Husqvarna Developer Portal: https://developer.husqvarnagroup.cloud/docs/get-started

Definition des ersten Mähers:
define MyMower AutomowerConnect <Application Key>
set MyMower client_secret <Application Secret>

Weitere Mäher:
define MyMower_1 AutomowerConnect <Application Key> 1
set MyMower_1 client_secret <Application Secret>


Wesentliche Eigenschaften

Einige Statistische Daten werden angezeigt oder berechnet.
Im Wirbetrieb kann der Mäherpfad mit beliebig vielen Wegpunkten angezeigt werden.

Weitere Hinweise gibt es in der Commandref.

Wie eine Karte mit Hintergrundbild Grenze, Mähbereich und Pfad des Mähroboter zu erstellen ist, steht jetzt im FHEM-Wiki: Modul: AutomowerConnect (https://wiki.fhem.de/wiki/AutomowerConnect)

Es ist ein Bild angehängt mit Grenze, Mähbereich und Mäherpfad (sieht aus als schleiche er sich heraus, um die Umgebung zu erkunden)

Das Modul wird über das offizielle Update verteilt.

Tipps
Frontend für die Raumansicht
Es lässt sich mit webCmd und webCmdLabel ein einfaches Frontend für die Raumansicht basteln, wenn der Name geändert wird kann es über Raw definition (das + vor der Befehlszeile) eingespielt werden.
attr am430x0 webCmd Pause:ParkUntilFurtherNotice:Park:ParkUntilNextSchedule:Start:ResumeSchedule:cuttingHeight:headlight
attr am430x0 webCmdLabel Stop:\
:Park for:min\
:Run for:min&emsp;;&emsp;;&emsp;;\
:Height (1,5+:x0,5) cm Light

Readings ergänzen

Einige Daten des Mähers werden in Readings angezeigt. Wem das nicht genügt kann Readings über das Attribut userReadings ergänzen.
Der Trigger für die userReadings ist connected.
Den Hashpfad findet man in den Listen MowerData und StatisticsData.

Beispiel: Erzeugen des Reading serialnumber mit dem Hashpfad $hash->{helper}{mower}{attributes}{system}{serialNumber}
attr <name> userReadings serialnumber:connected {$defs{$name}->{helper}{mower}{attributes}{system}{serialNumber}}

Widget für TabletUI/FTUI Version 2

Im SVN unter contrib/AutomowerConnect/ befindet sie ein Widget (widget_automowerconnect.js) zur Kartendarstellung in FTUI 2

Es kann, wie im FHEM Wiki beschrieben geladen werden, siehe: https://wiki.fhem.de/wiki/Update#Einzelne_Dateien_aus_dem_SVN_holen

Die Einbindung erfolgt auf folgende Weise:
<head>
.
.
.
  <script src="../pgm2/jquery.min.js"></script>
  <script src="../pgm2/automowerconnect.js"></script>
.
.
.
</head>

<body>
.
.
.
  <div
    data-type="automowerconnect"
    data-device="<device name>"
    data-jsonurl="/fhem/AutomowerConnect/<device name>/json"
  >
  </div>
.
.
.
</body>

Die Dateien jquery.min.js und automowerconnect.js aus dem Verzeichnis pgm2 müssen im Head-Tag eingebunden werden und das Widget wie üblich als Div-Tag im Body.
<device name> ist durch den Namen des FHEM-Gerätes zu ersetzen, das den Mäher abbildet.

TabletUI/FTUI Version 3
Wie die Karte in FTUI3 eingebunden werden kann ist im FHEM Wiki beschrieben:
https://wiki.fhem.de/wiki/AutomowerConnect#Tablet-UI/FTUI_Version_3

Positionsdaten speichern und wiederherstellen

Wer sich am Verlust der Positionsdaten nach einem Update stört, der kann mit den nachstehenden Subs für die 99_myUtils.pm vor dem Update die Daten speichern und nach dem Update wiederherstellen:
use Storable;
sub store_areapos {
my ( $name ) = @_;
my $hash = $defs{$name};
store \$hash->{helper}{areapos}, 'areapos';
}
sub retrieve_areapos {
my ( $name ) = @_;
my $hash = $defs{$name};
my $ref = retrieve( 'areapos' );
$hash->{helper}{areapos} = $$ref;
}

Für die Befehlszeile
Speichern vor dem Update
{store_areapos '<name>'}
Laden nach dem Update
{retrieve_areapos '<name>'}
<name> ist durch den Gerätenamen des Gerätes das den Mäher abbildet zu ersetzen.
Das Speichern und Wiederherstellen sollte unmittelbar vor bzw. nach dem Update erfolgen.

Steigerung der Rate für Positionsevents

Bei der Benutzung des Modul 98_AMConnectTools.pm wird ca. alle 30s während der Aktivitäten LEAVING, MOWING und GOING_HOME über die Websocketverbindung ein Positonsevent empfangen.
Das bedeutet es wird während des Mähens alle 30 s eine Position gesendet.
Um die Eventrate aufrecht zu erhalten, wird die inoffizielle API für den 1. Mäher alle 440 s abgefragt.
Das Modul schaltet sich inaktiv wenn sich alle Mäher in der Ladestation befinden.
Es ist nur aktiv, wenn mindestens ein Mäher die Station verlässt bis sich alle Mäher in der Station befinden.

Der Benutzername bzw. Emailadresse und das Passwort der Smartphoneapp wird für die Definition benötigt.

Vorbereitung
Mit
{ Svn_GetFile('contrib/AutomowerConnect/98_AMConnectTools.pm', 'FHEM/98_AMConnectTools.pm') }in der FHEM Befehlszeile das Modul laden.

Danach reicht ein Reload des Moduls damit das Gerät definiert werden kann.
reload 98_AMConnectTools.pm
Definition
define AMConnectTools AMConnectTools <Emailadresse>
set AMConnectTools password <Passwort>



Titel: Antw:[Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: CoolTux am 17 Januar 2023, 14:56:58
Hallo Ellert,

Es gibt zum speichern von Passwörtern in Modulen das offizielle Core Modul Passwords

https://git.cooltux.net/FHEM/mod-Password

Ist für eine einfachere Integration in FHEM Modulen gedacht.



Grüße
Marko
Titel: Antw:[Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 17 Januar 2023, 15:15:44
Das ist sinnvoll, danke für den Hinweis.
Titel: Antw:[Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 24 Januar 2023, 12:51:17
Es gibt jetzt einen Eintrag im FHEM-Wiki:  Modul: AutomowerConnect (https://wiki.fhem.de/wiki/AutomowerConnect).
Titel: Antw:[Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 24 Januar 2023, 23:48:12
Die Module gibt es ab morgen im Update, das macht das Testen einfacher.
Titel: Antw:[Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: dinkel75 am 25 Januar 2023, 06:34:35
Super! Ich hab noch das alte Modul und check dann gleich mal d
Titel: Antw:[Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: RobertSch am 27 Januar 2023, 08:51:03
Vielen lieben Dank für dieses Modul!

Ich habe es bereits eingerichtet, kann allerdings noch kein weiteres Feedback da lassen, da sich unser Mäher derzeit in der Winter-Wartung befindet. Sobald er wieder da ist, werde ich weiter testen.

Beim Anlegen ist mir aber aufgefallen das sich die fhem Instanz aufhängt, nachdem das Gerät definiert wurde. Kam also erst gar nicht dazu den Secret Key einzutragen. Habs dann direkt in die fhem.cfg geschrieben, seitdem läufts ohne Probleme. Connected ist er, zeigt aber wegen der Wartung derzeit einen Fehler an, was aber mit der App überein stimmt.

LG
Robert
Titel: Antw:[Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 27 Januar 2023, 09:07:16
Danke für die Rückmeldung.

Aufhänger habe ich noch nicht beobachtet, schaue ich mir aber nochmal an.
Titel: Antw:[Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Team-Menge am 27 Januar 2023, 10:56:19
Danke für das neue Modul! Klingt vielversprechend  ;D

Momentan kann ich zwar noch nicht testen, da sich mein Mäher noch im Winterschlaft befindet, aber ich habe es schon einmal installiert.

Dabei musste ich allerdings feststellen, dass meine komplette fhem-Installation (auf RaspBerryPI 3) nach der Installation des Moduls sehr langsam auf alle Eingaben reagiert oder sich sogar komplett aufhängt. Nach deaktivieren des Moduls (nur extern über putty möglich) läuft alles flüssig wie vorher.

Da es beim state "authenticated" anzeigt, gehe ich 'mal davon aus, dass es das "client_secret" eingelesen hat.
Titel: Antw:[Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 27 Januar 2023, 19:03:44
So, der Absturz  beim Define ist behoben und die Fehlerbehandlung ist verbessert, ab jetzt im SVN und morgen im Update.

Der Bug beim Define ist mir leider nicht aufgefallen, weil ich mit einem bereits definierten Gerät gearbeitet habe und das client secret schon gespeichert war.

Ja, die meisten Mähroboter sind jetzt wohl noch im Winterschlaf. Wer auf eine Karte mit dem Weg des Mähers wert legt, könnte in Ruhe alles vorbereiten.

@Team-Menge, das träge Verhalten hängt möglicher Weise mit dem Bug beim Define zusammen, und in dem Zusammenhang wurde auch "authenticated" falsch angezeigt. Ich teste auf einem Pi B da läuft alles flüssig.

Ich rate daher dringend zu einem Update.

Danke an alle die testen, das ist hilfreich.
Titel: Antw:[Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: dinkel75 am 28 Januar 2023, 15:09:30
Bei mir auch installiert - läuft.
Aber wie bei den Anderen - Winterruhe  :D
Titel: Antw:[Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Team-Menge am 29 Januar 2023, 12:10:28
Hallo Ellert,

bei mir läuft es jetzt auch erst einmal. Danke für die Anpassungen. Weitere Test folgen demnächst nach der Winterruhe.

LG
Titel: Antw:[Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: RobertSch am 30 Januar 2023, 08:53:10
Zitat von: Ellert am 27 Januar 2023, 19:03:44

Ja, die meisten Mähroboter sind jetzt wohl noch im Winterschlaf. Wer auf eine Karte mit dem Weg des Mähers wert legt, könnte in Ruhe alles vorbereiten.


Habe gerade mal das mit der Karte gemacht und muss sagen, das ging einfacher als erwartet. Lediglich den Screenshot so zu setzen, das es am Ende mit den Koordinaten wieder 100% übereinstimmt war etwas tricky. Ging aber auch nach zwei Versuchen ganz gut. Danke für diese Art der Lösung!

P.S.: Zum bearbeiten/anpassen der Koordinaten aus der kml-Datei, kann man sehr gut mit Notepad++ und dessen Suchen/Ersetzen Funktion arbeiten um weniger händische Arbeit zu verrichten.
Titel: Antw:[Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 31 Januar 2023, 00:21:22
Ab heute gibt es noch ein Featureupdate. So langsam gehen mir die Ideen aus.

Es sind ein paar Readings weniger und dafür die Inhalte kompakter.

Es können 2 Listen angezeigt werden, die Fehlernummer mit Bedeutung und ein paar interne Daten.

Ein Reading ist neu: statistics_newGeoDataSets. Es zeigt die Zahl der im Intervall dazu gekommenen Datensätze an. 50 Datensätze werden in der Cloud gespeichert.
Wenn das Reading immer 50 anzeigt, dann könnte das ein Hinweis sein , dass das Intervall zu lang ist und ggf. Datensätze verloren gehen.


Für den eiligen Anwender wird ohne weitere Einstellungen der Mäherpfad und der vermutliche Standort der Ladestation angezeigt.
Mäher mäht: Der Pfad ist rot dargestellt.
Mäher parkt: Der Pfad ist grau dargestellt.

Zum Testen steht mein Mäher in der Ladestation, etwa alle halbe Stunde gibt es eine neue Position, die Wiederholgenauigkeit der Positionsmessung ist hier im Dachgeschoss miserabel, das hatte ich schon erwähnt.


Mit dem heutigen Update lässt sich mit webCmd und webCmdLabel ein einfaches Frontend für die Raumansicht basteln, wenn der Name geändert wird kann es über Raw definition (das + vor der Befehlszeile) eingespielt werden.


attr am430x0 webCmd Pause:ParkUntilFurtherNotice:Park:ParkUntilNextSchedule:Start:ResumeSchedule:cuttingHeight:headlight
attr am430x0 webCmdLabel Stop:\
:Park for:min\
:Run for:min&emsp;;&emsp;;&emsp;;\
:Height (1,5+:x0,5) cm Light


Und Danke für eure Rüchmeldungen.

PS. Und denkt an fheminfo send damit die Statistik stimmt  ;)
Titel: Antw:[Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 01 Februar 2023, 22:25:07
Damit die Detailansicht etwas kompakter wird, werden viele Mäherdaten nicht mehr in Readings geschrieben.

Diese Daten können über 4 Listen angezeigt werden InternalData, errorCodes, MowerData und StatisticsData. In den beiden letzten werden die Hashpfade angezeigt, damit können bedarfsweise userReadings angelegt werden.
Der Trigger für die userReadings ist connected.

Beispiel: Erzeugen des Reading serialnumber mit dem Hashpfad $hash->{helper}{mower}{attributes}{system}{serialNumber}

attr <name> userReadings serialnumber:connected {$defs{$name}->{helper}{mower}{attributes}{system}{serialNumber}}
Titel: Antw:[Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 05 Februar 2023, 15:51:22
Begründung für die verliebenen Readings

api_MowerFound: In der Liste aller gefundenen Mäher ist die Zuordnung der Mähernummer zum Mähernamen angegeben. Das ist zur Identifizierung notwendig, wenn mehrere Mäher vorhanden sind.
api_token_expires: Das Token ist 24h gültig, hier kann man auf einen Blick erkennen, ob es regelmäßig aktualisiert wird.
batteryPercent: Alle battriebetriebenen Geräte haben irgend ein Batteriereading.
mower_activity, mower_mode, mower_state, planner_overrideAction planner_restrictedReason: Diese Readings begründen den aktuellen Zustand des Mähers und zeigen im Zusammenspiel eine Abweichung vom Sollzustand.
mower_commandStatus: Hier ist zusehen, ob ein Befehl erfolgreich gesendet wurde.
mower_errorCode, mower_errorCodeTimestamp, mower_errorDescription: Diese Readings markieren eine Abweichung vom normalen Betrieb in menschenlesbarer Form und sind die Grundlage zur Fehlerbehebung.
settings_cuttingHeight, settings_headlight: Sie zeigen den Istzustand als Entscheidungsgrundlage für Änderungen.
state: Dieses Readingzeigt den Zustand des Arbeitsfusses im FHEM-Gerät an und dient als Auslöser für AutomowerConnectDevice Geräte.
statistics_newGeoDataSets: Ist notwendig um ggf. die Intervalldauer begründet zu korrigieren.
statistics_numberOfCollisions: Anhaltspunkt zur evtl. Korrektur des Begrenzungkabel.
status_Timestamp, status_TimestampDiff, status_TimestampOld: Ist in der Betrachtung zusammen mit newGeoDataSets sinnvoll.
status_connected: Damit ist erkennbar ob der Mäher mit der Cloud verbunden ist, und liefert eine mögliche Fehlerursache.
system_name:  Mit diesem Reading ist die Identifizierung des Mähers im menschenlesbarer Form möglich.


Noch ein Beispiel für zum Erstellen vermisster Readings: lastLatitude lastLongitude

attr <name> userReadings lastLatitude:connected {$defs{$name}->{helper}{mower}{attributes}{positions}[0]{latitude}},\
lastLongitude:connected {$defs{$name}->{helper}{mower}{attributes}{positions}[0]{longitude}}



Ab morgen steht ein Update zur Verfügung.

Die gemeinsam genutzten Subroutinen von AutommowerConnect und AutommowerConnectDevice wurden in ein Bibliotheksmodul verlagert.
Das macht die Module kleiner und vereinfacht die Pflege.
Ein paar Kleinikeiten wurden bereinigt, die sich bei der letzten Überarbeitung eingeschlichen haben.

Bei bei Update ist ein FHEM Restart Pflicht.

shutdown restart
Titel: Antw:[Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 11 Februar 2023, 17:56:48
Mit dem Update, das morgen zur Verfügung steht gibt es ein paar Neuerungen.

Die Fehlermeldung und Fehlerort wird auf der Karte angezeigt.
Es kann eine Hintergrundfarbe angegeben werden.
Die Farben und die Art der Linien können geändert werden.
Es werden für alle Aktivitäten die Pfade angezeigt, wie folgt gruppiert:

- MOWING
- CHARGING|PARKED_IN_CS
- Der letzte zum Fehler gehörende Pfad mit Markierung.
- Zusammengefasst alle anderen Aktivitäten UNKNOWN|NOT_APPLICABLE|GOING_HOME|LEAVING|STOPPED_IN_GARDEN
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: dinkel75 am 24 März 2023, 20:25:42
Funktioniert tadellos! Danke dafür!
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: outhouse am 25 März 2023, 06:18:14
Hallo Ellert

Aktuell betreibe ich einen Husqvarna 315 mit dem Robonect-Modul und einer Rolltor-Garage (Relais). Das Modul sendet beim Start des Mowers frühzeitig den Befehl, das Tor zu öffnen (bzw. verzögert den Start des Mowers um ein paar wenige Sekunden) und sobald der Mower parkiert hat, es wieder zu schliessen.

Nun möchte ich den 315 mit dem 415x ersetzen und diesen ohne das Zusatzmodul von Robonect (da AutomowerConnect bereits enthalten ist) betreiben.

Damit beim Start des Mowers das Rolltor rechtzeitig öffnet (Tor benötigt ca. 4 Sekungen bis es ganz offen ist), müsste ich wohl - sofort nach dem Start (mittels DOIF etc.) - eine Pause einlegen, den Öffnungsbefehl via notify ans Tor senden und dann den Mower weiter arbeiten zu lassen.

Eine andere Lösung wäre, wenn man das Schleifensignal (Begrenzung) auslesen könnte. Im ECO-Modus schaltet dieses ca. 4 Sekunden vor dem Start des Mowers ein (also ideale Zeit, um das Öffnen des Tores zu veranlassen).

Frage. Kann mit deinem Modul der Start des Schleifensignals ausgelesen werden?

Gruss

Chris
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 26 März 2023, 00:50:57
Die API bietet das Schleifensignal nicht an, daher kann das Modul das Schleifensignal nicht auslesen.

Man kann aber den im Mower hinterlegten Zeitplan auslesen und könne dann das Tor vor dem Start öffnen und beim Wechsel zu PARKED_IN_CS oder CHARGING schliessen.

Wenn der Start automatisiert über das Modul erfolgt, könnte das Tor automatisiert entsprechend vorher geöffnet werden.

4 Sekunden zu pausieren ist eine ziemlich sportliche Anforderung.

Die Reaktion des Mowers auf einen vom Modul gesendeten Befehl liegt nach meinen Beobachtungen eher im Bereich von Minuten
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: outhouse am 27 März 2023, 13:50:27
Zitat von: Ellert am 26 März 2023, 00:50:57Wenn der Start automatisiert über das Modul erfolgt, könnte das Tor automatisiert entsprechend vorher geöffnet werden.

Hallo Ellert

Danke für die Ausführungen

Chris
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: outhouse am 06 April 2023, 08:52:00
Ellert

Ich habe inzwischen das Modul installiert und mit dem neuen 415X verbunden. Der "state" lautet auf connected.

Frage 1: Die API sendet nicht bei jedem Statuswechsel (mähen, Heimweg, parkieren etc.) die neue "mower_activity" an das Modul?

Frage 2: Zum Beispiel beim Befehl "set cuttingHight" erhalte ich beim Reading "mower_commandStatus" den Code "ERROR statuscode 400"

Ist da irgendetwas (noch) nicht richtig verbunden?

Gruss

Chris
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 06 April 2023, 18:45:48
Zu 1: Ja, das ist richtig, sie wird alle 10 min abgefragt, da wird schon mal eine Aktivität verschluckt, s. Commandref: Limit Automower Connect API
Zu 2: Kann sein, im Log sollte mehr stehen.
Zu Unnummeriert: Wenn ich dazu etwas Qualifiziertes sagen soll, dann solltest Du mehr Infos liefern, also das Übliche, Logs, List und was sonst noch aussagekräftig ist.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: outhouse am 07 April 2023, 09:33:44
Zitat von: Ellert am 26 März 2023, 00:50:57Zu 1: Ja, das ist richtig, sie wird alle 10 min abgefragt, da wird schon mal eine Aktivität verschluckt, s. Commandref: Limit Automower Connect API

Daher die "sportlichen" 4 Sekunden im Beitrag #19 :)

Wenn ich also den Mower mit dem Modul starte, erhalte ich den neuen Status unter "mower_activity" (im schlechtesten Fall) nach ca. 10 Minuten. Da frage ich mich natürlich, was genau der Nutzen des Moduls - ausser dem Auslesen der Daten - sein soll.

Auf der App des Handys wird der jeweilige neue Status innert wenigen Sekunden angezeigt. Heisst das nicht, dass die "Automower Connect API" den Status aktiv versendet (Sorry, bin völliger Laie was EDV betrifft).

Gruss

Chris
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 07 April 2023, 13:08:45
Die App greift auf eine nicht öffentliche API zu, die z.T. gehackt wurde und vom Modul HusqvarnaAutomower genutzt wird.

Zitat von: outhouse am 07 April 2023, 09:33:44Daher die "sportlichen" 4 Sekunden im Beitrag #19 :)

Nein, Befehle werden unabhängig vom Abfrageintervall gesendet. Es sind die Laufzeiten/Antwortzeiten auf dem Weg von FHEM über LAN/WLAN, Internet, Husqvarna Cloud Server, über Mobilfunk zum Mäher und die Verarbeitung im Mäher und zurück.

Im Reading "mower_commandStatus" wird die Antwort aus Sicht des Cloudservers dargestellt (Befehl O.k./Fehler, Befehl im Befehlsstack des Servers). Ob der Befehl im Mower angekommen ist oder gar ausgeführt wurde ist aus der Antwort nicht ersichtlich.

Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 09 April 2023, 20:08:19
Mein Mähroboter ist jetzt im Wirkbetrieb, dabei habe ich beobachtet das beim Mähen etwa alle 30 s und beim Parken/Laden etwa alle 42 min ein Geodatensatz erzeugt wird.

Damit kann man die benötigten Datensätze  für die Darstellung der Mähstrecke abschätzen, um sie im Attribut numberOfWayPointsToDisplay anzugeben, default wird 5000 sein.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Reismann am 12 April 2023, 10:35:56
Hallo zusammen,

irgendwie werde ich aus den Farben der Pfade auf der Karte nicht schlau. Ich sehe Pfade in Rot, Grün und Grau. Rot scheint der aktuelle Pfad zu sein. Wofür steht dann Grün und Grau?
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 12 April 2023, 16:58:48
Rot für Aktivität MOWING
Grau für CHARGING/PARKED_IN_CS
Grün für Alle anderen AKtivitäten, ausser im Fehlerfall
Magenta für NOT_APPLICABLE bei Fehler (der Weg im Intervall in dem der Fehler auftritt).

Grau und Grün sind als experimentell anzusehen, da der Informationsgehalt gegen null geht.

Ein Pfad wird nicht angezeigt, wenn die Zuordnung nicht eindeutig ist, also beim Wechsel einer Aktivität im Intervall, daher können Lücken in der Darstellung entstehen.

Letztlich soll der Pfad beim Mähen ein Bild von Gleichmässigkeit der Abdeckung ergeben, um ggf. Schwachstellen aufzudecken oder Fernstartpunkte festzulegen. Die Genauigkeit ist allerdings nicht sehr hoch, da nicht für jeden Richtungswechsel ein Geodatensatz erzeugt wird.

Es kann also sein, dass auf der Karte Lücken dargestellt werden, die auf dem Rasen nicht vorhanden sind.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Reismann am 13 April 2023, 06:33:39
Gibt es eine einfache Möglichkeit die mowingAreaLimits in eine definiertze Richtung zu verschieben? Ich hatte die wie in der Anleitung beschrieben aus Google Earth raus gezogen. Das passt auch von Größe und Form soweit ganz gut. Ich müsste ledigloich die ganze Karte um ein klein wenig nach links und nach oben verschieben, damit die eingezeichneten Pfade auch innerhalb der Grenzen liegen. Wäre ideal, wenn es ein Attribut mit X und Y Offset geben würde, wo man die Korrektur einfach eintragen kann. Da ich ein sehr komplexes Grundstück habe, will ich ungern ~50 Koordinaten neu mit einem Offset aufnehmen.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 13 April 2023, 13:42:19
Wegen der mäßigen Genauigkeit der GPS-Daten aus dem Mäher. reicht es vielleicht die Karte zu verschieben, also mapImageCoordinatesToRegister anzupassen, falls keine Gründstücksgrenze eingezeichnet ist, die passt.

Zum Verschieben der Mähbereichsgrenze würde ich eine Tabellenkalkulation verwenden. Die Koordinaten kopieren und  daneben mit einer Formel den Offset addieren und die berechneten Werte zurück ins Attribut kopieren oder im CSV-Format exportieren und das kopieren.. Eventuell noch den Dezimaltrenner/Feldtrenner mit suchen und ersetzen anpassen.

So könnte man auch eine Streckung/Dehnung der Grenze realisieren.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Motivierte linke Hände am 14 April 2023, 17:26:31
Moinsen, vielen Dank für das Erstellen dieses Moduls. Während sein Vorgängermodul nach Eingabe von Benutzername und Passwort einfach mit einem Fehler ausstieg, funktioniert dieses hier und liest die Daten des Mähers aus. Freut mich, danke!

Ich versuche mich nun gerade mal an den Feinheiten. U.a. möchte ich mapImageCoordinatesToRegister setzen. Die Daten habe ich als kml aus Google exportiert. Wenn ich sie eingeben möchte, erhalte ich allerdings einen Fehler:

attr myMower mapImageCoordinatesToRegister 19.01234567890123 50.01234567890123führt zu
AutomowerConnect myMower Attr: mapImageCoordinatesToRegister has a wrong format use linewise pairs <floating point longitude><one space character><floating point latitude>
Ich habe mal testweise die Punkte durch Kommas ersetzt, ohne Erfolg. Was mache ich falsch, bitte?
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 15 April 2023, 01:17:04
Du hast nur eine Ecke angegeben, es fehlt die zweite Zeile mit der Anderen.

Steht so auch in der Befehlsreferenz:
ZitatObere linke und untere rechte Ecke der Fläche ...
Format: Zeilenweise Paare von Longitude- u. Latitudewerten getrennt durch 1 Leerzeichen.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 16 April 2023, 19:26:46
Mit dem aktuellen Update lassen sich die Wochentage festlegen an denen der Wegpunktspeicher gelöscht wird. Voreingestellt ist die Löschung montags.
Die Löschung erfolgt im ersten Intervall nach Mitternacht. Die Einstellung erfolgt über das Attribut weekdaysToResetWayPoints.

Nachtrag zum Beitrag #27:
Mit dem Attribut mapDesignAttributes können einige HTML Attribute gesetzt werden, die das Erscheinungsbild der Kartendarstellung verändern, z.B. die Farben, Strichstärke und der Strichtyp der Pfade und Grenzen.

Zum Bearbeiten können die Vorgabewerte in das Attribut geladen werden, mit:
set <name> defaultDesignAttributesToAttribute
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Reismann am 19 April 2023, 11:49:09
Kann es sein das die Fahrten des Mowers von Ladestation zum Startpunkt des Mähens und wieder zurück nicht geloggt werden?

Beispiel.png

Hier mal ein Beispiel von heute. Der Mower ist oben auf die Wiese gefahren und hat dort gemäht. Nach dem erneuten Aufladen in der Station hat er die Große Wiese unten gemäht. Anstatt die Pfade bis zur Station und dann unten auf die Wiese, wurde eine Linie direkt vom Endpunkt des Mähens oben bis zum Startpunkt auf der unteren Wiese eingezeichnet. Das Gleiche dann als er auf die kleine Fläche vor der Ladestation gewechselt ist nach einem erneuten Ladevorgang.

Ist nicht super wichtig, dass das korrigiert wird, aber es verwirrt doch schon ein wenig. Werden die Positionsdaten währnd der Fahrten einfach nicht geloggt? Oder ist das ein Fehler den man eventuell beheben kann?
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 19 April 2023, 17:28:53
Ja, das ist der Zielsetzung der Darstellung geschuldet. Interessant zum Identifizieren vernachlässigter Bereiche ist nur die Aktivität MOWING.
Neue Datensätze können nur eindeutig einer Aktivität zugeordnet werden, wenn im Intervall die Aktivität nicht wechselt. Deshalb werden nur neue Wegpunkte berücksichtigt bei denen die alte und neue Aktivität MOWING ist. Das führt zu den beobachteten Effekten.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Reismann am 20 April 2023, 06:22:25
Könnte man die anderen Aktivitäten (Verlässt Ladestation und Auf dem Weg zur Ladestation) nicht andersfarbig einzeichnen? Aktuell habe ich dank der neuesten Firmware mal wieder das Problem, dass er manchmal meterweit abdriftet und den vorgesehenen Startpunkt in 8 von 10 Fällen nicht erreicht.

UM dem Problem auf den Grund zu gehen wäre es super interessant für mich, wenn man einfach wählen könnte welche Aktivitäten eingezeichnet werden.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 20 April 2023, 13:44:26
In den Aktivitäten LEAVING und GOING_HOME befindet sich der Mäher nur kurz, so dass sie von der API selten erfasst werden und wenn die Aktivitäten auftauchen nur für 1 Intervall. Dann ist nicht feststellbar in welcher Wegpunkt zur alten und zur aktuellen Aktivität gehört.

Ich denke, das erwähnte Problem löst Du schneller mit der Livebeobachtung und wenn's die Firmware ist nur durch abwarten.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: outhouse am 23 April 2023, 09:48:13
Dass die (Smartphone-) App von Husqvarna grundsätzlich eine Katastrophe ist, darüber brauchen wir nicht zu streiten. Da kann man weltweit Bankaufträge (halbwegs sicher) innert Sekunden ausführen, aber Husqvarna bringt es nicht auf die Reihe, einen Rasenmäher mittels der App sauber zu steuern (ich weiss, die Aussage gehört nicht hier hin).

Was das Modul 74_AutomowerConnect betrifft, frage ich mich noch immer, welchen (Mehr-) Wert mir dieses Modul bringen soll (siehe auch Beitrag #23).

Zitat von: Ellert am 20 April 2023, 13:44:26In den Aktivitäten LEAVING und GOING_HOME befindet sich der Mäher nur kurz, so dass sie von der API selten erfasst werden und wenn die Aktivitäten auftauchen nur für 1 Intervall.

Zitat von: Ellert am 07 April 2023, 13:08:45Nein, Befehle werden unabhängig vom Abfrageintervall gesendet. Es sind die Laufzeiten/Antwortzeiten auf dem Weg von FHEM über LAN/WLAN, Internet, Husqvarna Cloud Server, über Mobilfunk zum Mäher und die Verarbeitung im Mäher und zurück.

Bei FHEM sind somit Befehle, die in Abhängigkeit der Aktivitäten ausgeführt werden sollen, nicht umsetzbar (öffnen/schliessen einer Passage oder eines Garagentores).

Sogar auf der Husqvarna App wird die Aktivität (inklusive LEAVING und GOING_HOME) innert Sekunden anzeigt. Ich denke, die Antwortzeiten nehmen denselben weg (über LAN/WLAN etc.) ...
Auch beim IOBroker funktioniert es problemlos. Alle Aktivitäten werden wie bei der App innert Sekunden angezeigt; nichts wird verschluckt.

Solange die minutenlangen Antwortzeiten nicht behoben sind, sehe ich für mich in diesem Modul keine Anwendungsmöglichkeit.

@Ellert: Verstehe mich nicht falsch. Ich habe grossen Respekt vor Personen die solche Module programmieren können. Auch bin ich mir bewusst, dass du eine Menge Zeit und Schweiss in dieses Modul gesteckt hast und noch stecken wirst.

Gruss

Chris
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 23 April 2023, 20:21:27
@outhouse:
Ich kann Deinen Frust verstehen, hätte ich auch, wenn ich mir einen neuen Mäher gekauft hätte und ich das vom alten Mäher gewohnte Robonect Modul nicht einbauen könnte.

Alternativen hast Du ja selbst genannt, also alles halb so schlimm.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 25 April 2023, 19:46:04
Mit dem morgigen Update können Zonen definiert und ein Pfadabschnitt hervorgehoben werden.


Mit der Zonendefinition (Attribut mapZones), soll es möglich werden die Gewichtung der Fernstartpunkte zu bewerten. Die berechnete Gewichtung wird mit dem Getter StatisticsData angezeigt.

Das Reading mower_currentZone zeigt die Zone an , in der der Mäher zuletzt aktiv war inkl. Zahl der Wegpunkte in der Zone und Zahl der Wegpunkte im Intervall.

Mit dem Attribut mowerActivityToHighLight kann ein Pfadabschnitt bezogen auf die Mäheraktivität (Reading mower_activity) hervorgehoben werden.

Der Startpunkt kann bei Bedarf mit der Ergänzung mowingPathDisplayStart="1" im Attribut mapDesignAttributes wieder eingeschaltet werden.

Erläuterungen mit Beispiel stehen in der Befehlsreferez.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 07 Mai 2023, 16:51:11
Das morgige Update enthält eine erweiterte Zonenstatistik. Es wird zusätzlich zum Verhältnis der Wegpunkte in den Zonen auch der jeweilige Anteil der gemähten Fläche dargestellt.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 12 Mai 2023, 17:17:04
Mit dem morgigen Update ist es möglich in selbst definierten Zonen die Schnitthöhe automatisch zu setzen, wenn der Mäher sich in der Zone befindet.
Beispiel für den JSON-String aus der Befehlsreferenz:
'{
    "01_oben" : {
      "condition" : "$latitude > 52.6484600648553 || $longitude > 9.54799477359984 && $latitude > 52.64839739580418",
      "cuttingHeight" : "7"
  },
    "02_unten" : {
      "condition" : "undef",
      "cuttingHeight" : "3"
  }
}'

Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: dinkel75 am 13 Mai 2023, 09:12:29
Hallo,

kann man die Wegstreckengrafik aus fhem rausbekommen? Ich möchte die in einer anderen Visu verwenden.

Grüße
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 13 Mai 2023, 10:59:27
Was mir bekannt ist steht im Wiki https://wiki.fhem.de/wiki/AutomowerConnect.

Grundsätzlich sollte get <device> html funktionieren, wenn die andere Visu das importieren kann.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Depechem am 13 Mai 2023, 20:50:25
Hallo zusammen, leider bekomme ich kein ordentliches Hintergrundbild passend zu den Mäher Koordinaten hin...

In der App wurde ja automatische mittels AIM eine super Karte mit Grenzen erstellt. Kann man diese bzw. das AIM evtl. gleich mit in FHEM nutzen?

Siehe Foto.
Danke im Voraus
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 13 Mai 2023, 23:36:16
ZitatKann man diese bzw. das AIM evtl. gleich mit in FHEM nutzen?

Ich wüsste nicht wie. In der Husquvarna API gibt es keinen Hinweis darauf.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Depechem am 14 Mai 2023, 08:23:25
Hallo, ich muss noch einmal nachfragen.

Irgendwie klappt es mit der Anleitung nicht so recht mit der Karte.
Sie Anhang.
- Die orangenen Stiche sind die Koordinaten die ich aus der kml Datei in fhem eingetragen habe.
- Das Foto (webp) habe ich extra mal mit den in Google Earth Pro erstellten Punkten aufgenommen
> roter Strich von links oben nach rechts unten = die Koordinaten wurden auch in fhem eingetragen
> rote Umrandung des Mähbereiches extra im Bild gelassen um den Unterschied in FHEM zu sehen

warum ist das so verschoben und wie kann ich das besser hinbekommen?

Vielen Dank im Voraus

Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Depechem am 14 Mai 2023, 08:28:56
Wenn ich nun händisch die Koordinaten bei "mapImageCoordinatesToRegister" anpasse bekomme ich zwar die Karte besser überlappt, nur ist die rote Umrandung des Fotos viel größer als die Koordinaten (orangene Umrandung)

So ungenau kann das doch nicht Sinn des Erfinders sein, oder?
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Depechem am 14 Mai 2023, 10:35:24
gleich noch die nächsten Fragen:

ich möchte gern die Karte in FTUI einbetten. Laut Wiki soll man dies mit "FTUI Widget Readingsgroup " machen.
Das kann ich mir irgendwie nicht vorstellen, bzw. weis ich nicht wie? DOIF und weblink im fhemweb waren ja kein Problem.

weches data-device muss beim data-type="readingsgroup" genutzt werden und müssen in FTUI moch andere Attribute rein?

ich hatte vorher einen Bosch Indego, diese weblink Karte wurde mittels data-type="iframe" data-src="http://192.168.2.111:8083/fhem/INDEGO/INDEGO/map/340" data-fill="yes" data-device="INDEGO" data-get="mapsvgcache_ts"></div> eingefügt.
Nur kann ich nicht sagen welche http dies nun wäre.

--------------------------------------------------------------------------------------------------------------------

weiterhin habe ich userreadings erstellt um Mäherdaten zu erweitern.
Kann  mir jemand sagen wie das userreading
Gesamtfahrzeit:connected {$defs{$name}->{helper}{mower}{attributes}{statistics}{totalRunningTime}},\ erweitert werden muss um aus den Sekunden, wie in der App als Stunden auszugeben?
Also das dieses userreading automatisch gleich :3600 rechnet, oder muss dafür nochmal ein weiteres userreading erstllt werden.
Vieleicht kann mit jemand die Berechnung als code zeigen.


Vielen Dank im Voraus





Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Depechem am 14 Mai 2023, 11:25:57
und schon die nächste Frage.

Ich möchte in FTUI den aktuellen Status des Mähers anzeigen lassen. Scheinbar wird dies aber schwierig, da aktuell 2 verschiedene Readings mit dem Status gefüllt werden.

mower_state zeigt "IN_OPERATION" oder "PAUSED" an > wenn der Mäher "in der Ladestation ist" wird "IN_OPERATION"oder "PAUSED" angezeigt da dort immer der letzte Status nicht überschrieben wird
mower_activity zeigt "CHARGING" oder "MOWING" an > wenn der Mäher "Pausiert" wird im Status "NOT_APPLICABLE" angezeigt

ich kann dies somit nicht auswerten. Hat dies einen Hintergrund? Oder könnte man das ändern?
Weil so macht das doch eigentlich gar keinen Sinn
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Depechem am 14 Mai 2023, 13:03:00
Und die Gesamtstreckenzeit des Mähers kann auch nicht ausgewertet werden?
In der App wird mir diese Angezeigt. Als userreadings finde ich aber nur Tag, Vortag, Woche und Vorwoche
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 14 Mai 2023, 23:14:27
Zitat von: Depechem am 14 Mai 2023, 08:23:25Hallo, ich muss noch einmal nachfragen.

Irgendwie klappt es mit der Anleitung nicht so recht mit der Karte.
Sie Anhang.
- Die orangenen Stiche sind die Koordinaten die ich aus der kml Datei in fhem eingetragen habe.
- Das Foto (webp) habe ich extra mal mit den in Google Earth Pro erstellten Punkten aufgenommen
> roter Strich von links oben nach rechts unten = die Koordinaten wurden auch in fhem eingetragen
> rote Umrandung des Mähbereiches extra im Bild gelassen um den Unterschied in FHEM zu sehen

warum ist das so verschoben und wie kann ich das besser hinbekommen?

Vielen Dank im Voraus



Solche Verzerrungen hatte ich nur, wenn ich das https://wiki.fhem.de/wiki/AutomowerConnect#Koordinaten_ermitteln_mit_Google_Earth_Pro nicht beachtet hatte.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 14 Mai 2023, 23:34:47
Zitat von: Depechem am 14 Mai 2023, 10:35:24gleich noch die nächsten Fragen:

ich möchte gern die Karte in FTUI einbetten. Laut Wiki soll man dies mit "FTUI Widget Readingsgroup " machen.
Das kann ich mir irgendwie nicht vorstellen, bzw. weis ich nicht wie? DOIF und weblink im fhemweb waren ja kein Problem.

weches data-device muss beim data-type="readingsgroup" genutzt werden und müssen in FTUI moch andere Attribute rein?

ich hatte vorher einen Bosch Indego, diese weblink Karte wurde mittels data-type="iframe" data-src="http://192.168.2.111:8083/fhem/INDEGO/INDEGO/map/340" data-fill="yes" data-device="INDEGO" data-get="mapsvgcache_ts"></div> eingefügt.
Nur kann ich nicht sagen welche http dies nun wäre.

--------------------------------------------------------------------------------------------------------------------

weiterhin habe ich userreadings erstellt um Mäherdaten zu erweitern.
Kann  mir jemand sagen wie das userreading
Gesamtfahrzeit:connected {$defs{$name}->{helper}{mower}{attributes}{statistics}{totalRunningTime}},\ erweitert werden muss um aus den Sekunden, wie in der App als Stunden auszugeben?
Also das dieses userreading automatisch gleich :3600 rechnet, oder muss dafür nochmal ein weiteres userreading erstllt werden.
Vieleicht kann mit jemand die Berechnung als code zeigen.


Vielen Dank im Voraus







Für ReadingsGroup und Iframe bin ich nicht der Richtige, im Wiki sind die Widgets aber beschrieben, das Readingsgroupwidget nutzt get html

Umrechnung in Stunden: hash.../3600 , kein neues Userreading erforderlich.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 14 Mai 2023, 23:41:43
Zitat von: Depechem am 14 Mai 2023, 11:25:57und schon die nächste Frage.

Ich möchte in FTUI den aktuellen Status des Mähers anzeigen lassen. Scheinbar wird dies aber schwierig, da aktuell 2 verschiedene Readings mit dem Status gefüllt werden.

mower_state zeigt "IN_OPERATION" oder "PAUSED" an > wenn der Mäher "in der Ladestation ist" wird "IN_OPERATION"oder "PAUSED" angezeigt da dort immer der letzte Status nicht überschrieben wird
mower_activity zeigt "CHARGING" oder "MOWING" an > wenn der Mäher "Pausiert" wird im Status "NOT_APPLICABLE" angezeigt

ich kann dies somit nicht auswerten. Hat dies einen Hintergrund? Oder könnte man das ändern?
Weil so macht das doch eigentlich gar keinen Sinn

Die Readings kommen so aus der API, wenn Du was Individuelles möchtest, mach es mit Userreadings.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 14 Mai 2023, 23:51:23
Zitat von: Depechem am 14 Mai 2023, 13:03:00Und die Gesamtstreckenzeit des Mähers kann auch nicht ausgewertet werden?
In der App wird mir diese Angezeigt. Als userreadings finde ich aber nur Tag, Vortag, Woche und Vorwoche
Mit einem DOIF sollte es möglich sein die Zeiten für die Aktivität MOWING zu messen oder StatusTimestamp auszuwerten, alternativ gibt es das Statistik Modul, dblog und dbrep.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 15 Mai 2023, 09:08:38
Ergänzung zu #52

Das Attribut mapImageCoordinatesUTM muss nach mapImageCoordinatesToRegister gesetzt werden, die Standartwerte für die Umrechnung gelten für die Mitte Deutschlands und sind daher eher ungenau.

Vielleicht hilft es auch in Google Earth Pro beim Zeichnen in den Linien(Pfad)eigenschaften mit den Einstellmöglichkeiten der Höhenangaben zu experimentieren. Die Linien sollten am Boden liegen, denke ich.

Der Kartenausschnitt muss natürlich aus der gleichen Sicht erstellt werden in der die Linien gezeichnet werden.

Wird die Karte in der 3D Ansicht erstellt, sind perspektivische Verzerrungen Möglicherweise nicht ganz auszuschliessen.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Depechem am 15 Mai 2023, 09:43:42
Zitat von: Ellert am 14 Mai 2023, 23:34:47Für ReadingsGroup und Iframe bin ich nicht der Richtige, im Wiki sind die Widgets aber beschrieben, das Readingsgroupwidget nutzt get html

Tja das habe ich schon alles probiert, nur ohne Erfolg.
Woher hast du die Info das eine html Karte mittels "FTUI Widget Readingsgroup" anzeigbar sein soll
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Depechem am 15 Mai 2023, 09:59:57
Zitat von: Ellert am 14 Mai 2023, 23:14:27Solche Verzerrungen hatte ich nur, wenn ich das https://wiki.fhem.de/wiki/AutomowerConnect#Koordinaten_ermitteln_mit_Google_Earth_Pro nicht beachtet hatte.

Das habe ich alle beachtet, nur mit der Info "Die Toolbar zum Bild speichern einschalten" konnte ich nichts anfangen. Finde ich im "Google Earth Pro" nicht
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 15 Mai 2023, 10:08:15
Zitat von: Depechem am 15 Mai 2023, 09:43:42
Zitat von: Ellert am 14 Mai 2023, 23:34:47Für ReadingsGroup und Iframe bin ich nicht der Richtige, im Wiki sind die Widgets aber beschrieben, das Readingsgroupwidget nutzt get html

Tja das habe ich schon alles probiert, nur ohne Erfolg.
Woher hast du die Info das eine html Karte mittels "FTUI Widget Readingsgroup" anzeigbar sein soll


Readingsgroup bietet den Getter 'get <device> html' , den kann auch AutomowerConnect. Folglich sollte das Widget auch andere Devices die 'get <device> html'  als Getter anbieten anzeigen.

Wie hast Du das Widget inFTUI implementiert?
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 15 Mai 2023, 10:17:54
Zitat von: Depechem am 15 Mai 2023, 09:59:57
Zitat von: Ellert am 14 Mai 2023, 23:14:27Solche Verzerrungen hatte ich nur, wenn ich das https://wiki.fhem.de/wiki/AutomowerConnect#Koordinaten_ermitteln_mit_Google_Earth_Pro nicht beachtet hatte.

Das habe ich alle beachtet, nur mit der Info "Die Toolbar zum Bild speichern einschalten" konnte ich nichts anfangen. Finde ich im "Google Earth Pro" nicht

"Google Earth Pro" Datei -> Speichern -> Bild speichern
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 17 Mai 2023, 17:56:40
Mit den morgigen Update gilt das Modul 75_AutomowerConnectDevice.pm als veraltet. Dies betrifft nur User, die mehr als einen Automower betreiben und die das Modul AutomowerConnectDevice nutzen.

Laut Statistik gibt es keine User die dieses Modul nutzen. Sollte doch jemand das Modul nutzen, muss er zwingend und umgehend, dh. sofort nach dem Update seine Definitionen auf das Modul AutomowerConnect ändern. Jede Definition benötigt einen eigenen Application Key.

Mit dieser Änderung wird die Nutzung von Websocket zum Datenaustausch vorbereitet. Mit Websocket entfällt das Polling der Schnittstelle und somit kommt die Begrenzung der API auf 10000 Abfragen pro Monat nicht mehr zum tragen. Diese Beschränkung war der Grund für das jetzt veraltete Modul.

Websocket hat den Vorteil, dass die Daten ereignisnah übertragen werden und nicht eine Intervalldauer gewartet werden muss.
Der Vorteil für mich ist, dass ich nur ein Modul warten muss.


Das Update mit Websocketnutzung kommt demnächst, die Tests laufen bisher stabil.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Depechem am 18 Mai 2023, 14:04:22
Zitat von: Ellert am 15 Mai 2023, 10:08:15Readingsgroup bietet den Getter 'get <device> html' , den kann auch AutomowerConnect. Folglich sollte das Widget auch andere Devices die 'get <device> html'  als Getter anbieten anzeigen.

Wie hast Du das Widget inFTUI implementiert?

Ja so hab ich ihn auch eingebunden, aber das funktioniert leider nicht.

    <section>
  <header>Karte</header>
  <div class="cell">
    <div data-type="readingsgroup" data-device="get RasenroboterAM405X html"></div>
  </div>
    </section>

Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 18 Mai 2023, 15:47:55
Ohne get html, so wie im für das widget im wiki beschrieben, ggf. das Polling setzen oder was ftui an eigenen Attributen fordert, da bin ich überfragt.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Depechem am 18 Mai 2023, 15:53:55
Zitat von: Ellert am 15 Mai 2023, 10:17:54
Zitat von: Depechem am 15 Mai 2023, 09:59:57
Zitat von: Ellert am 14 Mai 2023, 23:14:27Solche Verzerrungen hatte ich nur, wenn ich das https://wiki.fhem.de/wiki/AutomowerConnect#Koordinaten_ermitteln_mit_Google_Earth_Pro nicht beachtet hatte.

Das habe ich alle beachtet, nur mit der Info "Die Toolbar zum Bild speichern einschalten" konnte ich nichts anfangen. Finde ich im "Google Earth Pro" nicht

"Google Earth Pro" Datei -> Speichern -> Bild speichern

Ich habe jetzt nochmal mehrmals probiert und etwas angepasst. langsam wird es genauer.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Depechem am 18 Mai 2023, 15:59:51
Zitat von: Ellert am 16 April 2023, 19:26:46Mit dem aktuellen Update lassen sich die Wochentage festlegen an denen der Wegpunktspeicher gelöscht wird. Voreingestellt ist die Löschung montags.
Die Löschung erfolgt im ersten Intervall nach Mitternacht. Die Einstellung erfolgt über das Attribut weekdaysToResetWayPoints.

Nachtrag zum Beitrag #27:
Mit dem Attribut mapDesignAttributes können einige HTML Attribute gesetzt werden, die das Erscheinungsbild der Kartendarstellung verändern, z.B. die Farben, Strichstärke und der Strichtyp der Pfade und Grenzen.


Zum Thema Wegpunkte-Anzeige (Striche auf der Karte) habe ich noch eine Frage:
Mit
weekdaysToResetWayPoints 0123456 sehe ich auf der Karte dann nur noch meine täglichen Fahrten? richtg?

Im Umkehrschluss verstehe ich das
attr <name> numberOfWayPointsToDisplay <number of way points> nicht ganz. was bewirkt dieses dann?

Kannst du bitte nochmal erklären wie beide attr gemeint sind.
Ich möchte gern nur die täglichen Fahrstrecken auf der Karte angezeigt bekommen.



Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Depechem am 18 Mai 2023, 16:26:13
Zitat von: Ellert am 18 Mai 2023, 15:47:55Ohne get html, so wie im für das widget im wiki beschrieben, ggf. das Polling setzen oder was ftui an eigenen Attributen fordert, da bin ich überfragt.

nein ohne get html kann es ja nicht gehen. Wenn dann müsste warscheinlich in fhem erst eine Readingsgroup mit der karte erstellt werden, dessen Karte wird dann mit dem "FTUI Widget Readingsgroup" eingebunden.
Aber selbst in FHEM einen Readingsgroup mit der Karte zu befüllen bekomme ich nicht hin. und dies wäre dann alles doppelt gemoppelt.

Irgendwie müsste man raus bekommen ob deine Karte einen html Pfad hätte, diesen man dann einfügt
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 18 Mai 2023, 16:34:33
ZitatnumberOfWayPointsToDisplay
Legt die max Größe des Wegpunktspeicher (default 5000) fest, wenn voll, wird durchgeschoben.
ZitatweekdaysToResetWayPoints
Richtig erkannt, aber unter Berücksichtigung der max Größe.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Depechem am 18 Mai 2023, 16:41:48
Zitat von: Ellert am 18 Mai 2023, 16:34:33
ZitatnumberOfWayPointsToDisplay
Legt die max Größe des Wegpunktspeicher (default 5000) fest, wenn voll, wird durchgeschoben.
ZitatweekdaysToResetWayPoints
Richtig erkannt, aber unter Berücksichtigung der max Größe.


aktuell habe ich testeweise numberOfWayPointsToDisplay auf 20 eingestellt. trotzdem zeigt es mir auf der karter die gleichen vielen Striche der Fahrwege an.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 18 Mai 2023, 16:46:22
Zitat von: Depechem am 18 Mai 2023, 16:26:13
Zitat von: Ellert am 18 Mai 2023, 15:47:55Ohne get html, so wie im für das widget im wiki beschrieben, ggf. das Polling setzen oder was ftui an eigenen Attributen fordert, da bin ich überfragt.

nein ohne get html kann es ja nicht gehen. Wenn dann müsste warscheinlich in fhem erst eine Readingsgroup mit der karte erstellt werden, dessen Karte wird dann mit dem "FTUI Widget Readingsgroup" eingebunden.
Aber selbst in FHEM einen Readingsgroup mit der Karte zu befüllen bekomme ich nicht hin. und dies wäre dann alles doppelt gemoppelt.

Irgendwie müsste man raus bekommen ob deine Karte einen html Pfad hätte, diesen man dann einfügt

Wie gesagt für Frontends bin ich der falsche Ansprechpartner.
Die Karte hat keinen Html-Pfad, den ich bereitstellen kann, die Zeichenarbeit findet im Browser (canvas) statt nicht im Modul.
Ich bin aber für funktionierende Patches offen.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 18 Mai 2023, 16:48:13
Zitat von: Depechem am 18 Mai 2023, 16:41:48
Zitat von: Ellert am 18 Mai 2023, 16:34:33
ZitatnumberOfWayPointsToDisplay
Legt die max Größe des Wegpunktspeicher (default 5000) fest, wenn voll, wird durchgeschoben.
ZitatweekdaysToResetWayPoints
Richtig erkannt, aber unter Berücksichtigung der max Größe.


aktuell habe ich testeweise numberOfWayPointsToDisplay auf 20 eingestellt. trotzdem zeigt es mir auf der karter die gleichen vielen Striche der Fahrwege an.
20 ist ja auch Unsinn, um den zu vermeiden geht nicht weniger als der default, wenn ich mich recht erinnere.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Depechem am 18 Mai 2023, 16:56:52
Zitat von: Ellert am 18 Mai 2023, 16:48:13
Zitat von: Depechem am 18 Mai 2023, 16:41:48
Zitat von: Ellert am 18 Mai 2023, 16:34:33
ZitatnumberOfWayPointsToDisplay
Legt die max Größe des Wegpunktspeicher (default 5000) fest, wenn voll, wird durchgeschoben.
ZitatweekdaysToResetWayPoints
Richtig erkannt, aber unter Berücksichtigung der max Größe.


aktuell habe ich testeweise numberOfWayPointsToDisplay auf 20 eingestellt. trotzdem zeigt es mir auf der karter die gleichen vielen Striche der Fahrwege an.
20 ist ja auch Unsinn, um den zu vermeiden geht nicht weniger als der default, wenn ich mich recht erinnere.

ok, wäre schön wenn du dies ins Wiki oder commandref noch einfügen könntest.

Nur verstehe ich den Sinn der zwei verschiedenen attr noch nicht ganz.
Mit weekdaysToResetWayPoints kann ich sagen wie viele Tage (Max. 7 Tage) die Fahrwege auf der Karte angezeigt werden. bzw. wann die auf der Karte gelöscht werden.
Mit numberOfWayPointsToDisplay kann ich mehr als 5000 Wegpunkte einstellen > würde aber bedeuten das der Mäher mehr als 5000 Wegpunkte innerhalb 7 Tagen fahren müsste. Wo anders werden die Punkte ja nicht geloggt bzw. benötigt oder? Also das man eine Karte hätte die mir die Tagesfahrtstrecken anzeigt sowie eine Karte die mir die letzten (Beispilsweise) 5000 Wegstrecken anzeigt!?

Ohne mit welechem Hintergrund hast du beide attr erstellt?
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 18 Mai 2023, 19:08:14
Zitatok, wäre schön wenn du dies ins Wiki

Wohlformulierte und inhaltlich korrekte Ergänzungen im Wiki darf jeder machen.

Aber erst wenn die Beispilse von heute (Vatertag) verstoffwechselt sind ;)

Zitatdie letzten (Beispilsweise)
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Depechem am 18 Mai 2023, 21:08:03
was bewirkt set ... mapZonesTemplateToAttribute?
Ist nirgends dokumentiert und scheint auch kein attr zu setzen
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 19 Mai 2023, 00:03:19
Wo hast Du die Schreibweise her?
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 20 Mai 2023, 10:22:14
In dem morgigen Update wurde das Modul 75_AutomowerConnectDevice.pm. wie angekündigt gelöscht.

Wer noch eine Definition mit AutomowerConnectDevice hat sollte vor dem Update die Definition auf AutomowerConnect ändern und je Definition einen anderen Application Key verwenden.

Damit steht der Umstellung vom Polling der API auf eine dauerhafte Websocketverbindung mit ereignisnaher Datenübertragung nichts mehr im Weg.

Die neue Version wird demnächst eingecheckt.

@Depechem: Danke fürs Testen und deine Anregungen, einiges findet sich in der neuen Version wieder.
Titel: Aw: [Neue Module] 74_AutomowerConnect, 75_AutomowerConnectDevice, Husqvarnas OpenAPI
Beitrag von: Ellert am 23 Mai 2023, 17:09:28
Ab dem morgigen Update:

Das Modul wurde mit einer Websocketverbindung zur Husqvarna API ergänzt, damit werden Änderungen ereignisnah angezeigt.

Das Attribut mowerActivityToHighLight steht nicht mehr zur Verfügung. Eine Hervorhebung kann über das Attribut mapDesignAttributes eingestellt werden.
Das Attribut interval wird nicht mehr benötigt , da die Websocketverbindung Events mit Datenupdates sendet.
Das Reading status_TimestampOld wird nicht mehr aktualisiert und darf mit deletereading gelöscht werden. Das Reading status_TimestampDiff sollte ausreichend sein zur Beurteilung der letzten Aktualisierung.
Das Reading state zeigt den Zustand der Websocketverbindung an. Das ist durch DevIo vorgegeben.
Das neue Reading device_state übernimmt die Funktion von state, also auch die Triggerung von userReadings, usw.
Das neue Reading mower_wsEvent zeigt die vom Mäher gesendeten Events(status-event, positions-events, settings-events) an.
Das neue Reading mower_commandSend zeigt den letzten erfolgreich gesendeten Befehl an.
Die vorletzten API-Daten werden nicht mehr gespeichert.
Das Mähericon wird in die Hauptbewegungsrichtung (Nord, Süd, Ost, West) positioniert.

ACHTUNG: Möglicherweise funktioniert der bereits verwendete Application Key (client_id) nicht, es muss dann ein neuer Key erzeugt und verwendet werden, siehe https://developer.husqvarnagroup.cloud/apis/automower-connect-api#websocket

Nach einem fehlerfreien Update sollte einmal save config ? im Frontend durchgeführt werden damit die Löschungen gespeichert werden.[/i]
Browsercache löschen und die Webseite neu laden.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Depechem am 28 Mai 2023, 08:03:02
Zitat von: Ellert am 23 Mai 2023, 17:09:28Ab dem morgigen Update:

Das Modul wurde mit einer Websocketverbindung zur Husqvarna API ergänzt, damit werden Änderungen ereignisnah angezeigt.

Das Attribut mowerActivityToHighLight steht nicht mehr zur Verfügung. Eine Hervorhebung kann über das Attribut mapDesignAttributes eingestellt werden.
Das Attribut interval wird nicht mehr benötigt , da die Websocketverbindung Events mit Datenupdates sendet.
Das Reading status_TimestampOld wird nicht mehr aktualisiert und darf mit deletereading gelöscht werden. Das Reading status_TimestampDiff sollte ausreichend sein zur Beurteilung der letzten Aktualisierung.
Das Reading state zeigt den Zustand der Websocketverbindung an. Das ist durch DevIo vorgegeben.
Das neue Reading device_state übernimmt die Funktion von state, also auch die Triggerung von userReadings, usw.
Das neue Reading mower_wsEvent zeigt die vom Mäher gesendeten Events(status-event, positions-events, settings-events) an.
Das neue Reading mower_commandSend zeigt den letzten erfolgreich gesendeten Befehl an.
Die vorletzten API-Daten werden nicht mehr gespeichert.
Das Mähericon wird in die Hauptbewegungsrichtung (Nord, Süd, Ost, West) positioniert.

ACHTUNG: Möglicherweise funktioniert der bereits verwendete Application Key (client_id) nicht, es muss dann ein neuer Key erzeugt und verwendet werden, siehe https://developer.husqvarnagroup.cloud/apis/automower-connect-api#websocket

Nach einem fehlerfreien Update sollte einmal save config ? im Frontend durchgeführt werden damit die Löschungen gespeichert werden.[/i]
Browsercache löschen und die Webseite neu laden.

Hallo Ellert,
Ich habe geupdatet. Auch einen neuen Key habe ich erstellt.
Trotzdem kommt immer folgende Fehlermeldung direkt bei öffnen des Moduls.

#FHEMWEB notification:
AutomowerConnectUpdateDetail ( 'RasenroboterAM405X', 'AutomowerConnect', './fhem/AutomowerConnect/RasenroboterAM405X/map', 951, 686, 539, 89, 'top', 65.5998735272603, [ '-', '' ], [ 696,217,605,246,586,161,609,144,647,303,633,282,656,293,641,287,716,226,709,217,667,275,580,266,546,224,482,103,601,107,750,116,746,178,745,108,727,198,760,157,715,124,596,93,609,240,664,271,609,106,554,160,657,164,542,93,573,182,637,295,643,298,639,297,634,267,603,211,587,83,529,122,562,102,583,247,581,181,658,93,608,99,586,212,631,204,608,129,558,139,623,269,620,214,533,93,649,137,647,95,659,167,554,138,602,117,574,260,548,109,541,122,562,123,660,219,548,203,522,127 ], [ 457,76,800,115,739,214,693,184,715,143,709,138,681,183,729,221,675,299,631,268,595,312,585,313,577,322,579,338,570,351,614,390,544,464,516,437,492,468,513,493,385,601,357,586,337,600,315,607,272,577,307,526,307,526,357,563,425,485,443,479,487,422,493,408,492,401,487,396,463,374,500,323,516,321,518,302,496,286,476,267,453,251,477,235,502,220,500,212,489,202,476,194,462,201,452,220,410,194,429,161,437,169,454,146,447,139,469,110,489,136,495,128,477,107,479,101,460,84 ], [ ], [ -951,686 ], [ -14842024,86964963,0,0,-475,343 ], [ -14842024,86964963 ] )
TypeError: null is not an object (evaluating 'div.getAttribute( 'data-'+ type + 'LineDash' ).split')

Und ich sehe nur die Karte aber weder Mäher, noch Fahrstrecke
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 28 Mai 2023, 17:23:54
Hast Du "Browsercache löschen und die Webseite neu laden." durchgeführt?

Da auch das Javascript erneuert wurde muss automowerconnect.js auch neu geladen werden. Wenn der Browsercache nicht gelöscht wird, dann wird ggf. die  alte Datei automowerconnect.js geladen. Das führt dann zu Fehlermeldungen.

Da die Farben der Pfade jetzt über das Attribut mapDesignAttributes eingestellt werden, kann im gesetzen Attribut etwas fehlen. Daher einmal das Attribut mit set <name> defaultDesignAttributesToAttribut neu setzen.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 29 Mai 2023, 03:16:03
Ab dem morgigen Update:

Die Statistik wurde nicht berechnet, behoben.
Beim Update der Karte werden nur noch Differenzdaten übermittelt.
Anzeige der täglichen Kollisionen zusätzlich im Reading statistics_numberOfCollisons (täglich/gesammt)
Ein Fehlerspeicher wurde eingebaut und ein Getter errorStack um ihn anzuzeigen

Der Browsercache muss gelöscht und die Webseite neu geladen werden, damit auch das erneuerte Javascript geladen wird.
Falls es dennoch zu Javascriptfehlern kommt, einmal das Attribut defaultDesignAttribues mit set <name> defaultDesignAttributesToAttribut neu setzen damit ggf. fehlende Attribute ergänzt werden.

Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: isy am 29 Mai 2023, 09:43:09
Moin Ellert,
bei mir funktioniert das Modul nach dem Update nicht mehr.

- Neuer API Key und neues Secret generiert
- Browser Cache gelöscht, andere Systeme (Linux...) genutzt. Alles gleich

Probleme / Meldungen im Log.
- Das wichtigste ist wohl der 403 Error
AutomowerConnect Shaun wsCb: failed with error: HTTP CODE 403
- Auch wird die Karte nicht mehr gefunden. Das lief bis eben, also mit der Vorversion.
AutomowerConnect Shaun readMap: file "" does not exist.
Das Device bleibt also
STATE disconnected
Ein Test im Terminal mit dem Link aus der Husqvarna Bereich "My Applications"
curl -X POST -d "grant_type=client_credentials&client_id= .......zeigt eine Menge Daten, keine FM.

Was kann ich noch tun?

VG Helmut

P.S. Nach Fhem restore geht wieder alles.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: isy am 29 Mai 2023, 09:54:26
Bin ein Stück weiter, ein erneutes Löschen des Caches (Windows 11/ Chrome) UND ein FHEM shutdown / restart führt zum connect des Automowers.

Erstaunlich! Man muss nicht alles verstehen, früher haben wir gesagt, manchmal helfen auch Räucherkerzen. -:)
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: isy am 29 Mai 2023, 10:16:38
Hallo Ellert,
nach dem das Modul wieder läuft bei mir, habe ich mit den im Attr mapImageCoordinatesToRegister hinterlegten Koordinaten gespielt.
Grund: Die Anzeige des Mähpfades ist zu weit rechts.

Die Koordinaten sind recht lang (u.a. 51.28390226281099) und als erstes habe ich alle 4 verkürzt auf 51.283 (Rest analog).
Beim Anklicken des OK im Bearbeitungsfenster stürzt FHEM komplett ab.

Eingabe sudo systemctl status fhem im Terminal:

Mai 29 10:00:34 fhem systemd[1]: fhem.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Die verkürzten Koordinaten werden nicht gespeichert und ich kann FHEM wieder starten.

Kannst du das nachvollziehen?
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 29 Mai 2023, 11:13:19
Wenn Du die Koordinaten auf 3 Nachkommastellen kürzt liegt die Genauigkeit im Bereich von 60 m und als Nebeneffekt erzeugst Du bei der Berechnung der Skalierungsfaktoren eine Division durch 0, das bringt FHEM zum Absturz.

Die Attribute mapImageCoordinatesToRegister, mapImageCoordinatesUTM, scaleToMeterXY müssen im Zusammenhang betrachtet werden.

Wenn die Koordinaten zur Registrierung (mapImageCoordinatesToRegister) geändert werden, dann muss mapImageCoordinatesUTM vorher gelöscht werden (ggf. auch scaleToMeterXY) und nach mapImageCoordinatesToRegister neu gesetzt werden. Das steht auch in der Befehlsreferenz
ZitatDas Attribut muss nach dem Attribut mapImageCoordinatesToRegister gesetzt werden.

Wenn der Mäherpfad verschoben ist, kann es an den Koordinaten aus dem GPS liegen, das ist wohl vom Mähertyp abhängig. Bei meinem liegt der Pfad auch verschoben, aber jedesmal anders.

Wenn der Pfad systematisch verschoben ist, dann sind die Nachkommastellen im eher in der Nähe der 6. Nachkommastelle synchron zu verschieben.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: isy am 29 Mai 2023, 11:29:33
Ok, werde ich mal testen.
Ist nur Optik.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Depechem am 29 Mai 2023, 13:19:11
also ich habe nun das heutige Update gezogen, auch da funktioniert weder die Ansicht des Mähers, noch Fahrstrecke in der Karte.
Seit dem neuen Update bringt das Reading:
state: disconnecteddas neue Reading:
device_state: connected
Das angeblich neue Reading:
mower_wsEvent taucht bei mir gar nicht auf.

Folgendes habe ich gemacht:
- FHEM mehrfach rebootet
- Browsercache mehrfach gelöscht
- Webseite neu geladen
- Application Key bei Husqvarna komplett gelöscht und neu angelgt
- Modul komplett gelöscht und neu angelegt


brachte alles nix....
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 29 Mai 2023, 17:57:56
Zitatstate: disconnected
Ist erstmal nicht ungewöhnlich, das Reading wird durch DevIo verwaltet und ohne Event aktualisiert, daher wird im Frontend die Aktualisierung nicht angezeigt.
Zitatdevice_state: connected
Wenn die Detailansicht geöffnet wird bevor device_state auf connected aktualisiert wird, dann ist keine Karte zu sehen.

Nach einer Aktualisierung von device_state auf connected sollte nach neu laden der Detailseite die Karte mit der Ladestation angezeigt werden.

Du hast nicht erwähnt, ob Du das Attribut mapDesignAttributes auf die Standartwerte gesetzt hast. Hast Du das gemacht? Wenn nicht wird die Ladestation vermutlich nicht angezeigt.

Zitatmower_wsEvent
Erscheint erst, wenn über Websocket ein Event angekommen ist. Wenn der Mäher in der Ladestation steht kann das schon mal 840 s dauern. Das Mähericon wird erst angezeigt, wenn über Websocket ein Positionsevent angekommen ist, das kann, wenn in der LS, auch solange dauern.

Der Mäherpfad wird erst angezeigt, wenn mindestenns zwei Positionen gesendet wurden, das kann dann doppelt solange dauern.

Ist die Websocketverbindung tatsächlich disconnected geblieben?

Da würde ich gern den Logauszug mit verbose 4 sehen.

Poste bitte den Revisionsstand der Module aus den Internals VERSION und LIBRARY_VERSION und vom Javascript automowerconnect.js die Version, um das Update zu verifizieren.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Depechem am 29 Mai 2023, 20:25:47
Zitat von: Ellert am 29 Mai 2023, 17:57:56
Zitatmower_wsEvent
Erscheint erst, wenn über Websocket ein Event angekommen ist. Wenn der Mäher in der Ladestation steht kann das schon mal 840 s dauern. Das Mähericon wird erst angezeigt, wenn über Websocket ein Positionsevent angekommen ist, das kann, wenn in der LS, auch solange dauern.

Der Mäherpfad wird erst angezeigt, wenn mindestenns zwei Positionen gesendet wurden, das kann dann doppelt solange dauern.
es sind bereits Stunden vergangen und ich habe den Mäher extra raus geschickt....


Zitat von: Ellert am 29 Mai 2023, 17:57:56Du hast nicht erwähnt, ob Du das Attribut mapDesignAttributes auf die Standartwerte gesetzt hast. Hast Du das gemacht? Wenn nicht wird die Ladestation vermutlich nicht angezeigt.
ja habe ich

Zitat von: Ellert am 29 Mai 2023, 17:57:56Nach einer Aktualisierung von device_state auf connected sollte nach neu laden der Detailseite die Karte mit der Ladestation angezeigt werden.
Karte mit Ladestation sehe ich ja auch, nur weder Mäher noch Mäherspuren

Zitat von: Ellert am 29 Mai 2023, 17:57:56Ist die Websocketverbindung tatsächlich disconnected geblieben?

ja immernoch

Zitat von: Ellert am 29 Mai 2023, 17:57:56Poste bitte den Revisionsstand der Module aus den Internals VERSION und LIBRARY_VERSION und vom Javascript automowerconnect.js die Version, um das Update zu verifizieren.


#   DEF        f629cc55-51f7-4667-be68-5ca82afe6bc0
#   DeviceName wss:ws.openapi.husqvarna.dev:443/v1
#   FUUID      6459448b-f33f-b0b0-e365-983f2776b380ff35
#   Host       ws.openapi.husqvarna.dev
#   LIBRARY_VERSION 27625 2023-05-29 01:26:46
#   MODEL      Husqvarna Automower� 405X
#   NAME       RasenroboterAM405X
#   NEXT_OPEN  1685384600.93983
#   NR         1889
#   PARTIAL   
#   Port       443/v1
#   SSL        1
#   STATE      disconnected
#   TYPE       AutomowerConnect
#   VERSION    27625 2023-05-29 01:26:46
#   eventCount 30
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Depechem am 29 Mai 2023, 20:35:49
Zitat von: Ellert am 29 Mai 2023, 17:57:56Da würde ich gern den Logauszug mit verbose 4 sehen.

2023.05.29 20:19:31.708 4: AutomowerConnect RasenroboterAM405X Get: called with ?
2023.05.29 20:20:19.523 4: IP: ws.openapi.husqvarna.dev -> 52.49.240.63
2023.05.29 20:20:19.724 4: https://ws.openapi.husqvarna.dev:443/v1: HTTP response code 403
2023.05.29 20:20:19.725 2: AutomowerConnect RasenroboterAM405X wsCb: failed with error: HTTP CODE 403
2023.05.29 20:20:29.135 4: AutomowerConnect RasenroboterAM405X Get: called with InternalData
2023.05.29 20:21:20.366 4: IP: ws.openapi.husqvarna.dev -> 52.18.161.199
2023.05.29 20:21:20.603 4: https://ws.openapi.husqvarna.dev:443/v1: HTTP response code 403
2023.05.29 20:21:20.604 2: AutomowerConnect RasenroboterAM405X wsCb: failed with error: HTTP CODE 403
2023.05.29 20:22:20.630 4: IP: ws.openapi.husqvarna.dev -> 3.248.74.26
2023.05.29 20:22:20.938 4: https://ws.openapi.husqvarna.dev:443/v1: HTTP response code 403
2023.05.29 20:22:20.939 2: AutomowerConnect RasenroboterAM405X wsCb: failed with error: HTTP CODE 403
2023.05.29 20:23:21.434 4: IP: ws.openapi.husqvarna.dev -> 34.250.104.128
2023.05.29 20:23:21.672 4: https://ws.openapi.husqvarna.dev:443/v1: HTTP response code 403
2023.05.29 20:23:21.673 2: AutomowerConnect RasenroboterAM405X wsCb: failed with error: HTTP CODE 403
2023.05.29 20:24:22.076 4: IP: ws.openapi.husqvarna.dev -> 34.250.104.128
2023.05.29 20:24:22.302 4: https://ws.openapi.husqvarna.dev:443/v1: HTTP response code 403
2023.05.29 20:24:22.303 2: AutomowerConnect RasenroboterAM405X wsCb: failed with error: HTTP CODE 403
2023.05.29 20:25:22.420 4: IP: ws.openapi.husqvarna.dev -> 54.77.195.62
2023.05.29 20:25:22.818 4: https://ws.openapi.husqvarna.dev:443/v1: HTTP response code 403
2023.05.29 20:25:22.819 2: AutomowerConnect RasenroboterAM405X wsCb: failed with error: HTTP CODE 403
2023.05.29 20:26:22.942 4: IP: ws.openapi.husqvarna.dev -> 52.209.97.137
2023.05.29 20:26:23.330 4: https://ws.openapi.husqvarna.dev:443/v1: HTTP response code 403
2023.05.29 20:26:23.331 2: AutomowerConnect RasenroboterAM405X wsCb: failed with error: HTTP CODE 403
2023.05.29 20:27:23.577 4: IP: ws.openapi.husqvarna.dev -> 54.77.195.62
2023.05.29 20:27:23.901 4: https://ws.openapi.husqvarna.dev:443/v1: HTTP response code 403
2023.05.29 20:27:23.902 2: AutomowerConnect RasenroboterAM405X wsCb: failed with error: HTTP CODE 403
2023.05.29 20:28:23.943 4: IP: ws.openapi.husqvarna.dev -> 34.250.104.128
2023.05.29 20:28:24.533 4: https://ws.openapi.husqvarna.dev:443/v1: HTTP response code 403
2023.05.29 20:28:24.534 2: AutomowerConnect RasenroboterAM405X wsCb: failed with error: HTTP CODE 403
2023.05.29 20:29:25.342 4: IP: ws.openapi.husqvarna.dev -> 52.18.161.199
2023.05.29 20:29:25.572 4: https://ws.openapi.husqvarna.dev:443/v1: HTTP response code 403
2023.05.29 20:29:25.573 2: AutomowerConnect RasenroboterAM405X wsCb: failed with error: HTTP CODE 403
2023.05.29 20:30:25.992 4: IP: ws.openapi.husqvarna.dev -> 3.248.74.26
2023.05.29 20:30:26.190 4: https://ws.openapi.husqvarna.dev:443/v1: HTTP response code 403
2023.05.29 20:30:26.191 2: AutomowerConnect RasenroboterAM405X wsCb: failed with error: HTTP CODE 403
2023.05.29 20:31:03.344 4: AutomowerConnect RasenroboterAM405X Get: called with ?
2023.05.29 20:31:26.291 4: IP: ws.openapi.husqvarna.dev -> 52.18.161.199
2023.05.29 20:31:26.515 4: https://ws.openapi.husqvarna.dev:443/v1: HTTP response code 403
2023.05.29 20:31:26.516 2: AutomowerConnect RasenroboterAM405X wsCb: failed with error: HTTP CODE 403
2023.05.29 20:32:26.543 4: IP: ws.openapi.husqvarna.dev -> 52.209.97.137
2023.05.29 20:32:26.803 4: https://ws.openapi.husqvarna.dev:443/v1: HTTP response code 403
2023.05.29 20:32:26.804 2: AutomowerConnect RasenroboterAM405X wsCb: failed with error: HTTP CODE 403
2023.05.29 20:33:27.662 4: IP: ws.openapi.husqvarna.dev -> 52.49.240.63
2023.05.29 20:33:27.895 4: https://ws.openapi.husqvarna.dev:443/v1: HTTP response code 403
2023.05.29 20:33:27.896 2: AutomowerConnect RasenroboterAM405X wsCb: failed with error: HTTP CODE 403
2023.05.29 20:34:28.018 4: IP: ws.openapi.husqvarna.dev -> 52.49.240.63
2023.05.29 20:34:28.237 4: https://ws.openapi.husqvarna.dev:443/v1: HTTP response code 403
2023.05.29 20:34:28.238 2: AutomowerConnect RasenroboterAM405X wsCb: failed with error: HTTP CODE 403
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 29 Mai 2023, 22:16:23
Vielleicht hilft set <name> getNewAccessToken.


ZitatHTTP response code 403
Sieht für mich nach diesem Problem aus(https://developer.husqvarnagroup.cloud/apis/automower-connect-api#websocket):
ZitatIf you get 403 when using Websocket even if the API call works. Try to renew the API key that should do the trick. If you still get 403 check that you get the correct scope when creating the access token (iam:read amc:api). If you don't have the correct scope you need to connect you API key to the Automower API to get the correct scope.

Stimmt der Scope (get InternalData)?

Wenn device_state auf connected steht, dann trift "If you get 403 when using Websocket even if the API call works." zu.

Und dann müssten diese Vorschläge zum Erfolg führen:
ZitatTry to renew the API key that should do the trick. If you still get 403 check that you get the correct scope when creating the access token (iam:read amc:api). If you don't have the correct scope you need to connect you API key to the Automower API to get the correct scope.

renew the API key https://developer.husqvarnagroup.cloud/docs/get-started

Wichtig auch:
Zitatconnect you API key to the Automower API to get the correct scope

Gibt es doppelte Passkey eines Devices in /opt/fhem/FHEM/FhemUtils/uniqueID, nur zur Sicherheit kontrollieren.


Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 30 Mai 2023, 00:58:41
Mit dem morgigen Update:

Verhindert Division durch 0 beim Attribut mapImageCoordinatesToRegister, wenn die Koordinatendifferenz 0 ergibt.
Verzögerte Websocketöffnung.
Erzwingen eines Access Token wenn ein Client Secret gesetzt wird.

Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: isy am 30 Mai 2023, 09:28:35
Hallo Ellert,
mit dieser Seite geht es recht einfach, die Koordinaten für die Karte zu ermitteln.
Evtl. in die Doku mit aufnehmen, wenn nicht schon bekannt.

https://www.koordinaten-umrechner.de/decimal/51.000000,10.000000?karte=EsriSat&zoom=8

Man zoomt auf sein Grundstück und mit 2 Klicks sind die Koordinaten im richtigen Format ermittelt.
Man kann dann auch fix etwas hin und her schieben, um das Bild zu verbessern.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 30 Mai 2023, 09:40:05
Danke für den Hinweis.
Kommt aber nicht in die Befehlsreferenz, weil es eine kommerzielle Seite ist.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 30 Mai 2023, 11:42:10
Mit dem morgigen Update:

Schnelleres Laden des Hintergrundbildes und korrektes Laden nach defmod.
Hinweis in der Befehlsreferenz, dass der Application Key im Developer Portal mit der Automower Connect API verbunden werden muss.

Nur dann kann die Websocketverbindung erfolgreich hergestellt und die damit vebundene HTTP Antwort 403 verhindert werden.

Danke für die Fehlerhinweise und Ergänzungen.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: RobertSch am 30 Mai 2023, 14:44:31
Hallo!

Mir war aufgefallen, dass das Modul nicht mehr lief. Also habe ich nachgeschaut und festgestellt, das die Funktion timelocal nicht aufgerufen werden konnte. Es wäre also sinnvoll, dies hier am Anfang des Modulcodes aufzurufen.

use Time::Local;
Nachdem ich das dem Modul oben hinzugefügt habe, gab es keine Fehlermeldung im Log mehr und fhem stürzt auch nicht mehr ab.

Danke für die ganze Mühe und für dieses tolle Modul!

LG
Robert
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 30 Mai 2023, 17:14:37
Danke für den Hinweis, hab's eingecheckt, ab morgen im Update und jetzt im Repository.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: dinkel75 am 30 Mai 2023, 18:24:08
Bekomme keine Mower Daten. Erst wenn ich getUpdate aktiviere wird aktualisiert.
Was mach ich falsch?
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 30 Mai 2023, 19:10:32
Mit den Infos die Du geliefert hast, würde ich sagen Du  bist zu ungeduldig.

Poste mal ein List des Mähers, den Logauszug ab FHEM Restart bis vor getUpdate mit verbose 4 und die Versionen der 3 Dateien 74_AutomowerConnect.pm, lib/FHEM/Devices/AMConnect/Common.pm und automowerconnect.js.

Hat der Mäher gemäht als Du keine Daten bekommen hast?
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: dinkel75 am 30 Mai 2023, 19:29:28
Alle 3 Files sind von Heute.

Hier das List:

Internals:
   DEF        051749ee-a43d-4848-a1ab-93d449bfc9a2
   DeviceName wss:ws.openapi.husqvarna.dev:443/v1
   FUUID      6475fa7f-f33f-bb28-27cf-0a590636237f1bc1
   Host       ws.openapi.husqvarna.dev
   LIBRARY_VERSION 27625 2023-05-29 01:26:46
   MODEL      HUSQVARNA AM 315X
   NAME       MyMower
   NEXT_OPEN  1685467741.19556
   NR         1141
   PARTIAL   
   Port       443/v1
   SSL        1
   STATE      disconnected
   TYPE       AutomowerConnect
   VERSION    27628 2023-05-29 22:49:13
   eventCount 34
   READINGS:
     2023-05-30 15:31:31   api_MowerFound  0 => Automower f81bfefc-0e25-46c1-b680-30d3d98bf19d
     2023-05-30 15:31:30   api_token_expires 2023-05-31 01:00:00
     2023-05-30 19:06:54   batteryPercent  35
     2023-05-30 19:06:54   device_state    connected
     2023-05-30 19:06:54   mower_activity  CHARGING
     2023-05-30 18:00:32   mower_commandSend ResumeSchedule
     2023-05-30 18:37:34   mower_commandStatus cleared
     2023-05-30 15:31:31   mower_errorCode -
     2023-05-30 15:31:31   mower_errorCodeTimestamp -
     2023-05-30 15:31:31   mower_errorDescription -
     2023-05-30 15:31:31   mower_mode      MAIN_AREA
     2023-05-30 18:37:34   mower_state     IN_OPERATION
     2023-05-30 17:30:23   planner_nextStart -
     2023-05-30 15:31:31   planner_overrideAction NOT_ACTIVE
     2023-05-30 15:31:31   planner_restrictedReason NOT_APPLICABLE
     2023-05-30 15:31:31   settings_cuttingHeight 1
     2023-05-30 16:04:41   settings_headlight ALWAYS_OFF
     2023-05-30 19:28:01   state           disconnected
     2023-05-30 15:31:31   statistics_newGeoDataSets 0
     2023-05-30 15:31:31   statistics_numberOfCollisions (0/5591)
     2023-05-30 19:06:54   status_Timestamp 2023-05-30 18:55:18
     2023-05-30 19:06:54   status_TimestampDiff 691.616
     2023-05-30 15:31:31   status_connected CONNECTED(1)
     2023-05-30 15:31:31   system_name     Automower
   header:
     Authorization Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjVlZDU2ZDUzLTEyNWYtNDExZi04ZTFlLTNlNDRkMGVkOGJmOCJ9.eyJqdGkiOiIzNTgzYjM3OS0wYmUxLTQ0ODYtOTMzNS1lNGZhZDE2Mjc4MTEiLCJpc3MiOiJodXNxdmFybmEiLCJyb2xlcyI6W10sImdyb3VwcyI6WyJhbWMiLCJkZXZlbG9wZXItcG9ydGFsIiwiZmQ3OGIzYTQtYTdmOS00Yzc2LWJlZjktYWE1YTUwNTgzMzgyIl0sInNjb3BlcyI6WyJpYW06cmVhZCJdLCJjbGllbnRfaWQiOiIwNTE3NDllZS1hNDNkLTQ4NDgtYTFhYi05M2Q0NDliZmM5YTIiLCJ1c2VyIjp7ImZpcnN0X25hbWUiOiJNaWNoYWVsIiwibGFzdF9uYW1lIjoiRW1taW5nZXIiLCJjdXN0b21fYXR0cmlidXRlcyI6e30sImN1c3RvbWVyX2lkIjoiIn0sImlhdCI6MTY4NTQ2NDY1NCwiZXhwIjoxNjg1NTUxMDU0LCJzdWIiOiJiMjZmMzEwZS1lZWYyLTQ2YzUtYWRlZS0xOWRlNjI2YWExNzYifQ.nXao-G4ytXaG67ahJAUBm2qOKibqqSF3gZ5WhWZOyZRH2zWRFPdG5ocbtf6F77aa4AR2xq8ZhWRmHr8MybBuna1jS01hQ0oUj-bRHB4mIfq0h8tTQkeDMjLcIL793GC70LVLVR5ITmQB5TFpT--L8cSGeWWOW4RgjI7pQdxwubG1I7L4bbD9Za5NjdNNIusopSih69mVU9GPUvNCDKwXbA8Bz87Z3vmuIMXKuVV09nASXf4NnveqkwNFlRiQ-L5A2QBRP_8cFE5tVYUZXOk2ZJS71U8AHjN_w4nwOcbaMF4C6q9kxCsJpFxpE9R4R0VBqUmeb8dlbM25xx7KM1RY20kwm0UpTkHgu-paoqWhtXzp0k9psuvPPYxHk898TAJBxftd4tENjT-8loIporBfBLOJwID7fZgKCHijCudVejuPkRitMldm_Hhog-WlBfxbbbzcofcOqqIhibxHH6Y0tjYUWDqxv9vCFDnmDB8I-GIOcIcSaGrPgUpOvCWDXFD0
   helper:
     MAP_CACHE 
     MAP_MIME   
     MAP_PATH   
     client_id  051749ee-a43d-4848-a1ab-93d449bfc9a2
     detailFnAttrMaxPos 5000
     detailFnFirst 0
     detailFnNewPos 0
     grant_type client_credentials
     imageHeight 650
     imageWidthHeight 1119 650
     interval   420
     interval_auth 86345
     interval_ping 60
     interval_ws 7110
     mapZonesTpl {
    "01_oben" : {
      "condition" : "$latitude > 52.6484600648553 || $longitude > 9.54799477359984 && $latitude > 52.64839739580418",
      "cuttingHeight" : "7"
  },
    "02_unten" : {
      "condition" : "undef",
      "cuttingHeight" : "3"
  }
}
     mapdesign  areaLimitsColor="#ff8000"
areaLimitsLineWidth="1"
areaLimitsConnector=""
propertyLimitsColor="#33cc33"
propertyLimitsLineWidth="1"
propertyLimitsConnector="1"
errorBackgroundColor="#3d3d3d"
errorFont="14px Courier New"
errorFontColor="#ff8000"
errorPathLineColor="#ff00bf"
errorPathLineDash=""
errorPathLineWidth="2"
chargingStationPathLineColor="#999999"
chargingStationPathLineDash="6,2"
chargingStationPathLineWidth="1"
otherActivityPathLineColor="#999999"
otherActivityPathLineDash="6,2"
otherActivityPathLineWidth="1"
leavingPathLineColor="#33cc33"
leavingPathLineDash="6,2"
leavingPathLineWidth="2"
goingHomePathLineColor="#0099ff"
goingHomePathLineDash="6,2"
goingHomePathLineWidth="2"
mowingPathDisplayStart=""
mowingPathLineColor="#ff0000"
mowingPathLineDash="6,2"
mowingPathLineWidth="1"
     maxLat     48.4816829
     maxLon     16.5850883
     minLat     48.4813616
     minLon     16.584535
     mowerNumber 0
     mower_commandSend ResumeSchedule
     mower_commandStatus OK - control
     mower_id   f81bfefc-0e25-46c1-b680-30d3d98bf19d
     newdatasets 0
     newzonedatasets 0
     posMinMax  16.584535 48.4816829
16.5850883 48.4813616
     positionsTime 0
     scaleToMeterLatitude 108886
     scaleToMeterLongitude 67425
     statusTime 0
     storediff  691616
     CHARGING:
       arrayName  cspos
       callFn     
       cnt        0
       maxLength  100
       short      C
     CMDResponse:
       data:
         attributes
         id         a4568dfc-aa92-40a1-b401-a9ff3bff63c4
         type       control
     GOING_HOME:
       arrayName 
       callFn     
       cnt        0
       maxLength  50
       short      G
     LEAVING:
       arrayName 
       callFn     
       cnt        0
       maxLength  50
       short      L
     MOWING:
       arrayName  areapos
       callFn     
       cnt        0
       maxLength  5000
       maxLengthDefault 5000
       short      M
     NOT_APPLICABLE:
       arrayName 
       callFn     
       cnt        0
       maxLength  50
       short      N
     PARKED_IN_CS:
       arrayName  cspos
       callFn     
       cnt        0
       maxLength  100
       short      P
     STOPPED_IN_GARDEN:
       arrayName 
       callFn     
       cnt        0
       maxLength  50
       short      S
     UNKNOWN:
       arrayName 
       callFn     
       cnt        0
       maxLength  100
       short      U
     areapos:
     auth:
       access_token eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjVlZDU2ZDUzLTEyNWYtNDExZi04ZTFlLTNlNDRkMGVkOGJmOCJ9.eyJqdGkiOiIzNTgzYjM3OS0wYmUxLTQ0ODYtOTMzNS1lNGZhZDE2Mjc4MTEiLCJpc3MiOiJodXNxdmFybmEiLCJyb2xlcyI6W10sImdyb3VwcyI6WyJhbWMiLCJkZXZlbG9wZXItcG9ydGFsIiwiZmQ3OGIzYTQtYTdmOS00Yzc2LWJlZjktYWE1YTUwNTgzMzgyIl0sInNjb3BlcyI6WyJpYW06cmVhZCJdLCJjbGllbnRfaWQiOiIwNTE3NDllZS1hNDNkLTQ4NDgtYTFhYi05M2Q0NDliZmM5YTIiLCJ1c2VyIjp7ImZpcnN0X25hbWUiOiJNaWNoYWVsIiwibGFzdF9uYW1lIjoiRW1taW5nZXIiLCJjdXN0b21fYXR0cmlidXRlcyI6e30sImN1c3RvbWVyX2lkIjoiIn0sImlhdCI6MTY4NTQ2NDY1NCwiZXhwIjoxNjg1NTUxMDU0LCJzdWIiOiJiMjZmMzEwZS1lZWYyLTQ2YzUtYWRlZS0xOWRlNjI2YWExNzYifQ.nXao-G4ytXaG67ahJAUBm2qOKibqqSF3gZ5WhWZOyZRH2zWRFPdG5ocbtf6F77aa4AR2xq8ZhWRmHr8MybBuna1jS01hQ0oUj-bRHB4mIfq0h8tTQkeDMjLcIL793GC70LVLVR5ITmQB5TFpT--L8cSGeWWOW4RgjI7pQdxwubG1I7L4bbD9Za5NjdNNIusopSih69mVU9GPUvNCDKwXbA8Bz87Z3vmuIMXKuVV09nASXf4NnveqkwNFlRiQ-L5A2QBRP_8cFE5tVYUZXOk2ZJS71U8AHjN_w4nwOcbaMF4C6q9kxCsJpFxpE9R4R0VBqUmeb8dlbM25xx7KM1RY20kwm0UpTkHgu-paoqWhtXzp0k9psuvPPYxHk898TAJBxftd4tENjT-8loIporBfBLOJwID7fZgKCHijCudVejuPkRitMldm_Hhog-WlBfxbbbzcofcOqqIhibxHH6Y0tjYUWDqxv9vCFDnmDB8I-GIOcIcSaGrPgUpOvCWDXFD0
       expires    1685487600
       expires_in 86399
       provider   husqvarna
       scope      iam:read
       token_type Bearer
       user_id    b26f310e-eef2-46c5-adee-19de626aa176
     chargingStation:
     cspos:
     errorstack:
     lasterror:
       errordate 
       errordesc  -
       timestamp  0
       positions:
     mower:
       id         f81bfefc-0e25-46c1-b680-30d3d98bf19d
       type       mower
       attributes:
         battery:
           batteryPercent 35
         calendar:
           tasks:
             HASH(0x55b6c0b128)
         metadata:
           statusTimestamp 1685465718823
         mower:
           activity   CHARGING
           errorCode  0
           errorCodeTimestamp 0
           mode       MAIN_AREA
           state      IN_OPERATION
         planner:
           nextStartTimestamp 0
           restrictedReason NOT_APPLICABLE
           override:
             action     NOT_ACTIVE
         positions:
           HASH(0x55b6b45fa0)
           HASH(0x55b6eea670)
           HASH(0x55b6b468e8)
           HASH(0x55b67bad70)
           HASH(0x55b67e6748)
           HASH(0x55b6e911f8)
           HASH(0x55b67ed870)
           HASH(0x55b6b6a3d0)
           HASH(0x55b6be2628)
           HASH(0x55b6b1f760)
           HASH(0x55b6cf1840)
           HASH(0x55b7003a08)
           HASH(0x55b6e16ef8)
           HASH(0x55b58497f0)
           HASH(0x55b67cbd60)
           HASH(0x55b681ca18)
           HASH(0x55b68e0e78)
           HASH(0x55b6a5d3c8)
           HASH(0x55b69dd028)
           HASH(0x55b6e1acc0)
           HASH(0x55b6ee0920)
           HASH(0x55b7004038)
           HASH(0x55b6843020)
           HASH(0x55b7179b10)
           HASH(0x55b6e20af8)
           HASH(0x55b6a53a98)
           HASH(0x55b6a53710)
           HASH(0x55b67cfde8)
           HASH(0x55b712bd38)
           HASH(0x55b6cf22b8)
           HASH(0x55b7128058)
           HASH(0x55b7153cd8)
           HASH(0x55b7178f60)
           HASH(0x55b6f2ecd0)
           HASH(0x55b6be3838)
           HASH(0x55b712b368)
           HASH(0x55b6e0ee58)
           HASH(0x55b68e10b8)
           HASH(0x55b6b118a0)
           HASH(0x55b6ee6f78)
           HASH(0x55b6f1c818)
           HASH(0x55b6be3130)
           HASH(0x55b6c13ff0)
           HASH(0x55b6e1a978)
           HASH(0x55b7152550)
           HASH(0x55b61af8d0)
           HASH(0x55b6cf04e0)
           HASH(0x55b6e0e3f0)
           HASH(0x55b6afdd90)
           HASH(0x55b6e1a0c8)
         settings:
           cuttingHeight 1
           headlight:
             mode       ALWAYS_OFF
         statistics:
           numberOfChargingCycles 642
           numberOfCollisions 5591
           totalChargingTime 10357200
           totalCuttingTime 9349200
           totalRunningTime 10440000
           totalSearchingTime 1090800
         system:
           model      HUSQVARNA AUTOMOWER� 315X
           name       Automower
           serialNumber 180607639
     mowerold:
       attributes:
         metadata:
           statusTimestamp 1685465027207
         mower:
           activity   MOWING
         statistics:
           numberOfCollisions 5591
     mowers:
       HASH(0x55b71e1cc8)
     statistics:
       currentDayArea 0
       currentDayTime 0
       currentDayTrack 0
       currentSpeed 0
       currentWeekArea 0
       currentWeekTime 0
       currentWeekTrack 0
       lastDayArea 0
       lastDayCollisions 0
       lastDayTime 0
       lastDayTrack 0
       lastDaytime 0
       lastWeekArea 0
       lastWeekTime 0
       lastWeekTrack 0
     wsResult:
Attributes:
   event-on-update-reading .*
   icon       automower
   mapDesignAttributes areaLimitsColor="#ff8000"
areaLimitsLineWidth="1"
areaLimitsConnector=""
propertyLimitsColor="#33cc33"
propertyLimitsLineWidth="1"
propertyLimitsConnector="1"
errorBackgroundColor="#3d3d3d"
errorFont="14px Courier New"
errorFontColor="#ff8000"
errorPathLineColor="#ff00bf"
errorPathLineDash=""
errorPathLineWidth="2"
chargingStationPathLineColor="#999999"
chargingStationPathLineDash="6,2"
chargingStationPathLineWidth="1"
otherActivityPathLineColor="#999999"
otherActivityPathLineDash="6,2"
otherActivityPathLineWidth="1"
leavingPathLineColor="#33cc33"
leavingPathLineDash="6,2"
leavingPathLineWidth="2"
goingHomePathLineColor="#0099ff"
goingHomePathLineDash="6,2"
goingHomePathLineWidth="2"
mowingPathDisplayStart=""
mowingPathLineColor="#ff0000"
mowingPathLineDash="6,2"
mowingPathLineWidth="1"
   mowerSchedule [
   {
      "wednesday" : true,
      "saturday" : true,
      "friday" : true,
      "sunday" : false,
      "start" : 0,
      "duration" : 1440,
      "monday" : true,
      "thursday" : true,
      "tuesday" : true
   }
]

   room       ,HusqvarnaAutomower
   weekdaysToResetWayPoints 0123456
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: dinkel75 am 30 Mai 2023, 19:30:36
Letzter Akkustand ist schon 24 Minuten alt.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: dinkel75 am 30 Mai 2023, 19:48:19
jetzt funktioniert es. ich musst im husqvarna developer portal noch die notwendigen apis hinzufügen.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Depechem am 30 Mai 2023, 21:02:13
Zitat von: Ellert am 29 Mai 2023, 22:16:23Vielleicht hilft set <name> getNewAccessToken.


ZitatHTTP response code 403
Sieht für mich nach diesem Problem aus(https://developer.husqvarnagroup.cloud/apis/automower-connect-api#websocket):
ZitatIf you get 403 when using Websocket even if the API call works. Try to renew the API key that should do the trick. If you still get 403 check that you get the correct scope when creating the access token (iam:read amc:api). If you don't have the correct scope you need to connect you API key to the Automower API to get the correct scope.

Stimmt der Scope (get InternalData)?

Wenn device_state auf connected steht, dann trift "If you get 403 when using Websocket even if the API call works." zu.

Und dann müssten diese Vorschläge zum Erfolg führen:
ZitatTry to renew the API key that should do the trick. If you still get 403 check that you get the correct scope when creating the access token (iam:read amc:api). If you don't have the correct scope you need to connect you API key to the Automower API to get the correct scope.

renew the API key https://developer.husqvarnagroup.cloud/docs/get-started

Wichtig auch:
Zitatconnect you API key to the Automower API to get the correct scope

Gibt es doppelte Passkey eines Devices in /opt/fhem/FHEM/FhemUtils/uniqueID, nur zur Sicherheit kontrollieren.




ich habe gerade noch einmal ein set <name> getNewAccessTokenausgeführt und auf einmal funktioniert es wieder. Die letzten Tage gin es nicht.
Wer weis
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Depechem am 30 Mai 2023, 21:35:10
Zitat von: Ellert am 17 Mai 2023, 17:56:40Mit dieser Änderung wird die Nutzung von Websocket zum Datenaustausch vorbereitet. Mit Websocket entfällt das Polling der Schnittstelle und somit kommt die Begrenzung der API auf 10000 Abfragen pro Monat nicht mehr zum tragen. Diese Beschränkung war der Grund für das jetzt veraltete Modul.

Websocket hat den Vorteil, dass die Daten ereignisnah übertragen werden und nicht eine Intervalldauer gewartet werden muss.
Der Vorteil für mich ist, dass ich nur ein Modul warten muss.

Damit steht der Umstellung vom Polling der API auf eine dauerhafte Websocketverbindung mit ereignisnaher Datenübertragung nichts mehr im Weg.
Was bedeutet dies genau? Werden nun die Aktualisierungsintervalle kürzer, also nicht mehr nur ca. alle 10min sonder ähnlich wie in der App? Aktuell sieht dies aber nicht danach aus.

Zitat von: Ellert am 23 Mai 2023, 17:09:28Das neue Reading mower_wsEvent zeigt die vom Mäher gesendeten Events(status-event, positions-events, settings-events) an.
muss mal dumm Fragen für was genau ist dieses Reading genau? Was kann ich mir daraus nehmen?

Zitat von: Ellert am 14 Mai 2023, 23:41:43
Zitat von: Depechem am 14 Mai 2023, 11:25:57und schon die nächste Frage.

Ich möchte in FTUI den aktuellen Status des Mähers anzeigen lassen. Scheinbar wird dies aber schwierig, da aktuell 2 verschiedene Readings mit dem Status gefüllt werden.

mower_state zeigt "IN_OPERATION" oder "PAUSED" an > wenn der Mäher "in der Ladestation ist" wird "IN_OPERATION"oder "PAUSED" angezeigt da dort immer der letzte Status nicht überschrieben wird
mower_activity zeigt "CHARGING" oder "MOWING" an > wenn der Mäher "Pausiert" wird im Status "NOT_APPLICABLE" angezeigt

ich kann dies somit nicht auswerten. Hat dies einen Hintergrund? Oder könnte man das ändern?
Weil so macht das doch eigentlich gar keinen Sinn

Die Readings kommen so aus der API, wenn Du was Individuelles möchtest, mach es mit Userreadings.

Möchte das Thema gern nochmal aufgreifen, wäre es nicht sinnvoll dies gleich als festes Reading in das Modul einzubauen? Also das man ein Reading mit dem aktuellen Staus hätte, so wie in der App. Mit Userreading könnte dies evtl für mich und den ein oder anderen schwer werden, da einige Bedingungen hinterlegt werden müssten, wann welches Reading ausgewertet werden muss. Vielleicht kannst da ja nochmal überlegen ob du es evtl. doch einbauen wölltest.

Aus alle Fälle erst einmal vielen Dank für dieses Modul und dessen schnelle Erweiterungen
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 30 Mai 2023, 23:56:01
ZitatWas bedeutet dies genau? Werden nun die Aktualisierungsintervalle kürzer, also nicht mehr nur ca. alle 10min sonder ähnlich wie in der App?

muss mal dumm Fragen für was genau ist dieses Reading genau? Was kann ich mir daraus nehmen?

Zur Beantwortung Deiner Fragen, solltest Du die Dokumentation im Developer Portal studieren, mehr Infos habe ich auch nicht.
Weitere Erfahrungen kannst Du machen, wenn Du die Schnittstelle beobachtest im Log, im Eventmonitor oder das Reading wsEvent und andere Readings, und das in verschiedenen Betriebssituationen zu Tages- und Nachtzeiten.

ZitatMit Userreading könnte dies evtl für mich und den ein oder anderen schwer werden, da einige Bedingungen hinterlegt werden müssten, wann welches Reading ausgewertet werden muss.

Das ist für mich genau so schwer, daher finde ich es besser, wenn ich das nicht mache.

Du könntest federführend ein Gemeinschaftsprojekt zur Erstellung eines userReadings starten, in einem neuen Thema. Das Ergebnis könnte dann ins Wiki.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: isy am 31 Mai 2023, 09:30:17
Hallo Ellert,
ich habe heute morgen die aktuelle Version 27632 2023-05-30 15:12:02 deines hervorragenden Moduls geladen.

Es scheint so zu sein, als ob die Anzeige der Fahrspuren mit der aktuellen Version anders läuft als mit der Vorversion.
Ohne Gewähr: Ca 30m nach Osten verschoben und 20m nach Süden. Keine Änderung meiner Koordinaten im Attribut mapImageCoordinatesToRegister oder in der hinterlegten Grafik.

Der Standort der Ladestation war gestern auch korrekt, heute wird er nicht angezeigt. Es kann aber sein, dass das Modul den Standort außerhalb der Grafik legt (siehe obige Verschiebung) und ich ihn deshalb in der Karte nicht sehen kann.

Gestern hat die Grafik ausgezeichnet gepasst.

VG Helmut

P.S. Ich justiere gerade die Grafik neu, das geht mit oben genannter Seite super schnell.
Ich habe jetzt auch das Attribut für die LS gesetzt, auch deutlich verschoben, sie wird aber angezeigt mit der Eingabe in das Attribut chargingStationCoordinates. Da der Mower seit dem Update des Moduls nicht an der LS angedockt war, kann es sein, dass das Modul die Position der LS auch nicht ermitteln konnte. Das werde ich später mal checken.

Noch ein P.S.
Mit den Readings ist für mich alles prima so. U.a. mit dem Reading batteryPercent überwache ich seit Jahren die Laufzeit des Mähers mit einer Ladung, um damit Rückschlüsse auf die verbleibende Kapazität des Akkus zu ziehen.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 31 Mai 2023, 09:53:16
Bei mir sieht mit der heutigen Version alles aus wie vorher.

Ich schätze das  hat mit Deiner Koordinatenschieberei zu tun.

Ich würde die Schieberei rückgängig machen.

Wenn das nicht hilft, dann alle Attribute mit Koordinaten und Skalierung löschen und neu aufbauen, so wie in der Befehlsreferenz und im Wiki beschrieben.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: isy am 31 Mai 2023, 10:52:13
Bin mir nicht sicher mit deiner Begründung. Es gab nur den einen Change, also die Installation der neuen Modul-Version.

Ich habe jetzt die Version 27625 2023-05-29 01:26:46 geladen und mit den Koordinaten von gestern versorgt.
Sieht wieder normal aus.

Jetzt zurück zur heutigen Version mit den gestrigen Koordinaten: Alles verschoben.
Eingabe den heutigen, geänderten Koordinaten: Wieder ok.

Das deutet darauf hin, dass evtl. in der Programmlogik eine Berechnung geändert wurde.
Meinen Post hatte ich als Hinweis auf einen möglichen Bug verstanden.

Die Grafik ist für mich eine schöne Ergänzung und sie lässt sich ja leicht verschieben.
Das ist also keine Problematik, die die Funktion des Moduls beeinträchtig.




Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 31 Mai 2023, 18:21:31
An der Berechnung der Positionen hat sich nichts geändert, aber es werden nicht mehr immer alle Daten aktualisiert.
Beim ersten Aufbau der Detailansicht werden die mapDesignAttributes übertragen, die Ladestationskoordinaten, die Grundstücksgrenzkoordinaten, die Mähbereichsgrenzkoordinaten und die Koordinaten des bereits vorhanden Mäherpfades.
Wenn neue Positions oder es eine Fehlermeldung gibt werden nur noch die Positionsdifferenzdaten oder Fehlerdaten zur Aktualisierung der Karte übertragen. Vorher wurden bei jeder Aktualisierung alle Daten übertragen.

Als Koordinaten der Ladestation wird zuerst die Mitte Deutschlands genommen, wenn es Koordinaten des Mähers in der Ladestation gibt, dann werden die genommen. Falls aber das Attribut für die Ladestationskoordinaten gesetzt ist, dann wird die LS mit diesen Koordinaten angezeigt. Die berechnete Position der Ladestation verändert sich nur, wenn die Detailansicht neu geladen wird, dass ist aber nur nach einem Neustart oder bei Definition der Fall und nicht im eingeschwungenen Zustand. Wenn das stört, könnte ich das zurück bauen.

Wenn die Bildgröße mapImageWidthHeight nicht angegeben ist, wird '350 650' genommen.

Wenn mapImageCoordinatesToRegister nicht angegeben ist, werden die Extremwerte der vorhandenen Positionsdaten genutzt.

Wenn scaleToMeterXY nicht angegeben ist, dann wird die Skalierung verwendet, die in der Mitte Deutschlands gilt (67425, 108886).

Wenn mapImageCoordinatesUTM angegeben wird und vorher mapImageCoordinatesToRegister angegeben wurde dann wird scaleToMeterXY für die Lage des Mähbereiches berechnet.

Also, je nachdem was vorher gesetzt war oder nicht kann es zu unterschieden in der Skalierung oder Registrierung kommen.

Einen Fehler kann ich nicht erkennen.

Über die Genauigkeit der GPS-Daten sagt Husqvarna hier etwas: GPS-Verfolgung in der Automower® Connect-App (https://www.husqvarna.com/at/support/husqvarna-self-service/so-aktivieren-sie-geo-fence-und-gps-tracking-ihres-automower-mahroboters-ka-01568/#what%20is%20geofence)

Diese Genauigkeit kann ich bestätigen für den AM430x. Ich würde mich wundern, wenn es keine Abweichungen beim Mäherpfad gibt. Mit AIM (Genauigkeit 1m) oder EPOS soll es wohl besser sein.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: RobertSch am 01 Juni 2023, 07:24:15
Zitat von: Ellert am 30 Mai 2023, 17:14:37Danke für den Hinweis, hab's eingecheckt, ab morgen im Update und jetzt im Repository.

Moin Ellert!

Könntest du an der Stelle nochmal nachhelfen? Du hast zwar den Aufruf in dein Package eingefügt, leider an einer Stelle, wo es nichts bringt. Du müsstest das einmal vor das package (Zeile 27), also beispielsweise in Zeile 26 setzen. Den Fehler haben wahrscheinlich eh nicht viele, denn sobald ein Modul die Funktion schon mal eingebunden hat, dann ist sie überall verfügbar. Allerdings, wenn du eine neue FHEM Instanz aufsetzt und dann das AutomowerConnect Modul einsetzt, dann fehlt eben diese Funktion noch. Deshalb muss sie bereits global eingebunden werden, sonst meckert er über die fehlende Sub Routine und stürzt ab.

Auszug der Fehlermeldung im Log:
Undefined subroutine &main::timelocal called at ./FHEM/74_AutomowerConnect.pm line 248
Wenn die Zeile vor dem package eingefügt wird, verschwindet diese Meldung und das Modul funktioniert einwandfrei.

Gruß
Robert
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 01 Juni 2023, 10:24:34
Danke nochmal für Deine Hilfe, hab's korrigiert und eingecheckt.

timelocal wird jetzt im Package aufgerufen.

Diese Fehler fallen bei mir nicht auf, weil ich kein frisches System habe.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 02 Juni 2023, 19:01:19
Morgen im  Update:

Es besteht die Möglichkeit statt des Mäherpfades nur die Wegpunkte anzuzeigen.

Der Browsercache muss gelöscht und die Detailseite neugeladen werden.
Dann sind mapDesignAttibutes mit
set <name> defaultDesignAttributesToAttribute auf die Standardwerte zu setzen, um die zusätzlichen Designattribute einzufügen.
Wenn das Designattribut mowingPathUseDots="1" gesetzt wird werden nur die Wegpunkte des Mäherpfades angezeigt. Das kann bei einer hohen Zahl von Linien die Übersichtlichkeit steigern.

Hier die kompletten Standarddesignattribute, falls jmd. sie vorher setzen möchte:
areaLimitsColor="#ff8000"
areaLimitsLineWidth="1"
areaLimitsConnector=""
propertyLimitsColor="#33cc33"
propertyLimitsLineWidth="1"
propertyLimitsConnector="1"
errorBackgroundColor="#3d3d3d"
errorFont="14px Courier New"
errorFontColor="#ff8000"
errorPathLineColor="#ff00bf"
errorPathLineDash=""
errorPathLineWidth="2"
chargingStationPathLineColor="#999999"
chargingStationPathLineDash="6,2"
chargingStationPathLineWidth="1"
chargingStationPathDotWidth="2"
otherActivityPathLineColor="#999999"
otherActivityPathLineDash="6,2"
otherActivityPathLineWidth="1"
otherActivityPathDotWidth="4"
leavingPathLineColor="#33cc33"
leavingPathLineDash="6,2"
leavingPathLineWidth="2"
leavingPathDotWidth="4"
goingHomePathLineColor="#0099ff"
goingHomePathLineDash="6,2"
goingHomePathLineWidth="2"
goingHomePathDotWidth="4"
mowingPathDisplayStart=""
mowingPathLineColor="#ff0000"
mowingPathLineDash="6,2"
mowingPathLineWidth="1"
mowingPathDotWidth="4"
mowingPathUseDots=""
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Zergman am 05 Juni 2023, 11:14:04
Hallo Ellert,

nach dem Update vom 23.5. aktualisieren sich bei mir die userReadings leider nicht mehr. Du schreibst dazu:

Zitat von: Ellert am 23 Mai 2023, 17:09:28Das neue Reading device_state übernimmt die Funktion von state, also auch die Triggerung von userReadings, usw.

Könntest du bitte noch ein Beispiel hier einstellen, wie die userReadings geändert werden müssen, damit sie wieder funktionieren.
Vielen Dank!
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 05 Juni 2023, 15:07:07
Zitat von: Zergman am 05 Juni 2023, 11:14:04Hallo Ellert,

nach dem Update vom 23.5. aktualisieren sich bei mir die userReadings leider nicht mehr. Du schreibst dazu:

Zitat von: Ellert am 23 Mai 2023, 17:09:28Das neue Reading device_state übernimmt die Funktion von state, also auch die Triggerung von userReadings, usw.

Könntest du bitte noch ein Beispiel hier einstellen, wie die userReadings geändert werden müssen, damit sie wieder funktionieren.
Vielen Dank!

Da es kein Abfrageintervall mehr gibt, bzw. die Api nachts einmal gelesen wird ist es nur noch eingeschränkt sinnvoll auf device_state zu triggern.

Je nach dem welchen Wert Du mit userReadings darstellen möchtest gibt es vier grundsätzliche Möglichkeiten:

device_state: connected - alles was nur nachts aktualisiert wird ( https://developer.husqvarnagroup.cloud/apis/automower-connect-api#openapi )

mower_wsEvent: status-event - alle Daten, die mit Statusevents geliefert werden ( https://developer.husqvarnagroup.cloud/apis/automower-connect-api#websocket )

mower_wsEvent: positions-event - alle Daten, die mit Positonsevents geliefert werden ( https://developer.husqvarnagroup.cloud/apis/automower-connect-api#websocket )

mower_wsEvent: settings-event - alle Daten, die mit Settingsevents geliefert werden ( https://developer.husqvarnagroup.cloud/apis/automower-connect-api#websocket )

Welche Daten wie geliefert werden ist aus den vorstehenden Links ersichtlich.

Die Beispiele im Wiki habe ich angepasst, aber nicht getestet. Falls sie nicht funktionieren, hilft die Befehlsreferenz weiter: https://commandref.fhem.de/commandref_DE.html#userReadings



Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Zergman am 06 Juni 2023, 07:23:11
Hallo Ellert,

vielen Dank für die schnelle Antwort.

Bisher habe ich die Werte von $hash->{helper}{mower}{attributes}{statistics}{totalCuttingTime} und $hash->{helper}{mower}{attributes}{statistics}{numberOfChargingCycles} als UserReadings ausgegeben und benutzt um die Aktivität des Automowers im Auge zu behalten. Wenn ich deine Nachricht richtig verstehe, werden diese Werte jetzt aber nur noch einmal pro Tag (in der Nacht) aktualisiert. Ist das richtig? Oder kann man den API-Aufruf irgendwie manuell triggern?
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 06 Juni 2023, 10:42:10
Ja.
Regelmäßige Polling der API ist nicht vorgesehen.

Um die Aktivität des Mähers zu beobachten gibt es sicherlich aussagekräftigere Readings, wie zum Beispiel batteryPercent, das wird nach jedem Ladezyklus einmal mit 100% aktualisiert oder besser mower_aktivity zeigt ja direkt die Aktivität.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Zergman am 06 Juni 2023, 14:39:03
noch eine Frage / Beobachtung:
Seit der Umstellung auf WebSocket kommen bei mir wesentlich weniger Wegpunkte des Roboters an als zuvor. Das zeigt sich in weniger roten Linien auf der Karte und die Fahrstrecke des Automowers kann nicht mehr so richtig nachvollzogen werden. Wenn der Mäher aktiv ist, sehe ich zwar in regelmäßigen Abständen "mower_wsEvent: positions-event" Events (ca. aller 3 ... 5 Minuten) aber wenn ich mir die Positionen ausgeben lasse
{Dumper($defs{AutoMower}->{helper}{mower}{attributes}{positions})}ist in dem Array immer nur eine Position.

Sendet das WebSocket-Interface wirklich nur so wenige Positionen oder gehen die irgendwo anders verloren?
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 06 Juni 2023, 14:52:44
Es geht nichts verloren, im Mowerhash stehen nur die aktuell über Websocket gelieferten Positionen (Reading statistics_newGeoDataSets). Alle Positionen stehen in hash->{helper}{areapos}

Mit verbose 4 kannst Du den Verkehr über Websocket anzeigen.

Die Positionen werden beim Mähen ca. alle 30s im Mäher erfasst. Ob Positionen fehlen könntest Du also überprüfen.

Falls nur noch Punkte statt Linien angezeigt werden, müsstest Du in dem Attribut mapDesignAttributes  mowingPathUseDots="0" auf mowingPathUseDots="" ändern, ggf. defaultDesignAttributesTo Attribut  setzen.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Zergman am 09 Juni 2023, 08:44:48
Mit verbose=4 habe ich bei meinem Mäher (Automower 415X) folgende Beobachtungen gemacht:
Kann diese Beobachtung noch jemand anderes bestätigen oder ist das ein spezielles Problem bei mir und meinem Mäher?
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 09 Juni 2023, 10:51:24
Zitatneben dieser status/positions Kombination empfängt das Modul zwar einmal pro Minute eine WebSocket-Nachricht, diese ist aber immer leer
Das ist die Antwort des Servers auf den Keep Alive Ping des Moduls. Der Ping ist notwendig, damit der Server den Websocket nicht schliesst.
Zusätzlich wird alle 2 h ein Reopen des Websockets durchgeführt, da der Server sonst die Verbindung nach 2 Stunden schliesst.

Ich bekomme bei LEAVING/MOWING/GOING_HOME status-events in verschiedenen Zeitabständen (status_TimestampDiff) zwischen 30 s und 840 s, selten auch kürzer als 30 s.

Zitatpositions-event kommt immer nur kurz vor oder kurz nach einem status-event
Das beobachte ich auch.
Es kommen status_TimestampDiff/30 Positionen mit dem positions-event. Wenn status_TimestampDiff = 30 s, dann wird eine Position und wenn status_TimestampDiff = 840 s, dann werden 28 Positionen geliefert.

Bei PARKED_IN_CS/CHARGING gibt es alle 840 s ein status-event und ein positions-event.

Unter scheidet sich der Pfad in der Smartphone App von dem im Modul angezeigten?
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Zergman am 09 Juni 2023, 13:11:54
Zitat von: Ellert am 09 Juni 2023, 10:51:24Unter scheidet sich der Pfad in der Smartphone App von dem im Modul angezeigten?
Ja, deutlich. Im der Smartphone APP kann ich den Weg des Roboters nachvollzihen. In FHEM seit dem Umstieg auf Websocket nicht mehr.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 09 Juni 2023, 14:26:33
Gibt es Fehlermeldungen in der Nähe der Events im Log?


Unterscheiden sich die Events im Log von denen die Wscat liefert, wie hier beschrieben https://developer.husqvarnagroup.cloud/apis/automower-connect-api#websocket?

Wenn ja, dann hätte ich gern einen Logauszug und dazu passend das, was Wscat liefert.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 11 Juni 2023, 09:42:04
Morgen im Update:
Weniger Nebenefekte bei ungeplanten Auslesen der API-Daten
Events bei mower_wsEvent update, statt change.
Nutzung differentieller Daten beim Update der Karte überarbeitet.
Die Behandlung von disabled verbessert.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: towag am 11 Juni 2023, 12:44:38
Hallo

Vor einigen Tagen habe ich diesen 403 bemerkt.
Einen AccessToken bekomme ich und auch die Status-Abfragen mit den Attributen "mower_activity, ..:" funktionieren.
Was nicht mehr funktioniert ist die Darstellung der Bewegungen des Mower in der Map.

2023.06.11 12:32:30 4: AutomowerConnect Mower_315X Set: called with getNewAccessToken
2023.06.11 12:32:30 4: password Keystore handle for Device (Mower_315X) - Read password from file
2023.06.11 12:32:30 4: AutomowerConnect Mower_315X Get: called with ?
2023.06.11 12:32:30 5: AutomowerConnect Mower_315X getMower: header [ Accept: application/vnd.api+json
X-Api-Key: xxxxxxxxxxx
Authorization: Bearer xxxxx
Authorization-Provider: husqvarna ]
2023.06.11 12:32:31 5: HttpUtils url=https://ws.openapi.husqvarna.dev:443/v1 NonBlocking via https
2023.06.11 12:32:31 4: IP: ws.openapi.husqvarna.dev -> 54.216.229.107
2023.06.11 12:32:31 5: HttpUtils request header:
GET /v1 HTTP/1.1
Host: ws.openapi.husqvarna.dev
User-Agent: fhem
Accept-Encoding: gzip,deflate
Sec-WebSocket-Key: +hKrGRhiX+T4AZ/yTHuVxQ==
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Version: 13
Authorization: Bearer xxxxx

2023.06.11 12:32:31 5: AutomowerConnect Mower_315X getMowerResponse: found 0 => Automower 1877e66d-bd91-4671-ab7e-600521df3b27
2023.06.11 12:32:31 4: https://ws.openapi.husqvarna.dev:443/v1: HTTP response code 403
2023.06.11 12:32:31 5: HttpUtils https://ws.openapi.husqvarna.dev:443/v1: Got data, length: 150
2023.06.11 12:32:31 5: HttpUtils response header:
HTTP/1.1 403 Forbidden
Date: Sun, 11 Jun 2023 10:32:31 GMT
Content-Type: application/json; charset=UTF-8
Content-Length: 150
Connection: keep-alive
x-amz-apigw-id: GWZd7EU0joEFruw=
2023.06.11 12:32:31 2: AutomowerConnect Mower_315X wsCb: failed with error: HTTP CODE 403
2023.06.11 12:32:32 3: Opening Mower_315X device wss:ws.openapi.husqvarna.dev:443/v1
2023.06.11 12:33:31 5: HttpUtils url=https://ws.openapi.husqvarna.dev:443/v1 NonBlocking via https
2023.06.11 12:33:31 4: IP: ws.openapi.husqvarna.dev -> 46.137.24.151
2023.06.11 12:33:31 5: HttpUtils request header:
GET /v1 HTTP/1.1
Host: ws.openapi.husqvarna.dev
User-Agent: fhem
Accept-Encoding: gzip,deflate
Sec-WebSocket-Key: CJSDQpExUasv7D4V9dIJnQ==
Connection: Upgrade
Upgrade: websocket
Authorization: Bearer xxxxx
Sec-WebSocket-Version: 13

2023.06.11 12:33:31 4: https://ws.openapi.husqvarna.dev:443/v1: HTTP response code 403
2023.06.11 12:33:31 5: HttpUtils https://ws.openapi.husqvarna.dev:443/v1: Got data, length: 150
2023.06.11 12:33:31 5: HttpUtils response header:
HTTP/1.1 403 Forbidden
Date: Sun, 11 Jun 2023 10:33:31 GMT
Content-Type: application/json; charset=UTF-8
Content-Length: 150
Connection: keep-alive
x-amz-apigw-id: GWZnWHX7DoEFzLA=
2023.06.11 12:33:31 2: AutomowerConnect Mower_315X wsCb: failed with error: HTTP CODE 403


lg
Thomas
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 11 Juni 2023, 13:48:10
Ich denke das Problem kannst Du mit den Hinweisen aus #89 lösen.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Depechem am 11 Juni 2023, 16:12:39
Zitat von: Ellert am 29 Mai 2023, 22:16:23Vielleicht hilft set <name> getNewAccessToken.


ZitatHTTP response code 403
Sieht für mich nach diesem Problem aus(https://developer.husqvarnagroup.cloud/apis/automower-connect-api#websocket):
ZitatIf you get 403 when using Websocket even if the API call works. Try to renew the API key that should do the trick. If you still get 403 check that you get the correct scope when creating the access token (iam:read amc:api). If you don't have the correct scope you need to connect you API key to the Automower API to get the correct scope.

Stimmt der Scope (get InternalData)?

Wenn device_state auf connected steht, dann trift "If you get 403 when using Websocket even if the API call works." zu.

Und dann müssten diese Vorschläge zum Erfolg führen:
ZitatTry to renew the API key that should do the trick. If you still get 403 check that you get the correct scope when creating the access token (iam:read amc:api). If you don't have the correct scope you need to connect you API key to the Automower API to get the correct scope.

renew the API key https://developer.husqvarnagroup.cloud/docs/get-started

Wichtig auch:
Zitatconnect you API key to the Automower API to get the correct scope

Gibt es doppelte Passkey eines Devices in /opt/fhem/FHEM/FhemUtils/uniqueID, nur zur Sicherheit kontrollieren.





Tja nun nach mehreren Tagen der Versuche, gebe ich es vorerst auf.
Egal welche Modulversion (Das Modul erhält ja fast täglich neue Versionen)
- bleibt mein STATE immer auf disconnected
- batteryPercent wird nur nach einem händischen get Update aktualisiert, ansonsten auch nach Tagen keinerlei Aktualisierung der Readings
- es wird kein Mäherpfad mehr auf der Karte angezeigt
- die userreadings funktionieren nicht mehr
- das einzige was funktioniert ist ein "set start" und "set park"
- hat es tagelang mein log mit Fehlermeldungen zugespamt

leider ist mein Englisch nicht die Bohne und in der Programmierung bin ich auch kein Held.

Anfangs war die Anleitung des Moduls per wiki, fhem Forum und commandref zusammen für mich so weit machbar, das es funktioniert hat. Ich hatte eine schöne Karte mit allen Mähpunkten die der Robi abgefahren hat, die Statistik war auch 1a.

Nun durch die vielen Modulupdates trotz lesen aller Forumbeiträge bekomme ich es nicht mehr ans laufen. Da ich behaupte das zwar Neuerungen dokumentiert werden, aber für Leute wie mich nicht vollständig dokumentiert wurden, glaube ich, ist es aktuell echt schwierig ein brauchbares Modul ans laufen zu bekommen.

Dies ist keine Kritik, da alle froh sein können das sich Ellert so für das Modul einsetzt und hilft, aber für Leute wie mich ist es glaub nicht Sinnvoll dieses zu nutzen.
Ich werde in 2-3 Wochen nochmal schauen ob ich es mit einem aktuellen Update ans laufen bekomme.
Nach tagelangen probieren und sogar komplett neu Aufsetzen des Modules, bin ich nun am Ende und genervt.

Vielleicht erbarmt sich ja mal jemand den kompletten Handlungsablauf ins Wiki oder Forum zu schreiben. Evtl. auch mit einer Referenz.

Viele Grüße


Anhand meines Filelogs erkennt man auch das trotz täglichen Mähens nicht geloggt wird.
./log/RasenroboterAM405X-%Y.log RasenroboterAM405X:mower_activity.*|RasenroboterAM405X:mower_errorCode.*|RasenroboterAM405X:mower_errorCodeTimestamp.*|RasenroboterAM405X:mower_errorDescription.*|RasenroboterAM405X:settings_cuttingHeight.*2023-05-30_21:31:58 RasenroboterAM405X mower_activity: PARKED_IN_CS
2023-05-31_09:19:48 RasenroboterAM405X mower_activity: MOWING
2023-05-31_09:49:51 RasenroboterAM405X mower_activity: GOING_HOME
2023-05-31_09:50:06 RasenroboterAM405X mower_activity: NOT_APPLICABLE
2023-05-31_09:50:06 RasenroboterAM405X mower_activity: CHARGING
2023-05-31_09:50:08 RasenroboterAM405X mower_activity: PARKED_IN_CS
2023-06-02_00:58:08 RasenroboterAM405X settings_cuttingHeight: 6
2023-06-02_10:24:54 RasenroboterAM405X mower_activity: CHARGING
2023-06-02_10:43:12 RasenroboterAM405X mower_activity: NOT_APPLICABLE
2023-06-02_10:43:14 RasenroboterAM405X mower_activity: LEAVING
2023-06-02_10:44:00 RasenroboterAM405X mower_activity: MOWING
2023-06-02_11:36:13 RasenroboterAM405X mower_activity: GOING_HOME
2023-06-02_11:41:14 RasenroboterAM405X mower_activity: NOT_APPLICABLE
2023-06-02_11:41:14 RasenroboterAM405X mower_activity: CHARGING
2023-06-02_11:41:17 RasenroboterAM405X mower_activity: PARKED_IN_CS
2023-06-06_07:20:41 RasenroboterAM405X mower_activity: LEAVING
2023-06-06_07:26:28 RasenroboterAM405X mower_activity: MOWING
2023-06-06_08:07:48 RasenroboterAM405X mower_activity: GOING_HOME
2023-06-06_08:11:11 RasenroboterAM405X mower_activity: CHARGING
2023-06-06_09:12:11 RasenroboterAM405X mower_activity: MOWING
2023-06-06_10:00:12 RasenroboterAM405X mower_activity: NOT_APPLICABLE
2023-06-06_10:00:32 RasenroboterAM405X mower_activity: PARKED_IN_CS
2023-06-06_11:01:59 RasenroboterAM405X mower_activity: MOWING
2023-06-06_11:58:09 RasenroboterAM405X mower_activity: GOING_HOME
2023-06-06_12:02:48 RasenroboterAM405X mower_activity: CHARGING
2023-06-06_13:07:01 RasenroboterAM405X mower_activity: MOWING
2023-06-06_14:10:24 RasenroboterAM405X mower_activity: GOING_HOME
2023-06-06_14:16:05 RasenroboterAM405X mower_activity: NOT_APPLICABLE
2023-06-06_14:16:26 RasenroboterAM405X mower_activity: CHARGING
2023-06-06_14:59:14 RasenroboterAM405X mower_activity: PARKED_IN_CS
2023-06-07_07:05:11 RasenroboterAM405X mower_activity: MOWING
2023-06-07_07:54:43 RasenroboterAM405X mower_activity: GOING_HOME
2023-06-07_07:55:52 RasenroboterAM405X mower_activity: CHARGING
2023-06-07_08:57:42 RasenroboterAM405X mower_activity: LEAVING
2023-06-07_09:01:27 RasenroboterAM405X mower_activity: MOWING
2023-06-07_09:56:39 RasenroboterAM405X mower_activity: GOING_HOME
2023-06-07_09:59:56 RasenroboterAM405X mower_activity: NOT_APPLICABLE
2023-06-07_09:59:58 RasenroboterAM405X mower_activity: CHARGING
2023-06-08_00:54:23 RasenroboterAM405X mower_activity: NOT_APPLICABLE
2023-06-08_00:54:23 RasenroboterAM405X mower_errorCodeTimestamp: 2023-06-07 13:41:07
2023-06-08_00:54:23 RasenroboterAM405X mower_errorCode: 10
2023-06-08_00:54:23 RasenroboterAM405X mower_errorDescription: Upside down
2023-06-09_00:53:45 RasenroboterAM405X mower_activity: PARKED_IN_CS
2023-06-09_00:53:45 RasenroboterAM405X mower_errorCodeTimestamp: -
2023-06-09_00:53:45 RasenroboterAM405X mower_errorCode: -
2023-06-09_00:53:45 RasenroboterAM405X mower_errorDescription: -
2023-06-09_07:50:00 RasenroboterAM405X mower_activity: CHARGING
2023-06-10_00:59:23 RasenroboterAM405X mower_activity: PARKED_IN_CS
2023-06-11_16:01:14 RasenroboterAM405X mower_activity: MOWING
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 11 Juni 2023, 17:38:12
@Depechem:
Leider beschreibst Du nur die Situation, ohne Hinweise zu geben, woran Du genau scheiterst.

STATE ist disconnected weil Du Websocket nicht zum laufen bekommst, alles andere ist die Folge davon.

Ich kann das Problem nachstellen, wenn ich die im Developer Portal angelegte Applikation nicht mit der Automower Connect API verbinde.

Also, wo liegt das Problem, dass Du das noch nicht gemacht hast?

Was hast Du auf den verlinkten Seiten nicht verstanden?

Und beantworte bitte die Frage nach dem Scope.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Depechem am 11 Juni 2023, 20:56:28
Zitat von: Ellert am 11 Juni 2023, 17:38:12@Depechem:
Leider beschreibst Du nur die Situation, ohne Hinweise zu geben, woran Du genau scheiterst.

STATE ist disconnected weil Du Websocket nicht zum laufen bekommst, alles andere ist die Folge davon.

Ich kann das Problem nachstellen, wenn ich die im Developer Portal angelegte Applikation nicht mit der Automower Connect API verbinde.

Also, wo liegt das Problem, dass Du das noch nicht gemacht hast?

Was hast Du auf den verlinkten Seiten nicht verstanden?

Und beantworte bitte die Frage nach dem Scope.


Hallo Ellert,

vielen Dank das Du mir helfen willst.
Also ich denke schon, dass ich dies richtig verbunden habe. Also einfach beide Buttons auf "Connect APIs" klicken. Und dann werden sie siehe Foto angezeigt. Das habe ich seit 2 Wochen. Bringt aber nix
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Depechem am 11 Juni 2023, 21:00:52
Zitat von: Ellert am 11 Juni 2023, 17:38:12Und beantworte bitte die Frage nach dem Scope.


Link to APIs Husqvarna Developer
Authentification API URL https://api.authentication.husqvarnagroup.dev/v1
Automower Connect API URL https://api.amc.husqvarna.dev/v1
Client-Id d53f4475-1353-4471-a94d-d81c1c9ff1f4
Grant-Type client_credentials
User-Id d8e435c8-a39e-4be3-bace-cf23120da7f9
Provider husqvarna
Scope iam:read amc:api
Token Type Bearer
Token Expires 2023-06-12 01:00:00
Access Token eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjVlZDU2ZDUzLTEyNWYtNDExZi04ZTFlLTNlNDRkMGVkOGJmOCJ9.eyJqdGkiOiIzYjkyZDNlMy0wNjcxLTQzNDctODRhNy1hNjc4NDYwMmNiOTciLCJpc3MiOiJodXNxdmFybmEiLCJyb2xlcyI6W10sImdyb3VwcyI6WyJhbWMiLCJkZXZlbG9wZXItcG9ydGFsIl0sInNjb3BlcyI6WyJpYW06cmVhZCIsImFtYzphcGkiXSwiY2xpZW50X2lkIjoiZDUzZjQ0NzUtMTM1My00NDcxLWE5NGQtZDgxYzFjOWZmMWY0IiwidXNlciI6eyJmaXJzdF9uYW1lIjoiVGhvbWFzIiwibGFzdF9uYW1lIjoiUmVpY2hlbHQiLCJjdXN0b21fYXR0cmlidXRlcyI6e30sImN1c3RvbWVyX2lkIjoiIn0sImlhdCI6MTY4NjUwODg2NCwiZXhwIjoxNjg2NTk1MjY0LCJzdWIiOiJkOGU0MzVjOC1hMzllLTRiZTMtYmFjZS1jZjIzMTIwZGE3ZjkifQ.hHJB-j_Ydzc81ED3JUj5LA7L7N4A6k07Lgc7P_fag3rvKag8rAsi3yY_jthy7pebL6W7b86cpH2bAczg6hpqd5IMGoh9WgxkR38tZi5ae09kxJIs3KfXU8EbFGnQn5wpgtPiG43FSW-qyCrmnTzfoBToOksoEgcqaxjKVmq5R4pCCiYRK6exnXVq_5Xbcbqb2ICOgfyIlThaFMYXeFsXKtiak6xK89VM28doIdRggcrCLub8o4MKRSgH90svlIy8RBYS3grnvz5rXqNP2tyM4mx6PUm9NkMswpKQ7OMtA35bLuXcsnclVYpNu2Ge8KRevVnGJdEddwqnO57r-gKxIgkff0cY8FTTXJae8iw8lajinJRo7cbznU892YlX3gDYBvGJ9T1-yXSPB8u2EqO94IqbQzJzNmqgpLq0gBp-3P6GTpYTiBcR97fguGK7B7F_MksBVT_Cx-FW-VvXiD4KccKBErO6V8f6xrg6ehIY21q1qRloTGLpAGCWbs8F1i4c
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Depechem am 11 Juni 2023, 21:03:07
Und das ist meine Raw Definition

defmod RasenroboterAM405X AutomowerConnect d53f4475-1353-4471-a94d-d81c1c9ff1f4
attr RasenroboterAM405X chargingStationImagePosition top
attr RasenroboterAM405X icon automower
attr RasenroboterAM405X mapDesignAttributes areaLimitsColor="#ff8000"\
areaLimitsLineWidth="1"\
areaLimitsConnector=""\
propertyLimitsColor="#33cc33"\
propertyLimitsLineWidth="1"\
propertyLimitsConnector="1"\
errorBackgroundColor="#3d3d3d"\
errorFont="14px Courier New"\
errorFontColor="#ff8000"\
errorPathLineColor="#ff00bf"\
errorPathLineDash=""\
errorPathLineWidth="2"\
chargingStationPathLineColor="#999999"\
chargingStationPathLineDash="6,2"\
chargingStationPathLineWidth="1"\
chargingStationPathDotWidth="2"\
otherActivityPathLineColor="#999999"\
otherActivityPathLineDash="6,2"\
otherActivityPathLineWidth="1"\
otherActivityPathDotWidth="4"\
leavingPathLineColor="#33cc33"\
leavingPathLineDash="6,2"\
leavingPathLineWidth="2"\
leavingPathDotWidth="4"\
goingHomePathLineColor="#0099ff"\
goingHomePathLineDash="6,2"\
goingHomePathLineWidth="2"\
goingHomePathDotWidth="4"\
mowingPathDisplayStart=""\
mowingPathLineColor="#ff0000"\
mowingPathLineDash="6,2"\
mowingPathLineWidth="1"\
mowingPathDotWidth="4"\
mowingPathUseDots=""
attr RasenroboterAM405X mapImagePath ./www/images/1map1360x980.webp
attr RasenroboterAM405X mapImageWidthHeight 1360 980
attr RasenroboterAM405X mapImageZoom 0.7
attr RasenroboterAM405X room AutomowerConnect
attr RasenroboterAM405X scaleToMeterXY 73246 100600
attr RasenroboterAM405X userReadings Seriennummer:device_state:.connected {$defs{$name}->{helper}{mower}{attributes}{system}{serialNumber}},\
letzterStandort_1:mower_wsEvent:.positions-event {$defs{$name}->{helper}{mower}{attributes}{positions}[0]{latitude}},\
letzterStandort_2:mower_wsEvent:.positions-event {$defs{$name}->{helper}{mower}{attributes}{positions}[0]{longitude}},\
Kollisionen:connected {$defs{$name}->{helper}{mower}{attributes}{statistics}{numberOfCollisions}},\
Ladezeit:connected {$defs{$name}->{helper}{mower}{attributes}{statistics}{totalChargingTime}/3600},\
Schneidzeit:connected {$defs{$name}->{helper}{mower}{attributes}{statistics}{totalCuttingTime}/3600},\
Gesamtfahrzeit:connected {$defs{$name}->{helper}{mower}{attributes}{statistics}{totalRunningTime}/3600},\
Suchzeit:connected {$defs{$name}->{helper}{mower}{attributes}{statistics}{totalSearchingTime}/3600},\
Strecke_Tag:connected {$defs{$name}->{helper}{statistics}{currentDayTrack}},\
Flaeche_Tag:connected {$defs{$name}->{helper}{statistics}{currentDayArea}},\
Strecke_Vortag:connected {$defs{$name}->{helper}{statistics}{lastDayTrack}},\
Flaeche_Vortag:connected {$defs{$name}->{helper}{statistics}{lastDayArea}},\
Strecke_Woche:connected {$defs{$name}->{helper}{statistics}{currentWeekTrack}/1000},\
Flaeche_Woche:connected {$defs{$name}->{helper}{statistics}{currentWeekArea}},\
Strecke_Vorwoche:connected {$defs{$name}->{helper}{statistics}{lastWeekTrack}/1000},\
Flaeche_Vorwoche:connected {$defs{$name}->{helper}{statistics}{lastWeekArea}},\
Ladezyklen:connected {$defs{$name}->{helper}{mower}{attributes}{statistics}{numberOfChargingCycles}}
attr RasenroboterAM405X weekdaysToResetWayPoints 0123456
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 12 Juni 2023, 00:06:15
ZitatScope   iam:read amc:api
Das ist o.k.

Ich würde jetzt diesen Hinweis umsetzen:
ZitatTry to renew the API key that should do the trick.

Wie im Dokument Get started unter 2. im Abschnitt Renew Application API Key beschrieben den Button Renew Application Secret anklicken und dann den neuen Application key durch Ändern der FHEM Definition einpflegen und das neue Application Secret setzen. Wobei sich eigentlich nur das Secret ändert und nicht der API Key.

Eventuell vorher ein Update machen, heute gibt es eine Version.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Depechem am 12 Juni 2023, 09:25:07
Zitat von: Ellert am 12 Juni 2023, 00:06:15
ZitatScope   iam:read amc:api
Das ist o.k.

Ich würde jetzt diesen Hinweis umsetzen:
ZitatTry to renew the API key that should do the trick.

Wie im Dokument Get started unter 2. im Abschnitt Renew Application API Key beschrieben den Button Renew Application Secret anklicken und dann den neuen Application key durch Ändern der FHEM Definition einpflegen und das neue Application Secret setzen. Wobei sich eigentlich nur das Secret ändert und nicht der API Key.

Eventuell vorher ein Update machen, heute gibt es eine Version.

Natürlich versuche ich seit 2 Wochen auch mittels
,,Renew Application Secret"
ohne Erfolg. FHEM auch neu gestartet

Trotzdem habe ich gerade ein Modulupdate gemacht und ein Renew. Wie schon gedacht ohne Besserung.

Wie schon geschrieben, da stimmt irgend etwas nicht

Nach FHEM Neustart im log:
2023.06.12 09:04:56.649 1: PERL WARNING: Use of uninitialized value $statuscode in concatenation (.) or string at lib/FHEM/Devices/AMConnect/Common.pm line 846, <GEN1467> line 1.
2023.06.12 09:04:56.687 1: PERL WARNING: Use of uninitialized value $statuscode in concatenation (.) or string at lib/FHEM/Devices/AMConnect/Common.pm line 847, <GEN1467> line 1.
2023.06.12 09:04:56.687 1: AutomowerConnect RasenroboterAM405X getMowerResponse: $statuscode []
$err [read from https://api.amc.husqvarna.dev:443 timed out],
 $data []
$param->url https://api.amc.husqvarna.dev/v1/mowers

2023.06.12 09:09:04.637 1: RasenroboterAM405X: Can't connect to wss:ws.openapi.husqvarna.dev:443/v1: HTTP CODE 403
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Zergman am 12 Juni 2023, 11:04:48
Zitat von: Ellert am 09 Juni 2023, 14:26:33Unterscheiden sich die Events im Log von denen die Wscat liefert, wie hier beschrieben https://developer.husqvarnagroup.cloud/apis/automower-connect-api#websocket?

Ich habe es jetzt endlich geschafft, mir die Nachrichten mit wscat anzuschauen. Dabei stellt sich raus, dass bei mir über WebSocket wirklich nur die Status-Events mit der aktuelle Position kommen. Regelmäßige Positionsupdates gibt es bei mir einfach nicht.  :-\
=> Das Modul macht, was es soll und benutzt die Daten, die es bekommt!
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 12 Juni 2023, 12:32:08
Zitat von: Zergman am 12 Juni 2023, 11:04:48
Zitat von: Ellert am 09 Juni 2023, 14:26:33Unterscheiden sich die Events im Log von denen die Wscat liefert, wie hier beschrieben https://developer.husqvarnagroup.cloud/apis/automower-connect-api#websocket?

Ich habe es jetzt endlich geschafft, mir die Nachrichten mit wscat anzuschauen. Dabei stellt sich raus, dass bei mir über WebSocket wirklich nur die Status-Events mit der aktuelle Position kommen. Regelmäßige Positionsupdates gibt es bei mir einfach nicht.  :-\
=> Das Modul macht, was es soll und benutzt die Daten, die es bekommt!

Danke für die Rückmeldung.

Du könntest das Problem über die Supportadresse openapi.servicedesk@husqvarnagroup.com melden, vielleicht erreichst Du damit etwas oder erhältst eine Erklärung.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 12 Juni 2023, 16:40:29
Zitat von: Depechem am 12 Juni 2023, 09:25:07
Zitat von: Ellert am 12 Juni 2023, 00:06:15
ZitatScope   iam:read amc:api
Das ist o.k.

Ich würde jetzt diesen Hinweis umsetzen:
ZitatTry to renew the API key that should do the trick.

Wie im Dokument Get started unter 2. im Abschnitt Renew Application API Key beschrieben den Button Renew Application Secret anklicken und dann den neuen Application key durch Ändern der FHEM Definition einpflegen und das neue Application Secret setzen. Wobei sich eigentlich nur das Secret ändert und nicht der API Key.

Eventuell vorher ein Update machen, heute gibt es eine Version.

Natürlich versuche ich seit 2 Wochen auch mittels
,,Renew Application Secret"
ohne Erfolg. FHEM auch neu gestartet

Trotzdem habe ich gerade ein Modulupdate gemacht und ein Renew. Wie schon gedacht ohne Besserung.

Wie schon geschrieben, da stimmt irgend etwas nicht

Nach FHEM Neustart im log:
2023.06.12 09:04:56.649 1: PERL WARNING: Use of uninitialized value $statuscode in concatenation (.) or string at lib/FHEM/Devices/AMConnect/Common.pm line 846, <GEN1467> line 1.
2023.06.12 09:04:56.687 1: PERL WARNING: Use of uninitialized value $statuscode in concatenation (.) or string at lib/FHEM/Devices/AMConnect/Common.pm line 847, <GEN1467> line 1.
2023.06.12 09:04:56.687 1: AutomowerConnect RasenroboterAM405X getMowerResponse: $statuscode []
$err [read from https://api.amc.husqvarna.dev:443 timed out],
 $data []
$param->url https://api.amc.husqvarna.dev/v1/mowers

2023.06.12 09:09:04.637 1: RasenroboterAM405X: Can't connect to wss:ws.openapi.husqvarna.dev:443/v1: HTTP CODE 403

Die Empfehlung lautete: "Try to renew the API key" das Portal bietet nur den Button "Renew Application Secret". Das scheint nicht ausreichend zu sein.

Ich würde jetzt eine weitere Applikation im Portal anlegen und  sie mit der Api verbinden.

Und in FHEM das bestehende Gerät auf disable 1 setzen, dann ist da erstmal Ruhe.

Als nächstes ein neues Gerät ohne weitere Attribute mit dem API Key der 2. Applikation anlegen und das "Application Secret" als client_secret setzen.

Falls das nicht klappt, dann hier ein List des Gerätes und ein vollständiges Log von dem Vorgang posten.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 17 Juni 2023, 00:20:50
Heute im Update:

Der Loglevel von DevIo für Websocketmeldungen kann mit dem Benutzerattribut loglevelDevIo angepasst werden.
Warnings für $statuscode behoben.
Mit den Benutzerattributen timeout.* kann der Timeout für API Aufrufe festgelegt werden, falls es zu häufigen Timeouts kommt. Zusätzlich kann die Antwortzeit gemessen werden. Vorrangig sollten jedoch die Ursachen für eine lange Antwortzeit des API Aufrufs beseitigt werden, solange sie im Bereich des Benutzers liegen. Diese Attribute sind bei einem störungsfreien Betrieb des Moduls nicht erforderlich und werden nicht vom Modul bereitgestellt sondern nur unterstützt. Sie müssen im Bedarfsfall über das Attribut userattr bereitgestellt werden, mehr in der Befehlsreferenz.
Datentransfer für Kartenupdates über FHEMWEB Extension.
Weiter reduzierte Nebeneffekte bei manuellen Datenabrufen von der API.

Nach dem Update und FHEM Restart, muss der Browsercache gelöscht und die Seite neu geladen werden.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 21 Juni 2023, 00:44:07
Ab heute im Update:

Mit dem Attribut addPollingMinIntervall wird zusätzlich zu den Websocketevents die API periodisch abgefragt, wenn ein Statusevent eintritt und mindestens die im Attribut angegebene Zeit in Sekunden seit der letzten Abfrage verstrichen ist. Dadurch werden zusätzlich die Statistikdaten des Mähers aktualisiert. Kurze Intervalle können dazu führen, dass die API gedrosselt wird, wenn 10000 API Aufrufe im Monat überschritten werden. Um die API Abrufe im Blick zu behalten und ggf. gegen zu steuern, zeigt das Reading api_callsThisMonth die im Monat bisher ausgeführten API Aufrufe. Damit sollte das Problem aus #113 zu lösen sein.

Mit dem Attribut addPositionPolling, das nur zusätzlich zum Attribut addPollingMinInterval wirksam ist, werden die GPS Daten statt über Websocket über das Polling bezogen. Das adressiert das Problem aus dem Beitrag #115 bzw. #131.

Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Zergman am 23 Juni 2023, 08:22:19
Vielen Dank für das Update. Jetzt sehe ich endlich wieder, wo sich mein Mäher den ganzen Tag rumtreibt.

Husvarna habe ich bzgl. meines Problems kontaktiert (openapi.servicedesk@husqvarnagroup.com): Nach ein bisschen Hin und Her haben sie vor einer Woche ein Ticket wegen "missing positions-event" aufgemacht. Seit dem ist aber Ruhe.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 24 Juni 2023, 08:07:40
Heute bitte kein Update durchführen, es hat sich ein Fehler eingeschlichen der das Laden des Moduls verhindert.

Die Korrektur ist eingecheckt, morgen als Update, und sofort im SVN.

Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Stefan H. am 27 Juni 2023, 13:34:01
Hallo @Ellert, erstmal vielen Dank für dieses tolle Modul!

Ein kleines Thema hätte ich noch bezüglich dem Reading 'state' des AutomowerConnect Moduls:

Seit dem Umbau auf die Websocket-Kommunikation, wird das 'STATE' Internal vom Modul AutomowerConnect direkt beschrieben (Status 'opened') und die Inhalte von FHEM (Attribut 'stateFormat') überschrieben.
Statt des Mower Status sehe auf der Übersicht dann lediglich den Text 'opened' als Status.

Das Commandref sagt beim Attribut 'stateFormat':
Zitat"Note: some FHEM modules are setting STATE directly (against the guidelines), in this case the attribute may not work as expected."

Gruss,
Stefan
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 27 Juni 2023, 16:25:09
Morgen im Update:

DevIo berücksichtigt stateFormat.
Es ist möglich die Karte in Tablet-UI/FTUI 2 einzubinden.
Das FTUI-Widget befindet sich im Anhang des ersten Beitrag, dort gibt es auch Hinweise zur Einbindung.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: dinkel75 am 27 Juni 2023, 17:56:43
Hallo,

ich bekomme seit dem Update heute folgende Fehlermeldung und Map wird auch nicht mehr angezeigt.

AutomowerConnectUpdateJson is not defined
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 27 Juni 2023, 19:05:35
Hast nach dem Update Du den Browsercache gelöscht und ein Reload der Seite durchgeführt?
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 27 Juni 2023, 19:44:16
Positionsdaten speichern und wiederherstellen

Wer sich am Verlust der Positionsdaten nach einem Update stört, der kann mit den nachstehenden Subs für die 99_myUtils.pm vor dem Update die Daten speichern und nach dem Update wiederherstellen:
use Storable;
sub store_areapos {
my ( $name ) = @_;
my $hash = $defs{$name};
store \$hash->{helper}{areapos}, 'areapos';
}
sub retrieve_areapos {
my ( $name ) = @_;
my $hash = $defs{$name};
my $ref = retrieve( 'areapos' );
$hash->{helper}{areapos} = $$ref;
}

Für die Befehlszeile
Speichern vor dem Update
{store_areapos '<name>'}
Laden nach dem Update
{retrieve_areapos '<name>'}
<name> ist durch den Gerätenamen des Gerätes das den Mäher abbildet zu ersetzen.
Das Speichern und Wiederherstellen sollte unmittelbar vor bzw. nach dem Update erfolgen.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Stefan H. am 27 Juni 2023, 20:28:57
ZitatMorgen im Update:

DevIo berücksichtigt stateFormat.

 :) Danke !!!
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: dinkel75 am 27 Juni 2023, 21:42:07
Browserchache hat geholfen! Danke!
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 28 Juni 2023, 20:24:31
Update FTUI-Widget im ersten Beitrag, funktioniert erst mit dem Update automowerconnect.js morgen.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Stefan H. am 28 Juni 2023, 22:55:31
Hallo Ellert,

ich habe nochmals einen kleinen Fehler gefunden:
Habe 2 Automower und auch 2 Instanzen des AutomowerConnect Moduls (Version 27701 - FHEM Update wurde heute durchgeführt).
Wenn ein Reading (z.B. 'mower_mode' oder 'planner_nextStart') eines der beiden Mower aktualisiert wird, so das Reading in beiden Instanzen des AutomowerConnect Moduls aktualisiert, anstelle nur die Instanz des betreffenden Mowers.
Wenn ich jedoch ein 'set getUpdate' ausführe, so wird nur die betreffende Instanz aktualisiert (= korrektes Verhalten).
Für jedes Modul wurde ein separater Husqvarna API Key angelegt und bei den Modulen konfiguriert.

-Stefan
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 29 Juni 2023, 08:41:05
Beide Instanzen erhalten alle Websocketevents. Wenn die Mäher die gleiche Id haben, dann reagieren auch beide Instanzen, die Websocketevents filtere ich nach der Id.
Bei unterschiedlichen Mähern sollte das Verhalten nicht auftreten.
Wenn die API abgefragt (getUpdate) wird, weiss die andere Instanz das natürlich nicht.

Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Stefan H. am 29 Juni 2023, 15:39:29
Die Mäher hängen auf demselben Account und damit mit demselben <application key>. Jedoch habe ich wie in Commandref beschrieben die [<mower number>] bei beiden Instanzen unterschiedlich vergeben:
Nr. 0 und 1 bzw. xxxxx 0 und xxxxx 1 - so wie im Reading <api_MowerFound> angezeigt.

Ich habe es auch mit einer zweiten Application im Husqvarna Developer Portal versucht; das Verhalten war jedoch genau gleich (es sind ja beide Application ID's mit demselben Account damit mit denselben Mähern verknüpft).

Die Unterscheidung sollte daher doch via die [<mower number>] erfolgen?
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 29 Juni 2023, 16:41:20
Du hast 2 Mäher mit 0=> namex Idx und 1=> namey Idy.

Idx Idy sind das Kriterium mit dem ich die WS-Events filtere, weil ich davon ausgehe (ich habe nur einen Mäher, kann das nicht testen), dass jeder Mäher eine eigene Id hat.

Unterscheiden sich Idx und Idy?
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Stefan H. am 29 Juni 2023, 17:09:57
Ja, Idx und Idy sind unterschiedlich. Bei mir sieht dies wie folgt aus:
0 => Shorty West 2d84075a-a676-4375-bfdd-5c7ab927c9cf
1 => Shorty Sued aa1d3c59-aba6-4b7e-8c9f-600b988a8f60
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 29 Juni 2023, 17:29:56
Dann müsste {$defs{<devicename0>}->{helper}{mower_id}} und {$defs{<devicename1>}->{helper}{mower_id}} in der Befehlszeile mit Idx Idy übereinstimmen.

Dann könnte es sein, dass für beide Mäher WS-Event zur gleichen Zeit kommen.

Mit verbose 4 könntest Du sehen ob für beide Mäher Id eng beieinander liegende Events kommen, ggf das Attribut global mseclog 1 setzen

Sind die Inhalte der Readings, die gleichzeitig in beiden Mähern aktualisiert werden stimmig, passt die nächste Startzeit zu dem Mäher usw?
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Stefan H. am 29 Juni 2023, 18:20:18
Habe die beide Mäher versuchshalber in der Husqvarna Cloud noch umbenannt, um keine Leerzeichen im Namen zu haben. Die Info kam auch korrekt bei den beiden Devices an; das Verhalten bei Reading-Updates hat sich aber leider nicht verbessert.
Es werden immer noch die Readings beider Devices mit demselben Inhalt beschrieben, wenn von einem Mäher ein Update kommt.
0 => Shorty-West 2d84075a-a676-4375-bfdd-5c7ab927c9cf
1 => Shorty-Sued aa1d3c59-aba6-4b7e-8c9f-600b988a8f60
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Stefan H. am 29 Juni 2023, 18:33:51
Sorry, hatte dein Update nicht gesehen - werde dies gleich prüfen.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Stefan H. am 29 Juni 2023, 21:47:02
ZitatDann müsste
Code Auswählen
{$defs{<devicename0>}->{helper}{mower_id}}
und
Code Auswählen
{$defs{<devicename1>}->{helper}{mower_id}}
in der Befehlszeile mit Idx Idy übereinstimmen.
=> Ja, stimmt überein!

ZitatDann könnte es sein, dass für beide Mäher WS-Event zur gleichen Zeit kommen.

Mit verbose 4 könntest Du sehen ob für beide Mäher Id eng beieinander liegende Events kommen, ggf das Attribut global mseclog 1 setzen

Sind die Inhalte der Readings, die gleichzeitig in beiden Mähern aktualisiert werden stimmig, passt die nächste Startzeit zu dem Mäher usw?
Man sieht im Log, dass ein Update von einem Mäher jeweils beiden Mäher-Devices zugewiesen wird; d.h. die Readings sind jeweils nur für eines der beiden Devices stimmig. Man sieht im Log auch, dass bei beiden Event-Verarbeitungen jeweils dieselbe Mäher-ID im Log angezeigt wird. Beispiel:
2023.06.29 20:56:29.603 4: AutomowerConnect ShortySued wsRead: received websocket data: >{"id":"aa1d3c59-aba6-4b7e-8c9f-600b988a8f60","type":"status-event","attributes":{"battery":{"batteryPercent":96}
2023.06.29 20:56:29.634 4: AutomowerConnect ShortyWest wsRead: received websocket data: >{"id":"aa1d3c59-aba6-4b7e-8c9f-600b988a8f60","type":"status-event","attributes":{"battery":{"batteryPercent":96}
Die id 'aa1d3c59-aba6-4b7e-8c9f-600b988a8f60' entspricht hierbei dem Mäher/Device 'ShortySued' - die zusätzliche Zuordnung beim Device 'ShortyWest' ist falsch.

Hier noch als Referenz der Wert des Readings 'api_MowerFound':
0 => Shorty-West 2d84075a-a676-4375-bfdd-5c7ab927c9cf
1 => Shorty-Sued aa1d3c59-aba6-4b7e-8c9f-600b988a8f60

Zu dem im angehängten Log abgebildeten Zeitpunkt haben wir folgende Ist-Situation:

Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 30 Juni 2023, 09:06:42
Ja, jetzt sehe ich das auch. wsRead wird in einer Instanz eines Mähers von DevIo zweimal aufgerufen, einmal mit dem Hash von ShortySued und einmal mit dem Hash von ShortyWest, das hatte ich nicht erwartet. Dann kann der Filter nicht greifen.



Da bisher weniger 98% der aller FHEM Installationen mit Automower nur einen Mäher definieren, wollte ich kein zweistufiges Konzept.

Also werden bis auf Weiteres keine zusätzlichen Mäher unterstützt.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 30 Juni 2023, 10:39:24
Mir ist immer noch nicht klar was da abläuft.

Beide Module erhalten die gleichen Daten über Websocket (vermute ich) und diese werden geloggt, unabhängig davon, ob diese Daten auch in die Readings geschrieben werden. Das köntest Du prüfen, wenn nur ein Gerät definiert ist und beide Id im Log auftauchen.

Wenn es so ist wie ich vermute, dann erkenne ich hier keinen Fehler.
Zitat2023.06.29 20:56:29.603 4: AutomowerConnect ShortySued wsRead: received websocket data: >{"id":"aa1d3c59-aba6-4b7e-8c9f-600b988a8f60","type":"status-event","attributes":{"battery":{"batteryPercent":96}
2023.06.29 20:56:29.634 4: AutomowerConnect ShortyWest wsRead: received websocket data: >{"id":"aa1d3c59-aba6-4b7e-8c9f-600b988a8f60","type":"status-event","attributes":{"battery":{"batteryPercent":96}

Daher würden mich ein Log nach dem heutigen Update interessieren, da gibt es einen Logeintrag nach dem Filter mit dem batteryPercent Wert als Referenz. Es sollte dann jede Instanz nur ihren Wert loggen.

Wenn DevIo wie vermutet wsRead mit jedem Hash in jedem Gerät aufruft müssten 2 von diesen Logeinträgen zusehen sein.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Stefan H. am 30 Juni 2023, 12:58:49
Hallo Ellert,

wie gewünscht habe ich eines der beiden Devices aus FHEM gelöscht; aktuell ist nur noch ein AutomowerConnect Device definiert ('ShortyWest').

Im Log sieht man Events von beiden Mähern, welche an das Device 'ShortyWest' gesendet werden. Die betreffenden Readings wurden (leider) auch bei allen im Log dargestellten Events aktualisiert (sieht man im Log [noch] nicht, jedoch im FHEM Webinterface).

2023.06.30 12:46:39.351 4: AutomowerConnect ShortyWest wsRead: received websocket data: >{"id":"aa1d3c59-aba6-4b7e-8c9f-600b988a8f60","type":"status-event","attributes":{"battery":{"batteryPercent":95},"mower":{"mode":"MAIN_AREA","activity":"MOWING","state":"IN_OPERATION","errorCode":0,"errorCodeTimestamp":0},"planner":{"nextStartTimestamp":0,"override":{"action":"IPLANNER_OVERRIDE_ACTION_FORCE_MOW"},"restrictedReason":"NOT_APPLICABLE"},"metadata":{"connected":true,"statusTimestamp":1688121999224}}}<
Zeile 32851: 2023.06.30 12:47:19.936 4: AutomowerConnect ShortyWest wsRead: received websocket data: >{"id":"2d84075a-a676-4375-bfdd-5c7ab927c9cf","type":"status-event","attributes":{"battery":{"batteryPercent":100},"mower":{"mode":"HOME","activity":"PARKED_IN_CS","state":"RESTRICTED","errorCode":0,"errorCodeTimestamp":0},"planner":{"nextStartTimestamp":1688130000000,"override":{"action":"IPLANNER_OVERRIDE_ACTION_NOT_ACTIVE"},"restrictedReason":"WEEK_SCHEDULE"},"metadata":{"connected":true,"statusTimestamp":1688122039701}}}<

Da wsRead die Mower ID auch ans Modul übergibt, müsste die Filterung danach doch funktionieren? So wie ich verstanden habe, ist es aktuell implementiert?

Gerne werde ich morgen ein FHEM Update durchführen und den entsprechenden Log Auszug wieder hier posten.

Gruss,
Stefan
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Stefan H. am 30 Juni 2023, 13:34:56
Hallo Ellert, hab grad gesehen, dass dein Checkin @27715 schon im heutigen FHEM Update mit drin war. Hier der resultierende Log-Auszug:
2023.06.30 13:20:45.532 4: AutomowerConnect ShortyWest wsRead: select websocket data for $result->{id} 2d84075a-a676-4375-bfdd-5c7ab927c9cf, $hash->{helper}{mower_id} 2d84075a-a676-4375-bfdd-5c7ab927c9cf, battery 90
2023.06.30 13:20:45.618 4: AutomowerConnect ShortyWest wsRead: received websocket data: >{"id":"2d84075a-a676-4375-bfdd-5c7ab927c9cf","type":"status-event","attributes":{"battery":{"batteryPercent":90},"mower":{"mode":"MAIN_AREA","activity":"MOWING","state":"IN_OPERATION","errorCode":0,"errorCodeTimestamp":0},"planner":{"nextStartTimestamp":1688130000000,"override":{"action":"IPLANNER_OVERRIDE_ACTION_NOT_ACTIVE"},"restrictedReason":"NOT_APPLICABLE"},"metadata":{"connected":true,"statusTimestamp":1688124045433}}}<
2023.06.30 13:20:45.659 4: AutomowerConnect ShortyWest wsRead: received websocket data: >{"id":"2d84075a-a676-4375-bfdd-5c7ab927c9cf","type":"positions-event","attributes":{"positions":[{"latitude":47.3466962,"longitude":7.8706346}]}}<
2023.06.30 13:20:46.367 4: AutomowerConnect ShortyWest wsRead: received websocket data: ><
2023.06.30 13:21:10.580 4: AutomowerConnect ShortyWest wsRead: select websocket data for $result->{id} aa1d3c59-aba6-4b7e-8c9f-600b988a8f60, $hash->{helper}{mower_id} 2d84075a-a676-4375-bfdd-5c7ab927c9cf, battery 55
2023.06.30 13:21:10.713 4: AutomowerConnect ShortyWest wsRead: received websocket data: >{"id":"aa1d3c59-aba6-4b7e-8c9f-600b988a8f60","type":"status-event","attributes":{"battery":{"batteryPercent":55},"mower":{"mode":"MAIN_AREA","activity":"MOWING","state":"IN_OPERATION","errorCode":9,"errorCodeTimestamp":1680702307000},"planner":{"nextStartTimestamp":0,"override":{"action":"IPLANNER_OVERRIDE_ACTION_FORCE_MOW"},"restrictedReason":"NOT_APPLICABLE"},"metadata":{"connected":true,"statusTimestamp":1688124070478}}}<
2023.06.30 13:21:10.763 4: AutomowerConnect ShortyWest wsRead: received websocket data: >{"id":"aa1d3c59-aba6-4b7e-8c9f-600b988a8f60","type":"positions-event","attributes":{"positions":[{"latitude":47.3465912,"longitude":7.8706805}]}}<
2023.06.30 13:21:10.790 4: AutomowerConnect ShortyWest wsRead: select websocket data for $result->{id} aa1d3c59-aba6-4b7e-8c9f-600b988a8f60, $hash->{helper}{mower_id} 2d84075a-a676-4375-bfdd-5c7ab927c9cf, battery 55

Beide Mower waren zu dem Zeitpunkt aktiv. Die angegebenen Akkuwerte sind - bezogen auf $result->{id} - korrekt.
Nun müsste das Modul eigentlich "nur" noch nach '$result->{id}' filtern - dann müsste es passen.

Beste Grüsse,
Stefan
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Stefan H. am 30 Juni 2023, 16:22:42
Hallo Ellert, ich habe den Fehler gefunden:

Common.pm, Zeile 2530:
if ( defined( $result->{type} && $result->{id} eq $hash->{helper}{mower_id} ) ) {Die gesamte Zeile ist hier der Input für die Funktion 'defined' - eigentlich sollte ja nur '$result->{type}' auf 'defined' geprüft werden.

Common.pm, Zeile 2530: Vorschlag (verschobene und zusätzliche Klammern):
if ( defined( $result->{type} ) && ( $result->{id} eq $hash->{helper}{mower_id} ) ) {
=> Ein erster Test war erfolgreich; es wird jeweils nur noch das betroffene Mäher-Device aktualisiert.

Könntest du dies bitte so anpassen und einchecken? Vielen Dank!

Gruss,
Stefan
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 30 Juni 2023, 16:32:06
Einen Filter gibt es schon, da stand leider eine Klammer an der falschen Stelle.

Es wäre hilfreich, wenn Du kurz probierst ob die Readings richtig geschrieben werden.

Die Datei im Anhang nach ...fhem/lib/FHEM/Devices/AMConnect/ kopieren.

Fhem neu starten.

Wenn alles o.k. ist, dann gibt es die Änderung morgen im Update.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 30 Juni 2023, 16:33:38
Ok. Du warst schneller.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Stefan H. am 30 Juni 2023, 16:45:05
Hallo Ellert,

Vielen Dank. Ich habe deine Version von Common.pm eben auch noch getestet; funktioniert einwandfrei!  :)

Beste Grüsse
Stefan
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 30 Juni 2023, 17:23:55
Eingecheckt und morgen im Update.

@Stefan H.: Danke für Deine aktive Mitarbeit.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Stefan H. am 30 Juni 2023, 21:09:58
@Ellert Danke ebenso für die schnelle Behebung!
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 02 Juli 2023, 14:32:21
Tipp:
Die per Getter verfügbaren Listen können in userReadings dauerhaft angezeigt werden, z.B. StatisticsData

attr <device name> userReadings A_Stat:mower_wsEvent..status-event {fhem "get $name StatisticsData", 1}
Das funktioniert auch in DOIF uiTable, wenn $name durch den Gerätenamen ersetzt wird.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 14 Juli 2023, 13:58:31
Ab morgen im Update:

Fall der Websocket geöffnet ist, aber meldet, dass er nicht bereit ist, wird versucht ihn wieder zu öffen.

Nach dem Update und dem anschliessenden FHEM Neustart sollte der Browserchache gelöscht werden und die Seite neu geladen werden.

Falls es dann noch zu Javascriptfehlermeldungen kommt, dann sollten die Standartdesignattribute neu geladen werden, wenn das Attribut mapDesignAttributes verwendet wird.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 21 Juli 2023, 14:28:50
Im heutigen Update ist folgendes enthalten.
DisableForIntervalls stoppt und startet jetzt den Abfrageprozess.
Kleine Änderungen beim Zuordnen von Positionen zur Aktivität LEAVING bzw. GOING_HOME bei Positionspolling.


Ich habe beobachtet, dass über den Websocket häufiger Events ankommen, wenn die Smartphoneapp gestartet und die Karte angezeigt wird.

Um diese Events auch ohne einen Start der Smartphoneapp über den Websocket zu erzeugen, kann das angehängte Modul verwendet werden.
Die erhöhte Eventrate, ca. alle 30s sollte für die Aktivität LEAVING, MOWING und GOING_HOME zu beobachten sein.
Im Grunde wird während des Mähens alle 30 s eine Position gesendet.
Um die Eventrate aufrecht zu erhalten, wird die inoffizielle API für den 1. Mäher alle 440 s abgefragt. Die Zeit dieser Abfragen kann über das Attribut disabledForIntervals beschränkt werden.
Der Benutzername bzw. Emailadresse und das Passwort der Smartphoneapp wird für die Definition benötigt.

Vorbereitung
Das Modul in den Modulpfad (/opt/fhem/FHEM/) kopieren. Danach reicht ein Reload des Moduls damit das Gerät definiert werden kann.
reload 98_AMConnectTools.pm
Definition
define AMConnectTools AMConnectTools <Emailadresse>
set AMConnectTools password <Passwort>

Mit dem AM430X funktioniert es, wie beschrieben.

Das Modul 98_AMConnectTools.pm und ein passendes Helpericon befinden sich im Anhang des ersten Beitrags.

Was sind Eure Beobachtungen?
Haltet Ihr das Modul 98_AMConnectTools.pm für sinnvoll?
Wird auch die Eventrate für weitere Mährobboter erhöht, das kann ich leider nicht selbst testen?
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 05 August 2023, 19:04:40
Das morgige Update enthält:
Die Vermeidung von seltenen decode_json Fehlern, wenn mehr als ein vollständiger JSON String im DevIo Buffer enthalten ist.
Das Attribut addPositionPolling ist nur setzbar oder wird nicht gelöscht, wenn das Attribut addPollingMinInterval auf einen Wert > 0 gesetzt ist.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: blueberry63 am 08 August 2023, 14:21:16
Hallo,

ich benutze dieses Modul erst seit gestern (Danke an Ellert für die tolle Arbeit) und habe eine simple Frage: was bedeutet das Symbol "E" in der Kartenansicht (M=Mower, CS=Charging Station)?

Gruß
Blueberry63
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 09 August 2023, 00:17:42
An der Position hat der Mäher einen Fehler gemeldet. Die Fehlermeldung ist auf der Karte zu sehen, solange der Fehler besteht. Der Fehler sollte auch im Getter errorStack gespeichert sein.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: blueberry63 am 10 August 2023, 15:15:14
Danke für die Info. Den Fehler konnte ich nachvollziehen.

Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: blueberry63 am 11 August 2023, 14:14:06
Ich habe noch eine Frage: gibt es eine Möglichkeit, die Daten des GPS-Trackings von Zeit zu Zeit zu löschen. Ansonsten sieht das Bild des Garten nur noch "rot" aus.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: isy am 11 August 2023, 14:20:39
Schaumal das Attribut weekdaysToResetWayPoints.
Habe ich auf 0123456 gesetzt
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 13 August 2023, 14:51:10
Die gewählte Menge und die Art der Darstellung der Wegpunkte hängt von der Zielsetzung ab.
Dazu sollte man wissen, das die Linien nicht den tatsächlichen Weg anzeigen, sondern nur die kürzeste Verbindung zwischen 2 Wegpunkten. Ein Wegpunkt wird etwa alle 30 s erzeugt. In diesen 30 s kann der Mäher mehrfach die Richtung wechseln.
Die letzten 5000 Wegpunkte werden dynamisch gespeichert, es sei denn über das Attribut numberOfWayPointsToDisplay wird etwas anderes bestimmt.

Soll nur der ungefähre Weg eines Tages angezeigt werden, dann ist weekdaysToResetWayPoints 0123456 die richtige Wahl, wie isy vorgeschlagen hat.

Soll abgeschätzt werden, wie gleichmäßig die Wegpunkte verteilt sind, dann könnte man numberOfWayPointsToDisplay ausreichend groß wählen und statt Linien nur die Wegpunkte anzeigen, in dem man im Attribut mapDesignAttributes den Wert mowingPathUseDots="" auf mowingPathUseDots="1" setzen, s. Anlage. Falls noch nicht erfolgt, müssen vorher die Standartdesignattribute geladen werden mit set defaultDesignAttributesToAttribute.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 14 August 2023, 22:41:14
Im ersten Beitrag gibt es eine neue Version des Hilfsmoduls 98_AMConnectTools.pm, mit dem die Eventrate während des Mähens erhöht wird.

Das Modul schaltet sich inaktiv wenn sich alle Mäher in der Ladestation befinden. Es ist nur aktiv, wenn mindestens ein Mäher die Station verlässt bis sich alle Mäher in der Station befinden. Damit kann die Nutzung des Attributes disabledForIntervalls entfallen.

Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 17 August 2023, 14:41:37
Im FHEM Wiki ist eine Möglichkeit beschrieben, wie die Karte in FTUI3 eingebunden werden kann::
https://wiki.fhem.de/wiki/AutomowerConnect#Tablet-UI/FTUI_Version_3
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 08 Oktober 2023, 15:03:32
Für die Mäher Modelle Automower® 405X, 415X, 430X NERA, 450X NERA, 435X AWD and 535 AWD wurde Zone control in der API ergänzt.

Im angehängten Modul wurde
set <name> StartInWorkArea <WorkAreaId> <duration> ergänzt. Der Befehl wird für die unterstützten Mäher angezeigt.


Bitte, testet einmal ob der Befehl funktioniert, ich habe nicht den passenden Mäher und kann daher nicht testen.


Das Modul muss ins Verzeichniss
/opt/fhem/lib/FHEM/Devices/AMConnect/ kopiert und FHEM muss neu gestartet werden.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 13 Oktober 2023, 19:10:52
Das Modul AutomowerConnect zum Testen der Befehle für workArea und stayOutZone gibt es ab morgen im Update.

Im Device muss das userattr testing hinzugefügt werden.

Danach muss das Attribut testing auf 1 gesetzt werden.

Mit get MowerData kann geprüft werden, ob die capabilities für stayOutZones und workAreas gesetzt auf 1 sind.

Dann sollten die Befehle StartInWorkArea, stayOutZone_enable und stayOutZone_disable sichtbar und ausführbar sein.

Die Id bekommt man mit Dumper($defs{<name>}->{helper}{mower}{attributes}{workAreas}) und Dumper($defs{<name>}->{helper}{mower}{attributes}{stayOutZones}).

Wenn am aktuellen Tag Zonen eingerichtet wurden, müssen mit set getUpdate die Mäherdaten aktualisiert werden.

Getestet werden sollten alle 3 Befehle mit Angabe der Zonenid und dem Zonennamen.

Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Depechem am 28 Oktober 2023, 09:14:48
Zitat von: Ellert am 27 Juni 2023, 16:25:09Morgen im Update:

DevIo berücksichtigt stateFormat.
Es ist möglich die Karte in Tablet-UI/FTUI 2 einzubinden.
Das FTUI-Widget befindet sich im Anhang des ersten Beitrag, dort gibt es auch Hinweise zur Einbindung.

Hallo zusammen,
super das die Karte in FTUI2 eingebaut wurde. Ich habe sie auch eingefügt bekommen.
Nun aber folgendes Problem.

1. Die Karte wird in FTUI in Originalgröße angezeigt also viel zu groß.
Gibt es eine Möglichkeit diese in FTUI im Verhäktnis kleiner anzuzeigen?

2. in der normalen fhem Oberfläche habe ich hinter die Karte ein Bild "./www/images/1map1360x980.webp" hinterlegt welches auch angezeigt wird, kann man dieses Hintergrundbild auch mit in FTUI einbinden? Wenn ja hat jemand einen Lößungsansatz
Also wenn man Beispielsweise mapImageZoom 0.3 im Modul für FTUI2 extra setzen könnte. Ich kann die Größe zwar im Device kleiner setzen, dann ist das Bild aber im webbrowser unter fhem viel zu klein

Vielen Dank im Voraus
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 29 Oktober 2023, 23:40:31
zu 1: Erstelle eine 2. Geräteinstanz mit dem gewünschten Zoom

zu 2: Das Bild wird mit ausgeliefert, wenn das bei Dir nicht funktioniert, fallen mir 2 Möglichkeiten ein:

- Das Bild auf die Mähfläche reduzieren.
- Das Bild auf etwa 100 Kb komprimieren.










Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Depechem am 07 November 2023, 19:41:06
Zitat von: Ellert am 29 Oktober 2023, 23:40:31zu 1: Erstelle eine 2. Geräteinstanz mit dem gewünschten Zoom

zu 2: Das Bild wird mit ausgeliefert, wenn das bei Dir nicht funktioniert, fallen mir 2 Möglichkeiten ein:

- Das Bild auf die Mähfläche reduzieren.
- Das Bild auf etwa 100 Kb komprimieren.

Danke für die Hilfestellungen. Das Bild (... .webp) habe ich jetzt auf 74kb verkleinert und neu gestartet. Leider blieb es ohne Erfolg.
Hat es denn schonmal jemand geschafft das .webp Foto mit in FTUI einzubinden?
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 08 November 2023, 16:38:52
Bei mir funktioniert es ohne Probleme mit Bildern im Format webp, die Datei ist 75 kB groß.

Ich würde prüfen, ob der Browser auf dem Anzeigegerät das Format darstellen kann und ob die FTUI Seite in einem aktuellen Browser mit Bild dargestellt wird.

Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Omega am 19 November 2023, 09:52:17
Hallo Zusammen,
ich habe das Modul auch mal testhalber installiert und es hat bisher auch ohne Auffälligkeiten funktioniert. Mein Mäher ist seit einigen Tagen in der Winterpause. Gestern habe ich mal wieder ein FHEM-Update durchgeführt. Danach hatte ich die folgenden Fehlermeldungen im Log:
2023.11.18 15:32:47 3: Opening My430x device wss:ws.openapi.husqvarna.dev:443/v1
2023.11.18 15:32:47 1: My430x: Can't connect to wss:ws.openapi.husqvarna.dev:443/v1: HTTP CODE 403
2023.11.18 15:32:47 1: AutomowerConnect My430x wsCb: failed with error: HTTP CODE 403

Die letzte Zeile wiederholt sich danach jede Minute. Daraufhin habe ich das Device disabled. Die Fehlermeldungen (letzte Zeile) kommen aber weiterhin minütlich.
Bitte um Unterstützung - danke.

LG
Holger
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 20 November 2023, 17:31:39
Eine Lösung für 403 ist im Developerportal beschrieben, ich hatte in der Updateankündigung darauf hingewiesen, siehe #76 ACHTUNG:...
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 23 Januar 2024, 11:54:45
Zum Testen gibt es einen neuen Setter 'confirmError' ab morgen im Update. Siehe auch: #178
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 19 März 2024, 18:24:02
Die nachstehend aufgeführten Dateien aus dem ersten Beitrag befinden sich ab jetzt im SVN unter contrib/AutomowerConnect/

widget_automowerconnect.js      Widget für TabletUI Version 2
98_AMConnectTools.pm            Tool zur Erhöhung der Eventrate der Websocketverbindung zur Husqvarna Cloud

Beispiel zum Laden des Moduls 98_AMConnectTools.pm für die FHEM Befehlszeile, siehe auch: https://wiki.fhem.de/wiki/Update#Einzelne_Dateien_aus_dem_SVN_holen

{ Svn_GetFile('contrib/AutomowerConnect/98_AMConnectTools.pm', 'FHEM/98_AMConnectTools.pm') }
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: outhouse am 20 März 2024, 14:06:55
Hallo Ellert

Zuerst möchte ich mich für deine Arbeit bedanken. Ich habe die folgenden Fragen:

Zitat von: Ellert am 08 Oktober 2023, 15:03:32Für die Mäher Modelle Automower® 405X, 415X, 430X NERA, 450X NERA, 435X AWD and 535 AWD wurde Zone control in der API ergänzt.

Im angehängten Modul wurde
set <name> StartInWorkArea <WorkAreaId> <duration> ergänzt. Der Befehl wird für die unterstützten Mäher angezeigt.

Das Modul muss ins Verzeichniss
/opt/fhem/lib/FHEM/Devices/AMConnect/ kopiert und FHEM muss neu gestartet werden.

Sorry. Aber welches Modul ist da gemeint (finde den erwähnten Anhang nicht)?

Zitat von: Ellert am 13 Oktober 2023, 19:10:52Die Id bekommt man mit
Dumper($defs{<name>}->{helper}{mower}{attributes}{workAreas}) und
Dumper($defs{<name>}->{helper}{mower}{attributes}{stayOutZones})

Wo kommt das hin bzw. wo gebe ich das ein? In der FHEM Befehlszeile erhalte ich eine Fehlermeldung.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 20 März 2024, 18:18:16
Zitat von: outhouse am 20 März 2024, 14:06:55Sorry. Aber welches Modul ist da gemeint (finde den erwähnten Anhang nicht)?

In der Bearbeitungsnotiz des zitierten Beitrags steht, das der Anhang gelöscht wurde.
Und im nachfolgenden Beitrag #178 ist beschrieben, wie die zu testenden Änderungen im aktuellen Modul aktiviert werden können.
Das ist auch in der Befehlsreferenz beschrieben (User Attribut testing).

Wie man einen Perl Ausdruck in die Befehlszeile eingibt sollt eigentlich bekannt sein, zur Erinnerung aus der Befehlsreferenz:
ZitatEs gibt drei Arten von Befehlen: "FHEM" Befehle (werden in diesem Dokument beschrieben), Shell-Befehle (diese müssen von doppelten Anführungszeichen "" eingeschlossen werden) und perl-Ausdrücken (von geschwungenen Klammern {} eingeschlossen).
;)

Also mach {} um den Ausdruck, nicht alles ist Copy & Paste.

Danke im Voraus fürs Testen.

Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: outhouse am 21 März 2024, 06:23:33
Zitat von: Ellert am 20 März 2024, 18:18:16In der Bearbeitungsnotiz des zitierten Beitrags steht, das der Anhang gelöscht wurde.

Ja. Jetzt steht das da. Alles klar ...

Zitat von: Ellert am 20 März 2024, 18:18:16Also mach {} um den Ausdruck, nicht alles ist Copy & Paste.

Den Beitrag #177 habe ich 1:1 umgesetzt. Funktioniert auch prima. Der Fehler war nicht die geschwungenen Klammern {}, sondern dass ich Klein- und Grossschreibung beim Namen des Mowers nicht beachtet habe.

Ich werde es nun testen und dich informieren.

Noch eine andere Frage:
Einen einzelnen Auftrag, den ich auf der App erfasse (z.B. mähe <Arbeitsbereich> für 3 Stunden) kann ich nicht bei FHEM mappen (wie SheduleToAtributte)?

Hintergrund: Ich suche noch immer nach einer Möglichkeit, das Garagentor zu öffnen, bevor der Mower losfährt (z.B. dass nach Erhalt des Befehls der Mower sofort auf "Pause" geht, das Tor geöffnet wird, und der Mower nachher den Einzelauftrag weiter ausführt. Beim 2. Start des Auftrages (von 3 Stunden) kann ich die Zeit von "planner_nextStart" abnehmen und so das Tor 10 Sekunden vorher öffnen.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 21 März 2024, 09:59:36
Zitat von: outhouse am 21 März 2024, 06:23:33Einen einzelnen Auftrag, den ich auf der App erfasse (z.B. mähe <Arbeitsbereich> für 3 Stunden) kann ich nicht bei FHEM mappen (wie SheduleToAtributte)?
Die API enthält keine Rückmeldung zu den gesendeten Befehlen, eine Quittung bekommt nur der Sender des Befehls (also was kurz in mower_commandStatus steht).
Die früheste Möglichkeit zu erkennen, dass der Mäher startet ist LEAVING. Das ist für Deinen Zweck zu spät.

Vielleicht gibt es eine indirekte Lösung, z.B.: In der App Scheinwerfer auf ALWAYS_ON && PARKED_IN_CS öffnet das Tor über FHEM und startet über FHEM den Mäher verzögert für 3h
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: outhouse am 22 März 2024, 09:43:29
Zitat von: Ellert am 21 März 2024, 09:59:36
Zitat von: outhouse am 21 März 2024, 06:23:33Vielleicht gibt es eine indirekte Lösung, z.B.: In der App Scheinwerfer auf ALWAYS_ON && PARKED_IN_CS öffnet das Tor über FHEM und startet über FHEM den Mäher verzögert für 3h

Danke für den Ratschlag. Das hatte ich bereits versucht. Es klappt nur jedes zweite Mal. Tut dem Garagentor nicht so gut  ;) 
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 22 März 2024, 10:45:55
Ich sehe Du verwendest Homematic, da könnte evtl. ein Türkontakt als Rückmeldung, dass die Tür geöffnet ist helfen. Naja, hast Du bestimmt auch schon dran gedacht.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: outhouse am 22 März 2024, 11:16:19
Zitat von: Ellert am 22 März 2024, 10:45:55Ich sehe Du verwendest Homematic, da könnte evtl. ein Türkontakt als Rückmeldung, dass die Tür geöffnet ist helfen.

Verstehe jetzt nicht ganz was du meinst. Die Rückmeldung (offen, geschlossen) erhalte ich auch über das robonect-relais.

Deine Idee der indirekten Lösung (#189) habe ich nochmals genauer angeschaut und festgestellt, dass das Reading "mower_state" 2 bis 3 Sekunden vor dem Reading "mower_activity" den Zustand auf "IN_OPERATION" ändert. Ich werde das mal weiter verfolgen
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 22 März 2024, 13:04:06
Zitat von: outhouse am 22 März 2024, 11:16:19Verstehe jetzt nicht ganz was du meinst.
Zitat von: outhouse am 22 März 2024, 09:43:29Das hatte ich bereits versucht. Es klappt nur jedes zweite Mal. Tut dem Garagentor nicht so gut

Wenn der Mäher gegen die Tür fährt könnte man das verhindern in dem er nur startet, wenn die offen ist.

[Mäher geparkt] und als Trigger die Änderung auf [Scheinwerfer an] das öffnet das Tor.

[Mäher geparkt] und [Scheinwerfer sind an] und als Trigger [Tür ist offen] dann [Starte den Mäher für 3h]
 
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: outhouse am 22 März 2024, 16:58:33
Ja. Aber dann ist die ganze Lösung über FHEM. Eigentlich möchte ich die normale App benutzen können und über FHEM dann Tor und Passage öffnen bzw. schliessen. Mit der Passage ist das kein Problem, da genügend Zeit vorhanden ist.

Starten etc. über FHEM ist kein Problem dank deinem sehr guten Modul. Die Zonen habe ich noch nicht ausprobiert. Werde dir aber noch genau Bescheid geben.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 08 April 2024, 17:41:49
Ab morgen im Update:

Neuer Setter cuttingHeightInWorkArea zum Testen.

Automatische Berechnung des Hüllenpolygons der Mähfläche. Die benötigte Javascriptbibliothek wird automatisch von einem externen Server geladen, siehe https://forum.fhem.de/index.php?topic=137791.0

Neues Attribut mowingAreaHull, siehe Befehlsreferenz zur Vorgehensweise bei der Berechnung des Hüllenpolygons.

Einige zusätzliche Infos in den Listen InternalData (Standard Design Attribute, Drittanbietersoftware) und StatisticsData (Fläche, wenn Grenzen angegeben sind)

Nach dem Update den FHEM Server neu starten, den Browsercache löschen und die Seite neu laden.
Titel: Aw: [Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI
Beitrag von: Ellert am 13 April 2024, 20:14:57
Morgen im Update:
Befindet sich ein Hüllkurvenpolygon im Attribut mowingAreaHull, dann können Ausreißer reduziert werden.

Das Designattribut hullSubtract muss dazu auf eine natürliche Zahl gesetzt werden. Sie gibt die Rekursionstiefe an, mit der die jeweilig Hüllkurve von der Menge der Wegpunkte abgezogen wird und erzeugt dazu den Button Subtract Hull unterhalb der Karte.

Siehe auch mowingAreaHull in der Befehlsreferenz https://commandref.fhem.de/commandref_DE.html#AutomowerConnect-attr-mowingAreaHull