[Modul] Worx, Kress, Landxcape, Ferrex-Adapter

Hey, das hört sich ja super an.
Ich freu mich schon riesig.

VG Alex

So es ist soweit. Die komplett neue Version des Worx-Moduls ist fertig und steht ab sofort im Modul-Store zur Verfügung. Sie unterstützt die neuen Funktionen die Worx ab Firmeware-Version 3.16 zur Verfügung stellt und erweitert den bisherigen Umfang deutlich.

Damit die neue Version läuft, müsst Ihr die Landroid-Bridge V1.01 installieren.
Dafür bitte [ul]
[/ul]

[ol]
[li]die Landroid-Bridge stoppen[/li][li]die config.json sichern[/li][li]die Landroid-Bridge neu installieren[/li][li]die gesicherte config.json in das Landroid-Bridge-Hauptverzeichnis kopieren[/li][li]die Landroid-Bridge starten[/li][/ol]

Mit der neuen Version gibt es jetzt [ol]
[li]einen echten Zeitplaner mit 2 Zeitkorridoren pro Tag[/li][li]einen Party-Modus dauerhaft und für bestimmte Zeit[/li][li]definierbare Zonen mit Abstand und Häufigkeit[/li][li]Festlegung, welche Zone beim nächsten Start angefahren werden soll[/li][/ol]

Darüber hinaus werden die bekannten Infos und Features natürlich auch weiterhin unterstützt.

Viele Grüße
Jürgen

Die Installation schlägt bei mir fehl:

~/landroid-bridge$ npm install
...

läuft aber auch auf „Armbian Bionic with Linux 5.7.15-sunxi“, da muss ich wohl etwas mehr Forschung reinstecken.

Update:

npm install --no-optional

sorgt für die komplette Installation, danach läuft dann auch die neue Bridge.

Aber auch nicht korrekt:

[2020-08-24T15:32:17.196] [INFO] Mqtt - Successfully connected to MQTT Broker!
[2020-08-24T15:32:19.213] [INFO] Mqtt - Successfully connected to MQTT Broker!
[2020-08-24T15:32:38.348] [INFO] LandroidS - Could not finish initialization, retrying...
[2020-08-24T15:32:44.584] [INFO] IoBrokerAdapter - mower 0 selected
[2020-08-24T15:33:38.379] [INFO] LandroidS - Could not finish initialization, retrying...
[2020-08-24T15:33:40.002] [INFO] IoBrokerAdapter - mower 0 selected

hm, das ist ja merkwürdig. Die Log-Infos wirken fast so, als wenn alle Befehle doppelt ausgeführt werden. Hast Du mal den Debug-Modus in der config.json eingeschaltet? Was kommt dann?

Grundsätzlich hat sich an der Bridge nichts geändert, was Fehlermeldungen schmeißen kann. Lediglich die LandroidS.ts hat einen zusätzlichen MQTT-Topic bekommen. Der kann aber nicht die Fehlermeldungen auslösen.

Viele Grüße
Jürgen

Die Bridge läuft wieder, warum auch immer :eek:.

Allerdings hast du ja auch an der Instanz-Struktur gedreht.

Die „alte“ Instanz MQTTworx kann ich nicht mehr öffnen.

Was muss denn wie anders angelegt werden?

Alle Geräte beim „Instanz hinzufügen“ gibt es doppelt. Werden durch das Neuanlegen neuen Variablen erzeugt? Das wäre blöd, da ich da ein langes Archiv für viele Variablen habe und die in dieversen Views verarbeitet sind.

Update:
Deine Links zum github sind falsch im ersten Beitrag ;-).

Da du ja Idents verwendest, konnte ich die Variablen einfach löschen und verschieben. Aber ein wenig Erklärung bei solch massiven Änderungen wäre schon hilfreich ;).

Zwei Variablen werden nicht mehr upgedated, YawAngle und Schedule, dadurch kann ich den Zeitplan natürlich nicht mehr anzeigen.

Über welche Instanz müssen die Kommandos geschickt werden?

Update2:
Da du das Kommando WRX_SetTimeExtension in der Scheduler-Instanz dokumentiert hast, habe ich dann mal die genommen. Dann klappt es auch mit dem … :D.

Hallo Ralf,

ja es ist schon einiges umgebaut. Schön, dass es bei Dir jetzt wieder klappt. Für Deinen Scheduler habe ich zwar keine Variable mit dem JSON-String mehr, dafür gibt es jetzt aber den Befehl

WRX_GetSchedule(12345, $Pos);

