NEWS
[TEST] Mammotion – Adapter für Mammotion Luba / Yuka
-
@Thomas-Braun
Hätte ich versucht, bekomme aber immer die Meldungpython3 is already the newest version (3.11.2-1+b1). python3-distutils is already the newest version (3.11.2-3).Im Container...
Ob und wie man da was aktuelleres reinbekommt weiß ich nicht, verwende die Dinger nicht. -
Da entweder ein custom docker draus bauen mit 3.13 oder warten bis das offizielle image 3.13 enthält.
Die Python 3.13 ist leider eine Anforderung vom PyMammotion, ich kann das aus dem Grund nicht ändern.
Hier kommen wir zu den Nachteilen, wenn man eine Abhängigkeit wie PyMammotion nutzt und man dann noch mit fertigen Docker images arbeitet statt z.B. einen Proxmox container zu nutzen.
-
Da entweder ein custom docker draus bauen mit 3.13 oder warten bis das offizielle image 3.13 enthält.
Die Python 3.13 ist leider eine Anforderung vom PyMammotion, ich kann das aus dem Grund nicht ändern.
Hier kommen wir zu den Nachteilen, wenn man eine Abhängigkeit wie PyMammotion nutzt und man dann noch mit fertigen Docker images arbeitet statt z.B. einen Proxmox container zu nutzen.
-
Danke fürs Testen.
Zu
pathOrder:
Das sollte eigentlich genau dafür da sein. Nach aktuellem Stand sieht es aber so aus, als ob das im Adapter bzw. inPyMammotionnoch nicht sauber so ankommt, wie es die App macht. Zusätzliche Parameter solltest du dafür eigentlich nicht brauchen. Das schaue ich mir noch mal an.Karte / aktuelle Mähposition / bereits gemähte Fläche:
So wie in der App wird das im ioBroker-Adapter eher nicht gehen. Dafür müsste man eine echte Karten-/View-Logik bauen. Der Adapter liefert aktuell die Daten/States, aber keine grafische Live-Karte.Flächenwerte:
Die können abweichen. Im Adapter kommen die Werte aktuell aus den Zonendaten bzw. der berechneten Geometrie. Die App zeigt da offenbar etwas anders bzw. genauer/anders gerundet an. Das ist also eher kein Einzelfall.Zonen / Hash-Namen:
Die Hashes selbst sollten sich nicht ständig ändern. Was sich aber ändern kann, ist die Zuordnung bzw. der Fallback-Name, wenn Mammotion/PyMammotion keine sauberen Zonennamen liefert. Gerade beim Luba 1 ist das leider unschön, weil die App intern zwar „Bereich 1, 2, 3 …“ zeigt, das aber nicht 1:1 sauber in den Daten hängt.Ich habe in den neueren Versionen schon zusätzliche Zonen-Metadaten eingebaut, damit man die Bereiche wenigstens besser über Fläche / Position / Reihenfolge zuordnen kann.
Zonen / Hash-Namen:
Die Hashes selbst sollten sich nicht ständig ändern. Was sich aber ändern kann, ist die Zuordnung bzw. der Fallback-Name, wenn Mammotion/PyMammotion keine sauberen Zonennamen liefert. Gerade beim Luba 1 ist das leider unschön, weil die App intern zwar „Bereich 1, 2, 3 …“ zeigt, das aber nicht 1:1 sauber in den Daten hängt.Sorry für die späte Rückmeldung. Leider ist die letzten Tage etwas dazwischen gekommen und ich konnte nicht weiter testen. Als ich mich heute dem Projekt erneut widmen wollte, musste ich feststellen, dass über 100 neue Zonen-Einträge bei den Objekten aufgelistet werden. Der Luba Mini 2 wurden jedoch die letzten Tage nur über die Mammotion eigene App gestartet.
Verstehe ich es richtig, dann kann hier nichts "optimiert" werden?
-
Zonen / Hash-Namen:
Die Hashes selbst sollten sich nicht ständig ändern. Was sich aber ändern kann, ist die Zuordnung bzw. der Fallback-Name, wenn Mammotion/PyMammotion keine sauberen Zonennamen liefert. Gerade beim Luba 1 ist das leider unschön, weil die App intern zwar „Bereich 1, 2, 3 …“ zeigt, das aber nicht 1:1 sauber in den Daten hängt.Sorry für die späte Rückmeldung. Leider ist die letzten Tage etwas dazwischen gekommen und ich konnte nicht weiter testen. Als ich mich heute dem Projekt erneut widmen wollte, musste ich feststellen, dass über 100 neue Zonen-Einträge bei den Objekten aufgelistet werden. Der Luba Mini 2 wurden jedoch die letzten Tage nur über die Mammotion eigene App gestartet.
Verstehe ich es richtig, dann kann hier nichts "optimiert" werden?
Hast du denn die aktuelle Version drauf freigegeben
2 weeks ago?Die Zonen hatte ich eigentlich so, dass die nicht automatisch abgerufen werden.
Die werden ausschließlich über
mammotion-pymammotion.0.devices.Luba-XX.zones.syncMapabgerufen, somit sollten die "100" Zonen von selbst nicht möglich sein.Ich habe hier einen Adapter mit Luba 1 und Luba 2 laufen, hatte eben mal zum testen die Zonen neu gezogen, auch da habe ich nur meine 10 Areas die ich auch vorher hatte.
-
Hast du denn die aktuelle Version drauf freigegeben
2 weeks ago?Die Zonen hatte ich eigentlich so, dass die nicht automatisch abgerufen werden.
Die werden ausschließlich über
mammotion-pymammotion.0.devices.Luba-XX.zones.syncMapabgerufen, somit sollten die "100" Zonen von selbst nicht möglich sein.Ich habe hier einen Adapter mit Luba 1 und Luba 2 laufen, hatte eben mal zum testen die Zonen neu gezogen, auch da habe ich nur meine 10 Areas die ich auch vorher hatte.
Hast du denn die aktuelle Version drauf freigegeben 2 weeks ago ?
Eigentlich schon -> v0.1.5.
Was mich auch noch irritiert:
Belade ich das nachfolgende Objekt mit dem nachfolgenden Inhalt, dann werden beim Betätigen vom Objekt "StartSelected" trotzdem mehrere Bereiche gemäht, obwohl im Payload eigentlich nur ein Bereich eingetragen war:Ich gebe also im Objekt:
mammotion-pymammotion.0.devices.Luba-LABKL4PM.zones.startPayloadfolgendes ein:
{ "areas": [ "1408453725693220568" ], "startImmediately": true, "bladeHeight": 35, "pathSpacing": 11, "pathOrder": 0, "cuttingPathMode": 0, "obstacleDetectionMode": 0, "cuttingPathAngle": 0, "cuttingPathAngleMode": 0, "crossingAngle": 0, "boundaryLaps": 2, "noGoZoneLaps": 0, "perimeterLaps": 2, "startProgress": 0, "collectGrassFrequency": 0 }und aktiviere die ganze Sache mit:
mammotion-pymammotion.0.devices.Luba-LABKL4PM.zones.startSelectedDann startet der Mäher, aber je nach dem, welche anderen Zonen über:
mammotion-pymammotion.0.devices.Luba-LABKL4PM.zones.zone_79817091525556033965.config.startnoch ausgewählt sind, auch die anderen Zonen ab.
Oder wie kann ich nach dem Füllen von "startPayload" nur den gewünschten Bereich mähen lassen? Ist hier nicht "StartSelected" das korrekte Objekt, zum Ausführen vom "startPayload"?
-
Danke für die Rückmeldung, das ist so nicht gewollt.
Die >100 zusätzlichen Zonen-Objekte sollten eigentlich nicht entstehen.
syncMapwird nicht automatisch dauernd ausgeführt. Der aktuelle Stand im Adapter ist aber so, dass nicht nur die echten Map-Areas, sondern zusätzlich auch Hashes aus dem aktuellen Work-/Status-Kontext mit in die Zonenliste übernommen werden. Wenn Mammotion/PyMammotion dort temporär andere Hashes meldet, landen die aktuell leider alszone_*-Objekte in ioBroker und werden bisher auch nicht automatisch wieder aufgeräumt.Ich werde das so anpassen, dass nur noch echte Map-/Area-Hashes dauerhaft als Zonenobjekte angelegt werden bzw. dass fremde/stale Hashes nicht mehr alles zumüllen.
Zum zweiten Punkt mit
startPayload:
Ja,startSelectedist grundsätzlich das richtige Objekt zum Starten. Aktuell ist es aber so, dass beistartSelecteddie bereits ausgewählten Zonen ausselectedAreas/zone_xxx.config.selectedVorrang haben. Das heißt: Wenn dort noch andere Bereiche ausgewählt sind, werden diese aktuell mit berücksichtigt – auch wenn imstartPayloadnur eine Area steht.Heißt konkret:
startPayloadalleine überschreibt die bestehende Auswahl beistartSelectedaktuell nicht hart- Wenn du exakt eine Area aus dem Payload starten willst, müssen die anderen selektierten Zonen raus
- Alternativ den direkten Start der einzelnen Zone über
zone_<hash>.config.startnutzen
Das ist also eher aktuelles Verhalten / Bug als beabsichtigte Endlogik. Ich passe das noch an, damit
startPayload.areasbeistartSelectedsauber und eindeutig verwendet wird. -
Ich denke, dann freue ich mich auf die nächste Version von dir... :-)
Danke nochmals für deine Bemühungen! -

