Modul für Irobot Roomba 980

Begonnen von kukamee, 22 Februar 2017, 02:34:53

Vorheriges Thema - Nächstes Thema

Lippie

ZitatHi,
ich komme da leider nicht mehr wirklich dazu, bin aber gerne Bereit, Änderungen (Patches) zu übernehmen und ins Repo einzuchecken. Das ganze sollte halt getestet sein und nicht zu Abstürzen führen.
Gruß,
   Thorsten

Danke. Ich hoffe, ich habe das aktuellste Modul. Habe es hier aus dem Download des Forums.

ZitatHallo,

was mich zu meiner Frage bewegt ist, das das Modul "980" heißt, aberf der von 1und1 nennt sich "696".
Macht das einen Unterschied oder ist das egal?

Les mir das mal durch, wie ich and die blid usw. komme...hoffe das ist nicht sooo kompliziert :-)

Matthias

Lies Dir bitte die Beiträge hier durch, es hat einige Rückmeldung zur erfolgreichen Inbetriebnahme mit unterschiedlichen Roomba-Serien gegeben.
Das Protokoll verwendet iRobot für seine App, wird also nicht all so viele unterschiedliche Protokolle geben.
Hauptsache der Sauger Deiner Wahl hat WLAN :-)

VG
Sebastian



Lippie

Hallo Zusammen,

ein kurzes Update des Moduls 42_Roomba980.

Bugfix:

FHEM-Absturz aufgrund "insufficient message" - Erkennung im MQTT  wird nun verhindert, indem Botschaften vorab überprüft und korrigiert werden.
Entsprechende Warnungen werden ins Log geschrieben.
Die Ursache waren zwei Startsequenzen in einer Botschaft. Behoben wird dies durch Abschneiden der fehlerhaften ersten Startsequenzen der Botschaft.

Viele Grüße
Sebastian

Thorsten Pferdekaemper

FUIP

Lippie

Hi,
sehr gern. Der Stand läuft mit 4 Minuten Reconnect seit einem Tag stabil. Das ist schon einiges besser als vorher.

Habe herausgefunden, dass ich die Fehlermeldung von croak über ein eval abfangen kann. Leider weiß ich noch nicht wie.
Ich würde dann direkt im GIT Änderungsvorschläge machen.

Denkst Du, dass es in FHEM als offizielles Modul aufgenommen wird zwecks update, ... ?

Ich hoffe, es melden sich noch ein paar Tester, da ich ja nur einen Roomba895 zum absichern besitze :-)

Viele Grüße
Sebastian

Lippie