Damit kannst Du dir den String einfach holen. Position 1 ist der erste Mähzeitraum am Tag und Position 2 der zweite.

Damit sollte Dein Zeitplan wieder aktiv sein.

Den falschen Link gucke ich mir an. Danke für den Hinweis.

Viele Grüße
Jürgen

ok, schaue ich mir an.

Wenn du die Winkel doch noch einbauen würdest, dann wären eigentlich alle interessant, da man dann erkennen kann, ob er auf der Ladestation gerade steht ;).

Update:


Warning:  Object with ident WRX_Scheduler could not be found in /var/lib/symcon/modules/.store/silberstreifen.mqtt.worx/Scheduler/module.php on line 302

Warning:  Event #0 does not exist in /var/lib/symcon/modules/.store/silberstreifen.mqtt.worx/Scheduler/module.php on line 304

Notice:  Trying to access array offset on value of type bool in /var/lib/symcon/modules/.store/silberstreifen.mqtt.worx/Scheduler/module.php on line 304

Warning:  Invalid argument supplied for foreach() in /var/lib/symcon/modules/.store/silberstreifen.mqtt.worx/Scheduler/module.php on line 304

hmmm, fehlt bei Dir der Wochenplan? Hast Du den ggf. gelöscht? Aber selbst dann würde er ja automatisch neu erzeugt.

Die Winkel hatte ich als nicht hilfreich verworfen, da sie nur alle 10min aktualisiert werden. Damals in der Cloud-freien Lösung kann sie ungefähr einmal pro Sekunde. Da konnte ich noch einen Sinn erkennen. Das Ausrichten der Ladestation geht mit der Wasserwaage schneller und genauer. :wink:

Viele Grüße
Jürgen

Unter der Scheduler Instanz gibt es keinen Wochenplan, der Alte hat als Ident WRX_schedule (Zeitplan), jetzt suchst du scheinbar nach WRX_Scheduler. Da scheint noch etwas nicht zusammen zu passen.

Die Variable wird auch nicht angelegt.

Kommen denn Daten bei Dir rein und kannst Du z.B. die Zeitanpassung oder die Regenverzögerung verändern?
Einfach mal Debug-Fenster aufmachen und dann die Status-Taste im Webfront drücken.
Ansonsten gucke mal bitte in der Worx App, ob Änderungen übernommen werden. Ggf. läuft die Bridge noch nicht richtig.

Viele Grüße
Jürgen

In keiner der drei Instanzen werden die sc.d Daten im Debug angezeigt, aber sie sind in der Statusmeldung enthalten:

{„cfg“:{„id“:0,„lg“:„it“,„tm“:„14:33:58“,„dt“:„25/08/2020“,„sc“:{„m“:1,„p“:0,„d“:[[„00:00“,0,0],[„10:00“,300,1],[„11:00“,300,0],[„10:00“,300,1],[„11:00“,300,0],[„10:00“,300,1],[„11:00“,180,0]]},„cmd“:0,„mz“:[20,35,0,0],„mzv“:[0,1,0,1,0,1,0,1,0,0],„rd“:0,„sn“:„30174102170204010248“},„dat“:{„mac“:„F0FE6B2644F0“,„fw“:3.51,„bt“:{„t“:30.9,„v“:17.28,„p“:16,„nr“:2358,„c“:0,„m“:0},„dmp“:[1.7,-1.6,318.1],„st“:{„b“:46875,„d“:834187,„wt“:52169},„ls“:7,„le“:0,„lz“:4,„rsi“:-61,„lk“:0}}


Update:

Warum hast du im Gateway in Zeile 101 das folgende Fragment?

 && property_exists($Payload->cfg->sc, 'dd')

Ohne diesen Teil wird auch ein Wochenplan angelegt und mein Zerlegungsscript erzeugt wieder HTML zur Anzeige.

Ist der Wochenplan „nur“ zur Anzeige oder steuert symcon darüber? Wenn symcon steuert, wie organisierst du die Wechselwirkung/Abhängigkeit zum Worxs Zeitplan?

ok, dann hast Du noch nicht die neue Firmware V3.16 auf Deinem Worx, oder? „dd“ ist der 2. Zeitbereich, den Du pro Tag festlegen kannst. Den gibt es aber nur mit der neuen Firmware.

