Modul für Irobot Roomba 980

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

Vorheriges Thema - Nächstes Thema

Oliver1985

Hey Thorsten.

Gute Neuigkeiten. Ich erhalte nach dem Einspielen der neuen Version alle Readings und das Log wird nicht mehr geflutet.... Ein kurzer Test (connect,start,dock) hat einwandfrei funktioniert.

oxident

Das Modul ist wirklich prima. Vielen Dank für die tolle Arbeit!
Zwei kurze Fragen/Vorschläge hätte ich:

Ist es normal, dass die Verbindung zum Roomba alle 3-5 Minuten wegbricht und dann direkt wieder aufgebaut wird?
2018.04.24 18:59:03 1: 192.168.1.127:8883 disconnected, waiting to reappear (wzRoomba)
2018.04.24 18:59:05 1: 192.168.1.127:8883 reappeared (wzRoomba)


Da ja die Readings teilweise sehr häufig neu übermittelt werden wäre es prima, wenn das Modul auch das Attribut "event-on-change-reading" unterstützen würde. Dadurch könnte man z. B. deutlich besser auf den Batteriestatus reagieren... ich nutze dies momentan für eine Anzeige auf einem LaMetric-Display.

Thorsten Pferdekaemper

Zitat von: oxident am 24 April 2018, 19:03:19
Ist es normal, dass die Verbindung zum Roomba alle 3-5 Minuten wegbricht und dann direkt wieder aufgebaut wird?
Ich würde mal sagen, dass das nicht normal ist, aber ich weiß auch nicht, wie das kommen kann. Soweit ich das verstehe sollte das nur passieren, wenn das Teil sagt, dass Daten vorhanden sind, aber dann nichts liefert. Hast Du irgendwelche Timing-Probleme in Deinem System? Ein RasPi 1 könnte z.B. etwas überfordert sein.

Zitat
Da ja die Readings teilweise sehr häufig neu übermittelt werden wäre es prima, wenn das Modul auch das Attribut "event-on-change-reading" unterstützen würde.
Kannst Du mal folgendes ausprobieren? In der Datei /opt/fhem/FHEM/42_Roomba980.pm findet sich folgendes:

  $hash->{DeleteFn}  = "Roomba980::Delete";
  $hash->{SetFn}    = "Roomba980::Set";
#  $hash->{NotifyFn} = "MQTT::Notify";
#  $hash->{AttrList} = "keep-alive ".$main::readingFnAttributes;
}

Kannst Du das mal ändern, so dass es so aussieht:

  $hash->{DeleteFn}  = "Roomba980::Delete";
  $hash->{SetFn}    = "Roomba980::Set";
  $hash->{AttrList} = $main::readingFnAttributes;
}

...dann shutdown restart und ausprobieren.
Gruß,
   Thorsten
FUIP

oxident

Hallo!

Also die Änderung habe ich vollzogen und es scheint aber so, als kämen nun bei "event-on-change-reading .*" gar keine Änderungen mehr ... ich werde das aber nochmal kontrollieren.

Scheinbar muss ich aber komischerweise ab und wann immer wieder mal wieder ein "set connect" machen damit überhaupt Änderungen bei den Readings hereinkommen. Und das, obwohl STATE "connected" ist. Komisch...

Bezüglich der disconnected / reappeared Meldungen denke ich nicht, dass es an der FHEM-Hardware liegt. Bei mir läuft FHEM in einer virtuellen Maschine auf einem i5 und FHEM ist dort ansich extrem performant.

WLAN vom Roomba scheint auch okay zu sein. Ich bekomme eine RSSI von etwa -54 und ein SNR von ca. 30-35.
Die Readings flattern ja auch meist im 2sek Takt herein.

Thorsten Pferdekaemper

Zitat von: oxident am 25 April 2018, 21:23:48Also die Änderung habe ich vollzogen und es scheint aber so, als kämen nun bei "event-on-change-reading .*" gar keine Änderungen mehr ... ich werde das aber nochmal kontrollieren.
Ja, mach das mal. Laut Doku sollte das funktionieren. Ich habe auch nochmal überprüft, ob das mit den Readings im Modul alles so aussieht, wie es soll und meiner Meinung nach tut es das.

Zitat
Scheinbar muss ich aber komischerweise ab und wann immer wieder mal wieder ein "set connect" machen damit überhaupt Änderungen bei den Readings hereinkommen. Und das, obwohl STATE "connected" ist. Komisch...
Ich glaube, dass manche Readings tatsächlich relativ selten reinkommen, wie z.B. der Batteriezustand. Wenn man neu verbindet schickt der Sauger aber alles. Lass das Ding mal rumfahren und schau Dir an, ob auch die Positions-Readings "fehlen".

Zitat
Bezüglich der disconnected / reappeared Meldungen denke ich nicht, dass es an der FHEM-Hardware liegt. Bei mir läuft FHEM in einer virtuellen Maschine auf einem i5 und FHEM ist dort ansich extrem performant.
WLAN vom Roomba scheint auch okay zu sein. Ich bekomme eine RSSI von etwa -54 und ein SNR von ca. 30-35.
Die Readings flattern ja auch meist im 2sek Takt herein.
Tja, da weiß ich gerade auch nicht so recht. Vielleicht läuft da beim "select" Befehl auf Deiner Maschine etwas anders. Wenn jemand eine Idee hat, dann ändere ich gerne.
Gruß,
   Thorsten
FUIP

dk3572

