[Neues Modul] 74_AutomowerConnect, Husqvarnas OpenAPI

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

Vorheriges Thema - Nächstes Thema

Zergman

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.

Ellert

#136
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.


Stefan H.

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

Ellert

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.

dinkel75

Hallo,

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

AutomowerConnectUpdateJson is not defined

Ellert

Hast nach dem Update Du den Browsercache gelöscht und ein Reload der Seite durchgeführt?

Ellert

#141
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.

Stefan H.

ZitatMorgen im Update:

DevIo berücksichtigt stateFormat.

 :) Danke !!!

dinkel75


Ellert

Update FTUI-Widget im ersten Beitrag, funktioniert erst mit dem Update automowerconnect.js morgen.

Stefan H.

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

Ellert

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.


Stefan H.

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?

Ellert

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?

Stefan H.

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