Ja, der Worx wird mit dem Wochenplaner eingestellt. Änderungen am Wochenplaner werden auf den Worx übertragen und Änderungen am Worx auf den Wochenplaner. Funktioniert wunderbar. Ich würde Dir die Firmware 3.16 sehr empfehlen. Die ist nämlich wirklich gut und auch -wie oben geschrieben- Voraussetzung für die neuen Funktionen. Ansonsten muss ich mal sehen, dass ich für ältere Firmware hier nochmal einen Kompatiblitätsmodus einführe.

Viele Grüße
Jürgen

Update

ich sehe gerade, dass Du Firmware 3.51 hast. Ich gehe mal davon aus, dass es kein 2019er Modell ist, oder? Wenn Du nicht auf die neuen Funktionen kommst, mache ich das mit dem Kompatiblitätsmodus.

Korrekt, ist ein älteres Model WR106SI.1, es gibt zwar eine 3.52, aber die gibt es schon lange und ich wollte nicht updaten.

Ein 3.16 würde nicht in die Nummerierung zu meinem Robby passen und die gibt es auch nicht.

Ich überlege mir da eine Lösung. Das sollte kein großes Problem darstellen.

Habe eine neue Beta-Version eingestellt. Wechsel mal bitte auf den Beta-Kanal und probiere, ob die Lösung so für Dich funktioniert.
Als Goody gibt es alle Winkel mit dazu :wink:

Viele Grüße
Jürgen

Hallo Jürgen,

ich habe auch mal die neue Version getestet. Aber irgendwie habe ich Probleme.
Das Update der Brige ist ohne Fehler durchgelaufen. Dann habe ich
das Update in IPS gemacht. Danach wurde die alte Instanze als fehlerhaft markiert.

Dann bin ich hergegangen und wollte eine neue Instanz anlegen, das hat auch soweit geklappt aber es werden keine Variablen mehr angelegt.

Kannst du noch ein paar Hinweise zum Vorgehen in IPS Schreiben wie und welche Instanzen zu installieren sind ?

Vielen Dank im Voraus.
Gruß Stephan

Hallo Stephan,

die Variablen werden angelegt, sobald die ersten Nachrichten reinkommen. Wenn Du das Gateway als erstes installierst und das richtige Topic einträgst, dann sollten auch bei der Installation der Instanzen sofort die Variablen angelegt werden. Ansonsten schaue mal bitte ins Debug des Gateways. Kommen da Daten an?

Viele Grüße
Jürgen

Hallo Jürgen,

danke für deine schnelle Antwort. Was trage ich denn in die Topic ein ? Die Instanze von MQTT oder IP vom MQTT Server ?

Gruß
Stephan

Update:

Hab’s gefunden. Einfach den namen aus der config.json eintragen und es läuft.

Bei mir laufen doch immer die Beta’s :D.

Dein Update sieht gut aus und läuft seit heute morgen. DANKE Jürgen, :loveips:

Die Funktionen wurden auch „ständig“ genutzt, da es hier aktuell aufgrund der Wetterlage immer wieder zu erhöhter Luftfeuchtigkeit kommt und dadurch der Regensensor das Symcon bittet, den Robby nach Hause zu schicken :cool:.

Ich muss nur noch schauen, warum sich das Armbian die Nacht wieder verabschiedet hat :banghead:, die Netzwerk-LED macht Dauerfeuer und ich komme nicht mehr drauf, da hilft dann nur noch Stecker ziehen :(.

Moin Jürgen, danke für das Worx MQTT Modul. Nachdem letzte Woche ein Worx M700 FW3.16 im Garten eingezogen ist, habe ich Gestern dein Modul installiert (Beta-Version). Nach einigen kleinen Problen bei der Landroid-Bridge Installation läuft auch alles soweit. Habe aber noch ein paar Fragen:
-warum gibt es bei der Hinzufügung der Instanzen die Möglichkeit:
a. MQTT Landroid… und
b. MQTT Worx… oder
c. Worx Landroid …
auszuwählen? Welche sollte man nutzen?
-Nachdem der gestrige Regen abgezogen ist, zeigt der Robby nun „Regenstop endet in xx h yy min“ an, in dem Modul wird aber immer noch „Regen“ angezeigt. Ist es möglich diesen Status auch in deinem Modul anzuzeigen ?
-Wäre es möglich den Zeitpunkt der letzen erfolgreichen Übertragung mit auszugeben ?
-In der Mobilen-App gibt es zwei Zeitbereiche, plannst du den zweiten Bereich noch einzubauen ?
Losgelöst von deinem Modul, kennt jemand eine Möglichkeit aus den über USB aus dem Robby gezogenen Logfiles eine Karte mit den abgefahren Wegen zu erzeugen ?
Viele Grüße Gerd