Hallo,
ich habe die Datei von hier: https://github.com/ThorstenPferdekaemper/FHEM-Roomba980/
nach /opt/fhem/FHEM kopiert.
Nach dem define Robbie Roomba980 <ip-addresse>:8883
erhalte ich diese Meldung: Cannot load module Roomba980
Fehlt da noch was oder was mache ich falsch?
Für Hilfe wäre ich sehr dankbar.
Gruß Dieter

Thorsten Pferdekaemper

Hi,
schau mal ins Log. Da müsste in dem Fall noch etwas mehr stehen.
Gruß,
   Thorsten
FUIP

dk3572

Auch Hi,
jep, im Eifer des Gefecht´s ganz vergessen.
Can't locate Module/Pluggable.pm in @INC (you may need to install the Module::Pluggable module) (@INC contains: ./FHEM/lib ./lib . /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.22.1 /usr/local/share/perl/5.22.1 /usr/lib/x86_64-linux-gnu/perl5/5.22 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.22 /usr/share/perl/5.22 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base ./FHEM) at FHEM/lib/Net/MQTT/Message.pm line 9.
BEGIN failed--compilation aborted at FHEM/lib/Net/MQTT/Message.pm line 9.
Compilation failed in require at ./FHEM/42_Roomba980.pm line 57.
BEGIN failed--compilation aborted at ./FHEM/42_Roomba980.pm line 57.


Nach diesem Pluggable.pm habe ich auch schon gesucht. Leider ohne Erfolg.

Danke schon mal für deine Hilfe.

Gruß Dieter

Thorsten Pferdekaemper

Zitat von: dk3572 am 02 Juni 2018, 16:55:37Nach diesem Pluggable.pm habe ich auch schon gesucht. Leider ohne Erfolg.
Hi,
sorry für diese Antwort, aber bei google zeigen bei mir Treffer Nummer 2 bis 4 brauchbare Sachen.
Gruß,
   Thorsten
FUIP

dk3572

ja, das hatte ich mir auch bereits durchgelesen.
Leider kenne ich mich damit nicht sonderlich gut aus.
Wäre das die Lösung?
sudo apt-get install libmodule-pluggable-perl
Ich möchte auch nicht alles möglich installieren was evtl. nicht benötigt wird.
Deshalb die Bitte um Hilfe.

Thorsten Pferdekaemper

Zitat von: dk3572 am 02 Juni 2018, 17:15:30Wäre das die Lösung?
sudo apt-get install libmodule-pluggable-perl
Wahrscheinlich schon. Du kannst ja erstmal noch ein "-s" dazwischenpacken. Dann sagt Dir das System erst einmal, was es tun würde.

Zitat
Ich möchte auch nicht alles möglich installieren was evtl. nicht benötigt wird.
...dann schreib Dir auf, was installiert wird. Dann kannst Du es später ggf. mit apt-get purge wieder wegwerfen.

Gruß,
   Thorsten
FUIP

dk3572

ok, das hat schon mal funktioniert. Danke bis hier hin.
Wo muss ich nun das machen?
npm run getpassword xxx.xxx.xxx.xx
Laut Beschreibung sollte das doch ohne die Installation von dorita980 funktionieren?
Danke noch mals....

Thorsten Pferdekaemper

Zitat von: dk3572 am 03 Juni 2018, 10:45:29Wo muss ich nun das machen?
npm run getpassword xxx.xxx.xxx.xx
Laut Beschreibung sollte das doch ohne die Installation von dorita980 funktionieren?
Wo steht, dass man dazu dorita980 nicht braucht?
Ich denke dass es immer noch so geht, wie hier beschrieben: https://github.com/koalazak/dorita980#how-to-get-your-usernameblid-and-password
Gruß,
   Thorsten
FUIP

dk3572

#163
Dann habe ich das wohl missverstanden.
Die Daten blid und Passwort habe ich nun.
Die Readings wurden daraufhin auch alle angezeigt.
Start und Dock hat funktioniert, steht aber dann auf disconnected.
Aber die Verbindung bleibt nicht bestehen.
2018.06.04 16:25:50.028 1: xxx.xxx.xxx.xx:8883 disconnected, waiting to reappear (Roomba)
2018.06.04 16:25:51.977 1: xxx.xxx.xxx.xx:8883 reappeared (Roomba)
2018.06.04 16:25:52.333 1: xxx.xxx.xxx.xx:8883 disconnected, waiting to reappear (Roomba)
2018.06.04 16:25:53.612 1: xxx.xxx.xxx.xx:8883 reappeared (Roomba)
2018.06.04 16:25:55.192 1: xxx.xxx.xxx.xx:8883 disconnected, waiting to reappear (Roomba)
2018.06.04 16:25:56.346 1: xxx.xxx.xxx.xx:8883 reappeared (Roomba)
2018.06.04 16:25:57.534 1: xxx.xxx.xxx.xx:8883 disconnected, waiting to reappear (Roomba)
2018.06.04 16:25:58.670 1: xxx.xxx.xxx.xx:8883 reappeared (Roomba)

Woran könnte das nun liegen? Oder muss ich noch was installieren?

Danke weiterhin  ;)

Thorsten Pferdekaemper

Zitat von: dk3572 am 04 Juni 2018, 16:36:24Woran könnte das nun liegen? Oder muss ich noch was installieren?
Ich weiß nicht wirklich, woran das liegt. Ich hatte mal die Vermutung, dass es etwas mit Performance-Problemen zu tun hat. Auf was für einem Rechner läuft das bei Dir und was läuft da sonst noch, speziell in FHEM selbst?
Ansonsten möglicherweise ein instabiles W-Lan. Hast Du schonmal die Basis des Roomba woanders hingestellt?
Gruß,
    Thorsten
FUIP