Modul für Irobot Roomba 980

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

Vorheriges Thema - Nächstes Thema

Oliver1985

Hallo Thorsten.

Auf der Suche nach einer Lösung bin ich über das hier gestolpert: https://forum.fhem.de/index.php?topic=70000.0
Da hattest du ja ein ähnliches Thema getroubleshootet, richtig?

Bevor ich mir jetzt weiter einen Wolf suche wollte ich mal kurz fragen, ob du die Lösung zufällig kennst?!

Besten Dank im Voraus.

Thorsten Pferdekaemper

Hi,
das, was ich da beigetragen habe, war ja nur dass der Thread in den richtigen Forenbereich kommt.
Ansonsten wundere ich mich etwas. Eigentlich müsste ja dieses "pluggable" mit MQTT automatisch installiert werden. ...außer vielleicht bei exotischen Systemen, die kein normales Linux haben. (...wobei bei mir hatte das mal unter Win7 ohne Probleme funktioniert.)
Installiere das pluggable Ding doch einfach mal. Entweder über CPAN als Module::Pluggable oder über apt/dpkg als libmodule-pluggable-perl.
Gruß,
   Thorsten
FUIP

Oliver1985

Zitat von: Thorsten Pferdekaemper am 23 März 2018, 20:47:12
Installiere das pluggable Ding doch einfach mal. Entweder über CPAN als Module::Pluggable oder über apt/dpkg als libmodule-pluggable-perl.
Gruß,
   Thorsten

Das war's schon... Nach der Installation und einem Systemneustart ging es dann sofort. Vielen Dank.
Ich hatte vorher schon versucht das über "libpam-modules" zu erhalten, was nicht so gut geklappt hat. Bin nicht so der Linux Pro aber zumindest habe ich, um deine Vermutung mit exotischen System im Vorfeld auszuschließen, den Fehler auf zwei verschiedenen Systemen provozieren können. Einmal ein reines Debian, frisch als VM aus einem ESXi und einmal Rasbian auf einem Pi3. Wie gesagt: Beide Male ohne Erfolg.

Mich wundert dennoch, dass ich der einzige bin,... daher muss es irgendwie an mir liegen.

Thorsten Pferdekaemper

Zitat von: Oliver1985 am 23 März 2018, 23:06:03
Mich wundert dennoch, dass ich der einzige bin,... daher muss es irgendwie an mir liegen.
Normalerweise sollten sowohl die normalen Linux-Paketmanager als auch CPAN alle benötigten Abhängigkeiten automatisch mit installieren. Keine Ahnung, was da schief gegangen sein könnte.
Ich glaube, dass das mit PAM sowieso nichts zu tun hat. Das heißt glaube ich nur zufällig ähnlich.
Gruß,
   Thorsten
FUIP

Oliver1985

Hallo Thorsten,

das Modul läuft nun (einwandfrei?)...

Ich wollte nur kurz Mittteilen, dass ich folgendes im Logfile erhalte:

2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 1: Error sending message:
2018.03.25 10:42:07 1: Error sending message:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 1: Error sending message:
2018.03.25 10:42:07 1: Error sending message:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish: decode_string: insufficient data at FHEM/lib/Net/MQTT/Message/Publish.pm line 36.

2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 1: Error sending message:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:07 3: Reveiced rubbish:
2018.03.25 10:42:08 3: Reveiced rubbish:
2018.03.25 10:42:08 3: Reveiced rubbish:
2018.03.25 10:42:08 3: Reveiced rubbish:
2018.03.25 10:42:08 3: Reveiced rubbish:
2018.03.25 10:42:08 3: Reveiced rubbish: decode_string: insufficient data at FHEM/lib/Net/MQTT/Message/Publish.pm line 36.

2018.03.25 10:42:11 3: Reveiced rubbish:
2018.03.25 10:42:11 3: Reveiced rubbish:
2018.03.25 10:42:11 3: Reveiced rubbish:

Es scheint die Operabilität des Moduls jedoch nicht zu beeinträchtigen...

Gruß,
Oliver

Thorsten Pferdekaemper

Hi,
ich habe mal eine neue Version gemacht (ungetestet), die nicht mehr so viele Log-Einträge erzeugen sollte.
Das mit den "unsufficient data" Meldungen verstehe ich nicht so ganz. Eigentlich sollte die verwendete Routine in dem Fall nur "undef" zurückgeben, aber keine Fehlermeldung erzeugen. Ich hoffe, dass dadurch jetzt nichts verloren geht.
Andererseits sendet das Teil so oft, dass eine Message hin und wieder auch verloren gehen darf.
Gruß,
   Thorsten

https://github.com/ThorstenPferdekaemper/FHEM-Roomba980/
FUIP

willibutz

