NEWS
Adapter: Worx Landroid v2.x.x
-
@ralfengelberth was heisst funktioniert
ist da der richtige 20193019840102591286 drin und der 20193019840102593000 taucht nicht im log auf ?
und was ist wenn du jetzt ein update machst ohne die Datenpunkte zu löschen -
@ralfengelberth In den letzten Tagen wurde in GitHub am Adapter im Zusammenhang mit der Anlage von Datenpunkten herumgeschraubt. Wag doch mal einen Schuss aus der Hüfte und probier mal die aktuelle GitHub-Version aus.
-
Hallo
Ich möchte im Adapter die ActualArea ändern, diese geht jedoch nach Änderung wieder auf den ursprünglichen Wert zurück. Ist das irgendwie möglich?Viele Grüße
Semmy -
@semmy actualArea ist ein schreibgeschützer Datenpunkt:
{ "type": "state", "common": { "name": "Actual area", "type": "number", "role": "value", "read": true, "write": false, "desc": "Show the current area" }, "native": {}, "from": "system.adapter.worx.0", "user": "system.user.admin", "ts": 1585126132100, "_id": "worx.9999999999.areas.actualArea", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
@hsteinme sagte in Adapter: Worx Landroid:
@semmy actualArea ist ein schreibgeschützer Datenpunkt:
{ "type": "state", "common": { "name": "Actual area", "type": "number", "role": "value", "read": true, "write": false, "desc": "Show the current area" }, "native": {}, "from": "system.adapter.worx.0", "user": "system.user.admin", "ts": 1585126132100, "_id": "worx.9999999999.areas.actualArea", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Kann man den nicht einfach auf write= true setzen?
-
@semmy Klar kann man das. Aber der MQTT-Server wird trotzdem die Annahme verweigern und den vorherigen Wert wieder hinschreiben. Der Mäher lässt sich nun mal nicht von außen in seine Logik hineinpfuschen.
Aber sag doch mal,. was Du eigentlich erreichen möchtest. Vielleicht gibt es einen anderen Weg zu Deinem Ziel?
-
@hsteinme Wenn ich den Mäher zwecks Reinigung von der Ladestation entferne und danach wieder in die Station fahren lasse, wird immer die ActualArea geändert, das wollte ich vermeiden, weil er sonst eine Zone mit Mähen überspringt.
Gruß
Semmy -
actualArea ist ein Zeiger auf startSequence.
Beispiel:
- 3 Zonen
- actualArea = 1
- startSequence = [2,0,1,2,1,0,2,1,0,1]
Diese Konstellation besagt, dass die nächste Ausfahrt in Zone 0 beginnen wird.
Es ist nun Dein Wunsch, den Zeiger um eine Position nach links zu versetzen. Der Zeiger ist unbeweglich (= schreibgeschützt), die startSequenz aber nicht. Dein eigentliches Ziel kannst Du nun auch erreichen, indem Du startSequence um eine Position nach rechts rollierend verschiebst. Also im Beispiel oben:
vorher: [2,0,1,2,1,0,2,1,0,1] nachher: [1,2,0,1,2,1,0,2,1,0]
Diese Logik kannst Du in einem kleinen Skript realisieren, wobei Du natürlich an den Rändern der Reihe gut nachdenken musst.
-
@hsteinme sagte in Adapter: Worx Landroid:
Diese Logik kannst Du in einem kleinen Skript realisieren
So zum Beispiel:
'use strict'; const startSequenceKey = "worx.0.999...999.areas.startSequence"; var Arr = JSON.parse(getState(startSequenceKey).val); Arr.unshift(Arr.pop()); setState(startSequenceKey, JSON.stringify(Arr));
- In Zeile 3 wird der startSequence-String ausgelesen und in eine eindimensionale Tabelle konvertiert.
- Zeile 4: Arr.pop() liefert den rechten Wert der Tabelle und entfernt ihn dort, unshift stellt ihn an den Anfang der Tabelle.
- Zeile 5 konvertiert die Tabelle zurück in einen String der Art [x, ...,x] und stellt diesen wieder in startSequence ab.
-
@ralfengelberth weche vorgänger version meinst du? und in wecher tritt es auf? damit ich das besser fidnen kann. und bitte schalte mal auf debug und sende mir einen logauszug per pn vom start (bitte vollständig) also am besten oben auf log runterladen gehen.
-
@hsteinme sagte in Adapter: Worx Landroid:
@hsteinme sagte in Adapter: Worx Landroid:
Diese Logik kannst Du in einem kleinen Skript realisieren
So zum Beispiel:
'use strict'; const startSequenceKey = "worx.0.999...999.areas.startSequence"; var Arr = JSON.parse(getState(startSequenceKey).val); Arr.unshift(Arr.pop()); setState(startSequenceKey, JSON.stringify(Arr));
- In Zeile 3 wird der startSequence-String ausgelesen und in eine eindimensionale Tabelle konvertiert.
- Zeile 4: Arr.pop() liefert den rechten Wert der Tabelle und entfernt ihn dort, unshift stellt ihn an den Anfang der Tabelle.
- Zeile 5 konvertiert die Tabelle zurück in einen String der Art [x, ...,x] und stellt diesen wieder in startSequence ab.
Hallo und vielen Dank, funktioniert tadellos.
Viele Grüße
Semmy -
weist du auf die Schnelle wo ich den DP für die restliche Mähzeit finde?
Beispiel: Ich mach per OTS 120 Minuten und will zwischendurch wissen wielange der Robbi noch fährt.
Oder auch im regulären Zeitplan, wielange er fährt.Vielen Dank
-
@cosmicbase Was es nicht gibt, kannst Du auch nicht finden.
-
@hsteinme
Schade, hätte ja sein können wenn kein DP vorhanden, es mit einem Skript zu realisieren.
Die Zeit wenn der Status "mowing" und "Home" erreicht wird, und daraus ne Differenz.
Ein Timestamp wird ja generiert... -
Hallo,
ich muss zu meiner Schande gestehen, ich habe jetzt nicht den ganzen Threat gelesen
Ich hoffe das wird mir nicht übel genommen.
Ich suche gerade eine "günstigen" Mähroboter der über Iobroker etwas anzeigt bzw. sich steuern lässt.
Nun gibts den "WORX Landroid M WR141E" momentan für 558,- €.
Die anderen Mäher mit Appsteuerung kosten alle knapp 1.000 wenn nicht mehr hab ich gesehen.Nun meine Frage: Funktioniert der "WORX Landroid M WR141E" mit diesem Adapter?
Reicht hier der Mäher oder brauch ich da noch eine Zusatzgerät wie Gateway usw.?Lese mich erst gerade ein bisschen mit dem Thema ein, also sorry falls es eine dumme Frage ist
-
@nik82 sagte in Adapter: Worx Landroid:
Nun meine Frage: Funktioniert der "WORX Landroid M WR141E" mit diesem Adapter?
Reicht hier der Mäher oder brauch ich da noch eine Zusatzgerät wie Gateway usw.?Ja, funktioniert..
Ja, Mäher reicht. Nein, kein Zusatzgerät erforderlich.. -
@meistertr
Hallo, ich habe heute die neuste Version installiert.
Habe aber immer noch den gleichen Fehler.worx.0 13815 2021-07-18 08:28:45.700 warn State "worx.0.20193019840102593000.mower.online" has no existing object, this might lead to an error in future versions worx.0 13815 2021-07-18 08:28:45.695 debug Mower M Vorne (20193019840102591286) online status = true worx.0 13815 2021-07-18 08:27:45.673 warn State "worx.0.20193019840102593000.mower.online" has no existing object, this might lead to an error in future versions worx.0 13815 2021-07-18 08:27:45.660 debug Mower M Vorne (20193019840102591286) online status = true worx.0 13815 2021-07-18 08:26:50.940 debug Error while get Weather: StatusCodeError: 404 - {"message":"Not Found","code":"404.000"} worx.0 13815 2021-07-18 08:26:50.831 warn State "worx.0.20193019840102593000.calendar.calJson2" has no existing object, this might lead to an error in future versions worx.0 13815 2021-07-18 08:26:50.830 warn State "worx.0.20193019840102593000.calendar.calJson" has no existing object, this might lead to an error in future versions worx.0 13815 2021-07-18 08:26:50.829 warn State "worx.0.20193019840102593000.mower.partyModus" has no existing object, this might lead to an error in future versions
In den Objekten stehen auch beide drin
Wenn ich die 1.3.0 installiere ist alles wieder ok
Bei der 1.3.7 wird mir in den Objekten nur "Connection" mit true angezeigt. Alles Andere wir nicht aktualisiert.
Mit der 1.3.0 geht allesworx.0 14839 2021-07-18 08:58:21.289 debug Mower M Vorne (20193019840102591286) online status = true
-
@ralfengelberth musst die 1.4.1 von git installieren, da ist es gefixed
-
@meistertr die 1.4.1 hatte ich doch schon heute installiert
Geht aber auch nicht -
@ralfengelberth von git oder npm? Auf git ist es definitiv gefixed
Du musst alle Objekte vorher löschen