Hilf mir doch bitte kurz weiter. Hat sich der Link (https://github.com/DNAngelX/ioBroker.mammotion-pymammotion) geändert? Ich sehe nach wie vor nur v0.1.5
-

Hilf mir doch bitte kurz weiter. Hat sich der Link (https://github.com/DNAngelX/ioBroker.mammotion-pymammotion) geändert? Ich sehe nach wie vor nur v0.1.5
-
Meine Erfahrungen mit dem neuen Adapter:
Ich habe ioBroker in Docker auf Unraid laufen. Mithilfe der KI (ich selbst wäre niemals darauf gekommen) habe ich es geschafft, Python 3.13 in einen persistenten Pfad (unter appdata) im Container zu kompilieren.
Im Mammotion-Adapter habe ich diesen Pfad eingetragen. Das funktioniert, auch nach einem Container-Update.
Mein Yuka Mini 2025 wird erkannt, Zeitpläne und Zonen werden geladen. Allerdings starte ich den Yuka nicht über diese Zonen.
Zum Verwalten meiner zwei Rasenflächen hatte ich schon von Anfang an (also bereits vor ioBroker) zwei Zeitpläne mit allen Einstellungen für die jeweilige Fläche in der App angelegt. Den Autostart hatte ich jedoch deaktiviert, weil ich lieber manuell starte. Die Zeitpläne konnten in der App jederzeit auch manuell gestartet werden.
Erfreulicherweise werden die beiden Zeitpläne jetzt auch in ioBroker erkannt, jeweils mit einem "start" Datenpunkt. Das funktioniert bei mir bisher problemlos.
-
Meine Erfahrungen mit dem neuen Adapter:
Ich habe ioBroker in Docker auf Unraid laufen. Mithilfe der KI (ich selbst wäre niemals darauf gekommen) habe ich es geschafft, Python 3.13 in einen persistenten Pfad (unter appdata) im Container zu kompilieren.
Im Mammotion-Adapter habe ich diesen Pfad eingetragen. Das funktioniert, auch nach einem Container-Update.
Mein Yuka Mini 2025 wird erkannt, Zeitpläne und Zonen werden geladen. Allerdings starte ich den Yuka nicht über diese Zonen.
Zum Verwalten meiner zwei Rasenflächen hatte ich schon von Anfang an (also bereits vor ioBroker) zwei Zeitpläne mit allen Einstellungen für die jeweilige Fläche in der App angelegt. Den Autostart hatte ich jedoch deaktiviert, weil ich lieber manuell starte. Die Zeitpläne konnten in der App jederzeit auch manuell gestartet werden.
Erfreulicherweise werden die beiden Zeitpläne jetzt auch in ioBroker erkannt, jeweils mit einem "start" Datenpunkt. Das funktioniert bei mir bisher problemlos.
Wo ist der Vorteil? Kann der ioBroker mehr als die App? Warum gehst du diesen Weg? Bring bitte Licht ins Dunkle.1
-
Wo ist der Vorteil? Kann der ioBroker mehr als die App? Warum gehst du diesen Weg? Bring bitte Licht ins Dunkle.1
@Meister-Mopper Die Frage verstehe ich nicht.
So könnte man jede Intergration in Iobroker hinterfragen. Schließlich kann man alles klassich bedienen.Was ich mir vorstelle:
- Mähzyklus abhängig von Hitze, Trockenheit
- Gar nicht rausfahren wenns regnet
- etc
- etc
....
-
Mit der aktualisierten Version zeigt sich ein sonderbares Verhalten:
Dieser Vorgang wiederholt sich einige male...
-
Im Prinzip sieht es relativ gut aus. Nur eine Zone hat es doppelt erstellt, die hartnäckig bleibt. Teilweise werden auch andere doppelt aufgelistet, aber sobald ich den Browser aktualisiere, sind diese wieder weg. Muss dazu jedoch sagen, dass ich grad wieder knapp Zeit hatte und der längere Test noch ausblieb. Leider sieht es die nächsten Tage auch nicht "rosig" aus, aber ich werde sobald als möglich weiter testen!
So wie es scheint, funktioniert nun auch das "StartSelected", welches nun nur noch diejenigen Zonen mäht, welche auch im Payload erwähnt sind. Ich denke: gute Arbeit!

-
Im Prinzip sieht es relativ gut aus. Nur eine Zone hat es doppelt erstellt, die hartnäckig bleibt. Teilweise werden auch andere doppelt aufgelistet, aber sobald ich den Browser aktualisiere, sind diese wieder weg. Muss dazu jedoch sagen, dass ich grad wieder knapp Zeit hatte und der längere Test noch ausblieb. Leider sieht es die nächsten Tage auch nicht "rosig" aus, aber ich werde sobald als möglich weiter testen!
So wie es scheint, funktioniert nun auch das "StartSelected", welches nun nur noch diejenigen Zonen mäht, welche auch im Payload erwähnt sind. Ich denke: gute Arbeit!

Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
