iobroker-community-adapters / ioBroker.worx

Control Worx Landroid, Kress, Landxcape, Ferrex with IoBroker
MIT License
51 stars 20 forks source link

Vorschlag: edgecut-Aufruf über eine One Time Scheduler Variante realisieren #62

Closed hsteinme closed 4 years ago

hsteinme commented 4 years ago

Der Button mower.edgecut ist nicht über ein direktes Kommando des Worx APIs realisiert. Vielmehr wird als eine Art "Indianertrick" eine geeignete Folge verschiedener API-Kommandos verwendet. Unter den FW-Versionen 2.xx lief dies bestens. Mit den ersten 3.xx FW-Versionen wurde über den edgecut-Button jedoch nur eine Art "Ehrenrunde über den Draht" ausgeführt, da die Firmware bei den vom Adapter gewählten Kommandosequenzen die Messer ausschaltete.

Mittlerweile (ich hab's mit Version 3.15b16 erfolgreich getestet) wird wieder ein "wirklicher" Kantenschnitt über den edgecut-Button gestartet. Dennoch kann es uns immer wieder passieren, dass bei der weiteren Verwendung des inoffiziellen "Indianertricks" die Firmware uns irgendwann mal wieder Sand ins Getriebe streut.

In den neueren FW-Versionen enthält das MQTT-JSON ein Element ots (One Time Scheduler) mit den Parametern bc (Border Cut on/off) und wtm (Working Time in Minutes). Wird ots.bc = 1 und ots.wtm = 0 gesetzt, so führt der Mäher einen Kantenschnitt ohne ein nachfolgendes Mähen des Raseninneren durch. Genau diese Methode wird auch von der Worx App Version 2.0 unter Android verwendet, um die dort neu eingeführte Kantenschnitt-Funktion zu realisieren.

Vorschlag für den Adapter:

Cosmicbase commented 4 years ago

Der Button mower.edgecut ist nicht über ein direktes Kommando des Worx APIs realisiert. Vielmehr wird als eine Art "Indianertrick" eine geeignete Folge verschiedener API-Kommandos verwendet. Unter den FW-Versionen 2.xx lief dies bestens. Mit den ersten 3.xx FW-Versionen wurde über den edgecut-Button jedoch nur eine Art "Ehrenrunde über den Draht" ausgeführt, da die Firmware bei den vom Adapter gewählten Kommandosequenzen die Messer ausschaltete.

Mittlerweile (ich hab's mit Version 3.15b16 erfolgreich getestet) wird wieder ein "wirklicher" Kantenschnitt über den edgecut-Button gestartet. Dennoch kann es uns immer wieder passieren, dass bei der weiteren Verwendung des inoffiziellen "Indianertricks" die Firmware uns irgendwann mal wieder Sand ins Getriebe streut.

In den neueren FW-Versionen enthält das MQTT-JSON ein Element ots (One Time Scheduler) mit den Parametern bc (Border Cut on/off) und wtm (Working Time in Minutes). Wird ots.bc = 1 und ots.wtm = 0 gesetzt, so führt der Mäher einen Kantenschnitt ohne ein nachfolgendes Mähen des Raseninneren durch. Genau diese Methode wird auch von der Worx App Version 2.0 unter Android verwendet, um die dort neu eingeführte Kantenschnitt-Funktion zu realisieren.

Vorschlag für den Adapter:

  • Prüfung, ob die vom MQTT Server erhaltene Struktur das Element ots enthält:
  • Falls ja: ots.bc = 1 und ots.wtm = 0 setzen
  • Falls nein: bisherigen "Indianertrick" verwenden

Wie kann ich das in IoBroker umsetzten? Habe den Adapter installiert und will den Edgecut per Button in die Vis einbinden. Welche Node brauche ich? Bitte um Hilfe.

hsteinme commented 4 years ago

(1) Warum zitierst Du viele, viele Zeilen wegen einer kleinen Frage am Rande? (2) Dein Frage ist eigentlich kein Thema für dieses Issue, sondern eher für das Forum. (3) Deine gesuchte Antwort steht bereits in der ersten Zeile dieses Issues: Den Button mower.edgecut musst Du einbinden.

MeisterTR commented 4 years ago

done

hsteinme commented 4 years ago

Bei einem Test mit der FW 3.16b12 rief der edgecut Button wie gewünscht den OTS auf. Danke schön!

Einen "Gegentest" mit der FW 2.xx habe ich aus Aufwandsgründen nicht durchgeführt.