Zitat von: Thorsten Pferdekaemper am 12 Juni 2019, 21:24:07
Hi,
soll ich das ins Git schieben?
(https://github.com/ThorstenPferdekaemper/FHEM-Roomba980)
Gruß,
   Thorsten

Ich habe den eval-Ansatz fürs ERROR-Handling implementiert. Leider noch nicht getestet.

Im Anhang das überarbeitete Modul.

VG
Sebastian

Thorsten Pferdekaemper

Zitat von: Lippie am 12 Juni 2019, 21:47:53
Denkst Du, dass es in FHEM als offizielles Modul aufgenommen wird zwecks update, ... ?
Vermutlich nicht, außer es findet sich ein offizieller Maintainer, der das machen will (ich nicht).
Ansonsten habe ich jetzt eine controls-Datei hochgeladen. Man kann jetzt das Repo mittels

update add https://raw.githubusercontent.com/ThorstenPferdekaemper/FHEM-Roomba980/master/controls_roomba980.txt

...zu FHEM hinzufügen. Dann wird Roomba980 beim update mit behandelt. (Siehe auch das Readme im Git.)

Zitat von: Lippie am 12 Juni 2019, 22:26:45
Ich habe den eval-Ansatz fürs ERROR-Handling implementiert. Leider noch nicht getestet.

Im Anhang das überarbeitete Modul.
Ich wollte mir das mal anschauen und es dann auch ins Git laden. Allerdings sind da ziemlich viele Leerzeilen dazugekommen, wodurch der Git-Versionsvergleich durcheinanderkommt. Könntest Du das beheben?

Gruß,
   Thorsten
FUIP

pschlaeppi

#231
Hallo zusammen,

Ganz tolles Modul. Habe soeben meinen Roomba 980 erfolgreich einbinden können. Funktioniert
bis jetzt absolut bestens.

Habe mich nun auch noch an der Integration des Plots versucht. Was bis jetzt noch nicht klappt.
Beim recherchieren der Log Daten habe ich dann festgestellt das in der aktuellen Version die 
X- und Y-Werte nicht mehr Paarweise in einem Reading/Logeintrag stehen sondern jeweils einzelne
X- oder Y-Einträge erstellt.
Ich gehe mal davon aus dass deshalb der Plot nicht mehr funktioniert
2019-07-14_13:57:42 Dobby pose-point-y: 19
2019-07-14_13:57:42 Dobby pose-point-x: 21
2019-07-14_13:57:41 Dobby pose-theta: -176
2019-07-14_13:57:41 Dobby pose-point-x: 30
2019-07-14_13:57:41 Dobby pose-point-y: 15
2019-07-14_13:57:40 Dobby pose-theta: 129
2019-07-14_13:57:40 Dobby pose-point-x: 34
2019-07-14_13:57:40 Dobby pose-point-y: 16
2019-07-14_13:57:39 Dobby pose-theta: 58
2019-07-14_13:57:39 Dobby pose-point-y: 17
2019-07-14_13:57:39 Dobby pose-point-x: 33
2019-07-14_13:57:39 Dobby signal-snr: 61
2019-07-14_13:57:39 Dobby signal-rssi: -27



Nutzt jemand das Plotten der Map noch und hat dieses Problem in der Zwischenzeit bereits gelöst?
- Falls ja, nach welchem Lösungsansatz?
- Wird die MAP dauernd aktualisiert, also jedes mal bei einem neuen Wert das Logfile mit den Tagesdaten
   neu generiert und man kann dem Verlauf Real Time folgen?

Gibts allenfalls noch ne Möglichkeit die Flut der Signal Messages einzudämmen?
2019-07-14_13:57:39 Dobby signal-snr: 61
2019-07-14_13:57:39 Dobby signal-rssi: -27




Wäre froh um den einen oder anderen Tipp.

Herzlichen Dank

Grüsse Philipp

Lippie

Hallo,

ich habe leider nur einen 800er Roomba ohne Bewegungskoordinaten. Meine Empfehlung ist der Einsatz von userReadings
Beispiel:
position {return "x:" . ReadingsVal($name,"pose-point-x",0) . " y:" . ReadingsVal($name,"pose-point-y",0);}

Viele Grüße
Sebastian

pschlaeppi

#233
Hallo Sebastian,

Herzlichen Dank für deinen Tipp. Hat abnsolut bestens funktioniert. Damit es 1:1 auf das Beispiel
in Post #33 passt, musste ich es noch etwas anpassen:
xy {return "".ReadingsVal($name,"pose-point-x",0) . "," .ReadingsVal($name,"pose-point-y",0);}

Gibts allenfalls ne Info zu den Bedeutungen der verschiedenen Readings?
Einige davon sind relativ einfach zu interpretieren. Bei anderen hingegen habe ich keine Ahnung was sie bedeuten könnten.

Gibt es die Möglichkeit durch Mitgabe der Koordinaten beim Start den Roomba zuerst an einen bestimmten
Ort fahren zu lassen zum reinigen?
Kann allenfalls gar der zu reinigende Bereich per Koordinaten definiert werden, zum Beispiel ein bestimmter Raum?


Grüsse Philipp

Caleus

Hey Leute

Also da wir nun auch einen Roomba980 besitzen wollte ich mich heute mal dransetzten und das Modul versuchen einzubinden nun wie soll ich sagen die Infos von dorita980 waren der einfachste paart denn leider scheitert es bei der define für den Roomba

Ein
define Robbie Roomba980 xxx.xxx.xxx.xxx:8883
scheitert mit dem Text

Cannot load module Roomba980

Ein reload 42_Roomba980.pm bringt

Attempt to reload Net/MQTT/Message.pm aborted.
Compilation failed in require at ./FHEM/42_Roomba980.pm line 122.
BEGIN failed--compilation aborted at ./FHEM/42_Roomba980.pm line 122.


Ich hoffe ihr habt eine Idee

Caleus

Lippie

Hi,

es scheint, als stimmt mit deinem MQTT irgend etwas nicht. Das sollte aber bei normalem FHEM-Update mitkommen.

VG
Sebastian

Caleus

#236
edit: ok uhrsache MQTT war nicht mehr aktuell. Jetzt läuft alles.

Danke

Lippie


Caleus

Also falls du noch jemanden für Testzwecke suchst, bin gerne bereit zu helfen, must mir nur sagen wie.

Caleus

Jewe

#239
Servus,

unseren Robbie habe ich ja mit Erfolg in Betrieb genommen. Nun habe ich das System komplett neu aufgesetzt (Pi4 und Buster) und der Robie mag nicht mehr mit mir Reden :-(
Der Pi ist aktuell. Dann habe ich die Paktete installiert und das Passwort abgefragt :
sudo apt-get install libmodule-pluggable-perl
sudo apt-get install npm
sudo npm install -g dorita980

Bekomme ich bei der installation mir apt-get install npm nicht immer die aktuelle Version ?
Bei der installation von npm bekomme ich eine Warnung:
pi@RasPi4-Fhem:~ $ sudo npm install -g dorita980
npm WARN npm npm does not support Node.js v10.15.2
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/



Edit:  Meine node Version ist wohl zu aktuell, oder die npm zu alt....
wie kann ich eine ältere Node Version installieren ?

Edit 2: Habe nun mit
sudo npm install -g npm@latest
die neueste Verison installiert und der obige Fehler ist weg. Danach nochmal
sudo npm install -g dorita980
installiert, rebootet aber es bleibt beim alten.

Muss ich auf eine ältere Version downgreaten ?

Jens