Hallo Thorsten,
wollte gerade mal das Modul ausprobieren. Beim Versuch das Passwort zu ermitteln bekomme ich folgende Antwort:
Robot Data:
{ ver: '3',
  hostname: 'Roomba-...',
  robotname: '...',
  ip: '...',
  mac: '...',
  sw: 'v2.4.4-4',
  sku: 'R980040',
  nc: 0,
  proto: 'mqtt',
  cap:
   { pose: 1,
     ota: 2,
     multiPass: 2,
     carpetBoost: 1,
     pp: 1,
     binFullDetect: 1,
     langOta: 1,
     maps: 1,
     edge: 1,
     eco: 1,
     svcConf: 1 },
  blid: '...' }


und kein Passwort. Heißt das, mein Roomba ist zu "neu" oder besteht noch Hoffnung?

LG willibutz

Thorsten Pferdekaemper

Hi,
was hast Du denn genau gemacht, um diese Ausgabe zu bekommen?
Gruß,
   Thorsten
FUIP

willibutz

Hallo Thorsten,
ich habe dafür nur folgenden Befehl gefunden

npm run getpassword Roomba_IP

Ich hatte das Modul auch schon mal früher getestet. Da hatte ich auf diese Art das Passwort ermitteln können. Allerdings wurden damals auch folgende Versionen zurückgegeben:

Robot Data:
{ ver: '2',
   ...
  sw: 'v2.2.11-4',
   ...' }



Mit dem dort ermittelten Passwort lief das ganze auch ein paar Tage, dann hat sich FHEM alledrings total erhängt und die letzte Meldung war, dass "unverständliches Zeugs" von Roomba empfangen wurde. Nachdem das 2x passiert war, habe ich das Modul erst mal wieder aus der Config rausgenommen.
Da ich jetzt gesehen habe, das daran gerade wieder daran bastelst  ;) wollte ich es noch mal probieren.

Mit dem damals ermittelten Passwort bekomme ich kein Connect mehr und jetzt kann kein Passwort mehr ermittelt werden (sollte ja aber eigentlich noch das gleiche sein, oder?).

Ich vermute, dass der Roomba automatisch ein Firmwareupdate gemacht hat und dadurch für das Modul "unverständliches Zeugs" gesendet hat, was zum FHEM-Absturz führte.?

auf dieser Seite: https://www.npmjs.com/package/dorita980?activeTab=readme
habe ich den folgenden Hinweis gefunden: Firmware 2.x.x compatible (latest serie 900 uses firmware v2, not v3).

deshalb auch meine Frage, ob die Software jetzt einfach zu "neu" ist  :'(

Vielen Dank auf jeden Fall für deine Arbeit an dem Modul und vielleicht holt Dorita ja meinen Roomba mal wieder ein  ;)

LG willibutz

Thorsten Pferdekaemper

Hi,
da befürchte ich mal tatsächlich, dass diese neue Firmware-Version nicht mehr funktioniert. Vielleicht können ja ein paar andere sagen, welche Version sie haben. Im FHEM-Modul gibt es dazu ein Reading.
Gruß,
   Thorsten
FUIP

luetty


Thorsten Pferdekaemper

Zitat von: luetty am 27 März 2018, 22:58:12
läuft hier mit v2.4.4-4
Hast Du mal npm run getpassword gemacht?
Gruß,
   Thorsten
FUIP

luetty

#147
Yeap, ich bekomme die notwendigen Daten komplett ausgelesen!

@willibutz: Dein codeschnippsel ist alles was getpasswd ausspuckt? HandyApp aus? Kein dorita980/rest980 oder roomba-Modul noch aktiv? Zur not den Sauger vielleicht mal neustarten order werksreset (ist aber echt alles geraten) - GOOD LUCK!

willibutz

@luetty: RESET, guter Hinweis, danke dir

nach 10s CLEAN drücken kann ich auch wieder ein Passwort ermitteln. Ist natürlich immer noch das alte, aber das Modul kann sich nach dem RESET wieder verbinden

@Thorsten: also immer noch alles kompatibel

Der Status ist nur merkwürdig. Er steht immer für 30s auf opened, dann kurz auf disconnected, danach sind alle Readings aktualisiert (zumindest der Zeitstempel).

Ich werde mal beobachten ob mein FHEM am Leben bleibt und ob ich meinen Roomba steuern/beobachten kann.
Danke für eure Hilfe,
LG willibutz


Oliver1985

Zitat von: Thorsten Pferdekaemper am 26 März 2018, 18:10:35
ich habe mal eine neue Version gemacht (ungetestet)
https://github.com/ThorstenPferdekaemper/FHEM-Roomba980/

Danke für deine Mühen. Damit das Log jetzt nicht zu voll wird, ist Robbie bei mir in Fhem immer opened aber disconnected. Vor dem Start mache ich dann immer ein "set Robbie connect" und dann ein "set Robbie start" mit einer kleinen Verzögerung hinterher. Im Anschluss disconnecte ich einfach wieder... Das funktioniert soweit ganz gut. Habe ich irgendwelche Nachteile dadurch?

Außerdem kann ich die Versions-Nummer nicht in den Readings sehen. Ich hab mal ein Bild angehangen. Vielleicht stimmt ja etwas generell nicht bei meinem Setup.