NEWS
Wer kann helfen: Einfache Steuerung eines Worx
-
Hallo,
Ich habe einen WorxWR 141 (M500). Ich habe zwei Schleifen verlegt, eine für den Hauptgarten hinter dem Haus und eine zweite für den Vorgarten. Für den Vorgarten muß er durch den Carport fahren, ohne das Mähwerk zu starten. Die beiden Schleifen werden über zwei Shellys geschaltet. Das mache ich bisher alles einzeln, und möchte das aber automatisieren.
Was soll das skript können:
Die Schleifen umschalten
den Startpunkt auf 24 m setzen
Die Mähzeit auf 30 min setzen
Den Robby manuell losschicken
Die Schleifen wieder umschalten wenn der Robby in der Station istIch kriege das trotz der Vorlagen nicht hin
Kann mir jemand von Euch auf die Sprünge helfen?
Danke schonmal im Voraus
Ecki -
@ecki said in Wer kann helfen: Einfache Steuerung eines Worx:
WorxWR 141 (M500)
Ich habe selber keinen Worx Mäher, sondern den eines anderen Herstellers. Was du machen willst, klingt nach Multizonen-Betrieb. Schau dir das mal in der Bedienungsanleitung an. (https://wiki.worx.com/de/einrichten-von-multi-zonen)
-
den Startpunkt auf 24 m setzen
Unter areas setze
- area_0 = 24 m
- area_1 = area_2 = area_3 = 0 m
- startSequence = [1, 1, 1, ..., 1, 1]
Die Mähzeit auf 30 min setzen
Den Robby manuell losschickenWarum manuell? Mit ioBroker schickst Du den Mäher über den One Time Scheduler wie folgt durch Einstellungen unter mower los:
- oneTimeWorkTime = 30
- oneTimeStart = true
Die Schleifen wieder umschalten wenn der Robby in der Station ist
Ich würde sie zwar erst vor der nächsten Mähsession umschalten (falls dann überhaupt erforderlich). Aber wenn Du es gleich nach dem Andocken machen möchtest:
- Unter mower steht status auf 1 (= Home) beim Aufenthalt in der Ladestation.
Nur mal so nebenbei:
- Wie klein ist denn Dein Vorgarten, wenn Dein Mäher mit einer halben Stunde Mähzeit auskommen soll?
- Wie willst Du verhindern, dass Dein Mäher während des Mähvorgangs bzw. bei der Heimfahrt unter dem Carport mäht?
-
@geschild
Hi, das mit den Multizonen geht nicht so enfach, da ich erst die Gartenpforte öffnen muß, bevor der Landroid nach vorne fährt. Über Multizone kann ich ja nur einen %-Anteil einstellen. Deshalb habe ich die zweite Schleife verlegt. -
@hsteinme
Genau so wollte ich das. Was ich nur nicht gecheckt habe ist: Wie sende ich die Befehle an den Landroid? Bzw. welche Befehle muß ich verwenden?- Mein Vorgarten ist nur ca. 20 qm groß. Da reichen 30min dicke...
- Ich habe eine Engstelle beim Drahtverlegen vorgesehen. Da fährt er nicht (so gut wie nie) durch. Jetzt mit der neuen Funktion Zone-keeper sollte das dann garnicht mehr passieren.
-
@ecki sagte in Wer kann helfen: Einfache Steuerung eines Worx:
Wie sende ich die Befehle an den Landroid?
Du sendest keine Befehle an den Mäher. Du stellst nur die genannten Werte in die genannten Datenpunkte hinein. Der Adapter setzt dies dann in Kommands an den Mäher um. Welche Datenpunkte du mit welchen Werten füllen musst,habe ich Dir oben detailliert beschrieben.
Kann es sein, dass Du Dich zunächst noch etwas tiefer mit den grundlegenden Abläufen und Wirkweisen des ioBroker's auseinandersetzen musst?
-
@hsteinme
Da könntest Du Recht haben.
Hab mich bisher nur mit Shellys gewerkelt, da hats geklappt.
Ich habe das auch so, wie Du beschrieben hast, gemacht, aber beim Mäher kam nichts an...
Naja, ich versuchs nochmal und werde den Fortschritt berichten -
@ecki sagte in Wer kann helfen: Einfache Steuerung eines Worx:
Ich habe das auch so, wie Du beschrieben hast, gemacht, aber beim Mäher kam nichts an...
Wenn Du Hilfe brauchst, musst Du hier schon konkreter werden: Welchen Datenpunkt hast Du womit und wie gefüllt? Was hat der Mäher daraufhin getan? Wo befand sich der Mäher zu diesem Zeitpunkt?
-
@hsteinme
Einiges funktioniert jetzt:
ergibt:
Die Schleifen werden umgeschaltet mit
Was nicht funktioniert ist:
oder
es bleibt bei
Was ist hier falsch?:setState('worx.0.201930198403xxxxxxEB.areas.area_1' /* Area1 */, '[1,23,0,0]'); setState('worx.0.201930198403xxxxxxEB.areas.area_0' /* Area0 */, 0);
Beides funktioniert nicht... Kann mir hier jemand auf die Sprünge helfen, wie dieser Datenpunkt gesetzt werden muß?
Danke schonmal! -
@ecki sagte in Wer kann helfen: Einfache Steuerung eines Worx:
Was ist hier falsch?:
Sag mal, kennst Du eigentlich diese Seite:
https://www.iobroker.net/#de/adapters/adapterref/iobroker.worx/README.mdFalls ja: Auch schon mal durchgelesen?
-
Die Area-Datenpunkte nehmen Zahlen als Meterangabe an, aber keine Strings oder Arrays
-
Startpunkte auf 0 Meter sind nicht zulässig (außer zur Kennzeichnung ungenutzter Zonen).
-
-
@hsteinme
Ja, sicher. Das mit Null habe ich dort aber nicht gelesen.Gemäß log (level:silly) muß zwischen zwei aufeinander folgenden Befehlen 1000ms Zeit liegen. Diese Wartezeit habe ich jetzt eingebaut und es funktioniert (fast).
TrotzsetState('worx.0.201930198403015041EB.mower.oneTimeWorkTime' /* Arbeitszeit in Minuten */, 30);
kommt
Da komm ich jetzt nicht weiter.... -
@ecki Setz mal probeweise oneTimeJson auf
{"wtm": 30, "bc": 0}
. Funktioniert es dann? -
@hsteinme said in Wer kann helfen: Einfache Steuerung eines Worx:
{"wtm": 30, "bc": 0}
komme gerade nicht dazu... Allerdings ist mir auch nicht klar wie da die Syntax aussieht.
Wäre das so?:
Melde mich aber sobald ich es getestet habe -
@ecki sagte in Wer kann helfen: Einfache Steuerung eines Worx:
@hsteinme
Ja, sicher. Das mit Null habe ich dort aber nicht gelesen.Gemäß log (level:silly) muß zwischen zwei aufeinander folgenden Befehlen 1000ms Zeit liegen. Diese Wartezeit habe ich jetzt eingebaut und es funktioniert (fast).
TrotzsetState('worx.0.201930198403015041EB.mower.oneTimeWorkTime' /* Arbeitszeit in Minuten */, 30);
kommt
Da komm ich jetzt nicht weiter....Das kann leider vorkommen. Es gibt passive States und aktive. Du musst oneTimeWorkTime (passive) setzen und ohne Pause dann sofort oneTimeStart (aktive).
Wenn du oneTimeWorkTime setzt und dann 1 Sekunde wartest, kann genau in dieser Sekunde neue Daten von Worx kommen. Diese neuen Daten überschreiben dann deine Eingabe und dann bekommst du diese Meldung. Worx kann Daten ohne Pause nicht verarbeiten.
Hier muss ich wohl die Anleitung anpassen. Diese 1,1 Sekunden benötige ich wenn man einige (aktive) States setzen möchte. Diese (aktive) States sind Daten die an Worx übersendet werden und die (passiven) sind States die für den kompletten Request benötigt werden.
Beispiel: oneTimeStart versendet
{"ots":{"bc":0,"wtm":0}]
Hier benötige ich oneTimeWithBorder für "bc" und oneTimeWorkTime für "wtm" die zuerst gesetzt werden müssen.
Gruß//Lucky