FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: kukamee am 22 Februar 2017, 02:34:53

Titel: Modul für Irobot Roomba 980
Beitrag von: kukamee am 22 Februar 2017, 02:34:53
Hi Leute,

da ich es immer häufiger lese, dass jemand auf der Suche nach einem Modul für den Irobot Roomba 980 ist, möchte ich hier mal die Library dorita980 ins spiel bringen.
https://www.npmjs.com/package/dorita980 (https://www.npmjs.com/package/dorita980)

Kenne mich leider nicht aus und kann genau so wenig programmieren...
Aber evtl. ist das eine Grundlage für ein neues Modul bzw. kann jemand damit etwas anfangen.
Würde mich jedenfalls sehr über ein Modul für den 966 oder 980er freuen  ;)


Danke und Viele Grüße
Kukamee
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Markus-L am 22 Februar 2017, 15:03:31
Hallo,
ich interessiere mich ebenfalls dafür und habe auch schon angefangen damit rum zu spielen.

Das größte Problem wird sein, dass ich von Perl ebenfalls nicht allzuviel Ahnung habe :-)
(von JavaScript ebenfalls nicht - nur so am Rande) :o

Mein Lieblingsfeature ist hierbei natürlich das zeichnen einer Map...  ;D

Was bisher funktioniert:
Ich habe es geschafft NodeJs auch für den fhem Benutzer (raspi umgebung) in einer anständigen Version zu installieren und über die fhem weboberfläche ein nodejs script aufzurufen, dass die aktuelle Position in mein Hauptlogfile schreibt.

=> Damit könnte man relativ einfach die kontroller über den Roomba übernehmen. Also Start, Stop, Pause, Homebase Befehle sollten damit eigentlich schon funktionieren. Hab ich jetzt noch nicht getestet - aber der getMission Befehl kommt ja auch an.

Ich stelle mir das Map zeichnen im ersten Schritt erst einmal so vor, dass ein notify zyklisch (alle 0,5s bis 1s) den getMission Befehl aufruft, und die Rückgabewerte in ein Logfile schreibt.
Aus dem Logfile sollte man dann über die x und y Punkte eine Map zeichnen können.

Mein derzeitiges Hauptproblem ist, dass ich keine Ahnung habe wie ich von Perl heraus auf Variablen/Rückgabe werte von meinem NodeJs script zugreifen kann.
Kann mir dabei jemand helfen?

Das nodeJS script sieht zur Zeit so aus:

var dorita980 = require('dorita980');

var myRobotViaLocal = new dorita980.Local('meineBid', 'meinPW','meineIP');

myRobotViaLocal.on('connect', function () {
  myRobotViaLocal.getMission().then((mission_data) => {
    console.log(mission_data)
    myRobotViaLocal.end();
  }).catch((err) => {
    console.log(err);
  });
});



aufrufen konnte ich es dann einfach über
{system("node getMission.js")}








Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Det20 am 24 Februar 2017, 09:54:29
Daran wäre ich auch sehr interessiert.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Markus-L am 28 Februar 2017, 14:39:30
Hallo Zusammen,
ich habe in der zwischen Zeit ein wenig weiter gemacht:
Nachdem ich etwas gelesen habe ist es wohl am leichtesten die Kommunikation zwischen JavaScript und fhem über telnet zu machen.

Folgendes ist der aktuelle Stand:

Die Daten schreibe ich in fhem dann einfach in ein dummy.
Das hier ist die entsprechende fhem.cfg

define roomba dummy
attr roomba readingList x y theta bin_present bin_full error initiator CycleTimeActive CycleTimeInactive
attr roomba room Roomba
attr roomba setList x y theta bin_present bin_full error initiator CycleTimeActive CycleTimeInactive

define FileLog_Roomba FileLog ./log/Roomba-%Y-%m.log roomba
attr FileLog_Roomba room Roomba


define telnetPort telnet 7073 global
define allowed_telnetPort allowed
attr allowed_telnetPort globalpassword DeinSuperTelnetPw
attr allowed_telnetPort validFor telnetPort



Dazu habe ich mir dann ein Wrapper geschrieben, der die Kommunikation zwischen dorita980 und fhem leistet.
Im Prinzip gibt es eine zyklische Funktion die immer wieder schaut ob der Roomba gerade aktiv ist und dementsprechend die Zykluszeit anpasst.
Die Zykluszeiten können aus fhem heraus (über die readings CycleTimeActive CycleTimeInactive) vorgegeben werden.

Sobald dorita980 dann einen "Mission" Info meldet schreibt das Skript einfach über telnet den dummy.

Unten gibts dann noch einige Funktionen für die Kommunikation mit Fhem (z.b. lesen eines Readings über telnet).

Ich musste für die funktion leider dorita980 (bin/v2/local.js)etwas modifizieren.
Die Funktionalität die zykluszeit zu ändern war vorher nicht drinnen...

Damit kommen die Daten (zumindest bei mir  ;D) zur zeit relativ zuverlässig nach fhem.

Ich wollte mich jetzt mal drum kümmern die Daten in Fhem auch irgendwie darzustellen.





Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Det20 am 28 Februar 2017, 15:01:59
Bin sehr spannend drauf, wie es weitergeht ...
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 28 Februar 2017, 16:28:09
Hi,
wir haben jetzt auch so ein Teil und auf dorita980 bzw. rest980 bin ich auch schon gestoßen. Bisher habe ich es aber noch nicht geschafft, den Kram zu installieren und auch zum Laufen zu bringen.
Wenn man das ganze in FHEM integriert, dann ware es eigentlich schöner, gleich ein richtiges Modul zu haben und dann direct zu kommunizieren. Hat jemand mal herausgefunden, wie die Kommunikation mit dem Ding wirklich aussieht?
Außerdem: Anscheinend ist die Firmware 2.x ganz anders. Im Gegensatz zu 1.x soll sie per MQTT kommunizieren, wofür es in FHEM ja schon ein Modul gibt.
Gruß,
   Thorsten 
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Markus-L am 28 Februar 2017, 18:38:04
Hi,
die Idee mit fhem über die mqtt Schnittstelle direkt mit dem roomba zu kommunizieren halte ich für sehr gut!

Die Gehversuche das über die Dorita Schnittstelle sind schon auch recht umständlich.
Viele Dinge haben auch nicht auf Anhieb so funktioniert wie ich es mir vorgestellt habe. Evtl. Auch weil ich es nicht wirklich verstanden habe...  :-X
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 28 Februar 2017, 18:48:56
Zitat von: Markus-L am 28 Februar 2017, 18:38:04die Idee mit fhem über die mqtt Schnittstelle direkt mit dem roomba zu kommunizieren halte ich für sehr gut!
Tja, mir ist nur nicht so ganz klar, ob alle mit der Zeit auf die 2.x Firmware gebracht werden (meiner ist auf 1.-irgendwas), oder ob nur die Minor-Versionsnummern "wachsen". Welche Firmware-Versionen haben Eure ?
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Markus-L am 28 Februar 2017, 18:52:24
Zitat von: Thorsten Pferdekaemper am 28 Februar 2017, 18:48:56
Welche Firmware-Versionen haben Eure ?
Meiner hat am 31.01.17 die 2.0.0-34 bekommen. Da hatte ich ihn grad etwa eine Woche...
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 28 Februar 2017, 19:13:39
Meiner hat noch 1.6.4. Mal ein paar Tage warten. Wahrscheinlich lohnt es sich nicht, etwas für die "alte" Schnittstelle zu bauen.
Es lohnt sich übrigens meiner Meinung nach, zusätzlich zu dorita980 noch rest980 zu installieren. Vor Allem http://<hostname>:3000/map ist lustig.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Det20 am 28 Februar 2017, 20:18:51
An dem Dorita980 habe ich mich auch einige Male versucht, es aber irgendwie nie hinbekommen und dann aufgegeben.
Mein 980 hat ebenfalls die 2.0.0-34
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: carlos am 28 Februar 2017, 22:33:28
Also ich habe mal rest980 installiert dann läst sich mit HTTPMOD schon einiges machen.
Preferences und sys z.b. kann man direkt mit json parsen.
Da sollt  doch ein modul darus zu machen sein.
Gruß

Carlos
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 28 Februar 2017, 22:40:37
Zitat von: carlos am 28 Februar 2017, 22:33:28
Also ich habe mal rest980 installiert dann läst sich mit HTTPMOD schon einiges machen.
Preferences und sys z.b. kann man direkt mit json parsen.
Da sollt  doch ein modul darus zu machen sein.
Klar, aber das ist schon hässlich. Man muss erst dorita980 und rest980 installieren, wofür man auf einem RasPi sogar noch von wegen nodejs tricksen muss. Dann das ganze konfigurieren, von wegen Blid und Passwort. Dann muss man auch noch json in Perl parsen... Also naja.
Ich warte jetzt mal ab, ob meiner sich auf 2.0 updated und dann versuche ich mal per MQTT.
Gruß,
   Thorsten 
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: carlos am 28 Februar 2017, 23:58:21
Wie soll das mit MQTT gehen? Dann würde ich das mal testen.
Meiner ist schon auf 2.0.0-34 und einen MQTT server habe ich auch schon am laufen.
Gruß

Carlos
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 01 März 2017, 09:43:14
Zitat von: carlos am 28 Februar 2017, 23:58:21
Wie soll das mit MQTT gehen?
Keine Ahnung, ich kenne mich mit MQTT nicht aus. Wenn ich in die Commandref schaue, dann scheint man eine IP-Adresse und einen Port zu brauchen. Die IP-Adresse dürfte klar sein. Port weiß ich nicht, vielleicht mal im Sourcecode von dorita980 nachschauen.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Markus-L am 01 März 2017, 14:31:04
Hallo,
Port müsste laut Dorita 8883 sein.

Ich hab mein Script nochmal leicht modifiziert, dass es direkt im xy format schreibt.
Damit konnte ich dann heute schon eine schöne Map in Fhem zeichnen...


in Dorita funktioniert der Aufbau der Verbindung wohl so:


  const url = 'tls://' + host;

  var options = {
    port: 8883,
    clientId: user,
    rejectUnauthorized: false,
    protocolId: 'MQTT',
    protocolVersion: 4,
    clean: false,
    username: user,
    password: password
  };

  const client = mqtt.connect(url, options);


wobei
host die IP Adresse ist
user die RobotId
und Passwort das Pw
=> die letzten 2 Dinge bekommt man über das getPassword skript von dorita980
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: minicupper am 02 März 2017, 14:14:28
Vielleicht hilft das hier weiter?
https://github.com/koalazak/dorita980/blob/master/README.md (https://github.com/koalazak/dorita980/blob/master/README.md)
Leider fehlen mir die Fähigkeiten daraus ein Modul zu machen, aber vielleicht schafft es jemand anderes?
Gruß
Gero
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 02 März 2017, 15:13:05
Hi,
ja, das ist sicher hilfreich, aber ich fände es wirklich extrem unschön, wenn man erstmal den ganzen dorita-Kram installieren müsste.
Ich habe fest vor, mir das ganze mal genauer anzuschauen, sobald mein 980er auf 2.x geht.
Sollten wir den Thread nicht lieber nach "Sonstige Systeme" verschieben? Das müsste aber kukamme oder ein Mod machen.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: minicupper am 02 März 2017, 15:50:51
Vielleicht ist es noch nicht aufgefallen: Dorita980 hat (gezwungenermaßen) auf MQTT umgestellt. Lässt sich das nach FHEM porten?
Gruß
Gero
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 02 März 2017, 15:56:38
Zitat von: minicupper am 02 März 2017, 15:50:51
Vielleicht ist es noch nicht aufgefallen: Dorita980 hat (gezwungenermaßen) auf MQTT umgestellt. Lässt sich das nach FHEM porten?
Siehe meinen Beitrag vom 28 Februar 2017, 16:28:09. Im Prinzip müsste das ja dann per FHEM-Modul MQTT gehen.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 04 März 2017, 17:24:57
Hi,
also update ist da und ich habe jetzt mal das probiert:

define RobbieMQTT MQTT 192.168.178.40:8883 <blid> <password>

Das ganze schmiert aber irgendwo in Net::MQTT ab:

2017.03.04 17:15:04 1: 192.168.178.40:8883 disconnected, waiting to reappear (RobbieMQTT)
2017.03.04 17:15:04 1: 192.168.178.40:8883 reappeared (RobbieMQTT)
decode_string: insufficient data at C:/Programs32/StrawberryPerl/perl/site/lib/Net/MQTT/Message/Connect.pm line 86.
at C:/Programs32/StrawberryPerl/perl/site/lib/Net/MQTT/Constants.pm line 121.
Net::MQTT::Constants::decode_string("\x{3}\x{0}\x{2}", SCALAR(0x5434944)) called at C:/Programs32/StrawberryPerl/perl/site/lib/Net/MQTT/Message/Connect.pm line 86
Net::MQTT::Message::Connect::_parse_remaining(Net::MQTT::Message::Connect=HASH(0x52f83fc)) called at C:/Programs32/StrawberryPerl/perl/site/lib/Net/MQTT/Message.pm line 54
Net::MQTT::Message::new_from_bytes("Net::MQTT::Message", "\x{1}\x{0}", 1) called at ./FHEM/00_MQTT.pm line 231
MQTT::Read(HASH(0x44b8dcc)) called at fhem.pl line 3311
main::CallFn("RobbieMQTT", "ReadFn", HASH(0x44b8dcc)) called at fhem.pl line 675

Hat jemand eine Idee dazu? Bevor ich da jetzt den Samstag Abend mit Debugging verbringe...
Gruß,
    Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: carlos am 04 März 2017, 20:25:19
Das hab ich auch schon probiert. Scheint mit tls zusammen zu hängen. Keine Ahnung, ob das das MQTT  Modul richtig kann.
Gruß Carlos
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 04 März 2017, 22:19:12
Hi,
keine Ahnung. Das mit dem MQTT scheint mir noch nicht ganz so ausgegoren zu sein. Man scheint einen "Broker" zu brauchen und zusätzlich noch ungefähr drei Devices in FHEM um irgendwas anzubinden. Ich dachte MQTT sollte die Dinge vereinfachen... Außerdem scheint es von großen Firmen entwickelt worden zu sein. Da bin ich immer eher skeptisch.
Vielleicht müssen wir doch mal analyiseren, was dorita980 da genau treibt und daraus dann direkt ein FHEM-Modul bauen.
Gruß,
    Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 05 März 2017, 16:50:14
Hi,
also ich habe jetzt mal mit TLS rumexperimentiert und bekomme jetzt keine Fehlermeldungen mehr, aber das Ding geht von "connecting" in den Timeout.
Tja, vielleicht muss ich mich doch noch mit den MQTT-Grundlagen befassen.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 05 März 2017, 19:07:53
Ok, das Ding redet jetzt mit mir:

ConnAck/at-most-once Connection Refused: not authorized

Nicht das, was man sehen will, aber immerhin.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 05 März 2017, 22:21:29
Sehr seltsam. Jetzt bekomme ich immer das hier:

IO::Socket::IP configuration failed

Coding ist das:

  my $cl = IO::Socket::SSL->new(PeerAddr => '192.168.178.40:8883',
               SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE);

Wenn ich da tiefer reindebugge, dann sehe ich etwas wie "Der Remotecomputer hat die Verbindung abgelehnt".
Hat jemand eine Idee?
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 06 März 2017, 09:43:42
Ok, Robbie redet mit mir:

ConnAck/at-most-once Connection Accepted Publish/at-most-once wifistat
  7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f 72  {"state":{"repor
  74 65 64 22 3a 7b 22 6e 65 74 69 6e 66 6f 22 3a  ted":{"netinfo":
  7b 22 64 68 63 70 22 3a 74 72 75 65 2c 22 61 64  {"dhcp":true,"ad
  64 72 22 3a 33 32 33 32 32 38 31 31 32 38 2c 22  dr":3232281128,"
  6d 61 73 6b 22 3a 34 32 39 34 39 36 37 30 34 30  mask":4294967040
  2c 22 67 77 22 3a 33 32 33 32 32 38 31 30 38 39  ,"gw":3232281089
  2c 22 64 6e 73 31 22 3a 33 32 33 32 32 38 31 30  ,"dns1":32322810
  38 39 2c 22 64 6e 73 32 22 3a 30 2c 22 62 73 73  89,"dns2":0,"bss
  69 64 22 3a 22 33 38 3a 31 30 3a 64 35 3a 32 61  id":"38:10:d5:2a
  3a 38 33 3a 34 64 22 2c 22 73 65 63 22 3a 34 7d  :83:4d","sec":4}
  7d 7d 7d                                         }}}Publish/at-most-once wifistat
  7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f 72  {"state":{"repor
  74 65 64 22 3a 7b 22 77 69 66 69 73 74 61 74 22  ted":{"wifistat"
  3a 7b 22 77 69 66 69 22 3a 31 2c 22 75 61 70 22  :{"wifi":1,"uap"
  3a 66 61 6c 73 65 2c 22 63 6c 6f 75 64 22 3a 31  :false,"cloud":1
  7d 7d 7d 7d                                      }}}}Publish/at-most-once wifistat
  7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f 72  {"state":{"repor
  74 65 64 22 3a 7b 22 6e 65 74 69 6e 66 6f 22 3a  ted":{"netinfo":
  7b 22 64 68 63 70 22 3a 74 72 75 65 2c 22 61 64  {"dhcp":true,"ad

Es scheint mir fast so, als ob das Teil nach einigen Fehlversuchen erst einmal ein paar Stunden schmollt. Heute morgen hat die SSL-Connection dann einfach so funktioniert.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 06 März 2017, 10:22:01
Jetzt habe ich das mal mit den Modulen MQTT, MQTT_DEVICE und MQTT_BRIDGE versucht. (Nachdem ich ein paar kleine Anpassungen für TLS und kleinen Roomba-Specifics gemacht hatte. Allerdings findet das keine Readings und stürzt beim Neustart von FHEM gnadenlos ab. Ich glaube, es bringt mehr, daraus ein eigenes Modul zu machen.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 06 März 2017, 10:35:55
Zitat von: Markus-L am 01 März 2017, 14:31:04
Ich hab mein Script nochmal leicht modifiziert, dass es direkt im xy format schreibt.
Damit konnte ich dann heute schon eine schöne Map in Fhem zeichnen...
Kannst Du mal zeigen, wie Du in FHEM die Grafik hinbekommen hast?

Übrigens: Mit einer echten Intagration in FHEM müsste man nicht mehr pollen. Der Robot schickt von sich aus zyklisch Meldungen über seinen Zustand, solange die Verbindung offen ist. Ich denke, dass ich das hinbekomme.

Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Markus-L am 06 März 2017, 18:18:07
Hallo

Das sieht doch schon sehr gut aus! Vielen Dank für deinen Einsatz.

Meine SSD ist gestern zuhause leider gestorben - sodass ich gerade nur sehr beschränkt Zugang zu meine fhem instalation habe (aktuell schreibe ich von der arbeit)

Grob funktioniert das mit dem Zeichnen so:
dorita980 trägt komma getrennt xy koordinaten in ein Reading ein. Daraus wird dann mit FileLog ein logfile erstellt
Mit der Hilfe von diesem Thread:
https://forum.fhem.de/index.php?topic=41262.0 (https://forum.fhem.de/index.php?topic=41262.0)
konnte ich dann das Zeichnen machen.

Grob in etwa so:
Mit einem logProxy define und der funktion logProxy_xyFile2Plot (hier muss leider zur Zeit noch ein fester Datei name stehen)

Ich habe mir dann noch eine perl funktion geschrieben, dass den FileLog einließt, alle zeilen des aktuellen Datums herausfiltert und das in eine eigene Datei mit festem namen schreibt und den namen als rückgabe wert zurück gibt.
Diese perlfunktion rufe ich dann als parameter bei der logProxy_xyFile2Plot auf sodass ich immer die map des aktuellen Datums sehe. die Historie geht derzeit noch nicht.

Ja ich weiß - auch diese Lösung ist durchaus wieder etwas kompliziert geworden.  :-[

Sobald ich meinen Laptop wieder habe kann ich gerne genaueres posten.



Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 06 März 2017, 23:00:14
Hi,
so, jetzt redet Robbie wirklich mit mir. Ich habe ein bisschen bei 00_MQTT.pm und auch in DevIo.pm "gewildert". Dabei ist so eine Art vorläufiges Modul Roomba980 herausgekommen.

*** Folgendes würde ich NICHT auf einem produktiven FHEM-System machen. ***

Also die hier angehängte Datei nach <fhem>/FHEM kopieren (übliche RasPi-Installation: /opt/fhem/FHEM).
Dann geht sowas:

define Robbie Roomba980 <ip-addresse>:8883 <blid/username> <passwort>
define RobbieLog FileLog ./log/robbielog-%Y%m%d.log Robbie

Wie man die benötigten Angaben herausbekommt findet man bei dorita980. (Später baue ich das vielleicht auch noch ein.)

Im FileLog müsste dann einiges landen, z.B.

2017-03-06_22:24:10 Robbie lastTopic: wifistat
2017-03-06_22:24:10 Robbie lastContent: {"state":{"reported":{"localtimeoffset":60,"utctime":1488835450,"pose":{"theta":167,"point":{"x":642,"y":20}}}}}
2017-03-06_22:24:10 Robbie lastTopic: $aws/things/3117440832541720/shadow/update
2017-03-06_22:24:10 Robbie lastContent: {"state":{"reported":{"batPct":100,"dock":{"known":false},"bin":{"present":true,"full":false},"audio":{"active":false}}}}
2017-03-06_22:24:10 Robbie lastTopic: $aws/things/3117440832541720/shadow/update
2017-03-06_22:24:10 Robbie lastContent: {"state":{"reported":{"cleanMissionStatus":{"cycle":"none","phase":"charge","expireM":0,"rechrgM":0,"error":0,"notReady":0,"mssnM":32,"sqft":176,"initiator":"localApp","nMssn":19},"language":4,"noAutoPasses":false,"noPP":false,"ecoCharge":false}}}


Wenn nicht, dann mal...

set Robbie disconnect
set Robbie connect

Es gibt da am Anfang noch so ein paar Problemchen, die Verbindung zu halten.

Wahrscheinlich funktoniert die App nicht, während FHEM connected ist (und umgekehrt).

Gruß,
   Thorsten


Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: carlos am 07 März 2017, 07:32:14
Cool, gleich mal ausprobiert und siehe da mein Robbie spricht auch mit mir.
Sehr gut, da kann man weiter drauf aufbauen.
2017-03-07_07:30:13 Robbie lastTopic: wifistat
2017-03-07_07:30:13 Robbie lastContent: {"state":{"reported":{"signal":{"rssi":-40,"snr":47}}}}
2017-03-07_07:30:19 Robbie lastTopic: wifistat
2017-03-07_07:30:19 Robbie lastContent: {"state":{"reported":{"signal":{"rssi":-39,"snr":49}}}}

Danke und Gruß
Carlos
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 07 März 2017, 09:43:26
Hi,
so, die neue Version macht jetzt Readings draus.
Hoffentlich fragt jetzt keiner, was die Readings alle bedeuten. Das Modul wandelt alles, was vom Sauger kommt, stur in Readings um.
Ein paar davon kann ich vielleicht noch "aufhübschen", wie z.B. Zeitangaben oder IP-Adressen.
Gruß,
   Thorsten

Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Markus-L am 07 März 2017, 21:50:08
so - jetzt da mein Rechner wieder läuft die genaue Beschreibung wie das bei mir mit der Map funktioniert:

Basis des ganzen ist, dass es ein logfile gibt in dem das Reading xy: x_value,y_value drinnen vorkommt:
in meinem sieht es derzeit z.B. so aus:
2017-03-01_00:00:44 roomba charge
2017-03-01_00:00:44 roomba x: 0
2017-03-01_00:00:44 roomba y: 0
2017-03-01_00:00:44 roomba theta: 0
2017-03-01_00:00:44 roomba bin_present: true
2017-03-01_00:00:44 roomba bin_full: false
2017-03-01_00:00:44 roomba error: 0
2017-03-01_00:00:44 roomba initiator: manual
2017-03-01_00:00:44 roomba xy: 0,0


Davon brauche ich eigentlich nur die letzte Zeile für die Map.

die fhem.cfg hat folgende defines:



define FileLog_Roomba FileLog ./log/Roomba-%Y-%m.log roomba
attr FileLog_Roomba room Roomba

define roomba_logproxy logProxy
attr roomba_logproxy room Roomba

define RoombaPlot SVG roomba_logproxy:RoombaXY:CURRENT
attr RoombaPlot plotsize 800,420
attr RoombaPlot room Roomba


das RoombaXY.gplot sieht so aus:
# Created by FHEM/98_SVG.pm, 2017-03-03 17:32:50
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title ''
set ytics
set y2tics
set grid
set ylabel ""
set y2label ""
set xrange [-200:900]
set yrange [-300:800]

#roomba_logproxy Func:logProxy_xyFile2Plot(CreateRobiSvgLog(),4,"xy:")

plot "<IN>" using 1:2 axes x1y1 title 'Roomba' ls l0 lw 1 with lines


und die CreateRobiSvgLog funktion in in der 99_myutils
Die Funktion nimmt das aktuelle Logfile vom robi, und kopiert alle Zeilen die heute dazugekommen sind in ein neues Textfile. Als Rückgabe wert gibt es den Namen des neuen Textfiles zurück.
Ein Beispiel Name von einem Eingangslogfile ist Roomba-2017-03.log (für das März logfile)
Die Funktion ist derzeit nicht sehr variable, bzw. muss warscheinlich von jedem händisch auf sein LogfileName angepasst werden.
Das ganze habe ich deswegen gemacht, weil die logProxy_xyFile2Plot Funktion immer alle xy punkte eines Logfiles dargestellt hat. Dementsprechend habe ich ein Logfile gebraucht wo nur die Punkte eines Tages drinnen waren. Außerdem kommt es nur mit festen Dateinamen zurecht (beides nach meinem aktuellen Wissensstand).

sub CreateRobiSvgLog(){
   

   my $date = strftime("%Y-%m-%d", localtime);
   my $inputDate = strftime("%Y-%m", localtime);

   my $in_file_name ="log/Roomba-".$inputDate.".log";
   my $out_file_name="log/robi_svg.log";

   open (DATEI, $in_file_name) or die $!;
   my @lese_daten = <DATEI>;
   close (DATEI);


   open (DATEI, ">".$out_file_name) or die $!;
   my $zeile;
   foreach $zeile (@lese_daten){
     if(index($zeile, $date) >= 0){
        print DATEI $zeile;
     }
   }
   close (DATEI);

   return $out_file_name;
}

Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 07 März 2017, 22:43:03
Hi,
das mit der Map muss ich mir nochmal genauer zu Gemüte führen und mir überlegen, wie man das allgemeingültig einbauen kann.
Es gibt jetzt wieder eine neue Version meines Moduls. Jetzt sind Zeiten, IP-Adressen und die SSID lesbar aufbereitet.

Kommandos (start, stop etc.) konnte ich noch keine einbauen, da der Sauger unseren Kleinen wecken würde. Da muss ich mal tagsüber Zeit finden. Ich glaube aber, dass ich im Prinzip weiß, wie es geht.

Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 11 März 2017, 12:50:54
Hi,
bei dieser Version gibt es jetzt auch "set Robbie start/stop/pause/resume/dock".
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: carlos am 11 März 2017, 15:11:05
Hallo,
Du bist ja echt fleisig am Werk. Werde ich gleich mal testen.
Danke
Gruß
Carlos
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Ma_Bo am 11 März 2017, 15:17:14
Hey Thorsten,
super wie das hier vorwärts geht!!!

Ich habe zwar noch keinen Staubsaugerroboter, suche aber z.Z. nach einem.
Bisher konnte ich mich noch nicht entscheiden, aber dieser Beitrag hier bringt mich immer weiter hin zum 980.

Auch wenn es ein wenig OT ist, wie zufrieden seit ihr mit dem Roomba 980 und wo hakt es vielleicht?
Ich habe jetzt schon ein paar Videos und Berichte gesehen/gelesen und weiss halt noch nicht so recht, ob er wirklich seinen Preis wert ist.

Vielleicht kennt jemand ne günstige Quelle?

Grüße Marcel
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 11 März 2017, 15:42:45
Zitat von: carlos am 11 März 2017, 15:11:05Du bist ja echt fleisig am Werk.
Danke. Da hat gar nicht mehr viel gefehlt. Das Problem ist nur, dass ich das ganze immer nur testen kann, wenn der Kleine nicht schläft...

Zitat von: Ma_Bo am 11 März 2017, 15:17:14Auch wenn es ein wenig OT ist, wie zufrieden seit ihr mit dem Roomba 980 und wo hakt es vielleicht?
Also ich habe keinen Vergleich. Ein Freund von mir hat einen Roomba (älteres und "kleineres" Modell) und noch einen anderen (keine Ahnung, was genau) und er sagt, dass der Roomba viel besser ist.
Ich kann nur sagen, dass Teil im Prinzip gut funktioniert. Man kann halt nicht erwarten, dass nach einmal Saugen alles picobello sauber ist. Man muss das Ding schon täglich laufen lassen.
Es hakt bei zwei Dingen:
Leichte, aber hohe Teppiche. Wenn ein Teppich zu leicht ist, dann schiebt er ihn eher weg, als dass er "hochklettert". Dabei kann es passieren, dass er sich aus dem Teppich eine Wand baut und abdrehen muss. Dadurch ist unserer schon einmal in einer Ecke hängen geblieben. Das passiert aber natürlich nur, wenn er keinen alternativen Weg hat. Wenn es einen alternativen Weg gibt, dann findet er ihn immer. Außerdem schafft er tatsächlich Absätze bis etwa 2cm Höhe.
Zweitens: Kabel. Z.B. Lautsprecherkabel verheddern sich in den Reinigungswalzen. Dann steckt das Teil fest bzw. zieht das, was an den Kabeln hängt ggf. mit sich. Das zwingt einen dazu, Kabel ordentlich zu verlegen. Man kann aber auch die "virtuelle Wand" aufstellen, aber dann wird dort nicht gesaugt.

Was bei allen Robot-Saugern wichtig ist: Sie wissen nicht, wenn irgendein Schmodder (Hundescheiße, Babybrei oder so) auf dem Bioden liegt. Das wird dann über die ganze Wohnung verteilt. Das ist mir noch nicht passiert, aber es gibt dazu gefühlt hunderte Videos.

Gruß,
   Thorsten


Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Markus-L am 12 März 2017, 21:46:39
Hi,
auch von mir vielen Dank für deinen Einsatz. Das ging echt um einiges schneller als ich erwartet hatte!

Ich habe heute ebenfalls von meiner Lösung auf deine Umgestellt. Es hat alles auch soweit ganz gut funktioniert.

Aktuell bekomme ich aber ungefär jede Minute einen Logeintrag in meinen Haupt FHEM Log:

2017.03.12 21:40:47 1: 192.168.1.53:8883 disconnected, waiting to reappear (Robbie)
2017.03.12 21:40:49 1: 192.168.1.53:8883 reappeared (Robbie)
2017.03.12 21:41:47 1: 192.168.1.53:8883 disconnected, waiting to reappear (Robbie)
2017.03.12 21:41:49 1: 192.168.1.53:8883 reappeared (Robbie)
2017.03.12 21:42:47 1: 192.168.1.53:8883 disconnected, waiting to reappear (Robbie)
2017.03.12 21:42:49 1: 192.168.1.53:8883 reappeared (Robbie)
2017.03.12 21:42:49 1: 192.168.1.53:8883 disconnected, waiting to reappear (Robbie)
2017.03.12 21:42:54 1: 192.168.1.53:8883 reappeared (Robbie)


Ist das bei euch auch so?


edit: ach, mir ist nun aufgefallen, dass ich schon wieder eine neue Version habe: v2.2.5-2
Viel an der Kommunikation haben sie aber wohl nicht geändert. Dein Modul funktioniert soweit auch mit der neuen Version.
=>  es gibt jetzt ein Reading "mapUploadAllowed" - evtl. gibts bald auch ein Map Feature von iRobot direkt...
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: PsychoD am 13 März 2017, 14:50:05
Moin zusammen,

wie cool - 1000 Dank an Thorsten für den Einsatz! Nachdem unser Roomba 780 sein Brot nach 6 Jahren verdient hat und immer mehr Alterserscheinungen bekommt, habe ich eben bei EBay ne günstige B-Ware vom 980 geschossen - ich freu mich schon das Modul auszuprobieren!

Viele Grüße
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Det20 am 17 März 2017, 16:14:30
Abgefahren ... Vielen Dank für die Arbeit, der 980 war eines der letzten (Standalone-) Geräte, die noch nicht im FHEM eingebunden sind/waren. Bin gespannt, was bei diesem Modul noch kommt.

Ich habe dorita980 wieder gelöscht, anscheinend brauche ich es nur wegen dem Kennwort. Die Mappe (rest980) wird korrekt gezeichnet (bekriegt sich aber mit Deinem Modul) wobei mir aufgefallen ist, dass Port 3000 bereits belegt ist (musste auf einen anderen wechseln). Da muss ich mal schauen wer da so horcht.

Also, vielen Dank nochmal für Deine Arbeit. Sehr geil!

PS: Würde mich freuen wenn Du es eincheckst, dann bin ich bei Updates immer mit dabei
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 17 März 2017, 18:17:40
Zitat von: Markus-L am 12 März 2017, 21:46:39Aktuell bekomme ich aber ungefär jede Minute einen Logeintrag in meinen Haupt FHEM Log:
Ist das immer noch so?

Zitat
=>  es gibt jetzt ein Reading "mapUploadAllowed" - evtl. gibts bald auch ein Map Feature von iRobot direkt...
Irgend eine Idee, was man damit anfangen kann? "upload" klingt irgendwie danach, dass man dem Robbie eine Karte hochladen kann.

Zu der Sache mit User/Passort: Momentan bin ich dran, die UDP-Kommunikation für's Discovery hinzubekommen. Das ist Voraussetzung  für die Ermittlung des Passworts.
Also wer dazu noch Ideen hat: https://forum.fhem.de/index.php/topic,69117.0.html

Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Det20 am 17 März 2017, 18:48:02
Könntest Du für den Moment noch den aktuellen Status vom Roomba einbauen? Dann könnte ich es direkt in FTUI integrieren.
Unter "cleanMissionStatus-phase" steht bei mir "run" während er läuft, "stop", wenn ich ihn gestoppt habe. "hmUsrDock" wenn er auf dem Weg ins Dock ist und "charge", wenn er im Dock wartet/lädt.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 17 März 2017, 23:49:08
Zitat von: Det20 am 17 März 2017, 18:48:02
Könntest Du für den Moment noch den aktuellen Status vom Roomba einbauen?
Was meinst Du damit?
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Det20 am 18 März 2017, 12:57:35
Leider zu früh gefreut: Was gestern abend noch funktioniert hat, klappt heute nicht mehr. Das Modul bekommt keine Verbindung mehr zum Roomba, egal ob ich connect, disconnect oder so durchführe. Neustart FHEM, RaspPi ändern daran leider nichts. Ich habe außerdem das Gefühl, dass FHEM ordentlich langsamer wird, kann aber auch sein, dass das Modul in einen Timeout läuft. Der Roomba hat eine feste IP Adresse, daran kann es nicht liegen.

Nachtrag: Nach entfernen des Roomba980 Devices fluppt FHEM wieder. Anscheinend bremst die HTTP Anfrage, die anschließend ins leere führt, das System aus.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Markus-L am 18 März 2017, 22:27:45
Zitat von: Thorsten Pferdekaemper am 17 März 2017, 18:17:40
Ist das immer noch so?

Ich wollte es gerade nochmal überprüfen, dabei haben ich dann festgestellt, dass bei mir nun ebenfalls das Problem auftritt, dass keine ich keine Verbindung mehr aufbauen kann - ohne was an den Einstellung geändert habe.
Die Fehlermeldung ist folgende:
2017.03.18 22:25:46 5: MQTT Robbie message sent: Disconnect/at-most-once
2017.03.18 22:25:46 5: SW: e000
2017.03.18 22:25:47 3: Opening Robbie device 192.168.1.53:8883
2017.03.18 22:25:50 3: Can't connect to 192.168.1.53:8883: Resource temporarily unavailable



=> die neue iRobot App ist übrigens raus - und es gibt nun direkt darin ein Map Feature.
Allerdings hat mir das ganze in FHEM besser gefallen.

Es sieht so aus, als ob die Maps in der neuen Firmware auf den Robbi gespeichert werden. Ich konnte auf jedenfall nachdem ich die App auf aktuellen Stand gebracht hatte mir auch Maps der letzten Woche anschauen.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 19 März 2017, 09:49:51
Zitat von: Det20 am 18 März 2017, 12:57:35Das Modul bekommt keine Verbindung mehr zum Roomba, egal ob ich connect, disconnect oder so durchführe. Neustart FHEM, RaspPi ändern daran leider nichts.
Ich habe das auch manchmal, aber wenn ich dann versuche, dem ganzen nachzugehen, funktioniert es genauso plötzlich wieder.
Kann es sein, dass parallel noch die Verbindung zur App offen ist? Das geht glaube ich nicht.

ZitatIch habe außerdem das Gefühl, dass FHEM ordentlich langsamer wird, kann aber auch sein, dass das Modul in einen Timeout läuft.
Das kann gut sein, da der connect wahrscheinlich blockiert. Das ganze ist halt immer noch ein erster Wurf. Außerdem sendet das Ding beim Saugen seine Position etwa im Sekundentakt. Das wird auf kleinen Maschinen (z.B. RasPi1) bestimmt etwas viel.

Zitat von: Markus-L am 18 März 2017, 22:27:45
Ich wollte es gerade nochmal überprüfen, dabei haben ich dann festgestellt, dass bei mir nun ebenfalls das Problem auftritt, dass keine ich keine Verbindung mehr aufbauen kann - ohne was an den Einstellung geändert habe.
Siehe oben.

ZitatEs sieht so aus, als ob die Maps in der neuen Firmware auf den Robbi gespeichert werden. Ich konnte auf jedenfall nachdem ich die App auf aktuellen Stand gebracht hatte mir auch Maps der letzten Woche anschauen.
Tja, da das ganze aber verschlüsselt ist, weiß ich nicht, wie ich den Befehl zum Runterladen erkennen soll...

Gruß,
   Thorsten


Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Det20 am 19 März 2017, 12:15:50
Es war nur positive Kritik. Bin aber sehr gespannt auf ev zukünftige Versionen. Für den Moment musste ich das Modul erstmal wieder vom Netz nehmen, konnte FHEM kaum noch bedienen (RaspPi 3)
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 19 März 2017, 17:47:33
Zitat von: Det20 am 19 März 2017, 12:15:50
Für den Moment musste ich das Modul erstmal wieder vom Netz nehmen, konnte FHEM kaum noch bedienen (RaspPi 3)
Bei einem Pi 3 liegt das wahrscheilich an den blockierenden Verbindungsversuchen.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Det20 am 21 März 2017, 08:48:12
Wenn Du eine nicht-blockierende Version hast, teste ich sehr gerne.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Det20 am 29 März 2017, 11:04:48
Möchte das ganz gerne nochmal pushen. Gibt's schon was neues?
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 29 März 2017, 11:12:34
Hi,
ich habe inzwischen ein "Discover" als Prototyp hinbekommen, das den Robot automatisch im Netzwerk findet. Allerdings hilft das wenig, da das mit dem Passwort noch nicht klappt. Das Blöde ist, dass ich nur dazukomme, wenn das Baby schläft. Zum Ausprobieren der Sache mit dem Passwort muss man einen Knopf am Robot drücken, was dieser mit Gepiepse quittiert. ...und das was dann kommt ist extrem WAF-schädlich.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Det20 am 29 März 2017, 11:29:17
Kenne ich, wo Frauen sowieso schon so offen für Hausautomaten sind  ;)

Hast Du eine Idee, wieso sich nicht mehr mit dem Roomba verbunden werden kann? Er hat ja eine statische IP.
Ansonsten würde auch erstmal eine Non-Blocking-Variante für ein Lächeln sorgen.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 29 März 2017, 11:41:58
Zitat von: Det20 am 29 März 2017, 11:29:17
Kenne ich, wo Frauen sowieso schon so offen für Hausautomaten sind  ;)
Das ist bei mir an sich kein Problem.

Zitat
Hast Du eine Idee, wieso sich nicht mehr mit dem Roomba verbunden werden kann? Er hat ja eine statische IP.
Nein. Wie schon gesagt: Ich hatte das Problem auch schon zweimal, aber jedesmal, wenn ich dem nachgehen wollte, hat es einfach wieder funktioniert. Es kann damit zusammenhängen, dass die App auf dem Handy vielleicht noch die Verbindung hält. Schau dort mal nach.

Zitat
Ansonsten würde auch erstmal eine Non-Blocking-Variante für ein Lächeln sorgen.
Ok, das müsste auch ohne Gepiepse gehen. Kann aber trotzdem ein paar Tage dauern.

Gruß,
   Thorsten

Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Det20 am 29 März 2017, 11:55:32
Bin ein dankbarer Abnehmer
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: biky am 04 April 2017, 17:16:05
Hallo Thorsten,

ich war so sehr in das Basteln einer eigenen Lösung vertieft, dass ich dein Modul gar nicht gesehen habe.  ::) Habe dein Modul installiert... und läuft. RESPEKT
Aktuell bekomme ich alle Readings im Abstand von ca. einer Minute. Mal sehen wie FHEM darauf reagiert.
Firmwarestand: 2.2.5-2
Ich konnte auch feststellen, das sich APP und das Modul gegenseitig blockieren. Doch wozu braucht man jetzt noch die APP??  8)

Grüßle
Axel
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: biky am 08 April 2017, 18:46:58
Hallo Thorsten,

ich musste das Modul leider wieder deaktivieren, es hat nach 36 Stunden FHEM komplett blockiert.

viele Grüße
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 08 April 2017, 18:57:59
Zitat von: biky am 08 April 2017, 18:46:58ich musste das Modul leider wieder deaktivieren, es hat nach 36 Stunden FHEM komplett blockiert.
Das tut mir leid, aber ich konnte diese ganzen Blockierer nicht nachvollziehen. Kannst Du nähere Angaben machen, die bei der Fehleranalyse helfen könnten?
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Det20 am 09 April 2017, 10:47:18
Im Log steht nur folgendes. Wieso nun "unacceptable protocol version" kommt ist mir ein Rästel. IP ist statisch, Roboter-Softwareversion ist 2.2.5-2, zuletzt aktualisiert am 8.3.2017


2017.04.09 10:45:14 3: Opening Roomba device 192.168.0.74:8883
2017.04.09 10:45:16 5: MQTT Roomba message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[9781]
2017.04.09 10:45:16 5: SW: 102400044d5154540402001e00184e65743a3a4d5154543a3a4d6573736xxxxxxxxxxxxxxxxxxxxxxxx
2017.04.09 10:45:16 5: MQTT Roomba message sent: PingReq/at-most-once
2017.04.09 10:45:16 5: SW: c000
2017.04.09 10:45:16 3: Roomba device opened
2017.04.09 10:45:16 5: MQTT Roomba message received: ConnAck/at-most-once Connection Refused: unacceptable protocol version
2017.04.09 10:45:16 1: 192.168.0.74:8883 disconnected, waiting to reappear (Roomba)


PS: Ein "Enabled" Attribut wäre toll, dann muss ich den Roomba nicht jedesmal aus der CFG werfen, sondern nur disablen.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 09 April 2017, 11:02:19
Hi,
diese Meldungen sind mir auch irgendwie ein Rätsel. Ich kann nur vermuten, dass der Entwicklungsprozess bei iRobot so ähnlich ist wie bei anderen großen Firmen...
Statt disable könntest Du doch einfach "set ... disconnect" machen. Das sollte eigentlich reichen.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: sTaN am 11 April 2017, 19:03:25
Hallo Zusammen,

ich bin nun auch stolzer Besitzer eines iRobot Roomba 966. Dem Titel zu urteilen geht dieser Thread hauptsächlich um den Roomba 980.
Gibt es eventuell schon einen Wiki Eintrag zu dem Thema und wird das Modul für die komplette 900er Serie funktionieren?

Viele Grüße
sTaN
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 11 April 2017, 19:07:05
Zitat von: sTaN am 11 April 2017, 19:03:25ich bin nun auch stolzer Besitzer eines iRobot Roomba 966. Dem Titel zu urteilen geht dieser Thread hauptsächlich um den Roomba 980.
Gibt es eventuell schon einen Wiki Eintrag zu dem Thema und wird das Modul für die komplette 900er Serie funktionieren?
Ich glaube nicht, dass es einen Wiki-Eintrag gibt. Ob das mit dem 966er funktioniert müsstest Du ausprobieren. Keine Ahnung...
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: biky am 14 April 2017, 23:37:40
Zitat von: Thorsten Pferdekaemper am 08 April 2017, 18:57:59
Das tut mir leid, aber ich konnte diese ganzen Blockierer nicht nachvollziehen. Kannst Du nähere Angaben machen, die bei der Fehleranalyse helfen könnten?
Gruß,
   Thorsten

Hallo Thorsten,

ich musste ein paar Tage auf Dienstreise..
wenn ich das Modul mit

define Robbie2 Roomba980 <ip-addresse>:8883 <blid> <passwort>

einrichte, bekomme ich alle Readings im Sekundentakt.. Schon dass blockiert innerhalb ein paar Stunden FHEM.
Ich habe dann in deinem Modul die allgemeinen Attribute aktiviert  ??? und mit "event-on-change-reading .*" die Readings etwas eingeschränkt.
Jetzt bekomme ich im Sekundentakt "nur" noch folgendes


2017.04.14 23:29:29 1 : 192.168.xxx.xx:8883 disconnected, waiting to reappear (Robbie2)
2017-04-14 23:29:29 Roomba980 Robbie2 DISCONNECTED
2017-04-14 23:29:31 Roomba980 Robbie2 utctime: 2017-04-14 23:29:27
2017-04-14 23:29:32 Roomba980 Robbie2 tz-events: [{"off":60,"dt":1489027310},{"dt":1490490001,"off":120},{"dt":1509238801,"off":60}]
2017-04-14 23:29:33 Roomba980 Robbie2 signal-rssi: -25
2017-04-14 23:29:33 Roomba980 Robbie2 signal-snr: 54
2017.04.14 23:29:34 1 : 192.168.xxx.xx:8883 disconnected, waiting to reappear (Robbie2)
2017-04-14 23:29:34 Roomba980 Robbie2 DISCONNECTED
2017.04.14 23:29:35 1 : 192.168.xxx.xx:8883 disconnected, waiting to reappear (Robbie2)
2017-04-14 23:29:35 Roomba980 Robbie2 DISCONNECTED
2017-04-14 23:29:37 Roomba980 Robbie2 utctime: 2017-04-14 23:29:33
2017-04-14 23:29:38 Roomba980 Robbie2 tz-events: [{"off":60,"dt":1489027310},{"off":120,"dt":1490490001},{"off":60,"dt":1509238801}]
2017.04.14 23:29:38 1 : 192.168.xxx.xx:8883 disconnected, waiting to reappear (Robbie2)
2017-04-14 23:29:38 Roomba980 Robbie2 DISCONNECTED
2017-04-14 23:29:40 Roomba980 Robbie2 utctime: 2017-04-14 23:29:36
2017-04-14 23:29:41 Roomba980 Robbie2 tz-events: [{"off":60,"dt":1489027310},{"dt":1490490001,"off":120},{"dt":1509238801,"off":60}]
2017-04-14 23:29:42 Roomba980 Robbie2 signal-snr: 53
2017.04.14 23:29:44 1 : 192.168.xxx.xx:8883 disconnected, waiting to reappear (Robbie2)
2017-04-14 23:29:44 Roomba980 Robbie2 DISCONNECTED
2017-04-14 23:29:46 Roomba980 Robbie2 utctime: 2017-04-14 23:29:42
2017-04-14 23:29:47 Roomba980 Robbie2 bbsys-min: 56
2017-04-14 23:29:51 Roomba980 Robbie2 signal-rssi: -24
2017-04-14 23:29:51 Roomba980 Robbie2 signal-snr: 55
2017.04.14 23:30:05 1 : 192.168.xxx.xx:8883 disconnected, waiting to reappear (Robbie2)
2017-04-14 23:30:05 Roomba980 Robbie2 DISCONNECTED


Das ist nur ein Ausschnitt. Nach ein paar Stunden reagiert FHEM nicht mehr.. leider.

viele Grüße
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 15 April 2017, 13:28:41
Zitat von: biky am 14 April 2017, 23:37:40einrichte, bekomme ich alle Readings im Sekundentakt.. Schon dass blockiert innerhalb ein paar Stunden FHEM.
Dass Readings im Sekundentakt kommen liegt am Roomba selbst. Das Ding schickt sie halt so. Mir ist allerdings nicht ganz klar, warum das erst nach ein paar Stunden Probleme bereitet und nicht sofort. Ok, möglicherweise ist Dein System damit ein ganz klein wenig überlastet und fällt dann sozusagen mit anderen Sachen immer mehr zurück.
Auf welchem System läuft das? Kannst Du das mal mit apptime prüfen? 

Zitat
Ich habe dann in deinem Modul die allgemeinen Attribute aktiviert  ??? und mit "event-on-change-reading .*" die Readings etwas eingeschränkt.
Jetzt bekomme ich im Sekundentakt "nur" noch folgendes
Das einzige, was mich etwas wundert sind die dauernden Disconnects. Der Rest ist dann klar: Wenn das Ding sich wieder verbindet, dann kommen erstmal alle "Anfangs-Nachrichten".

Bei mir läuft das, wenn ich es ausprobiere, auf einem Pentium i7 mit 2,5GHz und 16 GB RAM. Den bringt halt nichts so schnell aus der Ruhe. Ich glaube, ich habe auch noch einen RasPi 2 rumliegen, vielleicht sollte ich das mal damit testen.

Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: biky am 15 April 2017, 14:19:38
Hallo Thorsten,

bei mir läuft FHEM auf einem RasPi 3, der kann mit einem I7 natürlich nicht mithalten..
Ich werde mal apptime starten..

viele Grüße
Axel
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Det20 am 15 April 2017, 23:38:23
RasPi 3, too
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: biky am 19 April 2017, 21:36:03
Hallo Thorsten,

hier ein Auszug des Apptime-Logs nach "nur" 3 Stunden.. Ein erfolgreiches Connect war zur der Zeit gar nicht möglich..

                                                                   
                                         





namefunctionmaxcounttotalaveragemaxDly
Robbie2 Roomba980::Ready 127398 5557 1909828 343.680 HASH(Robbie2) 
Robbie2 Roomba980::Set 127414 18254719 14151.06 0 HASH(Robbie2); Robbie2; connect
Robbie2Log FileLog_Log4 31.33 0 HASH(Robbie2Log); HASH(Robbie2)



Leider sagt mir die Ausgabe nicht wirklich wo das Problem liegt.. :-(

viele Grüße
Axel
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 20 April 2017, 08:35:24
Hi,
also man sieht, dass bei Dir 5557 Mal "Ready" aufgerufen wurde. Das wird bei Linux eigentlich nur dann aufgerufen, wenn die Verbindung zum Device abgebrochen ist. Ansonsten hast Du wahrscheinlich 18-Mal "set connect" versucht. Beiden ist gemeinsam, dass die Funktionen versuchen, ein Connect zum Sauger zu machen.
Jeweils mindestens ein Aufruf hat dabei etwa zwei Minuten (127398 ms bzw. 127414 ms) gedauert, was sehr seltsam ist, da es eigentlich einen 3-Sekunden-Timeout gibt. Ok, es wird da noch versucht, etwas zu senden, aber das darf auch nicht so lange dauern.
Ich denke, ich muss das tatsächlich selbst mal auf einem RasPi laufen lassen und hoffen, dass ich die Probleme dann auch habe.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: ovi.p am 24 Mai 2017, 14:29:03
Für alle die noch mit der Anschaffung eines iRobot Roomba 980 liebäugeln...

....den gibt es jetzt in der Mann-Geote Aktion bei Saturn mit 777 Euro (Normalpreis 999), aber nur zwischen dem 24-28 Mai 2017.

Habe mir eben einen online bestellt und eben im Markt abgeholt.

Werde mich auch an der FHEM-Integration beteiligen.

viele Grüsse,
Ovi
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 24 Mai 2017, 19:04:23
Zitat von: ovi.p am 24 Mai 2017, 14:29:03
Werde mich auch an der FHEM-Integration beteiligen.
Das wäre gut, da ich es irgendwie nicht schaffe. Basteln geht nur abends und da soll kein Staubsauger rumfahren oder piepsen, da wir ein noch recht betreuungsintensives Familienmitglied mit einem sehr leichten Schlaf haben.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: amenomade am 24 Mai 2017, 19:24:28
Ohropax!   ;)

Via Tapatalk

Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: parp69 am 25 Mai 2017, 03:43:00
Hallo

Kann mir jemand sagen wie man nur start, stop home und pause in einem Skript realisieren kann ohne das mit dorita980. Ich bin leider nicht in der Lage aus dem dorita980 raus zu lesen wo die data Adresse liegt. Ich brauche ein beispiel.
Passwort und User habe ich.

Bitte um einen Tipp.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 25 Mai 2017, 08:25:30
Hi,
ganz so einfach ist das nicht. Ich habe hier nochmal den aktuellen Stand des Moduls drangehängt.
Du kannst ja mal analysieren, was bei "set start" passiert.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: parp69 am 26 Mai 2017, 04:45:05
Vielen dank erstmal.
Leider kenne ich mich in Perl nicht aus bin mehr mit lua script unterwegs.
Schade aber ich werde versuchen etwas raus zu interpretieren.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Heggeg am 02 Juni 2017, 09:49:18
Wäre jemand so Nett eine kurze schritt für schritt Anleitung für einen nicht Programmier affinen zu schreiben?

Ich möchte nur den Status von meinem Roomba 980 Abfragen können und Starten, Stoppen und vielleicht zurück in die Basis fahren lassen.

Ich wäre demjenigen extrem dankbar, ich würde auch einen Kasten Bier per Paypal spendieren.

Gruß,
Heggeg
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Esjay am 02 Juni 2017, 13:12:48
Zitat von: Heggeg am 02 Juni 2017, 09:49:18
Wäre jemand so Nett eine kurze schritt für schritt Anleitung für einen nicht Programmier affinen zu schreiben?

Ich möchte nur den Status von meinem Roomba 980 Abfragen können und Starten, Stoppen und vielleicht zurück in die Basis fahren lassen.

Ich wäre demjenigen extrem dankbar, ich würde auch einen Kasten Bier per Paypal spendieren.

Gruß,
Heggeg

Ich habe jetzt zwar keinen Roomba, aber in Post 30 steht meiner Meinung nach schon alles was du wissen musst.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Heggeg am 02 Juni 2017, 15:05:56
Zitat von: Esjay am 02 Juni 2017, 13:12:48
Ich habe jetzt zwar keinen Roomba, aber in Post 30 steht meiner Meinung nach schon alles was du wissen musst.

Danke dir!
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Spiff am 07 Juni 2017, 10:31:05
Hallo Thorsten,

vielen Dank für dieses tolle Modul. Ich habe es jetzt in der vorletzten Version seit ca. 2 Wochen am Laufen und es wirkt sehr zuverlässig! Ich habe gerade ein Update auf die letzte Version gemacht und berichte, wenn mir etwas auffällt.

Ich habe schonmal ein 3 Anmerkungen:
- der state bleibt auf opened, auch wenn man den Roomba disconnected. Ich hätte gerne in einer Readingsgroup eine Anzeige, ob die Verbindung okay ist.
- Könnte man das (siehe Zitat) in das Modul einbauen? Am reading cleanMissionStatus-phase kann man ablesen, was der Roomba gerade so treibt und dieses aktualisiert sich hin und wieder einfach so, bzw. auch mehrmals, wenn er ins Dock gefahren ist. Dann sendet mir Telegram mehrmals die gleiche Nachricht.
Zitat von: biky am 14 April 2017, 23:37:40
Ich habe dann in deinem Modul die allgemeinen Attribute aktiviert  ??? und mit "event-on-change-reading .*" die Readings etwas eingeschränkt.
- was ist der unterschied zwischen start und resume bzw. stop und pause?
Ich nutze bisher nur start/stop.

Danke nochmal und viele Grüße
Spiff.

P.S.: kleine WAF-Anekdote: auf meine Frage hin, ob sie lieber die iRobot-App nutzen oder wie alles andere zentral über fhem steuern will, sagte sie sofort "fhem!". Und das, obwohl die iRobot-App gar nicht schlecht ist. :)
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Det20 am 05 Juli 2017, 15:10:23
Habe das Projekt leider in letzter Zeit nicht weiter verfolgt. Gibt es Neuigkeiten? Blockiert es immer noch nach einigen Stunden?
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Spiff am 05 Juli 2017, 15:51:30
Hi!

Bei mir läuft es wirklich sehr gut und wird auch produktiv eingesetzt.
Woran soll denn das Blockieren gelegen haben?
Mein fhem läuft auf Windows und hat deswegen viel Dampf, da dauert es vielleicht länger, bis es abschmiert.

Gruß
Spiff.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: mkihr am 09 Juli 2017, 20:38:46
Ich habe es mal ausprobiert. Leider funktioniert es bei mir gar nicht.
Immer wenn ich den define mache erhalte diese Meldungen im log:
PERL WARNING: Roomba980::messageToReadings() called too early to check prototype at ./FHEM/42_Roomba980.pm line 350.
Expected 'PeerService' at ./FHEM/42_Roomba980.pm line 263.

und FHEM stürtzt ab.
Ich kann den Roomba mit den gleichen Parametern (IP, blip und passwort) per rest980 steuern.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 10 Juli 2017, 09:37:01
Zitat von: mkihr am 09 Juli 2017, 20:38:46PERL WARNING: Roomba980::messageToReadings() called too early to check prototype at ./FHEM/42_Roomba980.pm line 350.
Das ist egal.
Zitat
Expected 'PeerService' at ./FHEM/42_Roomba980.pm line 263.
Da vermute ich mal, dass die IO::Socket-Version irgendwie nicht ganz stimmt. Hast Du IO::Socket mal auf den neusten Stand gebracht?
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: mkihr am 11 Juli 2017, 13:25:10
Zitat von: Thorsten Pferdekaemper am 10 Juli 2017, 09:37:01
Das ist egal.Da vermute ich mal, dass die IO::Socket-Version irgendwie nicht ganz stimmt. Hast Du IO::Socket mal auf den neusten Stand gebracht?
Gruß,
   Thorsten

Ist auf aktuellem Stand: IO::Socket is up to date (1.38).
Auch nach update von FHEM und aptitude full-upgrade bleibt es bei dem Fehler.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 11 Juli 2017, 21:12:37
Hi,
seltsam. Hast Du im Define auch nicht das ":8883" vergessen?
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: mkihr am 13 Juli 2017, 14:45:16
Doch. Kaum macht man es richtig, geht es.
Hatte allerdings alles was ich brauche inzwischen auch mittels rest980 und HTTPMOD realsiert.
Muss mal noch ein bisschen rumprobieren, was besser funktioniert.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 17 Juli 2017, 17:35:39
Hallo zusammen,
heute ist mein Roomba980 gekommen  :)

username/blid & Passwort per dorita980 ausgelesen, Steuerung per iRobot-App läuft auch.
Natürlich wollte ich Ihn gleich in fhem einbinden, leider bekomme ich kein Connect.

Allerdings hat der kleine noch ne FW v1.6.4!  :o Liegt es daran, brauche ich die FW > v2?

Danke!
luetty
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 17 Juli 2017, 17:43:25
Zitat von: luetty am 17 Juli 2017, 17:35:39Allerdings hat der kleine noch ne FW v1.6.4!  :o Liegt es daran, brauche ich die FW > v2?
Ja. Ein bisschen Geduld, das kommt von alleine in den nächsten paar Wochen.
Gruß,
    Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 17 Juli 2017, 17:58:30
Zitat von: Thorsten Pferdekaemper am 17 Juli 2017, 17:43:25
Ja. Ein bisschen Geduld, das kommt von alleine in den nächsten paar Wochen.
Gruß,
    Thorsten
Ich hab's befürchtet  >:( Sowas liebe ich  ::) ::) ::)

Danke für Dein schnelles Feedback und natürlich auch für dieses Modul!
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Spiff am 17 Juli 2017, 18:15:32
Bei mir kam es glaube ich noch am ersten Tag, spätestens am zweiten nach Inbetriebnahme. - vielleicht dauerte das anfangs beim ersten Ausrollen durch die Vielzahl an Geräten länger.

Gruß
Spiff
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 17 Juli 2017, 18:19:11
Zitat von: Spiff am 17 Juli 2017, 18:15:32
Bei mir kam es glaube ich noch am ersten Tag, spätestens am zweiten nach Inbetriebnahme. - vielleicht dauerte das anfangs beim ersten Ausrollen durch die Vielzahl an Geräten länger.

Gruß
Spiff
ich harre der Dinge, die da kommen werden  ;) Danke, dass macht zumindest schon mal "Mut"  8)
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: DanHard am 17 Juli 2017, 22:32:18
Zitat von: luetty am 17 Juli 2017, 18:19:11
ich harre der Dinge, die da kommen werden  ;) Danke, dass macht zumindest schon mal "Mut"  8)

Habe meinen Robi seit 2 Wochen, das Update hat er schon in der zweiten Nacht eingespielt! Ich drück dir die Daumen... [emoji16]
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 17 Juli 2017, 22:49:44
Zitat von: DanHard am 17 Juli 2017, 22:32:18
Habe meinen Robi seit 2 Wochen, das Update hat er schon in der zweiten Nacht eingespielt! Ich drück dir die Daumen... [emoji16]

Scheint geholfen zu haben, manchmal ist man halt zu ungeduldig  ;)
21:23 fing WhatsApp an zu explodieren und hat mir batteryType-Warnungen vom Roombi geschickt. Ein klares Zeichen dafür, dass dieses Modul hier funktioniert und die FW unseres "neuen" aktualisiert wurde!  ;D ;D
Jetzt kann ich mich damit beschäftigen  8)
Allerdings geht der state laufend von opened auf disconnected, dadurch werden auch die readings jedesmal neu getriggert. Uncool :-( Kennt jemand das Problem?

edit: leider 2x innerhalb 16h fhem komplett lahmgelegt  :-\ Bin weiter am beobachten.

Lasst Ihr Euren Sauger permanent connected?
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 19 Juli 2017, 12:57:16
Hallo zusammen,

leider heute morgen wieder ein Crash von fhem.  ::)
Folgenden Fehler fand ich bis jetzt diesbzgl. immer in den logs:

2017.07.19 09:11:57 3: Opening Roombi device roombi.xy.z:8883
2017.07.19 09:11:58 3: Roombi device opened
decode_string: insufficient data at FHEM/lib/Net/MQTT/Message/Publish.pm line 36.
2017.07.19 09:12:01 1: BlockingInformParent (BlockingStart): Can't connect to localhost:41736: IO::Socket::INET: connect: Connection refused
2017.07.19 09:12:01 1: BlockingInformParent (PRESENCE_ProcessLocalScan): Can't connect to localhost:41736: IO::Socket::INET: connect: Connection refused
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/opt/yowsup-master/yowsup/demos/cli/cli.py", line 153, in startInputThread
    cmd = self._queuedCmds.pop(0) if len(self._queuedCmds) else input(self.getPrompt()).strip()
EOFError: EOF when reading a line

Traceback (most recent call last):
  File "/opt/yowsup-master/yowsup-cli", line 368, in <module>
    if not parser.process():
  File "/opt/yowsup-master/yowsup-cli", line 268, in process
    self.startCmdline()
  File "/opt/yowsup-master/yowsup-cli", line 297, in startCmdline
    stack.start()
  File "/opt/yowsup-master/yowsup/demos/cli/stack.py", line 26, in start
    self.stack.loop(timeout = 0.5, discrete = 0.5)
  File "/opt/yowsup-master/yowsup/stacks/yowstack.py", line 188, in loop
    asyncore.loop(*args, **kwargs)
  File "/usr/lib/python2.7/asyncore.py", line 216, in loop
    poll_fun(timeout, map)
  File "/usr/lib/python2.7/asyncore.py", line 156, in poll
    read(obj)
  File "/usr/lib/python2.7/asyncore.py", line 87, in read
    obj.handle_error()
  File "/usr/lib/python2.7/asyncore.py", line 83, in read
    obj.handle_read_event()
  File "/usr/lib/python2.7/asyncore.py", line 449, in handle_read_event
    self.handle_read()
  File "/opt/yowsup-master/yowsup/layers/network/layer.py", line 102, in handle_read
    self.receive(data)
  File "/opt/yowsup-master/yowsup/layers/network/layer.py", line 110, in receive
    self.toUpper(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 76, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/stanzaregulator/layer.py", line 29, in receive
    self.processReceived()
  File "/opt/yowsup-master/yowsup/layers/stanzaregulator/layer.py", line 49, in processReceived
    self.toUpper(oneMessageData)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 76, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/auth/layer_crypt.py", line 65, in receive
    self.toUpper(payload)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 76, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/coder/layer.py", line 35, in receive
    self.toUpper(node)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 76, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/logger/layer.py", line 14, in receive
    self.toUpper(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 76, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/axolotl/layer_control.py", line 44, in receive
    self.toUpper(protocolTreeNode)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 76, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 189, in receive
    s.receive(data)
  File "/opt/yowsup-master/yowsup/layers/axolotl/layer_receive.py", line 44, in receive
    self.toUpper(protocolTreeNode)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 76, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 189, in receive
    s.receive(data)
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 121, in receive
    if not self.processIqRegistry(node):
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 156, in processIqRegistry
    successClbk(protocolTreeNode, originalIq)
  File "/opt/yowsup-master/yowsup/layers/protocol_iq/layer.py", line 30, in onPong
    self.toUpper(ResultIqProtocolEntity.fromProtocolTreeNode(protocolTreeNode))
  File "/opt/yowsup-master/yowsup/layers/__init__.py", line 76, in toUpper
    self.__upper.receive(data)
  File "/opt/yowsup-master/yowsup/layers/interface/interface.py", line 80, in receive
    self.entity_callbacks[entityType](entity)
  File "/opt/yowsup-master/yowsup/demos/cli/layer.py", line 458, in onIq
    print(entity)
IOError: [Errno 32] Broken pipe


Scheint an MQTT zu liegen, was fhem -wegen ungültigen Daten - dann abschießt.

Roomba-FW: v2.2.9-1
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 19 Juli 2017, 17:46:53
So. verbose=5 und den nächsten Crash abgewartet. Kam schneller als erwartet.

Zitat2017.07.19 17:39:30 5: End notify loop for Roombi
2017.07.19 17:39:30 5: MQTT Roombi message received: Publish/at-most-once wifistat
  20 02 00 00 30 aa 01 00 08 77 69 66 69 73 74 61   ...0....wifista
  74 7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f  t{"state":{"repo
  72 74 65 64 22 3a 7b 22 6e 65 74 69 6e 66 6f 22  rted":{"netinfo"
  3a 7b 22 64 68 63 70 22 3a 74 72 75 65 2c 22 61  :{"dhcp":true,"a
  64 64 72 22 3a 31 36 38 35 35 39 34 33 39 2c 22  ddr":168559439,"
  6d 61 73 6b 22 3a 34 32 39 34 39 36 37 30 34 30  mask":4294967040
  2c 22 67 77 22 3a 31 36 38 35 35 39 33 36 31 2c  ,"gw":168559361,
  22 64 6e 73 31 22 3a 31 36 38 35 35 39 33 37 37  "dns1":168559377
  2c 22 64 6e 73 32 22 3a 30 2c 22 62 73 73 69 64  ,"dns2":0,"bssid
  22 3a 22 39 63 3a 63 37 3a 61 36 3a 62 65 3a 33  ":"9c:c7:xx:xx:x
malformed JSON string, neither tag, array, object, number, string or atom, at character offset 1 (before "\x{2}\x{0}\x{0}0\x{fffd}...") at ./FHEM/42_Roomba980.pm line 376.
2017.07.19 17:39:31 1: BlockingInformParent (BlockingStart): Can't connect to localhost:40046: IO::Socket::INET: connect: Connection refused
2017.07.19 17:39:31 1: BlockingInformParent (PRESENCE_ProcessLocalScan): Can't connect to localhost:40046: IO::Socket::INET: connect: Connection refused

Stellt sich jetzt die Frage, warum der JSON-String nicht vollständig ist und wie man soetwas abfangen kann. Ggfls. liegt es an den laufenden Connect/ Disconnects - aber dass sollte fhem ja nicht zum abkacheln bringen.
Mir ist klar, dass dieses Modul dafür nichts kann - da MQTT hier das Chaos letztlich auslöst, repektive hätte abfangen können. Hat irgendjemand ne Idee dazu?

DANKEEE!


edit: ich hab dass Modul mal schnell angepasst und prüfe jetzt mittels Test::JSON auf einen validen String innerhalb processMessage. Quick & dirty, mal sehen ob ich die Abstürze damit wegbekomme. Schön ist anders, aber dafür brauche ich dann mehr Zeit.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 20 Juli 2017, 09:04:38
Zitat von: luetty am 19 Juli 2017, 17:46:53
edit: ich hab dass Modul mal schnell angepasst und prüfe jetzt mittels Test::JSON auf einen validen String innerhalb processMessage. Quick & dirty, mal sehen ob ich die Abstürze damit wegbekomme. Schön ist anders, aber dafür brauche ich dann mehr Zeit.
Hi,
wenn das funktioniert, dann gib uns auch mal die angepasste Version. Gut wäre auch, wenn Du im Coding irgendwie markieren könntest, wo Du was angepasst hast.
Ich habe zwar zurzeit keine Möglichkeit, bei der Entwicklung des Moduls zu helfen, aber ich kann zumindest mal ein Git-Repo dafür anlegen und das ganze "hosten".
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: eisler am 20 Juli 2017, 19:01:43
Hallo Thorsten,

Git Repro ist eine prima Idee, dann kann ich das auch mal mit unserem neuen iRobot Roomba 980 testen und bei der Entwicklung des Moduls helfen.

Grüße
Stephan
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 20 Juli 2017, 22:32:27
Zitat von: Thorsten Pferdekaemper am 20 Juli 2017, 09:04:38
Hi,
wenn das funktioniert, dann gib uns auch mal die angepasste Version. Gut wäre auch, wenn Du im Coding irgendwie markieren könntest, wo Du was angepasst hast.
Ich habe zwar zurzeit keine Möglichkeit, bei der Entwicklung des Moduls zu helfen, aber ich kann zumindest mal ein Git-Repo dafür anlegen und das ganze "hosten".
Gruß,
   Thorsten
Mache ich die Tage, ich will erst sicher sein dass es funktioniert.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 22 Juli 2017, 16:39:22
Hi,
also das Ding gibt es jetzt hier:

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

Wer sich daran beteiligen will, nur zu.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 25 Juli 2017, 14:07:05
Hallo zusammen,

leider habe ich dass Problem noch nicht lösen können.  >:(
Die Prüfung auf einen validen JSON-String hatte ich in processMessage eingebaut und ging im Fehlerfall mit return zurück.

Es wurde auch alles schön protokolliert, MQTT/Publish krachte danach aber trotzdem weg.
Also hab ich dass ganze mal in "Read" gepackt und im Fehlerfall mit return undef abzubrechen. Soeben hat sich gezeigt, dass dies auch nicht hilft.  ::) :'(

Ich bin grad ein bisschen hilflos, werde dass Modul wohl erstmal deaktivieren müssen.
MQTT-Check failed: ^B^@^@0ª^A^@^Hwifistat{"state":{"reported":{"netinfo":{"dhcp":true,"addr":168559374,"mask":4294967040,"gw":168559361,"dns1":168559377,"dns2":0,"bssid":"9c:c7:xx:xx:x
decode_string: insufficient data at FHEM/lib/Net/MQTT/Message/Publish.pm line 36.


Im Prinzip gleich der Erkenntnis von Thorsten im Beitrag #20 https://forum.fhem.de/index.php/topic,67632.msg598968.html#msg598968

Hat also 0,nix gebracht - meine tolle Prüfung.  ;) ::)
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: ct am 25 Juli 2017, 15:35:04
Hallo Zusammen,

einen Crash konnte ich (glaube ich) beheben, wobei das noch jemand bestätigen müsste:

Zeile 408 ersetzen mit:

my $message_type = -1;
eval {
    $message_type = $mqtt->message_type();

    Log3($name,5,"MQTT $name message received: [$message_type] ".$mqtt->string());
}
or do {
  Log3 ($name, 5, "Error in Read 1: $@" );
};


Die while-Schleife kann wohl auch ausgeführt werden, wenn der Puffer unvollständig ist und dann krachts im message_type()-Aufruf.

Optional:
Evtl. krachts auch schon in der Generierung vom mqtt-Objekt. Daher habe ich zusätzlich auch noch die Bedingung der while-Schleife in die Schleife gezogen und mit eval abgesichert...

Zeile 406 ersetzen mit:

while (1) { 
    my $mqtt = undef;
  eval {
$mqtt = Net::MQTT::Message->new_from_bytes($hash->{buf},1);
        }
        or do {
      Log3 ($name, 5, "Error in Read 0: $@" );
        };
last if ( !defined($mqtt) );


Könnte man sicher eleganter lösen, aber hat seit dem Umbau funktioniert und hatte dann keine Zeit mehr das schön zu machen.

Das Dauer-Disconnect-Verhalten wird damit leider nicht behoben.

Grüße,
Chi-Tai
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 26 Juli 2017, 15:10:13
Kannst Du bitte mal Deine Version hier anhängen oder ins Git stellen.
Ich habe Deine Änderungen, in die letzte Version von Thorsten, übernommen, lief genau 15 Minuten und dann:

2017.07.26 15:05:08 1: 10.12.3.14:8883 reappeared (Roombi)
, or } expected while parsing object/hash, at character offset 33 (before "w6ADb8uS,"mapUploadA...") at ./FHEM/42_Roomba980.pm line 376.
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/opt/yowsup-master/yowsup/demos/cli/cli.py", line 153, in startInputThread
    cmd = self._queuedCmds.pop(0) if len(self._queuedCmds) else input(self.getPrompt()).strip()
EOFError: EOF when reading a line
  :'( :'(
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: ct am 26 Juli 2017, 15:38:22
Hallo luetty,

stimmt, da war auch ein Crash. Versuch mal die processMessage durch diese zu ersetzen:


sub processMessage($$){
    my ($hash, $msgtext) = @_;
# message empty?
if(!$msgtext){
    Log3($hash->{NAME},3, "Received empty message");
return;
};
# decode to Perl
my $msg = 0;
  eval {
    $msg = JSON::XS::decode_json($msgtext);
  if ($@) {
    Log3($hash->{NAME},3, "Could not decode: "); #.$@->what);
  }
if(!$msg){
    Log3($hash->{NAME},3, "Could not decode ".$msgtext);
    return;
};
# all known events start with "state->reported"
if(!defined($msg->{state}{reported})){
Log3($hash->{NAME},3, "state:reported missing ".$msgtext);
return;
};
if(ref($msg->{state}{reported}) ne "HASH"){
Log3($hash->{NAME},3, "No hash in ".$msgtext);
return;
};
# now we should be able to find readings
readingsBeginUpdate($hash);
    messageToReadings($hash,$msg->{state}{reported});
    # TODO: really trigger for all readings?
    readingsEndUpdate($hash,1);

  }
  or do {
  Log3 ($hash->{NAME}, 5, "Error in processMessage: $@" );
  };
};


Im Endeffekt werden damit auch nur die Exceptions abgefangen, damit nicht gleich das ganze fhem lahmgelegt wird. Falls es noch an anderer Stelle crashen sollte, dann gib Bescheid. Allerdings muss ich meine Version erst etwas "saubermachen", bevor ich sie bereitstellen kann.

Ach ja, ich denke nicht, dass das notwendig ist, aber die Funktion davor, also messageToReadings, habe ich auch mit eval abgesichert:

sub messageToReadings($$;$){
    my ($hash,$msgpart,$prefix) = @_;
my $type = ref($msgpart);
  eval {
    if($type eq "HASH") {
    foreach my $key (keys %{$msgpart}) {
    messageToReadings($hash,$msgpart->{$key},$prefix ? $prefix."-".$key : $key);
};
return;
};
if($type eq "ARRAY") {
    # TODO: error handling... my $rv = readings...
readingsBulkUpdate($hash,$prefix,JSON::XS::encode_json($msgpart));
return;
};
    # now it should be a normal "field"
# my $rv = TODO: error handling
readingsBulkUpdate($hash,$prefix,prettyPrintReading($prefix,$msgpart));
}
  or do {
  Log3 ($hash->{NAME}, 5, "Error in messageToReadings: $@" );
  };
};


Grüße,
ct

Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 26 Juli 2017, 22:33:57
Zitat von: ct am 26 Juli 2017, 15:38:22
Hallo luetty,

stimmt, da war auch ein Crash. Versuch mal die processMessage durch diese zu ersetzen:
...

Grüße,
ct

Hallo ct,

vielen Dank, hab beide Funktionen ersetzt!
Bei dem Müll, was da anscheinend ab und an ankommt, kann man auch nur die Ausnahmefehler abfangen.

Seit 6h im Einsatz ohne Crash, werde weiter beobachten....

Allerdings ist jetzt schon zu erkennen, dass einige Readings seit Stunden nicht durchkommen, obwohl mehrfache connect/disconnect - naja schaun wir mal....

...stay tuned  8)

ciao
luetty
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: ct am 26 Juli 2017, 23:25:31
Hallo Luetty,

freut mich :-)
Ich schau am Wochenende mal wo ich noch etwas abgefangen habe, aber ich glaube das waren die größten Gefahrenstellen.

Grüße,
ct
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 28 Juli 2017, 16:59:20
Hallo ct,

seit Mittwoch Abend lief es stabil und jetzt plötzlich:
2017.07.28 16:26:06 1: 10.12.3.14:8883 reappeared (Roombi)
Can't use an undefined value as an ARRAY reference at FHEM/lib/Net/MQTT/Message/Unsubscribe.pm line 25.
2017.07.28 16:26:11 1: BlockingInformParent (BlockingStart): Can't connect to localhost:38791: IO::Socket::INET: connect: Connection refused
2017.07.28 16:26:11 1: BlockingInformParent (PRESENCE_ProcessLocalScan): Can't connect to localhost:38791: IO::Socket::INET: connect: Connection refused
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/opt/yowsup-master/yowsup/demos/cli/cli.py", line 153, in startInputThread
    cmd = self._queuedCmds.pop(0) if len(self._queuedCmds) else input(self.getPrompt()).strip()
EOFError: EOF when reading a line


...ich dreh durch  ::) :o
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Spiff am 28 Juli 2017, 17:07:14
Hi luetty,

Du hast doch dauernde disconnects. Das kann ich bei mir überhaupt nicht beobachten - und bei mir läuft auch der Rest stabil.
Es ist vielleicht nicht die Lösung - aber wie weit ist der Roomba vom Router entfernt?
Kannst Du ihn vorübergehend irgendwo platzieren, wo er auf jeden Fall sehr guten Empfang hat?

Gruß
Spiff.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 28 Juli 2017, 17:43:45
Hi Spiff,

ja dass mit den disconnects nervt mich auch.   :'(

Der Roomba steht 4m vom Router weg, stand auch schon 2m, daneben. Hab sogar extra noch 'n repeater rausgekramt und angeworfen.
Daran liegt es nicht, PING geht definitiv 100% durch. UND: Ich habe die dorita980-Variante aus Post 3 (https://forum.fhem.de/index.php/topic,67632.msg596074.html#msg596074) ebenfalls getestet. Einen soooo sauberen Plot, wie mir die Arbeit von Markus da gebracht hat, hab ich noch nie gesehen  ;). Nichtmal ansatzweise disconnects.
Allerdings sperrt mir der wrapper die Bedienung und ich habe dann da nicht weitergemacht, dazu brauche ich mehr Zeit und ein bisschen Ruhe.  8)

Ich werde dass Gefühl auch nicht los, dass er disconnectet sobald irgendein reading reinkommt. Ich hatte auch schon eine extra fhem-Instanz aufgesetzt, da lief es einige Zeit auch stabiler, dann aber brach wieder das chaos aus.

Werde wohl weiter tüfteln müssen.

ciaoie
luetty
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: ct am 29 Juli 2017, 02:19:49
Hallo Luetty,

ich bin mir nicht sicher wann ich dazu komme meine Version etwas sauberer zu machen. Da ist grad wirklich so viel Debugzeugs drin um auch die Ursache grundsätzlich zu identifizieren und zu verstehen. Es läuft zwar, aber glücklich bin ich damit nicht. Eigentlich tendiere ich dazu das mqtt mit dem Roomba in einen externen Prozess auszulagern und fhem damit nicht zu belasten.

Ich kann dir vorerst lediglich raten überall wo es kracht, den Inhalt der Funktion nach folgendem Schema abzusichern:

  eval {
    ... Code der fhem abschießt ...
  };
    if ($@) {
      Log3 ($name, 1, "Error in Methodname: $@" );
    };


Hab grad nochmal grob gecheckt und die Methode send_message abzusichern hilft schon mal sehr viel:
sub send_message($$$@) {
  my ($hash,%msg) = @_;
  my $name = $hash->{NAME};
  my $message = undef;
 
  eval {
    $message = Net::MQTT::Message->new(%msg);
  Log3($name,5,"MQTT $name message sent: ".$message->string());
  };
    if ($@) {
      Log3 ($name, 1, "Error in send_message: $@" );
    };
  return if ( !defined ($message) );
 
eval {
  DevIo_SimpleWrite($hash,$message->bytes,undef);
};
};


Zur Zeit fehlt mir leider etwas die Zeit, aber vielleicht kriegt es jemand hin..

Grüße
  ct
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: mkihr am 31 Juli 2017, 21:25:12
My problem is now, that cleaning works one time. Whenever the robot is back in the base it disconnects and I can only reconnect after I reset the Robot.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Spiff am 31 Juli 2017, 22:18:08
Are you using the iRobot app in parallel?
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: mkihr am 01 August 2017, 18:31:40
What means "using in parallel"? It is installed and configured. But not used. And if I see that right it only connects to the robot when it is active in the foreground.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Heggeg am 05 September 2017, 09:19:19
Wie sieht hier der aktuelle Stand aus?
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Kilitom am 04 November 2017, 22:27:03
Hi,

hab das Modul etwas modifiziert, da es ab und zu den Usernamen und Passwort vom Roomba nicht mehr findet. Siehe Anhang. Viel Spaß beim Testen.

Grüße
Tom
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: oneofmagi am 27 Dezember 2017, 17:00:19
Hallo zusammen,

habe das Modul mit einem Irobot Roomba 895 ausprobiert. Dieser hat ebenfalls ein eingebautes WLAN Modul. Leider habe ich (ebenfalls?) das Problem, dass immer wieder ein Connect/Disconnect stattfindet:


2017.12.27 16:46:44 1: 192.168.200.170:8883 disconnected, waiting to reappear (Robbie)
2017.12.27 16:47:44 3: Roomba980: connection=timed-out, ping: 0
2017.12.27 16:47:51 3: Roomba980: connection=connecting
2017.12.27 16:47:51 3: Roomba980: connection=timed-out, ping: 1
2017.12.27 16:47:51 1: 192.168.200.170:8883 reappeared (Robbie)
2017.12.27 16:47:52 3: Roomba980: connection=connected
2017.12.27 16:47:52 1: 192.168.200.170:8883 disconnected, waiting to reappear (Robbie)
2017.12.27 16:47:54 3: Roomba980: connection=connecting
2017.12.27 16:47:54 3: Roomba980: connection=timed-out, ping: 1
2017.12.27 16:47:54 1: 192.168.200.170:8883 reappeared (Robbie)
2017.12.27 16:47:54 3: Roomba980: connection=connected


Nach den Logs sieht es ja zumindest so aus, dass eine Verbindung kurz zustande kommt. Was meint ihr? Hat jemand einen Tipp, was ich noch versuchen könnte / bzw. hat jemand schon einen 895 verbinden können.

Vielen Dank & beste Grüße
Michael
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: oneofmagi am 27 Dezember 2017, 18:55:26
Hallo zusammen,

vielen Dank für dieses klasse Modul!

Ich kann nun berichten, dass es auch mit dem Roomba 895 funktioniert! Mein obiges Posting hat sich damit erledigt. Ich hatte einen falschen Benutzernamen verwendet.

Für alle Mitleser:
Den Usernamen und das Passwort muss mittels Dorita ermittelt werden. Dieser Vorgang ist hier beschrieben:
https://github.com/koalazak/dorita980/blob/master/README.md#how-to-get-your-usernameblid-and-password

Beste Grüße und noch einmal vielen Dank für dieses coole Modul!

Michael
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: ducdarky am 28 Dezember 2017, 14:40:06
Hallo zusammen,

bei mir läuft dieses tolle Modul auch zuverlässig mit einem Roomba 895, zumindest Start, Stop, Dock.
Resume und Pause hat er meiner Meinung nach nicht, weil er nur zufällig durch die Gegend fährt. Da ich meinen Roomba über Siri steuern wollte und auch dort den entsprechenden Status sehen wollte, habe ich das Modul für mich so angepasst, dass es noch einen "Off"-Befehl hat, welcher dafür sorgt, dass der Roomba erst "Stop" und danach "Dock" bekommt. Direkt aus dem Betrieb nimmt der "Dock" nicht an bzw. macht ein"Stop" daraus. Vielleicht gibt es ja eine elegantere Methode oder Lösung, aber mit meinen noch ziemlich beschränkten FHEM-Kenntnissen habe ich es nicht anders hinbekommen.
Wenn er nicht in der Basis ist, ist bei Siri der Schalter auf "Ein" und sonst auf "Aus.
Wie seht ihr das? Macht es Sinn, so einen "Off"-Befehl in das Modul zu integrieren oder gehört so etwas da nicht hinein?

Viele Grüße
Steffen
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Det20 am 05 März 2018, 20:34:47
Läuft inzwischen gut mit dem 980, vielen Dank für die Arbeit!
Ich hätte allerdings noch einen Wunsch: Es wäre schön, wenn ich das Modul über Nacht mittels "disabled" temporär deaktivieren kann. Oder habe ich etwas übersehen?
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 07 März 2018, 23:05:32
Zitat von: Det20 am 05 März 2018, 20:34:47
Ich hätte allerdings noch einen Wunsch: Es wäre schön, wenn ich das Modul über Nacht mittels "disabled" temporär deaktivieren kann. Oder habe ich etwas übersehen?
Hi,
kannst Du das ggf. auch mit "set ... disconnect" bzw "set ... connect" machen?
Gruß,
    Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Det20 am 08 März 2018, 14:26:30
Ne, da tut sich nix, bleibt leider online.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 08 März 2018, 21:13:58
Zitat von: Det20 am 08 März 2018, 14:26:30
Ne, da tut sich nix, bleibt leider online.
Was meinst Du mit "online"? Das Reading "connection" sollte auf "disconnected" gehen. ...und zwar bis man wieder "set ... connect" macht.
Falls das nicht so ist, könntest Du mal verbose auf 3 setzen und das Log hier reinstellen?
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 08 März 2018, 21:28:56
Zitat von: ducdarky am 28 Dezember 2017, 14:40:06Wie seht ihr das? Macht es Sinn, so einen "Off"-Befehl in das Modul zu integrieren oder gehört so etwas da nicht hinein?
Sorry für die späte Antwort...
Ich finde, dass ein FHEM-Modul möglichst nur das widerspiegeln sollte, was das Gerät auch tatsächlich kann. In dem Fall ist das mit dem "dock" auch so, wenn man es über die App macht. Ich glaube sogar, dass man den "Home"-Knopf auf dem Gerät selbst zweimal drücken muss, wenn man es während der Fahrt nach Hause schicken will. Was über die "eigentlichen" Fähigkeiten des Geräts hinausgeht sollte meiner Meinung nach über FHEM-Mittel erledigt werden. In dem Fall ist es ja relativ einfach:

set robbie stop; sleep 2; set robbie dock

Das hat sogar den Vorteil, dass FHEM während den 2 Sekunden nicht blockiert.

Andererseits ist es in dem Fall tatsächlich so, dass man sich über die vorhandene Funktionalität wundert. Daher könnte ich mir schon vorstellen, dass man so etwas in dem Fall ins Modul aufnimmt. Allerdings gefällt mir der Name nicht und es darf auf keinen Fall 2 Sekunden blockieren. Es müsste also in etwa so aussehen:

    # Dock even if running
    $command eq "stopAndDock" and do {
        apiCall($hash,"cmd","stop");
        InternalTimer(gettimeofday()+2, &main::fhem, "set ".$hash->{NAME}." dock");
        last;
    };

Wenn Du das testen magst und es funktioniert, dann kann ich das "offiziell" übernehmen.

Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 08 März 2018, 22:48:59
Zitat von: luetty am 28 Juli 2017, 16:59:20
Hallo ct,

seit Mittwoch Abend lief es stabil und jetzt plötzlich:
2017.07.28 16:26:06 1: 10.12.3.14:8883 reappeared (Roombi)
Can't use an undefined value as an ARRAY reference at FHEM/lib/Net/MQTT/Message/Unsubscribe.pm line 25.
2017.07.28 16:26:11 1: BlockingInformParent (BlockingStart): Can't connect to localhost:38791: IO::Socket::INET: connect: Connection refused
2017.07.28 16:26:11 1: BlockingInformParent (PRESENCE_ProcessLocalScan): Can't connect to localhost:38791: IO::Socket::INET: connect: Connection refused
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/opt/yowsup-master/yowsup/demos/cli/cli.py", line 153, in startInputThread
    cmd = self._queuedCmds.pop(0) if len(self._queuedCmds) else input(self.getPrompt()).strip()
EOFError: EOF when reading a line


...ich dreh durch  ::) :o
Hi,
ich weiß, dass das eine Weile her ist (daher auch Full-Quote), aber ich bin gerade mal am Überarbeiten.
Bist Du Dir sicher, dass der Absturz vom Roomba-Modul kommt? Speziell der Python-Kram kommt mir schon etwas komisch vor. Nach der "reappeared" Message kommt nur noch ein "trigger Roombi CONNECTED". Kann es sein, dass Du irgendwas (notify, FileLog etc.) hast, was darauf reagiert (ob jetzt beabsichtigt oder nicht...).
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 08 März 2018, 23:29:47
Zitat von: Kilitom am 04 November 2017, 22:27:03
hab das Modul etwas modifiziert, da es ab und zu den Usernamen und Passwort vom Roomba nicht mehr findet. Siehe Anhang. Viel Spaß beim Testen.
Hi,
ich denke, dass der wesentliche Punkt war, dass Username/Password in der UndefFn gelöscht wurden. Das habe ich jetzt in die DeleteFn gepackt, die bei rereadcfg nicht aufgerufen wird.
Außerdem kann man jetzt Username/Password bei modify oder defmod neu setzen.
(Neue Version ist bald im git.)
Gruß,
  Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 08 März 2018, 23:46:06
Hi,
so, ich habe jetzt mal alles aus dem Thread hier in die Git-Version übernommen. (https://github.com/ThorstenPferdekaemper/FHEM-Roomba980).
Die ganzen "ct-Sicherungen" sind dabei und das Passwort-Handling ist ein klein wenig besser. D.h. es sollte nicht mehr verloren gehen (z.B. bei rereadcfg) und man kann es per modify/defmod ändern.
Das mit den "Sicherungen" bedeutet, dass FHEM nicht mehr abschmiert (hoffentlich), wenn der Sauger Müll sendet. Dafür gibt's jetzt Log-Einträge.
Ich habe das ganze gar nicht getestet (also 0%, rien, nada, нищо). Wer das jetzt gleich in sein Produktivsystem reinhaut und dann eine schlaflose Nacht hat ist also selbst Schuld. Es wäre natürlich schön, wenn es jemand testen könnte.

Die ganzen Verbindungsabbrüche, Blockaden etc., von denen hier berichtet wird, werden durch diese Version wahrscheinlich nicht gelöst. Da müsste mal jemand anders ran. ...oder das ganze liegt gar nicht wirklich an dem Modul.
Gruß,
   Thorsten


 
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 09 März 2018, 08:37:39
Zitat von: Thorsten Pferdekaemper am 08 März 2018, 22:48:59
Hi,
ich weiß, dass das eine Weile her ist (daher auch Full-Quote), aber ich bin gerade mal am Überarbeiten.
Bist Du Dir sicher, dass der Absturz vom Roomba-Modul kommt? Speziell der Python-Kram kommt mir schon etwas komisch vor. Nach der "reappeared" Message kommt nur noch ein "trigger Roombi CONNECTED". Kann es sein, dass Du irgendwas (notify, FileLog etc.) hast, was darauf reagiert (ob jetzt beabsichtigt oder nicht...).
Gruß,
   Thorsten

Hallo Thorsten,

ich hatte zum Schluß das Gefühl, dass es nicht das Roomba-Modul ist, sondern irgendwas auf die MQTT-Message reagiert und es dann knallt.
Die fhem-Installation ist halt auch über die Jahre etwas gewachsen, lief aber immer stabil.

Daraufhin habe ich das Modul auf einem RPI aktiviert, der per f2f angebunden ist. Ich habe dort dann aber relativ schnell wieder dieses connect/ disconnect Verhalten gehabt, jedoch keinen Absturz.
Letzte Chance war eine komplett frische Linux-VM, jungfreuliches fhem und nur das Roomba-Modul aktiv.
Seit ich es so dediziert betreibe schnurrt die Sache wie ein Kätzchen, keine ständigen dis-/connect's & kein Crash.  ;D

Gut, "schön" ist die zusätzliche VM nicht - stört im Moment aber auch nicht.  8)

ciao
luetty
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Det20 am 09 März 2018, 16:39:07
Zitat von: Thorsten Pferdekaemper am 08 März 2018, 21:13:58
Was meinst Du mit "online"? Das Reading "connection" sollte auf "disconnected" gehen. ...und zwar bis man wieder "set ... connect" macht.
Falls das nicht so ist, könntest Du mal verbose auf 3 setzen und das Log hier reinstellen?
Gruß,
   Thorsten


Ne bleibt online, ändert rein garnix. Im Log steht nur:

2018.03.09 16:37:36 1: Error sending message:
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 09 März 2018, 22:23:53
Hi,
könntest Du bitte genau sagen, woran Du siehst, dass das Ding "online" bleibt? Einen Status "online" gibt es IMHO gar nicht.
Ich habe außerdem eine neue Version ins Git gestellt (mit den "ct-Sicherungen" etc.). Könntest Du die mal ausprobieren?
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Det20 am 10 März 2018, 15:16:07
Zitat von: Thorsten Pferdekaemper am 09 März 2018, 22:23:53
Einen Status "online" gibt es IMHO gar nicht.

Ahhhh :)
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 10 März 2018, 22:03:40
Zitat von: Det20 am 10 März 2018, 15:16:07
Ahhhh :)
Hä?
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Oliver1985 am 23 März 2018, 14:18:07
Guten Tag zusammen.
Bin ich der Einzige, der die Meldung "Cannot load module Roomba980" erhält, wenn er das define versucht?
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 23 März 2018, 14:48:30
Zitat von: Oliver1985 am 23 März 2018, 14:18:07
Bin ich der Einzige, der die Meldung "Cannot load module Roomba980" erhält, wenn er das define versucht?
Keine Ahnung. Hast Du denn die Datei 42_Roomba980.pm im FHEM-Folder?
Gruß,
  Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Oliver1985 am 23 März 2018, 15:17:49
Jawohl.

Direkt aus deinem Git geladen. opt/fhem/FHEM... korrekt?
Wenn ein Modul nicht existiert erhält man "Unknown module xy", daher nehme ich an, dass es an der richtigen Stelle liegt.
Gibt es irgendwelche Voraussetzungen, die ich hier in diesen 9 Seiten überlesen habe?!
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 23 März 2018, 16:06:53
Hi,
schau mal was im Log steht, ggf. global verbose hochsetzen.
Gruß,
  Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Oliver1985 am 23 März 2018, 17:19:05
Zitat von: Thorsten Pferdekaemper am 23 März 2018, 16:06:53
Hi,
schau mal was im Log steht, ggf. global verbose hochsetzen.
Gruß,
  Thorsten

-.- Hätte niemals angenommen, dass ich bei der Meldung etwas im Log finde: Aber tatsächlich:  "Can't locate Module/Pluggable.pm"

Vielen Dank für den Hinweis, Thorsten. Ich habe ja jetzt einen Ansatz und versuche es mal alleine zu lösen. Melde mich, falls ich nicht weiter komme...

Gruß,
Oliver
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Oliver1985 am 23 März 2018, 17:52:57
Hallo Thorsten.

Auf der Suche nach einer Lösung bin ich über das hier gestolpert: https://forum.fhem.de/index.php?topic=70000.0 (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.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 23 März 2018, 20:47:12
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Oliver1985 am 23 März 2018, 23:06:03
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.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 24 März 2018, 09:47:25
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Oliver1985 am 25 März 2018, 10:46:59
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 26 März 2018, 18:10:35
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/
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: willibutz am 26 März 2018, 21:33:49
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 26 März 2018, 22:53:16
Hi,
was hast Du denn genau gemacht, um diese Ausgabe zu bekommen?
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: willibutz am 27 März 2018, 19:23:49
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 (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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 27 März 2018, 22:20:12
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 27 März 2018, 22:58:12
läuft hier mit v2.4.4-4
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 27 März 2018, 23:33:45
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 28 März 2018, 18:03:28
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!
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: willibutz am 28 März 2018, 22:09:16
@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

Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Oliver1985 am 29 März 2018, 08:54:40
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.

Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Oliver1985 am 31 März 2018, 12:07:53
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.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: oxident am 24 April 2018, 19:03:19
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.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 25 April 2018, 20:56:29
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: oxident am 25 April 2018, 21:23:48
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.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 27 April 2018, 08:36:15
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: dk3572 am 01 Juni 2018, 21:04:51
Hallo,
ich habe die Datei von hier: https://github.com/ThorstenPferdekaemper/FHEM-Roomba980/ (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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 02 Juni 2018, 16:04:31
Hi,
schau mal ins Log. Da müsste in dem Fall noch etwas mehr stehen.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: dk3572 am 02 Juni 2018, 16:55:37
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 02 Juni 2018, 17:04:22
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: dk3572 am 02 Juni 2018, 17:15:30
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.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 02 Juni 2018, 19:57:21
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: dk3572 am 03 Juni 2018, 10:45:29
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....
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 04 Juni 2018, 15:32:45
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: dk3572 am 04 Juni 2018, 16:36:24
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  ;)
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 04 Juni 2018, 20:57:16
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: volschin am 02 Juli 2018, 18:15:25
Hat hier jemand Erfahrungen mit dem Braava Jet 240? Der wird aus derselben App wie der Roomba 980 angesteuert.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Komaandy am 29 Juli 2018, 22:29:46
Hallo zusammen,
Also ich habe leider auch dieses Verhalten mit dem Disconnect/Reconnect.
Wirklich schade, die Funktionalität ist nämlich top!
Ich habe leider auch keine Idee wie ich das beheben könnte.

Viele Grüße

18-07-29_17:42:05 Robort signal-rssi: -47

2018-07-29_17:42:05 Robort signal-snr: 39

2018-07-29_17:43:24 Robort start

2018-07-29_17:43:55 Robort connection: timed-out

2018-07-29_17:44:55 Robort connection: timed-out

2018-07-29_17:44:55 Robort pause

2018-07-29_17:45:00 Robort connection: disconnected

2018-07-29_17:45:03 Robort connect

2018-07-29_17:45:11 Robort connect

2018-07-29_17:45:31 Robort connection: disconnected

2018-07-29_17:45:37 Robort connect

2018-07-29_17:45:46 Robort connect

2018-07-29_18:00:48 Robort DISCONNECTED

2018-07-29_18:02:28 Robort CONNECTED

2018-07-29_18:02:51 Robort DISCONNECTED

2018-07-29_18:02:53 Robort CONNECTED

2018-07-29_18:03:01 Robort DISCONNECTED

2018-07-29_18:05:16 Robort DISCONNECTED/code]


Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: f-zappa am 01 August 2018, 22:53:45
So .. Frau meinte, sie braucht für das Obergeschoss auch noch einen Roomba. Der erste ist leider ein älteres Modell ohne WLAN, ich will da zwar seit zwei Jahren was mit einem ESP8266 basteln, aber die Zeit ...
Der neue ist nun ein 671 geworden, und da sich der über die gleiche App bedienen lässt wie der 980 habe ich es auch mal mit dem Modul probiert.

Auslesen mit dem Tool von dorita980 geht noch:
> node ./bin/getpassword.js "marvin"

Make sure your robot is on the Home Base and powered on (green lights on). Then press and hold the HOME button on your robot until it plays a series of tones (about 2 seconds). Release the button and your robot will flash WIFI light.
Then press any key here...
Robot Data:
{ ver: '3',
  hostname: 'Roomba-zahlenkette',
  robotname: 'myrobotname',
  ip: 'myip',
  mac: 'mymac',
  sw: '3.3.19',
  sku: 'R671040',
  nc: 0,
  proto: 'mqtt',
  cap: { ota: 1, eco: 1, svcConf: 1 },
  blid: 'myblid' }
Password=> mypw <= Yes, all this string.
Use this credentials in dorita980 lib :)

Mein define stimmt doch so?
define mydevicename Roomba980 myip myblid mypw
Jedenfalls knallt es direkt bei dem define.
2018.08.01 22:34:39 1: PERL WARNING: Roomba980::messageToReadings() called too early to check prototype at ./FHEM/42_Roomba980.pm line 320.
2018.08.01 22:34:39 3: Opening mydevicename device myip
Expected 'PeerService' at ./FHEM/42_Roomba980.pm line 233.

Vielleicht sind die "kleineren" Serien ganz anders, vielleicht ist die 3.3.19 Firmware ganz anders .. vielleicht hab ich auch einen Fehler gemacht. Aber auch dieses Ding spricht MQTT, sicher gibt es irgendeine Chance ... ich tüftel mal ein wenig. Oder hat schon jemand so ein Modell am laufen?
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: f-zappa am 03 August 2018, 21:53:35
Zitat von: f-zappa am 01 August 2018, 22:53:45
Vielleicht sind die "kleineren" Serien ganz anders, vielleicht ist die 3.3.19 Firmware ganz anders .. vielleicht hab ich auch einen Fehler gemacht. Aber auch dieses Ding spricht MQTT, sicher gibt es irgendeine Chance ... ich tüftel mal ein wenig. Oder hat schon jemand so ein Modell am laufen?
Update: Ich hab mal direkt mit dorita980 herumprobiert, damit konnte ich auf Anhieb den Roomba starten und stoppen.
Update2: Auch das Modul funktioniert prima, sobald man den Port mit angibt. Ich schieb es mal auf die Wärme ...

Also: Modul funktioniert auch für Roomba 671 mit FW 3.3.19
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: volschin am 14 August 2018, 10:12:49
Zitat von: volschin am 02 Juli 2018, 18:15:25
Hat hier jemand Erfahrungen mit dem Braava Jet 240? Der wird aus derselben App wie der Roomba 980 angesteuert.
Ich beantworte meine Frage jetzt mal selbst nachdem ich das Teil einige Zeit habe. Der Baava Jet 240 wird nur per Bluetooth gesteuert, damit ist das Modul nicht nutzbar.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: bennebartsch am 22 August 2018, 09:45:59
Vielleicht hat das etwas mit den ständigen reconnects zu tun?:
"The Roomba's MQTT server only allows a single connection. Enabling continuous mode will force the App to connect via the cloud to your Roomba."
Quelle: https://www.home-assistant.io/components/vacuum.roomba/
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Komaandy am 24 August 2018, 11:58:37
Hallo, also ich komme leider überhaupt nicht weiter.
Irgendetwas in meinem Fhem jagt das Modul immer in ein disconnected und dann time-out.
Auf einem frischen Fhem läuft es tadellos, das habe ich getestet.
Ich habe leider keine Ideen mehr was an meinem System dem Modul nicht "passt"
In Benutzung habe ich Presence(Bluetooth), mysensors, HUE und 433Mhz IT.
Geforscht habe ich schon per Apptime und perfmon, aber da erkenne ich nichts außergewöhnliches.  :'(
Meine Hardware ist ein Raspberry 3 B+

Vielleicht hat noch jemand eine Idee.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: wolfram am 07 September 2018, 10:05:18
Guten Morgen an alle,

beim Einbinden des Moduls "42_Roomba.pm" bekomme ich in FHEM folgende Fehlermeldung und komme nicht weiter:

2018.09.06 19:16:09 0: Excessively long <> operator at ./FHEM/42_Roomba980.pm line 21.

2018.09.06 19:20:30 0: Excessively long <> operator at ./FHEM/42_Roomba980.pm line 21.


Ich habe es geschafft den Benutzernamen und Passwort herauszubekommen. Jetzt fehlt nur noch die Einbindung in FHEM. Hat jemand einen Tipp für mich?

Vielen Dank und schöne Grüße
wolf
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Yokurt am 10 September 2018, 20:40:21
Zitat von: wolfram am 07 September 2018, 10:05:18
beim Einbinden des Moduls "42_Roomba.pm" bekomme ich in FHEM folgende Fehlermeldung und komme nicht weiter:

2018.09.06 19:16:09 0: Excessively long <> operator at ./FHEM/42_Roomba980.pm line 21.

2018.09.06 19:20:30 0: Excessively long <> operator at ./FHEM/42_Roomba980.pm line 21.


Das hatte ich auch mal, als ich mit wget nicht die Datei sondern die Webseite heruntergeladen hatte. Also schau Dir mal die 42_Roomba.pm mit einem Texteditor an.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: wolfram am 10 September 2018, 22:01:11
Wow, danke, das war's!!!

Danke nochmals für den Tipp, wäre ich nicht drauf gekommen, da reinzusehen!

Schönen Abend noch


Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: wolfram am 11 September 2018, 20:37:50
Hallo und guten Abend,

da ich nun den Sauger auch einbinden konnte, stehe ich vor dem gleichen Problem wie @oxident.
Ich bekomme im 2 Sekundentakt folgende Meldungen:

2018.09.11 17:24:35 1: 192.168.178.78:8883 reappeared (Sauger)
2018.09.11 17:24:39 1: 192.168.178.78:8883 disconnected, waiting to reappear (Sauger)
2018.09.11 17:24:41 1: 192.168.178.78:8883 reappeared (Sauger)
2018.09.11 17:24:41 1: 192.168.178.78:8883 disconnected, waiting to reappear (Sauger)
2018.09.11 17:24:43 1: 192.168.178.78:8883 reappeared (Sauger)
2018.09.11 17:24:48 1: 192.168.178.78:8883 disconnected, waiting to reappear (Sauger)
2018.09.11 17:24:50 1: 192.168.178.78:8883 reappeared (Sauger)
2018.09.11 17:24:56 1: 192.168.178.78:8883 disconnected, waiting to reappear (Sauger)
2018.09.11 17:24:58 1: 192.168.178.78:8883 reappeared (Sauger)


Hat denn die Änderung von @Thorsten Pferdekaemper Besserung gebracht?

Danke für eine kurze Info
wolf
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Komaandy am 11 September 2018, 20:41:27
Hallo, habe leider keine Lösung, aber das selbe Problem.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: bennebartsch am 17 September 2018, 15:15:52
Zitat von: bennebartsch am 22 August 2018, 09:45:59
Vielleicht hat das etwas mit den ständigen reconnects zu tun?:
"The Roomba's MQTT server only allows a single connection. Enabling continuous mode will force the App to connect via the cloud to your Roomba."
Quelle: https://www.home-assistant.io/components/vacuum.roomba/

Wollte nochmal auf meinen Post hinweisen, da ich immer noch Reconnects bekomme. Kann es sein, dass die Roomba APP die ganze Zeit gegen FHEM kämpft?
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Komaandy am 18 September 2018, 16:00:49
@bennebartsch
Zitat von: bennebartsch am 17 September 2018, 15:15:52
Wollte nochmal auf meinen Post hinweisen, da ich immer noch Reconnects bekomme. Kann es sein, dass die Roomba APP die ganze Zeit gegen FHEM kämpft?

Ich fürchte das liegt nicht daran. In einer ganz frischen Fhem-Instanz läuft das Modul einwandfrei ohne dass ich die App auf dem Smartphone deinstalliert hätte
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 18 September 2018, 16:15:07
Zitat von: Komaandy am 18 September 2018, 16:00:49
@bennebartsch
Ich fürchte das liegt nicht daran. In einer ganz frischen Fhem-Instanz läuft das Modul einwandfrei ohne dass ich die App auf dem Smartphone deinstalliert hätte

Bei mir ist es ähnlich. Auf meiner normalen fhem-Instanz permanent reconnect's. Auf einer eigenen Installation läuft das Modul stabil.
Die App habe ich auf dem Handy installiert, nutze diese nur nie.
Reconnects im Sekundentakt können aber auch auf einen Schreibfehler in myblid & mypw sein! Ist mir leider auch schonmal passiert.

Ggfls. mal Roomba neu starten oder Werksreset und ie ganze Arie von vorn.

GOOD LUCK!
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Mirko_2013 am 08 Oktober 2018, 19:35:39
Hallo Zusammen,

Ich habe heute Versucht unseren Roomba mit ins Fhem einzubinden mit mäßigem Erfolg.

Beim Versuch den Usernamen und Password auszulesen, bekomme ich alle Daten außer das Passwort:


Robot Data:
{ ver: '3',
  hostname: 'Roomba-xxxxxxx',
  robotname: 'xxxx',
  ip: 'xxx.x.x.xx',
  mac: 'xx:xx:xx:xx:xx:xx',
  sw: '3.3.19',
  sku: 'R676040',
  nc: 1,
  proto: 'mqtt',
  cap: { ota: 1, eco: 1, svcConf: 1 },
  blid: 'xxxxx492xxxxxxx' }
Error getting password. Follow the instructions and try again.


Offensichtlich, habe ich auch dadurch im Sekundentakt connects / disconnects im Fhem, da ich ohne das Passwort versucht habe es einzubinden.

define Roomba Roomba980 xxx.x.x.xx:8883

Könnt Ihr mir weiterhelfen, was ich noch versuchen kann um an das Passwort zu kommen?
Ich hoffe nicht das die Firmware 3.3.19 zu neu ist.
Es ist ein Roomba 676.

Danke und Gruß
Mirko
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 09 Oktober 2018, 14:52:45
Zitat von: Mirko_2013 am 08 Oktober 2018, 19:35:39Es ist ein Roomba 676.
Ich kann mir vorstellen, dass es daran liegt. 676 ist nicht 980.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Brice am 09 Oktober 2018, 17:12:14
Da der Roomba 676 anscheinend ein Nachfolger vom 671 ist, den f-zappa mit FW 3.3.19 in FHEM integrieren konnte, hatte ich mir heute im Rahmen einer Aktion vom B***Markt das Teil auch besorgt. Es hat jetzt schon mal vier Stunden gedauert, das Teil ins WLan zu bekommen. Irgendwie bekomme ich den nicht ins GastWLan, warum auch immer (PiHole ist checked). Na gut, jetzt ist er im 2,4 GHz-WLan...

Dann muss ich noch mein Testsystem aktualiseren und werde mich um dorita980 kümmern. Das scheint nicht so trivial zu sein und braucht Zeit. Ich melde mich, wenn ich Ergebnisse habe.

@Mirko_2013: wie läuft die Installation von dorita980 eigentlich am einfachsten?

edit: node.js für Alexa-FHEM ist installiert und kann genutzt werden?
Titel: Irobot Roomba 676 erfolgreich eingebunden
Beitrag von: Brice am 10 Oktober 2018, 08:50:12
Den Irobot Roomba 676 mit FW 3.3.19 habe ich erfolgreich in meinem Testsystem eingebunden.

Thorsten, danke für das Modul.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Mirko_2013 am 10 Oktober 2018, 12:27:08
Hallo Brice,

Damit wäre schon mal sicher das der 676 mit dem Modul funktioniert.
Wie hast du das Passwort ausgelesen, ich gehe nach der Anleitung:

https://github.com/koalazak/dorita980/blob/master/README.md#how-to-get-your-usernameblid-and-password

vor aber ohne Erfolg zum Passwort.

Gruß
Mirko
Titel: Auslesen Blid und Passwort für Roomba 676
Beitrag von: Brice am 10 Oktober 2018, 14:15:10
Hallo Mirko,

nach dieser Anleitung bin ich auch vorgegangen, und zwar wie folgt auf meinem Testsystem (RPi 3) nach sudo apt-get update && upgrade:

Zunächst node.js installiert curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
den ersten Teil $ npm install dorita980 --save übersprungen und gleich weitergemacht mit git clone https://github.com/koalazak/dorita980.git
cd dorita980
npm install

Bei npm install kam eine Meldung wegen Vulnerabilities, hier verkürzt found 2 vulnerabilities (1 low, 1 critical
run ´npm audit fix´to fix them, or ´npm audit`for details

npm audit fix brachte den Hinweis es mit
npm audit fix --force
zu versuchen. Dies brachte dann (ebenfalls verkürzt)
npm warn using --force. I sure hope you know what you are doing
...
fixed 2 of 2 vulnerabilities
...
(installed due to `--force`option)

und ein
npm run getpassword <robotIP> den kompletten Output inklusive Passwort.

Wie gesagt auf meinem Testsystem. Auf dem Produktivsystem habe ich node v4.9.1, aber da möchte ich wegen der bestehenden Alexa-FHEM-Integration lieber nicht dran drehen...

Vielleicht hilft dir das weiter.

Stefan
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Brice am 10 Oktober 2018, 19:31:57
Es könnt alles so einfach sein, ist es aber nicht (Fanta4)  :)

Ich habe folgendes Problem: während auf dem Testsystem der Roomba 676 problemlos läuft, bekomme ich im Produktivsystem bei identischer Definition folgende Fehlermeldungen:
2018.10.10 15:57:08 3: Can't connect to 192.168.143.43:8883: Connection refused
2018.10.10 15:57:08 3: Opening Roomba device 192.168.143.43:8883


FHEM-Log bei Verbose 5:
2018.10.10 19:20:20 1: 192.168.143.43:8883 disconnected, waiting to reappear (Roomba)
2018.10.10 19:20:20 5: MQTT Roomba message received: [2] ConnAck/at-most-once Connection Accepted
2018.10.10 19:20:19 1: 192.168.143.43:8883 reappeared (Roomba)
2018.10.10 19:20:19 5: SW: c000
2018.10.10 19:20:19 5: MQTT Roomba message sent: PingReq/at-most-once
2018.10.10 19:20:19 5: SW: 104e00044d51545404c2003c001033313632433630343932343335353530001033313632433630343932343335353530001e3a313a313533393039313034333a6274744565336a626236454e31315476
2018.10.10 19:20:19 5: MQTT Roomba message sent: Connect/at-most-once MQTT/4/3162C60492435550 user=3162C60492435550 pass=:1:1539091043:bttEe3jbb6EN11Tv
2018.10.10 19:20:17 1: 192.168.143.43:8883 disconnected, waiting to reappear (Roomba)
  32 7d 7d 7d                                      2}}}
  65 2c 22 68 61 72 64 77 61 72 65 52 65 76 22 3a  e,"hardwareRev":
  22 73 63 68 65 64 48 6f 6c 64 22 3a 66 61 6c 73  "schedHold":fals
  22 69 6e 69 74 69 61 74 6f 72 22 3a 22 22 7d 2c  "initiator":""},
  69 6d 65 22 3a 31 35 33 39 31 38 32 31 31 39 2c  ime":1539182119,
  6d 61 6e 64 22 3a 22 63 6c 65 61 6e 22 2c 22 74  mand":"clean","t
  73 74 43 6f 6d 6d 61 6e 64 22 3a 7b 22 63 6f 6d  stCommand":{"com
  40 34 66 39 66 36 36 39 2f 31 31 22 2c 22 6c 61  @4f9f669/11","la
  69 67 69 6e 2f 72 65 6c 65 61 73 65 2f 33 2e 33  igin/release/3.3
  2e 33 2e 31 39 2d 72 65 6d 6f 74 65 73 2f 6f 72  .3.19-remotes/or
  22 73 6f 66 74 77 61 72 65 56 65 72 22 3a 22 33  "softwareVer":"3
  33 2e 33 40 34 66 39 66 36 36 39 2f 31 31 22 2c  3.3@4f9f669/11",
  2f 6f 72 69 67 69 6e 2f 72 65 6c 65 61 73 65 2f  /origin/release/
  3a 22 33 2e 33 2e 31 39 2d 72 65 6d 6f 74 65 73  :"3.3.19-remotes
  61 6c 73 65 2c 22 77 69 66 69 53 77 56 65 72 22  alse,"wifiSwVer"
  5d 7d 2c 22 65 63 6f 43 68 61 72 67 65 22 3a 66  ]},"ecoCharge":f
  39 34 30 30 31 2c 22 6f 66 66 22 3a 31 32 30 7d  94001,"off":120}
  3a 36 30 7d 2c 7b 22 64 74 22 3a 31 35 35 33 39  :60},{"dt":15539
  31 35 34 30 36 38 38 34 30 31 2c 22 6f 66 66 22  1540688401,"off"
  6f 66 66 22 3a 31 32 30 7d 2c 7b 22 64 74 22 3a  off":120},{"dt":
  64 74 22 3a 31 35 32 32 35 39 38 34 30 30 2c 22  dt":1522598400,"
  22 3a 35 2c 22 65 76 65 6e 74 73 22 3a 5b 7b 22  ":5,"events":[{"
  74 65 64 22 3a 7b 22 74 7a 22 3a 7b 22 76 65 72  ted":{"tz":{"ver
  7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f 72  {"state":{"repor
2018.10.10 19:20:15 5: MQTT Roomba message received: [3] Publish/at-most-once $aws/things/3162C60492435550/shadow/update
  6e 22 7d 7d 7d                                   n"}}}
  65 22 3a 22 45 75 72 6f 70 65 2f 42 65 72 6c 69  e":"Europe/Berli
  36 37 36 30 34 30 22 2c 22 74 69 6d 65 7a 6f 6e  676040","timezon
  22 3a 66 61 6c 73 65 2c 22 73 6b 75 22 3a 22 52  ":false,"sku":"R
  22 3a 66 61 6c 73 65 2c 22 76 61 63 48 69 67 68  ":false,"vacHigh
  22 3a 66 61 6c 73 65 2c 22 74 77 6f 50 61 73 73  ":false,"twoPass
  3a 66 61 6c 73 65 2c 22 6f 70 65 6e 4f 6e 6c 79  :false,"openOnly
  65 73 22 3a 66 61 6c 73 65 2c 22 6e 6f 50 50 22  es":false,"noPP"
  61 6c 73 65 2c 22 6e 6f 41 75 74 6f 50 61 73 73  alse,"noAutoPass
  2c 22 63 61 72 70 65 74 42 6f 6f 73 74 22 3a 66  ,"carpetBoost":f
  22 62 69 6e 50 61 75 73 65 22 3a 66 61 6c 73 65  "binPause":false
  22 61 63 74 69 76 65 22 3a 66 61 6c 73 65 7d 2c  "active":false},
  57 22 3a 39 7d 5d 2c 22 61 75 64 69 6f 22 3a 7b  W":9}],"audio":{
  68 2d 43 4e 22 3a 31 34 7d 2c 7b 22 7a 68 2d 54  h-CN":14},{"zh-T
  7b 22 6a 61 2d 4a 50 22 3a 31 33 7d 2c 7b 22 7a  {"ja-JP":13},{"z
  38 7d 2c 7b 22 68 65 2d 49 4c 22 3a 32 30 7d 2c  8},{"he-IL":20},
  22 3a 31 37 7d 2c 7b 22 72 75 2d 52 55 22 3a 31  ":17},{"ru-RU":1
  2d 50 4c 22 3a 31 30 7d 2c 7b 22 63 73 2d 43 5a  -PL":10},{"cs-CZ
  22 66 69 2d 46 49 22 3a 31 36 7d 2c 7b 22 70 6c  "fi-FI":16},{"pl
  37 7d 2c 7b 22 6e 62 2d 4e 4f 22 3a 38 7d 2c 7b  7},{"nb-NO":8},{
  44 4b 22 3a 36 7d 2c 7b 22 73 76 2d 53 45 22 3a  DK":6},{"sv-SE":
  22 6e 6c 2d 4e 4c 22 3a 35 7d 2c 7b 22 64 61 2d  "nl-NL":5},{"da-
  39 7d 2c 7b 22 69 74 2d 49 54 22 3a 34 7d 2c 7b  9},{"it-IT":4},{
  22 3a 31 32 7d 2c 7b 22 70 74 2d 42 52 22 3a 31  ":12},{"pt-BR":1
  2d 58 4c 22 3a 31 31 7d 2c 7b 22 70 74 2d 50 54  -XL":11},{"pt-PT
  7b 22 65 73 2d 45 53 22 3a 33 7d 2c 7b 22 65 73  {"es-ES":3},{"es
  3a 31 7d 2c 7b 22 64 65 2d 44 45 22 3a 32 7d 2c  :1},{"de-DE":2},
  47 42 22 3a 31 35 7d 2c 7b 22 66 72 2d 46 52 22  GB":15},{"fr-FR"
  22 65 6e 2d 55 53 22 3a 30 7d 2c 7b 22 65 6e 2d  "en-US":0},{"en-
  74 65 64 22 3a 7b 22 6c 61 6e 67 73 22 3a 5b 7b  ted":{"langs":[{
  7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f 72  {"state":{"repor
2018.10.10 19:20:15 5: MQTT Roomba message received: [3] Publish/at-most-once $aws/things/3162C60492435550/shadow/update
  6e 64 56 65 72 22 3a 22 31 33 22 7d 7d 7d        ndVer":"13"}}}
  64 65 72 56 65 72 22 3a 22 34 22 2c 22 73 6f 75  derVer":"4","sou
  3a 22 36 38 33 36 22 2c 22 62 6f 6f 74 6c 6f 61  :"6836","bootloa
  30 30 2c 22 6d 6f 62 69 6c 69 74 79 56 65 72 22  00,"mobilityVer"
  6c 69 74 68 22 2c 22 62 61 74 50 63 74 22 3a 31  lith","batPct":1
  2c 22 62 61 74 74 65 72 79 54 79 70 65 22 3a 22  ,"batteryType":"
  75 65 2c 22 66 75 6c 6c 22 3a 66 61 6c 73 65 7d  ue,"full":false}
  6e 22 3a 7b 22 70 72 65 73 65 6e 74 22 3a 74 72  n":{"present":tr
  6b 6e 6f 77 6e 22 3a 74 72 75 65 7d 2c 22 62 69  known":true},"bi
  6e 22 3a 33 37 7d 2c 22 64 6f 63 6b 22 3a 7b 22  n":37},"dock":{"
  74 69 61 74 6f 72 22 3a 22 22 2c 22 6e 4d 73 73  tiator":"","nMss
  3a 37 2c 22 73 71 66 74 22 3a 30 2c 22 69 6e 69  :7,"sqft":0,"ini
  52 65 61 64 79 22 3a 30 2c 22 6d 73 73 6e 4d 22  Ready":0,"mssnM"
  30 2c 22 65 72 72 6f 72 22 3a 30 2c 22 6e 6f 74  0,"error":0,"not
  65 4d 22 3a 30 2c 22 72 65 63 68 72 67 4d 22 3a  eM":0,"rechrgM":
  65 22 3a 22 73 74 6f 70 22 2c 22 65 78 70 69 72  e":"stop","expir
  6c 65 22 3a 22 6e 6f 6e 65 22 2c 22 70 68 61 73  le":"none","phas
  69 6f 6e 53 74 61 74 75 73 22 3a 7b 22 63 79 63  ionStatus":{"cyc
  74 65 64 22 3a 7b 22 63 6c 65 61 6e 4d 69 73 73  ted":{"cleanMiss
  7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f 72  {"state":{"repor
2018.10.10 19:20:15 5: MQTT Roomba message received: [3] Publish/at-most-once $aws/things/3162C60492435550/shadow/update
  22 6c 61 6e 67 75 61 67 65 22 3a 30 7d 7d 7d     "language":0}}}
  30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 5d 7d 2c  0,0,0,0,0,0,0]},
  30 2c 30 2c 30 2c 30 2c 30 5d 2c 22 6d 22 3a 5b  0,0,0,0,0],"m":[
  6e 6f 6e 65 22 5d 2c 22 68 22 3a 5b 30 2c 30 2c  none"],"h":[0,0,
  2c 22 6e 6f 6e 65 22 2c 22 6e 6f 6e 65 22 2c 22  ,"none","none","
  65 22 2c 22 6e 6f 6e 65 22 2c 22 6e 6f 6e 65 22  e","none","none"
  6c 65 22 3a 5b 22 6e 6f 6e 65 22 2c 22 6e 6f 6e  le":["none","non
  6e 53 63 68 65 64 75 6c 65 22 3a 7b 22 63 79 63  nSchedule":{"cyc
  43 79 63 6c 65 4d 22 3a 30 7d 2c 22 63 6c 65 61  CycleM":0},"clea
  33 37 2c 22 6e 4d 73 73 6e 43 22 3a 30 2c 22 61  37,"nMssnC":0,"a
  6e 4f 6b 22 3a 31 34 2c 22 6e 4d 73 73 6e 22 3a  nOk":14,"nMssn":
  6e 4d 73 73 6e 46 22 3a 32 33 2c 22 6e 4d 73 73  nMssnF":23,"nMss
  6e 22 3a 7b 22 61 4d 73 73 6e 4d 22 3a 32 2c 22  n":{"aMssnM":2,"
  43 42 75 6d 70 22 3a 30 7d 2c 22 62 62 6d 73 73  CBump":0},"bbmss
  3a 30 2c 22 6e 57 53 74 6c 6c 22 3a 30 2c 22 6e  :0,"nWStll":0,"n
  66 73 52 22 3a 30 2c 22 6e 4d 42 53 74 6c 6c 22  fsR":0,"nMBStll"
  6e 50 69 63 6b 73 22 3a 30 2c 22 6e 43 6c 69 66  nPicks":0,"nClif
  22 3a 30 2c 22 6e 53 74 75 63 6b 22 3a 30 2c 22  ":0,"nStuck":0,"
  6e 53 63 72 75 62 73 22 3a 30 2c 22 73 71 66 74  nScrubs":0,"sqft
  22 68 72 22 3a 32 2c 22 6d 69 6e 22 3a 32 2c 22  "hr":2,"min":2,"
  35 2c 22 6e 50 61 6e 69 63 73 22 3a 31 35 36 2c  5,"nPanics":156,
  22 3a 7b 22 6e 43 6c 69 66 66 73 46 22 3a 32 37  ":{"nCliffsF":27
  63 43 6f 6e 66 22 3a 31 7d 2c 22 62 62 72 75 6e  cConf":1},"bbrun
  61 22 3a 31 2c 22 65 63 6f 22 3a 31 2c 22 73 76  a":1,"eco":1,"sv
  74 65 64 22 3a 7b 22 63 61 70 22 3a 7b 22 6f 74  ted":{"cap":{"ot
  7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f 72  {"state":{"repor
2018.10.10 19:20:15 5: MQTT Roomba message received: [3] Publish/at-most-once $aws/things/3162C60492435550/shadow/update
  6f 62 62 69 65 22 7d 7d 7d                       obbie"}}}
  74 65 64 22 3a 7b 22 6e 61 6d 65 22 3a 20 22 52  ted":{"name": "R
  7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f 72  {"state":{"repor
2018.10.10 19:20:15 5: MQTT Roomba message received: [3] Publish/at-most-once $aws/things/3162C60492435550/shadow/update
  22 3a 20 22 76 30 30 37 22 7d 7d 7d 7d           ": "v007"}}}}
  6e 74 73 22 3a 7b 22 73 76 63 44 65 70 6c 49 64  nts":{"svcDeplId
  74 65 64 22 3a 7b 22 73 76 63 45 6e 64 70 6f 69  ted":{"svcEndpoi
  7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f 72  {"state":{"repor
2018.10.10 19:20:15 5: MQTT Roomba message received: [3] Publish/at-most-once $aws/things/3162C60492435550/shadow/update
  3a 20 22 70 72 6f 64 22 7d 7d 7d                 : "prod"}}}
  74 65 64 22 3a 7b 22 63 6c 6f 75 64 45 6e 76 22  ted":{"cloudEnv"
  7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f 72  {"state":{"repor
2018.10.10 19:20:15 5: MQTT Roomba message received: [3] Publish/at-most-once $aws/things/3162C60492435550/shadow/update
  20 22 44 45 22 7d 7d 7d                           "DE"}}}
  74 65 64 22 3a 7b 22 63 6f 75 6e 74 72 79 22 3a  ted":{"country":
  7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f 72  {"state":{"repor
2018.10.10 19:20:15 5: MQTT Roomba message received: [3] Publish/at-most-once $aws/things/3162C60492435550/shadow/update
  7d 7d                                            }}
  39 66 3a 33 38 3a 66 39 3a 39 36 3a 33 64 22 7d  9f:38:f9:96:3d"}
  74 65 64 22 3a 7b 22 6d 61 63 22 3a 22 34 30 3a  ted":{"mac":"40:
  7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f 72  {"state":{"repor
2018.10.10 19:20:15 5: MQTT Roomba message received: [3] Publish/at-most-once wifistat
  33 36 38 22 7d 7d 7d 7d                          368"}}}}
  41 36 46 36 43 36 43 37 39 34 32 36 35 36 31 36  A6F6C6C794265616
  73 65 63 22 3a 37 2c 22 73 73 69 64 22 3a 22 34  sec":7,"ssid":"4
  74 65 64 22 3a 7b 22 77 6c 63 66 67 22 3a 7b 22  ted":{"wlcfg":{"
  7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f 72  {"state":{"repor
2018.10.10 19:20:14 5: MQTT Roomba message received: [3] Publish/at-most-once wifistat
  7d 7d 7d                                         }}}
  3a 64 63 3a 62 31 22 2c 22 73 65 63 22 3a 34 7d  :dc:b1","sec":4}
  69 64 22 3a 22 65 30 3a 32 38 3a 36 64 3a 36 64  id":"e0:28:6d:6d
  37 36 2c 22 64 6e 73 32 22 3a 30 2c 22 62 73 73  76,"dns2":0,"bss
  2c 22 64 6e 73 31 22 3a 33 32 33 32 32 37 32 31  ,"dns1":32322721
  2c 22 67 77 22 3a 33 32 33 32 32 37 32 31 36 38  ,"gw":3232272168
  6d 61 73 6b 22 3a 34 32 39 34 39 36 37 30 34 30  mask":4294967040
  64 72 22 3a 33 32 33 32 32 37 32 31 37 31 2c 22  dr":3232272171,"
  7b 22 64 68 63 70 22 3a 74 72 75 65 2c 22 61 64  {"dhcp":true,"ad
  74 65 64 22 3a 7b 22 6e 65 74 69 6e 66 6f 22 3a  ted":{"netinfo":
  7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f 72  {"state":{"repor
2018.10.10 19:20:14 5: MQTT Roomba message received: [3] Publish/at-most-once wifistat
2018.10.10 19:20:14 5: MQTT Roomba message received: [13] PingResp/at-most-once
  7d 7d 7d 7d                                      }}}}
  3a 66 61 6c 73 65 2c 22 63 6c 6f 75 64 22 3a 31  :false,"cloud":1
  3a 7b 22 77 69 66 69 22 3a 31 2c 22 75 61 70 22  :{"wifi":1,"uap"
  74 65 64 22 3a 7b 22 77 69 66 69 73 74 61 74 22  ted":{"wifistat"
  7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f 72  {"state":{"repor
2018.10.10 19:20:14 5: MQTT Roomba message received: [3] Publish/at-most-once wifistat
  7d 7d 7d                                         }}}
  3a 64 63 3a 62 31 22 2c 22 73 65 63 22 3a 34 7d  :dc:b1","sec":4}
  69 64 22 3a 22 65 30 3a 32 38 3a 36 64 3a 36 64  id":"e0:28:6d:6d
  37 36 2c 22 64 6e 73 32 22 3a 30 2c 22 62 73 73  76,"dns2":0,"bss
  2c 22 64 6e 73 31 22 3a 33 32 33 32 32 37 32 31  ,"dns1":32322721
  2c 22 67 77 22 3a 33 32 33 32 32 37 32 31 36 38  ,"gw":3232272168
  6d 61 73 6b 22 3a 34 32 39 34 39 36 37 30 34 30  mask":4294967040
  64 72 22 3a 33 32 33 32 32 37 32 31 37 31 2c 22  dr":3232272171,"
  7b 22 64 68 63 70 22 3a 74 72 75 65 2c 22 61 64  {"dhcp":true,"ad
  74 65 64 22 3a 7b 22 6e 65 74 69 6e 66 6f 22 3a  ted":{"netinfo":
  7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f 72  {"state":{"repor
2018.10.10 19:20:14 5: MQTT Roomba message received: [3] Publish/at-most-once wifistat
2018.10.10 19:20:14 5: MQTT Roomba message received: [2] ConnAck/at-most-once Connection Accepted
2018.10.10 19:20:13 3: Roomba device opened
2018.10.10 19:20:13 5: SW: c000
2018.10.10 19:20:13 5: MQTT Roomba message sent: PingReq/at-most-once
2018.10.10 19:20:13 5: SW: 104e00044d51545404c2003c001033313632433630343932343335353530001033313632433630343932343335353530001e3a313a313533393039313034333a6274744565336a626236454e31315476
2018.10.10 19:20:13 5: MQTT Roomba message sent: Connect/at-most-once MQTT/4/3162C60492435550 user=3162C60492435550 pass=:1:1539091043:bttEe3jbb6EN11Tv
2018.10.10 19:20:11 3: Opening Roomba device 192.168.143.43:8883
2018.10.10 19:19:33 5: SW: e000
2018.10.10 19:19:33 5: MQTT Roomba message sent: Disconnect/at-most-once
2018.10.10 19:19:14 5: SW: c000
2018.10.10 19:19:14 5: MQTT Roomba message sent: PingReq/at-most-once
2018.10.10 19:19:08 3: Can't connect to 192.168.143.43:8883: Connection timed out
2018.10.10 19:19:05 3: Opening Roomba device 192.168.143.43:8883
2018.10.10 19:18:14 1: 192.168.143.43:8883 disconnected, waiting to reappear (Roomba)


Das erhellt mich jetzt auch nicht wirklich... Produktiv- und Testsystem könnten unterschiedlich Firmware haben, ansonsten ziemlich identisch (apt-get install update && upgrade gemacht, Perl-Version v5.24.1, beide System auf FHEM 5.9)

Hat jemand eine Idee, wo ich anfangen kann zu suchen?

Stefan
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: bennebartsch am 10 Oktober 2018, 19:40:50
Laufen den beide Instanzen von FHEM gleichzeitig? Mach mal das Testsystem aus und versuch's nochmal. Ansonsten einmal den Roomba resetten und direkt im Produktivsystem hinzufügen.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Brice am 10 Oktober 2018, 20:01:09
Danke.

Das Testsystem ist mittlerweile wieder zurückgesetzt, es laufen also keine zwei Instanzen.

Roomba ist resettet und wieder mit dem WLan verbunden. Nach erneuter Definition im Produktivsystem kommen jetzt nur noch die permanenten disconnects/connects

2018.10.10 19:50:14 1: 192.168.143.43:8883 disconnected, waiting to reappear (Roomba)
2018.10.10 19:50:14 1: 192.168.143.43:8883 reappeared (Roomba)
2018.10.10 19:50:12 1: 192.168.143.43:8883 disconnected, waiting to reappear (Roomba)
2018.10.10 19:50:11 1: 192.168.143.43:8883 reappeared (Roomba)
2018.10.10 19:50:09 1: 192.168.143.43:8883 disconnected, waiting to reappear (Roomba)
2018.10.10 19:50:09 3: Roomba device opened
2018.10.10 19:50:06 3: Opening Roomba device 192.168.143.43:8883


Log bei verbose 5:
2018.10.10 19:57:40 3: Can't connect to 192.168.143.43:8883: Connection refused
2018.10.10 19:57:40 3: Opening Roomba device 192.168.143.43:8883
2018.10.10 19:57:40 1: 192.168.143.43:8883 reappeared (Roomba)
2018.10.10 19:57:40 5: SW: c000
2018.10.10 19:57:40 5: MQTT Roomba message sent: PingReq/at-most-once
2018.10.10 19:57:40 5: SW: 102500044d5154540402003c00194e65743a3a4d5154543a3a4d6573736167655b31313230365d
2018.10.10 19:57:40 5: MQTT Roomba message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[11206]
2018.10.10 19:57:38 1: 192.168.143.43:8883 disconnected, waiting to reappear (Roomba)
2018.10.10 19:57:38 5: MQTT Roomba message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2018.10.10 19:57:37 1: 192.168.143.43:8883 reappeared (Roomba)
2018.10.10 19:57:37 5: SW: c000
2018.10.10 19:57:37 5: MQTT Roomba message sent: PingReq/at-most-once
2018.10.10 19:57:37 5: SW: 102500044d5154540402003c00194e65743a3a4d5154543a3a4d6573736167655b31313230365d
2018.10.10 19:57:37 5: MQTT Roomba message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[11206]
2018.10.10 19:57:35 1: 192.168.143.43:8883 disconnected, waiting to reappear (Roomba)
2018.10.10 19:57:35 5: MQTT Roomba message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2018.10.10 19:57:35 1: 192.168.143.43:8883 reappeared (Roomba)
2018.10.10 19:57:35 5: SW: c000
2018.10.10 19:57:35 5: MQTT Roomba message sent: PingReq/at-most-once
2018.10.10 19:57:35 5: SW: 102500044d5154540402003c00194e65743a3a4d5154543a3a4d6573736167655b31313230365d
2018.10.10 19:57:35 5: MQTT Roomba message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[11206]
2018.10.10 19:57:33 1: 192.168.143.43:8883 disconnected, waiting to reappear (Roomba)
2018.10.10 19:57:33 5: MQTT Roomba message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2018.10.10 19:57:32 1: 192.168.143.43:8883 reappeared (Roomba)
2018.10.10 19:57:32 5: SW: c000
2018.10.10 19:57:32 5: MQTT Roomba message sent: PingReq/at-most-once
2018.10.10 19:57:32 5: SW: 102500044d5154540402003c00194e65743a3a4d5154543a3a4d6573736167655b31313230365d
2018.10.10 19:57:32 5: MQTT Roomba message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[11206]
2018.10.10 19:57:30 1: 192.168.143.43:8883 disconnected, waiting to reappear (Roomba)
2018.10.10 19:57:30 5: MQTT Roomba message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2018.10.10 19:57:30 1: 192.168.143.43:8883 reappeared (Roomba)
2018.10.10 19:57:30 5: SW: c000
2018.10.10 19:57:30 5: MQTT Roomba message sent: PingReq/at-most-once
2018.10.10 19:57:30 5: SW: 102500044d5154540402003c00194e65743a3a4d5154543a3a4d6573736167655b31313230365d
2018.10.10 19:57:30 5: MQTT Roomba message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[11206]
2018.10.10 19:57:28 1: 192.168.143.43:8883 disconnected, waiting to reappear (Roomba)
2018.10.10 19:57:28 5: MQTT Roomba message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2018.10.10 19:57:24 1: 192.168.143.43:8883 reappeared (Roomba)
2018.10.10 19:57:24 5: SW: c000
2018.10.10 19:57:24 5: MQTT Roomba message sent: PingReq/at-most-once
2018.10.10 19:57:24 5: SW: 102500044d5154540402003c00194e65743a3a4d5154543a3a4d6573736167655b31313230365d
2018.10.10 19:57:24 5: MQTT Roomba message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[11206]
2018.10.10 19:57:22 1: 192.168.143.43:8883 disconnected, waiting to reappear (Roomba)
2018.10.10 19:57:22 5: MQTT Roomba message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version


Was bedeutet denn "Connection Refused: unacceptable protocol version" schon wieder?

Immerhin einen Schritt weiter :)
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: bennebartsch am 10 Oktober 2018, 20:42:34
Kein Ding, aber ab jetzt kann ich dir leider auch nicht weiterhelfen, bei mir lief das Modul bis jetzt auch nicht wirklich sauber. Manchmal geht's, manchmal nicht. Und dazu natürlich die ständigen reconnects im Log...
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Mirko_2013 am 10 Oktober 2018, 21:04:54
Hallo zusammen,

Nach dem ich jetzt "dorita980" auf einem RPi installiert hatte konnte ich dort auch das Passwort auslesen.

An meiner eigentlichen Fhem Instanz konnte ich dadurch auch die Verbindung zum Roomba erfolgreich herstellen.
Allerdings ist auch bei mir ein ständiges Connect / Reconnect was allerdings keine Probleme in der Steuerung bringt.
Funktioniert alles ohne Probleme.

Was aufgefallen ist:
- App in auf dem Telefon kann keine Verbindung mehr aufbauen
- die Tasten am Roomba leuchten ständig nach erfolgreichen Verbindungsaufbau durch Fhem
- nach "set Roomba disconnect"
-->> keine Änderung (Tasten leuchten weiter)
-->> Status bleibt auf opened stehen
-->> Reading werden nicht weiter aktualisiert

Gruß
Mirko

Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Brice am 10 Oktober 2018, 21:13:39
Und noch einen Schritt weiter:

Den Roomba nochmals zurückgesetzt und im Produktivsystem neu definiert. Die neue Meldung 2018.10.10 20:19:36 5: MQTT Roomba message received: [2] ConnAck/at-most-once Connection Refused: not authorized hat mich dazu veranlasst, das Auslesen von Blid und Passwort vom Produktivsystem aus zu machen und siehe da, es gab ein anderes Passwort  :) :)

Disconnects und Connects bleiben, trotzdem ist der Roomba steuerbar.

Es bleibt spannend.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: bennebartsch am 11 Oktober 2018, 01:41:45
Zitat von: Mirko_2013 am 10 Oktober 2018, 21:04:54
- App in auf dem Telefon kann keine Verbindung mehr aufbauen

Ist auch immer noch meine Vermutung dass die reconnects daher kommen!

Zitat von: bennebartsch am 17 September 2018, 15:15:52
Vielleicht hat das etwas mit den ständigen reconnects zu tun?:
"The Roomba's MQTT server only allows a single connection. Enabling continuous mode will force the App to connect via the cloud to your Roomba."
Quelle: https://www.home-assistant.io/components/vacuum.roomba/
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Brice am 12 Oktober 2018, 17:16:21
Es bleibt weiterhin spannend für mich, ich hoffe ich langweile euch nicht :)  Ich habe folgende Hardware, alle mit FHEM 5.9:
Desweiteren Raspberry Pi 1 Model A+ mit MotionEyeOS -> mit Kameramodul, dient zur Wohnraumüberwachung für das Produktsystem

Meine bisherigen Erfahrungen unter der Prämisse, dass die disconnects/connects auch erst später kommen können:

Testsystem
Produktivsystem

Wifi-Radio

Derzeit verdächtige ich FritzBox und/oder PRESENCE für die Connect-Probleme. Kann das jemand bestätigen?

Mein Vorhaben war, dass der Roomba startet, wenn sich das letzte Mobiltelefon aus dem WLan abgemeldet hat, bzw. dass der Roomba pausiert, wenn ein Anruf auf dem Festnetz angenommen wird. Aktuell läuft das Testsystem mit FHEM 5.9 nur für Roomba problemlos. Dann werde ich mich mal um FHEM2FHEM u.ä. kümmern (müssen). Und um einen für meine Frau angenehmen Platz für den vierten Pi, der bisher im Schrank lag...

Stefan

P.S.: den Befehl npm run getpassword <robotIP> träume ich nachts schon  8)
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Komaandy am 14 Oktober 2018, 00:45:17
Kann ich bezogen auf das PRESENCE bestätigen.
Sobald ich das auf meinem Testsystem nutze hört das Roomba Modul auf sauber zu funkitonieren.


Zitat von: Brice am 12 Oktober 2018, 17:16:21

Derzeit verdächtige ich FritzBox und/oder PRESENCE für die Connect-Probleme. Kann das jemand bestätigen?


Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Komaandy am 14 Oktober 2018, 08:43:09
Hallo guten Morgen,

ich habe es mittlerweile für mich mit RFHEM gelöst.
Ich habe einen Raspberry Zero den ich  übrig hatte nun als Slave eingerichtet der eine blanke FHEM Instanz laufen hat und quasi nur den Roomba steuert...
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Brice am 17 Oktober 2018, 14:13:51
Das Modul RFHEM wird nicht mehr gepflegt. Bei der Durchsicht des Threads bin ich auf den Beitrag von UliM (https://forum.fhem.de/index.php/topic,23638.msg169337.html#msg169337) gestolpert. Diese Lösung habe ich jetzt im Einsatz mit den notwendigen Notifys im Produktivsystem zum Starten bei Abwesenheit bzw Stoppen / Dock beim Zurückkommen.

Bei der Erstellung des Notify zur Steuerung über das dummy-Device im FHEM Webfrontend Beitrag 23 (doppeltes Semikolon) beachten.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Yokurt am 17 Oktober 2018, 16:02:59
Hallo,

erstmal danke für das Modul. Habe mein Roomba980 in fhem eingebunden und zumindest starten und stoppen funktioniert.

Ich nutze DbLog und um die Flut an Statusmeldungen zu reduzieren fehlt (noch) das Attribut "event-on-change-reading". Ich habe es als userattr hinzugefügt es tut seine Dienste. Aber vielleicht könnte das in Zukunft zu den Attributen mit aufgenommen werden.

Gruß
Yokurt

P.S.: Mir fehlt noch ein notify im Fehlerfall (z.B. wenn der Roomba festhängt),  hat schon jemand Erfahrung welches der vielen readings das hergibt?
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 17 Oktober 2018, 16:34:09
Zitat von: Yokurt am 17 Oktober 2018, 16:02:59
P.S.: Mir fehlt noch ein notify im Fehlerfall (z.B. wenn der Roomba festhängt),  hat schon jemand Erfahrung welches der vielen readings das hergibt?

Ich reagiere in einem DOIF auf:
[Roombi:cleanMissionStatus-phase] eq 'stuck'

Funktioniert super  ;D
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Spiff am 04 November 2018, 14:32:32
Hi,

bei mir lief eine alte Version ja total zuverlässig. Jetzt habe ich ein Update gemacht und kriege einfach keine Verbindung mehr zustande. Die connect/disconnect-Problematik habe ich auch. FHEM läuft auf Windows mit ActivePerl.

Auf verbose 5 erhalte ich diesen Fehler:

Connection Refused, unacceptable protocol version

In einer Fehlerbeschreibung heißt es:
The Server does not support the level of the MQTT protocol requested by the Client

Wer genau ist der Server? Ist es das roomba-Modul oder ein anderes FHEM MQTT-Modul oder ein Perl-Modul?

Kann es sein, dass eins von den obigen nicht mit der Version vom Roomba kompatibel ist und daher die disconnects kommen?

Gruß
Spiff
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: bennebartsch am 04 November 2018, 23:10:40
Hi, ich behaupte einfach mal: der Roomba ist der Server. Wenn er der Client wäre, müsste man ihm ja irgendwie sagen mit welchem Server er sprechen soll.

Zitat von: Spiff am 04 November 2018, 14:32:32
Hi,

bei mir lief eine alte Version ja total zuverlässig. Jetzt habe ich ein Update gemacht und kriege einfach keine Verbindung mehr zustande. Die connect/disconnect-Problematik habe ich auch. FHEM läuft auf Windows mit ActivePerl.

Auf verbose 5 erhalte ich diesen Fehler:

Connection Refused, unacceptable protocol version

In einer Fehlerbeschreibung heißt es:
The Server does not support the level of the MQTT protocol requested by the Client

Wer genau ist der Server? Ist es das roomba-Modul oder ein anderes FHEM MQTT-Modul oder ein Perl-Modul?

Kann es sein, dass eins von den obigen nicht mit der Version vom Roomba kompatibel ist und daher die disconnects kommen?

Gruß
Spiff
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Brice am 05 November 2018, 17:56:26
Zitat von: Spiff am 04 November 2018, 14:32:32Connection Refused, unacceptable protocol version

Den Fehler hatte ich auf einem RPi3 wie hier beschrieben (https://forum.fhem.de/index.php/topic,67632.msg844495.html#msg844495) auch schon. Geholfen hat mir die Zurücksetzung des Roomba und das Neueinlesen von Blid und Password (https://forum.fhem.de/index.php/topic,67632.msg844531.html#msg844531).

Das Modul Roomba läuft bei mir auf einem separatem FHEM-RPi3 per FHEM2FHEM zum Produktivsystem, auf dem ich bisher keine FHEM-updates durchgeführt habe.

Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: dk3572 am 18 Dezember 2018, 14:09:36
Hallo,
ich möchte meinen Roomba starten wenn ich abwesend bin und er an diesem Tag noch nicht gefahren ist.
Kann man anhand eines bestimmten Reading ersehen, ob er heute schon gefahren ist?

Danke und VG
Dieter
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Brice am 18 Dezember 2018, 16:49:01
Reading wäre "lastCommand-command `clean`"

aber frag mich nicht, wie der Zeitstempel in ein Notify eingebunden wird...

Stefan

Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: dk3572 am 19 Dezember 2018, 10:56:53
Hallo Stefan,

danke für die Antwort.
Habe noch 2 weitere Fragen:
1. Kann man an einem bestimmten Reading sehen, wie lange die letzte Aufgabe zurück liegt?
2. Gibt es eine Erklärung aller Readings? Manche Abkürzungen sind schon sehr kryptisch und ich konnte noch nichts finden.

Danke und VG
Dieter
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Brice am 19 Dezember 2018, 15:43:51
Hallo Dieter,

zunächst: ich habe hier einen Roomba 676 am Start, weiß aber nicht, ob die Readings mit deinem Roomba identisch sind.

zu 1: Ich behaupte jetzt mal, das wird schwierig. Jedes Reading hat einen Zeitstempel, dem Modul fehlt aber das Attribut event-on-change-reading. Bei z.B. einem disconnect werden die Zeitstempel aller Readings neu gesetzt.

zu 2: das Modul ist nicht offiziell, daher gibt es wenig Dokumentation. Vielleicht schaust du mal auf der Dorita-Seite (Github?, Link habe ich gerade nicht)

Ich werde die Automatisierung "wenn weg, dann staubsaugen" erst in Angriff nehmen, wenn der ganze Weihnachtskrempel wieder weggeräumt ist.

Stefan
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Yokurt am 19 Dezember 2018, 16:01:21
Zitat von: Brice am 19 Dezember 2018, 15:43:51
zu 1: Ich behaupte jetzt mal, das wird schwierig. Jedes Reading hat einen Zeitstempel, dem Modul fehlt aber das Attribut event-on-change-reading. Bei z.B. einem disconnect werden die Zeitstempel aller Readings neu gesetzt.
Ich habe das event-on-change-reading per Userattribut hinzugefügt. Funktioniert bei mir gut um die Logflut etwas im Zaum zuhalten.
userattr event-on-change-reading
event-on-change-reading signal.*:10,.*

Ich habe ausser einer Benachrichtigungsmail bei cleanMissionStatus-phase eq 'stuck' aber selber noch keine Auswertung auf die Readings.
Du könntest im log unter cleanMissionStatus-phase oder lastCommand-command schauen, ob an dem Tag schon was lief.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Heggeg am 05 Januar 2019, 03:57:32
Hallo zusammen,
ich möchte meinem Roomba via Firewall das Nachhause funken abgewöhnen. Ich möchte aber nicht auf die netten Benachrichtigungen verzichten, wenn der Roboter arbeitet oder seine arbeit beendet hat. Deswegen habe ich mir ein DOIF erstellt, bisher hat mein Vorgehen immer funktionier nur nun beim Roomba leider nicht. Ein Erfahrener FHEMler wird vermutlich bei dem DOIF die Hände über den Kopf zusammenschlagen könnte mir aber trotzdem jemand sagen warum der DOIF nicht auf Änderrungen des Status des Roboters reagiert?

Folgende Versionen des DOIFs habe ich ausprobiert:

define dRoombaBenachrichtigung DOIF ([Mayrobo] eq 'stuck' ) (set TelegramBot message Mayrobo ist stecken geblieben!) DOELSEIF ([Mayrobo] eq 'charge') (set TelegramBot message Mayrobo ist nun am laden!) DOELSEIF ([Mayrobo] eq 'run') (set TelegramBot message Mayrobo reinigt nun die Wohnung!) DOELSEIF ([Mayrobo] eq 'hmUsrDock') (set TelegramBot message Mayrobo ist nun auf dem Weg zum Dock!) DOELSEIF ([Mayrobo] eq 'stop') (set TelegramBot message Mayrobo hat die Arbeit beendet!)



define dRoombaBenachrichtigung DOIF ([cleanMissionStatus-phase] eq 'stuck' ) (set TelegramBot message Mayrobo ist stecken geblieben!) DOELSEIF ([cleanMissionStatus-phase] eq 'charge') (set TelegramBot message Mayrobo ist nun am laden!) DOELSEIF ([cleanMissionStatus-phase] eq 'run') (set TelegramBot message Mayrobo reinigt nun die Wohnung!) DOELSEIF ([cleanMissionStatus-phase] eq 'hmUsrDock') (set TelegramBot message Mayrobo ist nun auf dem Weg zum Dock!) DOELSEIF ([cleanMissionStatus-phase] eq 'stop') (set TelegramBot message Mayrobo hat die Arbeit beendet!)


Meinen Roomba habe ich wie folgt angelegt:


define Mayrobo Roomba980 <IP>:8883 <blid> <pw>
attr Mayrobo icon vacuum_top
attr Mayrobo room 9.8 Roomba
attr Mayrobo userattr event-on-change-reading
attr Mayrobo event-on-change-reading signal.*:10,.*


Viele Grüße!
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: dk3572 am 05 Januar 2019, 08:59:14
Zitat von: Heggeg am 05 Januar 2019, 03:57:32
Hallo zusammen,
ich möchte meinem Roomba via Firewall das Nachhause funken abgewöhnen. Ich möchte aber nicht auf die netten Benachrichtigungen verzichten, wenn der Roboter arbeitet oder seine arbeit beendet hat. Deswegen habe ich mir ein DOIF erstellt, bisher hat mein Vorgehen immer funktionier nur nun beim Roomba leider nicht. Ein Erfahrener FHEMler wird vermutlich bei dem DOIF die Hände über den Kopf zusammenschlagen könnte mir aber trotzdem jemand sagen warum der DOIF nicht auf Änderrungen des Status des Roboters reagiert?

Folgende Versionen des DOIFs habe ich ausprobiert:

define dRoombaBenachrichtigung DOIF ([Mayrobo] eq 'stuck' ) (set TelegramBot message Mayrobo ist stecken geblieben!) DOELSEIF ([Mayrobo] eq 'charge') (set TelegramBot message Mayrobo ist nun am laden!) DOELSEIF ([Mayrobo] eq 'run') (set TelegramBot message Mayrobo reinigt nun die Wohnung!) DOELSEIF ([Mayrobo] eq 'hmUsrDock') (set TelegramBot message Mayrobo ist nun auf dem Weg zum Dock!) DOELSEIF ([Mayrobo] eq 'stop') (set TelegramBot message Mayrobo hat die Arbeit beendet!)



define dRoombaBenachrichtigung DOIF ([cleanMissionStatus-phase] eq 'stuck' ) (set TelegramBot message Mayrobo ist stecken geblieben!) DOELSEIF ([cleanMissionStatus-phase] eq 'charge') (set TelegramBot message Mayrobo ist nun am laden!) DOELSEIF ([cleanMissionStatus-phase] eq 'run') (set TelegramBot message Mayrobo reinigt nun die Wohnung!) DOELSEIF ([cleanMissionStatus-phase] eq 'hmUsrDock') (set TelegramBot message Mayrobo ist nun auf dem Weg zum Dock!) DOELSEIF ([cleanMissionStatus-phase] eq 'stop') (set TelegramBot message Mayrobo hat die Arbeit beendet!)


Meinen Roomba habe ich wie folgt angelegt:


define Mayrobo Roomba980 <IP>:8883 <blid> <pw>
attr Mayrobo icon vacuum_top
attr Mayrobo room 9.8 Roomba
attr Mayrobo userattr event-on-change-reading
attr Mayrobo event-on-change-reading signal.*:10,.*


Viele Grüße!

Guten Morgen,

statt 'stuck' eher "stuck" ?

VG Dieter
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Heggeg am 05 Januar 2019, 17:18:47
Zitat von: dk3572 am 05 Januar 2019, 08:59:14
Guten Morgen,

statt 'stuck' eher "stuck" ?

VG Dieter

([Mayrobo:cleanMissionStatus-phase] eq "stuck" ) (set TelegramBot message Mayrobo ist stecken geblieben!) DOELSEIF ([Mayrobo:cleanMissionStatus-phase] eq "charge") (set TelegramBot message Mayrobo ist nun am laden!) DOELSEIF ([Mayrobo:cleanMissionStatus-phase] eq "run") (set TelegramBot message Mayrobo reinigt nun die Wohnung!) DOELSEIF ([Mayrobo:cleanMissionStatus-phase] eq "hmUsrDock") (set TelegramBot message Mayrobo ist nun auf dem Weg zum Dock!) DOELSEIF ([Mayrobo:cleanMissionStatus-phase] eq "stop") (set TelegramBot message Mayrobo hat die Arbeit beendet!)

So läufts nun ;)

Gruß Heggeg
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: joker4791 am 25 März 2019, 18:54:38
Hi,

habe meinen Roomba 960 erfolgreich in FHEM eingebunden. Wollte mir nun ein paar Buttons basteln um den Roboter starten, stoppen und zurück zur Home-Base schicken zu können. Nun stehe ich aber auf dem Schlauch, da dafür mehrere Befehle hintereinander ausgeführt werden müssen: Connect - Start - Disconnect ... oder Connect - Stopp - Disconnect. Wie kann ich das am schlauesten anstellen?
Falls die Frage zu Newbie ist sorry, ich habe so eine Funktionalität nicht gefunden bzw. dann die falschen Suchbegriffe verwendet.

Grüße,
j.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 01 April 2019, 10:02:56
Hi,
hilft das?
https://fhem.de/commandref_DE.html#sleep
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Brause am 11 Mai 2019, 21:29:29
Guten Abend

Habe gerade auch mein elektrisches Haustier in Betrieb genommen

Roomba 691
SW 3.2.40+69

Einrichtung ohne Probleme, lief alles auf anhieb.

Gruss Brause
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Jewe am 29 Mai 2019, 22:44:39
Hallo,
was muss ich denn machen um einen roomba in Fhem zu integrieren ?

Zitat von: Thorsten Pferdekaemper am 06 März 2017, 23:00:14

Also die hier angehängte Datei nach <fhem>/FHEM kopieren (übliche RasPi-Installation: /opt/fhem/FHEM).


define Robbie Roomba980 <ip-addresse>:8883 <blid/username> <passwort>
define RobbieLog FileLog ./log/robbielog-%Y%m%d.log Robbie

Wie man die benötigten Angaben herausbekommt findet man bei dorita980. (Später baue ich das vielleicht auch noch ein.)

- Die Datei 42_Roomba980.pm kopieren.
- define Robbie Roomba980 192.168.6.92:8883 blid/username password

was ist blid ??

wenn ich das Modul lade, bekomme ich diese Meldung :
Can't locate Module/Pluggable.pm in @INC (you may need to install the Module::Pluggable module) (@INC contains: fhem.p/lib fhem.p/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /usr/local/FHEM/share/fhem/FHEM/lib /opt/fhem . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/arm-linux-gnueabihf/perl5/5.24 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base) 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 121.
BEGIN failed--compilation aborted at ./FHEM/42_Roomba980.pm line 121.

Jens
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Brice am 30 Mai 2019, 16:08:11
Wenn ich das richtig in Erinnerung habe, bekommst du die blid über dorita980 mit dem Befehl
npm run getpassword <robotIP>
Gefunden: Auslesen der Daten mittels dorita980 (https://github.com/koalazak/dorita980/blob/master/README.md#how-to-get-your-usernameblid-and-password)
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Jewe am 31 Mai 2019, 10:32:04
Hallo,

inzwischen habe ich die blid und passwort. War etwas schwierig für mich das alles richtig zu installieren. Dorita980 hatte ich am Anfang nicht kapiert, dass ich das dazu benötige. Danke soweit für die Hilfe.

Nun hänge ich aber noch an dem Modul. Ich habe das Modul 42_Roomba980.pm von Thorstens Git geladen und in den Ordner opt/fhem/FHEM kopiert und die Berechtigungen angepasst. Meine Fheminstallation habe ich geupdatet und neu gestartet. Wenn ich nun in Fhem das Modul reloade "reload 42_Roomba980.pm", bekomme ich eine Fehlermeldung von dem Modul:

Excessively long <> operator at ./FHEM/42_Roomba980.pm line 21.

2019.05.31 10:56:23 1: reload: Error:Modul 42_Roomba980 deactivated:
Excessively long <> operator at ./FHEM/42_Roomba980.pm line 21.

2019.05.31 10:56:23 0: Excessively long <> operator at ./FHEM/42_Roomba980.pm line 21.


Ich kann dann auch nicht den Robbie Definieren. Was mache ich noch falsche ? Het jemand eine Idee ?

Danke, Jens
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 31 Mai 2019, 12:21:39
Öffne 42_Roomba980.pm mal mit einem Editor! Ist es wirklich ein Perl Modul?
Mir ist das auch mal passiert, damals habe ich irgend einen Mist runtergeladen und versucht einzubinden.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Jewe am 31 Mai 2019, 14:26:18
Ja Super !!! Das wars, kein wunder dass es nicht geklappt hat.....

Vielen Dank, Jens
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 10 Juni 2019, 03:30:52
Hallo Zusammen,

habe das Modul für meinen Roomba895 eingerichtet und noch etwas erweitert.
Dazu hab ich mich an der Doku von dorita980 orientiert und die mit apiCall möglichen set-Befehle noch mit aufgenommen.

Leider funktioniert beim Roomba895 nur "cleanSchedule". alles andere könnt ihr ja mal testen.
Mein Roomba895 hat leider keine zyklischen Statusnachrichten gesendet, daher habe ich noch einen AutoReconnect eingebaut, der über Attribute aktiviert werden kann.
Ein wenig Doku habe ich am Ende noch mit eingefügt.
Leider bin ich in MQTT noch nicht so weit drin, um die einzelnen get-Befehle, die es ja auch gibt, noch einzubauen. Ich hoffe, jemand hat dazu noch Lust, das umzusetzen.

Einen Bug hatte ich noch, wenn der connect-Befehl nicht mit ausreichend zeitlichem Abstand zum disconnect erfolgt:
decode_string: insufficient data at FHEM/lib/Net/MQTT/Message/Publish.pm line 36.
Ein etwas unschöner Nebeneffekt ist, dass FHEM auch gleich abschmiert :-(

Habt ihr da eine Idee?

viele Grüße.
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: mroschk am 11 Juni 2019, 19:25:27
Hallo,

ich stehe auch vor der Entscheidung welchen Sauger ich mir zulege, und wurde auf dieses Forum verwiesen.
( https://forum.fhem.de/index.php/topic,101108.msg948075.html#msg948075 )

Kann man den "iRobot Roomba 696" in FHEM einbinden, wie schwierig wird das, muss man da irgendwas flashen oder so ?
Wäre schön, wenn es nicht so kompliziert wäre.

Bin für alle Hilfen sehr dankbar.
Matthias
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 11 Juni 2019, 19:59:06
Hallo,

im Roomba musst Du nichts flashen, allerdings musst Du <blid⁄username> und <passwort> von deinem Roomba herausfinden.
Wie das geht, ist hier https://github.com/koalazak/dorita980/blob/master/README.md#how-to-get-your-usernameblid-and-password (https://github.com/koalazak/dorita980/blob/master/README.md#how-to-get-your-usernameblid-and-password) beschrieben.
Danach kannst Du einfach das FHEM Modul verwenden.
Ich habe mir einen gebrauchten ThinkingCleaner für meinen 563er Roomba geholt. Das FHEM-Modul, was dafür existiert ist bereits etwas ausgereifter und bequemer in der Einrichtung. Das Roomba980-Modul tut aber auch schon sehr gut. Die Frage ist nur, was Du an Infos ins SmartHome bringen willst bzw., was Du Dir von der Schnittstelle erwartest.

Beste Grüße.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Jewe am 11 Juni 2019, 20:20:10
Hey, wird an dem Roomba980-Modul eigentlich noch weiter entwickelt?

Jens

Gesendet von meinem F5121 mit Tapatalk

Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 11 Juni 2019, 21:14:35
Hi,

da ich noch nichts anderes gefunden habe, nutze das Modul und bin gerade dran folgenden Fehler zu beheben:
decode_string: insufficient data at FHEM/lib/Net/MQTT/Message/Publish.pm line 36.
Ursache dafür sind fehlerhafte Botschaften wie diese im Anhang.

Habt ihr Alternativen fürs Roomba980-Modul?

Grüße.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 11 Juni 2019, 21:29:34
Zitat von: Jewe am 11 Juni 2019, 20:20:10
Hey, wird an dem Roomba980-Modul eigentlich noch weiter entwickelt?
Hi,
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: mroschk am 11 Juni 2019, 21:49:14
Zitat von: Lippie am 11 Juni 2019, 19:59:06
Hallo,

im Roomba musst Du nichts flashen, allerdings musst Du <blid⁄username> und <passwort> von deinem Roomba herausfinden.
Wie das geht, ist hier https://github.com/koalazak/dorita980/blob/master/README.md#how-to-get-your-usernameblid-and-password (https://github.com/koalazak/dorita980/blob/master/README.md#how-to-get-your-usernameblid-and-password) beschrieben.
Danach kannst Du einfach das FHEM Modul verwenden.
Ich habe mir einen gebrauchten ThinkingCleaner für meinen 563er Roomba geholt. Das FHEM-Modul, was dafür existiert ist bereits etwas ausgereifter und bequemer in der Einrichtung. Das Roomba980-Modul tut aber auch schon sehr gut. Die Frage ist nur, was Du an Infos ins SmartHome bringen willst bzw., was Du Dir von der Schnittstelle erwartest.

Beste Grüße.

Hallo,

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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 11 Juni 2019, 22:11:19
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


Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 12 Juni 2019, 20:08:21
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag 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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 12 Juni 2019, 21:47:53
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 12 Juni 2019, 22:26:45
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 03 Juli 2019, 17:00:01
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: pschlaeppi am 14 Juli 2019, 15:47:19
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 14 Juli 2019, 22:45:49
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: pschlaeppi am 15 Juli 2019, 15:06:42
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Caleus am 16 Juli 2019, 19:08:07
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 16 Juli 2019, 19:32:57
Hi,

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

VG
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Caleus am 16 Juli 2019, 19:40:56
edit: ok uhrsache MQTT war nicht mehr aktuell. Jetzt läuft alles.

Danke
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 16 Juli 2019, 21:40:53
keine Ursache :-)
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Caleus am 17 Juli 2019, 08:59:34
Also falls du noch jemanden für Testzwecke suchst, bin gerne bereit zu helfen, must mir nur sagen wie.

Caleus
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Jewe am 17 Juli 2019, 12:15:08
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
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 18 Juli 2019, 08:59:17
Hi,
das ganze sind eigentlich nur Warnungen. Was genau funktioniert denn nicht?
Möglicherweise hilft, npm zu deinstallieren. Normalerweise müsste node selbst ein passendes npm mitbringen. (Zumindest findet man das so bei einer schnellen Suche, selbst hatte ich solche Probleme noch nicht.)
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Jewe am 18 Juli 2019, 09:12:31
Hallo Thorsten,

mit der automatischen Installation bekam ich nicht die neueste Version. Erst mit
sudo npm install -g npm@latest
Dann konnte ich auch dorita980 installieren. das läuft so wie ich es sehe auch. Wenn ich nun dass Passwort vom Robbie abfragen möchte
bleibt er ehwig hängen und nach weiterem Return drücken macht er weiter und bricht mit Fehler ab. Ich kann das wenn ich wieder zuhause bin
hier noch anhängen. Evtl. sollte ich Node, Npm und dorita980 nochmals deinstallieren um es dann wieder neu installieren zu können (bzw. nur dorita980)

In Fhem kann ich den Robbie nicht connecten.

Jens
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Jewe am 19 Juli 2019, 22:01:59
Hey,
das passiert wenn ich das Passwort abfragen will:


get-roomba-password 192.168.xx.xx
Make sure your robot is on the Home Base and powered on (green lights on). Then press and hold the HOME button on your robot until it plays a series of tones (about 2 seconds). Release the button and your robot will flash WIFI light.
Then press any key here...

Robot Data:
{ ver: '3',
  hostname: 'Roomba-319xxxxxxxxxxxxxx',
  robotname: 'Roomba',
  ip: '192.168.xx.xx',
  mac: 'xx:xx:xx:xx:xx:xx',
  sw: 'v2.4.6-3',
  sku: 'R966040',
  nc: 0,
  proto: 'mqtt',
  cap:
   { pose: 1,
     ota: 2,
     multiPass: 2,
     pp: 1,
     binFullDetect: 1,
     langOta: 1,
     maps: 1,
     edge: 1,
     eco: 1,
     svcConf: 1 },
  blid: '319xxxxxxxxxxxxxxx' }
events.js:174
      throw er; // Unhandled 'error' event
      ^

Error: 3069259792:error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small:../ssl/statem/statem_clnt.c:2156:

Emitted 'error' event at:
    at emitErrorNT (internal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)

Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 26 Juli 2019, 22:20:55
Hi,
häng Dich vielleicht mal hier mit dran:
https://github.com/koalazak/dorita980/issues/88
Da hat wohl jemand dasselbe Problem.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: pschlaeppi am 02 August 2019, 15:16:57
Hallo zusammen,

Ich hatte das Problem das nach der Installation des Roomba Modules das Presence Modul nicht mehr richtig funktionierte.
Ich habe daraufhin dann alle Roomba980 relevanten Module auf einen bereits bestehenden Fhem2Fhem RasPi ausgelagert.
Von Dort lasse ich nun die Daten per Fhem2Fhem Instanz mittels Log auf der Haup Instanz ausgeben. Die Readings werden auch im Dummy mit gleichlautendem Namen aktuell dagestellt.
Durch absetzen der Befele via RFHEM funktioniert auch die Steuerung soweit.
Dieses hat nun die Probleme mit der Bluetooth Presence Erkennung behoben.

Leider habe ich nun aber das Problem das die FHEM Haupt Instanz am Tag 1-2 mal crasht wenn ich über FhemWeb vom PC oder einem Tablet darauf zugreife. Bisher kann ich noch kein Muster festmachen durch welche Aktion dieses ausgelöst wird. Ich habe jeweils das Log gerade nach dem Crash weggespeichert vor dem neu booten. Als letztes sind immer wieder andere Devices gelogged und es sind eigentlich vor allem normale Log3 Meldungen und keine Fehlermeldung kurz vorher.

Ich möchte nun sicher stellen dass die Roomba980 Module komplett deinstalliert sind auf der Haupt Instanz damit diese keinen Einfluss mehr haben können.
Bisher gemacht:
- update delete https://raw.githubusercontent.com/ThorstenPferdekaemper/FHEM-Roomba980/maste/controls_roomba980.txt
- 42_Roomba980.pm gelöscht
- sudo apt-get remove npm
- Device aus der Konfig gelöscht
- Logfile behalten und einen Dummy erstell mit demselben Namen wie das ehemalige Roomba980 Device
  um die von Fhem2Fhem gemeldeten Daten wegzuloggen und im Dummy gleichen Namens darzustellen.

Muss allenfalls sonst noch etwas entfernt werden?
- Wenn ja, was? wie?


Grüsse  Philipp

Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 07 August 2019, 19:27:20
Zitat von: pschlaeppi am 02 August 2019, 15:16:57
Muss allenfalls sonst noch etwas entfernt werden?
- Wenn ja, was? wie?
Vielleicht hast Du noch das dorita980 oder so installiert? Ich wüsste jetzt aber nicht, wie das zu FHEM-Abstürzen führen sollte. Ich vermute eher, dass da etwas anderes am Werk ist. ...oder Du hast sogar schon ein bisschen zu viel gelöscht.
Du sagst, dass es dann crasht, wenn Du über FHEMWEB zugreifst? Kannst Du da das Log-Level ein bisschen hochschrauben? Dann sieht man vielleicht etwas mehr.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: pschlaeppi am 07 August 2019, 20:50:53
Hallo Thorsten,

Hatte bereits das Loglevel auf 5. Leider auch bei diesem Detail keine schlüssigen und wiederkehrenden Messages vor dem Absurz. Hatte die beiden Schritte
- 42_Roomba980.pm gelöscht
- sudo apt-get remove npm

erst kurz vor meinem obenstehenden Post entfernt gehabt. Kurz nachdem entfernen und reooten dann noch einmal einen Crash und seither habe ich aber nun Ruhe und keinen Absturz mehr gehabt.

Müsste dorita980 nicht auch gleich entfernt werden wenn ich das ganze NPM remove?

Grüsse Philipp
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 08 August 2019, 11:32:05
Zitat von: pschlaeppi am 07 August 2019, 20:50:53
erst kurz vor meinem obenstehenden Post entfernt gehabt. Kurz nachdem entfernen und reooten dann noch einmal einen Crash und seither habe ich aber nun Ruhe und keinen Absturz mehr gehabt.
Ok, dann betrachten wir das mal als erledigt. Wenn's nicht nachvollziehbar ist, dann kann man's auch schlecht weiter analysieren.

Zitat
Müsste dorita980 nicht auch gleich entfernt werden wenn ich das ganze NPM remove?
Da bin ich mir nicht so sicher. npm ist ja nur ein Paketmanager für Node.js. Node selbst dürfte damit nicht verschwinden. ...aber das ist meiner Meinung nach auch egal.

Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: TripleNail am 13 September 2019, 19:35:34
Keine Verbindung mehr zum Roomba nach debian/openssl upgrade: Problem + Lösung

Mit Buster kommt ein openssl upgrade das dazu führt, dass FHEM keine MQTT Verbindung mehr zum Roomba hinbekommt.
Grund ist, dass openssl jetzt höhere Anforderungen an die SSL Verbindung hat. Leider bekommt man von diesem Fehler im log nichts mit.  :(

Mit mqtt-simple (das verwendet auch das fhem Modul) kommt man dem Ganzen aber relativ schnell auf die Schliche:

mqtt-simple --ssl --insecure -c -s "#" -h roomba
...
/usr/local/bin/mqtt-simple: connect: SSL connect attempt failed error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small

mit dieser Info und Google kommt man recht schnell zu Debian Bug #907788, der auch eine Lösung parat hat:

Lösche folgende Zeile aus der /etc/ssl/openssl.cnf

CipherString = DEFAULT@SECLEVEL=2

und schon läuft es wieder.

Gruß

   TripleNail
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Jewe am 14 September 2019, 20:43:08
Hallo,

das war bei mir nun der entscheidende Tipp !! Dankeschön, nun klappt es auch wieder.

Jens
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 31 Oktober 2019, 19:07:03
Hallo Zusammen,

ich habe das Modul um eine deutsche Doku erweitert und die Doku aktualisiert.
Um freier in den Einstellungen zu sein, gibts für checkinterval eine neue min-Grenze.

Da der Roomba immer fleißig leuchtet, wenn das Modul verbunden ist, bietet es sich an,
die reconnecttime auf zB 900 Sekunden zu setzen, und timeout und checkntervall auf 15 oder 30 Sekunden.
Dadurch wird der Roomba immer nur kurz aufgeweckt.

Beste Grüße.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Jewe am 01 November 2019, 17:22:00
Hallo Lippie,

wollte Dein geändertes Modul ausprobieren, aber wenn ich es neu lade bekomme ich diesen Fehler :
Can't locate JSON/MaybeXS.pm in @INC (you may need to install the JSON::MaybeXS module) (@INC contains: fhem.p/lib fhem.p/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /usr/local/FHEM/share/fhem/FHEM/lib /opt/fhem . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/arm-linux-gnueabihf/perl5/5.28 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base) at ./FHEM/42_Roomba980.pm line 135.
BEGIN failed--compilation aborted at ./FHEM/42_Roomba980.pm line 135.


Mit dem aktuellen funktioniert es normal.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: carlos am 01 November 2019, 17:27:03
Dann schau dir doch die Meldung mal genauer an, dann wirst du feststellen dass du das  JSON::MaybeXS module installieren sollst.
Wenn du dann einfach folgendes machst, dann hast du das Problem gelöst:

apt-cache search  MaybeXS
libjson-any-perl - wrapper class for the various JSON classes
libjson-maybexs-perl - interface to the best available JSON module
apt-get install libjson-maybexs-perl


Da könnte man aber auch selbst drauf kommen.

Gruß

Carlos
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 01 November 2019, 21:34:44
Carlos hat Recht. Du musst Perl um das JSON::MaybeXS erweitern.
Je nach System gibt es unterschiedliche Vorgehensweisen.
Ich nutze meist diese per SSH:

/usr/bin/perl -MCPAN -e shell
install JSON::MaybeXS


viele Grüße.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 02 November 2019, 13:42:38
Hi,
ich finde es gut, wenn "mein" Modul weiterentwickelt wird und wollte gerade die neue Version ins Git hochladen. Allerdings finde ich es nicht so schön, wenn immer mehr Perl-Module benötigt werden. Könnte man auch ohne das JSON::MaybeXS auskommen? Etwas weiter oben wird ja schon JSON::XS geladen, da ist das doch eigentlich überflüssig, oder?
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 02 November 2019, 14:12:49
Hi,

das JSON::MaybeXS ist wohl reingerutscht.
Es wird nur encode_json verwendet. Das hat JSON::XS auch.
Update im Anhang.

Viele Grüße,
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Jewe am 02 November 2019, 16:34:22
Hallo,
kann mich Thorsten nur anschliessen und das hatte mich auch gewundert, dass ich ein neues Perl-Modul benötige. Werde nun die letzt Version laden und testen.
Danke fürs weiterentwickeln :-)

Jens
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 02 November 2019, 23:05:08
Nachdem ich inzwischen die Funktion für DiscoverNewRoomba etwas überarbeitet habe, möchte ich gern die GetPassword-Funktion zum laufen bekommen.
Ich wollte mich an der dorita-function orientieren, komme aber nicht weiter.

hat von Euch evtl.jemand eine Idee, wie ich diesen JavaScriptCode in Perl umgesetzt bekomme:

  const packet = 'f005efcc3b2900';

  var client = tls.connect(8883, host, {rejectUnauthorized: false}, function () {

    client.write(new Buffer(packet, 'hex'));

  });


Ich dachte dabei an sowas:

my $FALSE = 1==0;

my $packet = 0xf005efcc3b2900;

my %msg = (message => $packet);

send_message($hash, message_type => MQTT_CONNECT, keep_alive_timer => $hash->{timeout},

                 rejectUnauthorized => $FALSE, protocol_name => "MQTT", protocol_version => 4);

return send_message($hash, message_type => MQTT_PUBLISH, %msg);


Leider bekomme ich noch nicht einmal eine Rückmeldung vom Roomba auf die connect-Anfrage.
Unterstützt die FHEM MQTT-Bibliothek überhaupt eine solche Anfrage?

viele Grüße
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Jewe am 03 November 2019, 09:34:50
Zitat von: Lippie am 31 Oktober 2019, 19:07:03
Da der Roomba immer fleißig leuchtet, wenn das Modul verbunden ist, bietet es sich an,
die reconnecttime auf zB 900 Sekunden zu setzen, und timeout und checkntervall auf 15 oder 30 Sekunden.
Dadurch wird der Roomba immer nur kurz aufgeweckt.

Beste Grüße.

Bei welchen Roombas ist das der Fall? Ich habe das bei meinem 966 habe ich das nicht beobachtet, dass da was Leucht (steht inzwischen allerding unter einem Schrank :-))
Wurde nun im Modul die Art des connects verändert ? Im Log sehe ich, dass nun alle 60s (oder 900s mit eingestellter reconnecttime) ein Eintrag kommt. Allerdings regiert der Roomba bei eingestellter reconnecttime (also Allways off) auch nur verzögert. Oder sollte das anders sein ?

Grüssle Jens
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 03 November 2019, 10:27:50
Zitat von: Jewe am 03 November 2019, 09:34:50
Bei welchen Roombas ist das der Fall? Ich habe das bei meinem 966 habe ich das nicht beobachtet, dass da was Leucht (steht inzwischen allerding unter einem Schrank :-))
Wurde nun im Modul die Art des connects verändert ? Im Log sehe ich, dass nun alle 60s (oder 900s mit eingestellter reconnecttime) ein Eintrag kommt. Allerdings regiert der Roomba bei eingestellter reconnecttime (also Allways off) auch nur verzögert. Oder sollte das anders sein ?

Grüssle Jens

Hi,
die 800er Serie arbeitet etwas anders als die 900er Roombas. Ich habe einen Roomba 895 zum testen, der leuchtet bei aktiver Verbindung und sendet keine Updates seiner Daten.
In deinem Fall würde ich alwaysconnected auf 1 setzen. Damit ist auch checkInterval und reconnecttime nicht mehr relevant.
Der manuelle connect wird von reconnecttime nicht verzögert. Wenn das nicht so ist, muss ich mir das wohl nochmal anschauen :-)

Viele Grüße.
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 03 November 2019, 22:30:49
Zitat von: Lippie am 02 November 2019, 23:05:08
hat von Euch evtl.jemand eine Idee, wie ich diesen JavaScriptCode in Perl umgesetzt bekomme:
Ich glaube, dass der Javascript-Teil direkt auf die SSL-Schicht geht. Das ist gar kein MQTT, würde ich mal sagen. Außerdem schickst Du dem Teil wahrscheinlich die Ascii-Codes der Buchstaben "f", "0" usw. rüber und nicht wirklich die Bytes F0, 05, EF etc.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 04 November 2019, 06:35:00
Zitat von: Thorsten Pferdekaemper am 03 November 2019, 22:30:49
Ich glaube, dass der Javascript-Teil direkt auf die SSL-Schicht geht. Das ist gar kein MQTT, würde ich mal sagen. Außerdem schickst Du dem Teil wahrscheinlich die Ascii-Codes der Buchstaben "f", "0" usw. rüber und nicht wirklich die Bytes F0, 05, EF etc.

Ja, je länger ich mich damit befasst habe, um so mehr kam ich auch auf den Gedanken. Schon der Versuch den Befehl in hex zu pressen war wenig erfolgreich, da perl dann ein integer draus machen will, für den der Befehl zu lang ist. Da ich mich damit nicht wirklich auskenne, wird es noch eine Weile dauern, bis da etwas brauchbares rumkommt...
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 04 November 2019, 20:23:39
Hi,

anbei ein Update von "42_Roomba980.pm".

Ich konnte an meinem Roomba erfolgreich das Passwort abfragen.
Leider scheint es nicht immer auf den ersten Versuch zu funktionieren, jedoch spätestens nach 2 bis 3 Aufrufen von "set getpass IP:8883".
Das Passwort wird als Reading "Roomba-PW" angelegt.
Im Reading "discoveredRoomba" wird die blid angeben.

Wer mag, bitte testen und kurz Rückmeldung geben.
Ich würde mich über kurzes Feedback freuen.

Beste Grüße
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 04 November 2019, 20:42:30
Hi,
das ist auf jeden Fall mal ein riesiger Fortschritt. Ich kann es gerade selbst nicht testen, aber es ist definitiv beeindruckend.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 04 November 2019, 20:53:05
Ja, es geht voran  ;D

Ich musste allerdings noch String::HexConvert einbinden.

Falls jemandem eine Alternative einfällt, bitte posten.

Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 04 November 2019, 21:05:34
Hi,
wie wär's damit:


my $data = pack('H*', $GetPwPacket);


Siehe auch
https://metacpan.org/release/String-HexConvert/source/lib/String/HexConvert.pm

Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 04 November 2019, 21:20:23
Update: jetzt ohne String::HexConvert ...
Mir ist aufgefallen, dass die Passwortabfrage zwar meist funktioniert, jedoch ab und zu Die Anzeige des Readings nicht immer aktualisiert wird.
Scheint mit dem Neuladen der Website aufgrund des set-Befehlt zu tun haben, oder?
Umstellung auf get-Befehl?
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 04 November 2019, 21:34:25
Passiert das auch dann, wenn es das Reading schon vorher gab?
...ansonsten glaube ich, dass das relativ normal ist.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 04 November 2019, 21:53:00
Ja, das Reading ist bereits da. Ich vermute, das aktualisieren des Readings fällt genau in das Aktualisieren der gesamten Seite und geht damit verloren.
Kann man das Aktualisieren der gesamten Seite beim "set" unterbinden?
Gruß,
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 04 November 2019, 21:59:58
Hi,
versuch mal, in der sub Set explizit "return undef" am Ende zu machen.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 05 November 2019, 07:08:52
Guten Morgen,
Danke für den Tipp. Mir ist aufgefallen, dass in sub set das last; für den Abschnitt von getpass fehlte. Habe das noch eingefügt.
Jetzt funktioniert es bei mir zuverlässig. Kann mir nicht so recht vorstellen, dass das wirklich die Ursache sein soll...
Habe gleich noch die Hilfe aktualisiert, so dass jetzt alles aktuell sein sollte.
Gruß
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 05 November 2019, 10:28:22
Hi Sebastian,
ich wollte das jetzt gerade ins Git packen, aber ich habe vorher bei mir getestet. Leider geht das auf die Bretter mit...

JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at ./FHEM/42_Roomba980.pm line 881.

Das hat mich etwas gewundert, da ich dachte, dass wir das mal gefixt hätten. Dann habe ich bemerkt, dass Du anscheinend für Deine Weiterentwicklungen auf eine alte Version aufgesetzt hast. Könntest Du Dir mal die Version im Git anschauen und das ganze abgleichen? Das wäre nett.
Außerdem sehe ich in Deiner Datei immer wieder Leerzeilen, also in etwa so:

sub processMessage($$){

    my ($hash, $msgtext) = @_;

# message empty?

if(!$msgtext){

    Log3($hash->{NAME},3, "Received empty message");

return;

};

Das finde ich ein bisschen störend und ich glaube, dass ich mir bei einer ähnlichen Aktion vor einer Weile die Mühe gemacht hatte, das wieder ordentlich zu formatieren. Kannst Du mal nachsehen, wie das bei Dir aussieht?

EDIT: Doch, das kann schon das "last" gewesen sein. In diesem speziellen Fall entspricht ein "last" einem "return undef". (Glaube ich.)

Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 05 November 2019, 20:43:42
Zitat von: Thorsten Pferdekaemper am 05 November 2019, 10:28:22
Hi Sebastian,
ich wollte das jetzt gerade ins Git packen, aber ich habe vorher bei mir getestet. Leider geht das auf die Bretter mit...

JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at ./FHEM/42_Roomba980.pm line 881.

Das hat mich etwas gewundert, da ich dachte, dass wir das mal gefixt hätten. Dann habe ich bemerkt, dass Du anscheinend für Deine Weiterentwicklungen auf eine alte Version aufgesetzt hast. Könntest Du Dir mal die Version im Git anschauen und das ganze abgleichen? Das wäre nett.
Außerdem sehe ich in Deiner Datei immer wieder Leerzeilen, also in etwa so:

sub processMessage($$){

    my ($hash, $msgtext) = @_;

# message empty?

if(!$msgtext){

    Log3($hash->{NAME},3, "Received empty message");

return;

};

Das finde ich ein bisschen störend und ich glaube, dass ich mir bei einer ähnlichen Aktion vor einer Weile die Mühe gemacht hatte, das wieder ordentlich zu formatieren. Kannst Du mal nachsehen, wie das bei Dir aussieht?

EDIT: Doch, das kann schon das "last" gewesen sein. In diesem speziellen Fall entspricht ein "last" einem "return undef". (Glaube ich.)

Gruß,
   Thorsten

Abend Thorsten,

erstmal Sorry dafür, dass ich nicht gleich nach dem GIT-Repo gefragt habe.
Ich habe tatsächlich auf einer 2017er Version aufgesetzt, die ich aus dem Thread gezogen habe.
Die Formatierung war auch für mich etwas irritierend, hatte das aber erstmal nicht angefasst.

Habe meine Erweiterungen/Änderungen in den aktuellen Stand im GIT eingepflegt und hochgeladen. Hast einen Pull-Request.

Ist trotzdem einiges passiert. Hoffe, das ist OK für Dich.

Viele Grüße
Sebastian

Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 06 November 2019, 09:25:58
Zitat von: Lippie am 05 November 2019, 20:43:42
Ist trotzdem einiges passiert. Hoffe, das ist OK für Dich.
Ja, klar. Ich finde es gut, wenn sich da jemand kümmert. Ich schaffe das momentan nicht.

Ich habe mal versucht, das Ding auf meiner Testinstanz zum Laufen zu bringen. Zuerst gab es nur Fehlermeldungen wegen JSON::XS, in der Form:

2019.11.05 21:39:44 3: Could not decode message: JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at ./FHEM/42_Roomba980.pm line 495.
--> {"state":{"reported":{"bbrun":{"hr":168,"min":14,"sqft":615,"nStuck":35,"nScrubs":238,"nPicks":272,"nPanics":365,"nCliffsF":2514,"nCliffsR":920,"nMBStll":6,"nWStll":3,"nCBump":0},"bbsys":{"hr":23500,"min":51}}}}

Ich habe dann mal JSON::XS durch JSON ersetzt und zumindest dieser Fehler war weg. "set connect" hat dann erstmal funktioniert.
Weißt Du, warum JSON::XS benutzt wird und nicht JSON? Soweit ich gelesen habe, ist JSON die "sicherere" Alternative.

Nach dem connect schmiert allerdings mein FHEM dann komplett ab. Im Log findet sich nichts passendes und ich habe bisher nicht herausgefunden, was da genau los ist. Die ganzen vielen Readings werden erst einmal ordentlich gesetzt und irgendwann danach (oder manchmal auch währenddessen) kracht's dann. Hier muss ich vielleicht nochmal nachforschen.

Ich habe dann auch mal (ohne connect) das discovery ausprobiert. Das hat nicht funktioniert. Hier habe ich mir mal nach dem sysread eine Debug-Ausgabe gemacht, es scheint aber nie etwas zurück zu kommen. Muss man da noch etwas beachten?

Gruß,
   Thorsten

Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 06 November 2019, 09:42:05
Hi,
ich habe jetzt nochmal discovery mit blinkendem Wlan-Symbol probiert. Das klappt auch nicht.

getpass klappt allerdings wunderbar.

Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 06 November 2019, 17:45:38
Hi,

dass mit getpass freut mich.

Um das Thema JSON::XS oder JSON habe ich mich nie gekümmert. Das hatte ich so übernommen.

Warum discovery bei Dir nicht tut, ist eigenartig. Damit hatte ich noch nie Probleme.

In meiner alten Version hatte ich noch zusätzliche Maßnahmen drin, unplausible Nachrichten abzufangen, da es immer wieder sporadisch zu Abstürzen kam.
Ich würde das mal noch übertragen ins GIT.

Gruß
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 06 November 2019, 20:56:22
Zitat von: Lippie am 06 November 2019, 17:45:38
Warum discovery bei Dir nicht tut, ist eigenartig. Damit hatte ich noch nie Probleme.
Ich probiere das momentan unter Windows, was etwas "unüblich" ist. Vielleicht liegt's ja daran. Mal sehen, vielleicht schaffe ich es morgen mal, mir eine kleine Testinstallation unter Linux zu machen.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 06 November 2019, 21:00:34
Zitat von: Thorsten Pferdekaemper am 06 November 2019, 20:56:22
Ich probiere das momentan unter Windows, was etwas "unüblich" ist. Vielleicht liegt's ja daran. Mal sehen, vielleicht schaffe ich es morgen mal, mir eine kleine Testinstallation unter Linux zu machen.
Gruß,
   Thorsten

Das bestätigt meine Vermutung, dass dein Rechner/Server zu schnell ist. Im discover wird zwar 99999 mal nach Rückmeldung geschaut, allerdings, ohne vorher etwas zu warten. Die while  - Schleife ist also fertig bevor etwas empfangen wird.

VG
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 06 November 2019, 21:57:42
anbei nochmal eine Überarbeitung mit den angesprochenen Änderungen:
- discovery nutzt jetzt den internen Timer, um mit zeitlichem Versatz den UPD-Socket auszulesen
- im Read habe ich zusätzlich noch einen Abfangteil zusätzlich implementiert, mit dem es bei mir schon mal gut lief.
- JSON::XS ersetzt durch JSON

@Thorsten: schau mal bitte, obs nun besser läuft.

Gruß
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 07 November 2019, 12:47:18
Hi,
(Vorsicht, nicht erschrecken. Das wird jetzt etwas länglich, was aber nicht bedeutet, dass das alles ganz schlecht ist. Das Gegenteil ist der Fall. Ich freue mich, das sich da jemand anderes so reinhängt und will das unterstützen.)

Ich glaube nicht wirklich, dass es unter Windows am "zu schnell" liegt. Ich hatte mir ein komplett eigenes Programm gebastelt, dass den UDP-Broadcast macht und danach "ewig" auf eine Antwort wartet. In Wireshark sehe ich die Antwort, aber das Programm bekommt nichts mit.
...aber wie gesagt: Erstmal das ganze unter Linux ausprobieren. Nach einigem Gebastel habe ich es hinbekommen. Ich habe ein relativ neues Raspbian (buster) genommen und FHEM frisch installiert. ...also alles komplett leer und neu. Dann Deine neue Datei rein und das:

define roomba Roomba980

D.h. erstmal kein IP:Port und kein Blid/Password, da wir das alles da erst per discover und getpass rausfinden wollen. Soweit so gut. Jetzt die Problemchen mit ihren Lösungen (falls vorhanden). Das Folgende ist einigermaßen in der Reihenfolge, in der das für mich aufgetreten ist.

Zuerst einmal ein Schönheitsfehler

PERL WARNING: Use of uninitialized value in split at ./FHEM/42_Roomba980.pm line 134.

Das liegt wohl daran, dass ich beim Define keine Parameter angegeben habe. Das könnte man abfangen.

disconnected, waiting to reappear
Als nächstes kamen Massenweise "disconnected, waiting to reappear"-Meldungen ins Log. Ich bin dem nicht mehr nachgegangen und es hat dann auch aufgehört. Ich glaube aber, dass ich FHEM neu gestartet hatte und es erst danach aufgehört hat. Die Logdatei hatte dann schon 6MB...
(Ich weiß auch nicht mehr genau, ob das vor oder nach dem discovery-Versuch passiert war.)

discovery
Jetzt voller Spannung das Discovery probiert. Dabei kam dann eine "unexpected end of string"-Meldung ins Log. Danach ein kompletter FHEM-Crash. Der Absturz kommt in decode_json, etwa Zeile 895. Das Problem war, dass beim sysread nur 300 Zeichen gelesen werden. Bei mir hat die Antwort aber 309 Zeichen. Ich habe das mal auf 500 gesetzt. Damit funktioniert es bei mir. (Juhuu...) Allerdings wäre es schöner, das irgendwie flexibel zu haben wie beim getpass. ...allerdings habe ich da auch keine perfekte Idee. Vielleicht einfach auf einen hohen Wert setzen scheint ja zu gehen.
Ich frage mich außerdem, was hier passiert, wenn man tatsächlich mehrere Roombas hat...

getpass ohne Port
Der nächste Schritt: getpass. Auch hier erstmal ein Crash:

Expected 'PeerService' at ./FHEM/42_Roomba980.pm line 930.

Das lag daran, dass ich den Port vergessen hatte und einfach nur die IP angegeben hatte. Das sollte nicht zum Crash führen. Am besten wäre es, wenn die 8883 automatisch ergänzt würde. Einen anderen Port gibt's ja sowieso nicht, oder?

getpass, SSL-Fehler
Jetzt getpass mit Port. Aber auch hier: Erstmal Fehlanzeige. Das Problem war, dass der Roomba anscheinend nicht mit "modernen" SSL-Implementierungen umgehen kann und irgendwas unpassendes zurückschickt:

GetPass SSL connect attempt failed error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small

Das Coding sieht jetzt bei mir so aus und damit klappt's:

sub getpass($;$){
    my ($hash,$host) = @_;
if($host){
my $conn = IO::Socket::SSL->new(PeerAddr => $host,
   Timeout => 3,
   SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE,
   SSL_cipher_list => 'DEFAULT:!DH');     
if($conn) {
$conn->blocking(0);
my $data = pack('H*', $GetPwPacket);
print $conn $data;
$hash->{GetPassConn} = $conn;
RemoveInternalTimer($hash);
InternalTimer(gettimeofday()+3, "Roomba980::getpass", $hash, 0);
}else{
Log3($hash->{NAME},3, "GetPass connection error");
if($!) {
Log3($hash->{NAME},3, "GetPass ".$!);
};
if($SSL_ERROR) {
Log3($hash->{NAME},3, "GetPass ".$SSL_ERROR);
};
readingsSingleUpdate($hash,"Roomba-PW","connection refused. Make sure, sync mode is enabled (WIFI-LED is green blinking). For enabling press home-button for about 2 seconds.",1);
}
}else{

D.h. das mit dem SSL_cipher_list ist neu und die Log-Ausgabe für $! und $SSL_ERROR. Letzteres ist ganz nett, wenn es mal nicht klappt.

connect, SSL-Fehler
Jetzt habe ich die DEF ergänzt durch IP, Port, Blid und Password. Dann ein connect: Wieder Fehlanzeige. Das Problem ist hier aber dasselbe wie bei getpass. Am Ende von OpenDev habe ich auch hier den SSL_cipher_list-Kram eingefügt und es klappt damit!

Passwort verschwindet
Noch eine Kleinigkeit. Es gibt da einen Kommentar in OpenDev:

Cleanup Roomba-PW after successfull connect

Allerdings passiert das auch, wenn der connect nicht geklappt hat. Vielleicht könnte man sich überlegen, das Passwort komplett stehen zu lassen bzw. es gleich automatisch zu übernehmen. Aber dazu siehe unten.

Für später: Alles automatisieren?
Der "Workflow" ist jetzt also in etwa:
   1. define roomba Roomba980
   2. set roomba discoverNewRoomba
   3. set roomba getpass IP:Port
   4. DEF eintragen mit IP:Port blid passwd
   5. set roomba connect
Das könnte man jetzt entsprechend dokumentieren, aber viel cooler wäre eigentlich, wenn das automatisch abläuft. ...aber das könnte man ja dann noch draufbasteln, wenn es erstmal manuell richtig rund läuft.

Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 07 November 2019, 22:09:16
Hi,

Danke fürs testen und die Hinweise. Allein fallen manche Dinge einfach nicht auf und so lern ich auch noch was dazu :-)

Habe fleißig Änderungen eingepflegt:

Define: 
- DEF ohne user und pw sollte nun möglich sein. DEF wird auch nur überschrieben, wenn ein user und pw angegeben wurden.
- host wird auf Zahlen , Punkte und Doppelpunkte gefiltert

Set: 
- getpass wird abgesichert aufgerufen. Wenn ein Doppelpunkt fehlt, wird der Port automatisch dazugebaut. Die IP wird auf Zahlen , Punkte und Doppelpunkte gefiltert.

OpenDev: 
- Cleanup Roomba-PW after successfull connect nur, wenn die Verbindung hergestellt werden konnte.

discovery:
- pauschale Vergrößerung des Puffers. Hoffe auch, dass es ausreicht :-)

getpass:
- habe deine Änderung eingepflegt.

"disconnected, waiting to reappear"-Meldungen schaue ich mir die Tage an.

Viele Grüße
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 07 November 2019, 22:44:02
Zitat von: Lippie am 07 November 2019, 22:09:16
Danke fürs testen und die Hinweise. Allein fallen manche Dinge einfach nicht auf
...ja, man wird manchmal ein bisschen "betriebsblind".

Zitat
- DEF ohne user und pw sollte nun möglich sein.
Auch ohne IP/Port? Das ging zumindest vorher und sollte auch so bleiben. Es ist ja gerade das Schöne am discovery, dass man auch das rausbekommt.

Zitat
"disconnected, waiting to reappear"-Meldungen schaue ich mir die Tage an.
Das habe ich schon gemacht. Man müsste nur verhindern, dass OpenDev ohne IP/Port aufgerufen wird. Anscheinend schlägt das Anlegen des Sockets nicht fehl (!), aber es geht danach irgendwo schief.

Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 08 November 2019, 06:50:25
Zitat von: Thorsten Pferdekaemper am 07 November 2019, 22:44:02
Auch ohne IP/Port? Das ging zumindest vorher und sollte auch so bleiben. Es ist ja gerade das Schöne am discovery, dass man auch das rausbekommt.
DEF ohne IP/Port funktioniert zumindest nicht schlechter als vorher. Ich will da noch etwas machen, dass kein Verbindungsversuch mehr gestartet wird. Das sollte einfach gehen.

Gruß
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 09 November 2019, 09:57:54
Hi,

Es gibt mal wieder ein Update:
- Definieren eines neuen Moduls ohne IP, nun ohne Warnung
- in Define werden nun auch IP und Port grob gefiltert und bei Bedarf der default-Port gesetzt.

Zu Thema (teil-)automatisiertes einbinden eines neuen Roombas bin ich noch dran.

VG
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 09 November 2019, 10:58:39
Cool, ich werde das ausprobieren. Es kann aber Montag werden, da mein Kleiner immer noch ein bisschen Angst vor selbstfahrenden Ufos hat...
Von wegen automatischen Einbinden hatte ich mir auch schon ein paar Gedanken gemacht, aber ich will mich jetzt erst einmal wieder auf FUIP konzentrieren (wobei ein FUIP-View, der die gefahrene Strecke des Staubsaugers anzeigt ja schon cool wäre).
Das automatische Einbinden stelle ich mir in etwa so vor wie das Autocreate/Pairing bei Homematic: Man legt erstmal ein "leeres" Device an und sagt dann sowas wie "set roomba discover", optional mit einer Zeitangabe hinten dran. Dann versucht das Teil 60 Sekunden lang (oder auch länger), discovery und getpass zu machen. D.h. in der Zeit muss der Benutzer halt das Knöpfchen am Roomba drücken. Bei Erfolg wird dann alles automatisch eingetragen und ggf. sogar das "connect" gemacht.
Ich kann mir vorstellen, dass das jetzt gar nicht mehr so schwierig ist.
Gruß,
  Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 09 November 2019, 17:12:01
Abend,

mich hat's nicht los gelassen  8)

Habe alles soweit angepasst, dass ein neues device den Roomba findet und automatisch das PW abfragt.
sobald zwei im Netzwerk sind, geht das nicht mehr. Ab da kann aber nach reload der Website getpass mit DropDown genutzt werden (Es werden die Roboternamen angezeigt). Solange es ein neues Device ist, wird getpass bei erfolgreicher PW-Rückmeldung alles konfigurieren, und einen connect triggern.

Update:
- jetzt mit nutzerfreundlicher set cleanSchedule Möglichkeit.
- alle sets ohne erforderliche Nutzereingabe werden mit noArg initialisiert.
- neu angelegtes Device: Hinweis darauf, was zu tun ist, um discoverNewRoomba und getpass verwenden zu können. Und vorbefülltes widgetOverride für Schedule-on-<weekday>.
- Verzögerung des disconnect bei Ausführung eines Sets für alwaysconnected=0.

Gruß
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 09 November 2019, 18:04:39
Hi,
das ging jetzt aber schnell...
Wie gesagt: Ich plane, das am Montag mal auszuprobieren.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Jewe am 11 November 2019, 16:14:38
Hallo Ihr Zwei,

ich finde super dass hier weitergemacht wird. Habe die lezten Tage mitgelesen und heute die aktuelle Version ausprobiert. Nach dem Austausch des Moduls und reload funktionierte alles wie gehabt. Dann habe ich den Robbie komplett neu definiert ohne Ip-Adressse und so. Das hat gut geklappt auch den Hinweis, dass er im Koppelmodus sein muss kommt. Dass Passwort abfragen hat erst beim zweitenmal funktioniert, da war ich aber vielleicht auch zu ungeduldig.
Das setzten der Zeiten zur Reinigung funktioniert auch gut.
Bin echt begeistert, was sich da in den letzten Tage entwickelt hat.

Danke, Jens
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 11 November 2019, 18:51:43
Hallo Jens,

Dein Feedback freut mich. Mit was für einen Roomba hast Du getestet?
Ich habe nur einen 895, weshalb mir viele Funktionen verborgen bleiben  :'(

VG
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Jewe am 11 November 2019, 19:50:26
Hallo Sebastian,

wir haben hier eine Roomba 966.

Jens
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Jewe am 12 November 2019, 09:17:39
Hallo Sebastian,

aufgefallen ist mir noch, dass der Roomba öfters disconnected. Dachte erst dass es immer passiert, wenn ich den stop Befehl sende, aber es passiert auch sonst mal. Die neuen Attribute habe ich nun alle mal gelöscht. (timeout, alwaysconnected und reconnecttime).
Werde das weiter beobachten.

Hat jemand eine Auflistung mit der Bedeutung der ganzen erzeugten readings ?

Jens
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 12 November 2019, 12:19:23
Hi,
bei mir funktioniert es überhaupt nicht. Ich bekomme immer nur diese Meldung:

Undefined subroutine &main::Roomba980_Initialize called at fhem.pl line 2622.

Ich denke, dass das daran liegt, dass die Roomba980_Initialize jetzt im Package Roomba980 liegt, wo fhem.pl sie nicht sucht. Roomba980_Initialize muss im Package main liegen, also wie gehabt vor "package Roomba980" oder nach einem expliziten "package main".
Ich finde es erstaunlich, dass das bei überhaupt jemandem funktioniert hat.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Jewe am 12 November 2019, 12:43:45
Im Log habe ich eine Handvoll Perl Warnungen :

2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_SUBSCRIBE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_CONNECT_REFUSED_NOT_AUTHORIZED redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_PUBACK redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_UNSUBSCRIBE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_PINGRESP redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_PUBCOMP redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_QOS_AT_LEAST_ONCE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_QOS_AT_MOST_ONCE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_PUBREL redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_CONNECT_REFUSED_BAD_USER_NAME_OR_PASSWORD redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_CONNECT_REFUSED_SERVER_UNAVAILABLE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_CONNECT_REFUSED_IDENTIFIER_REJECTED redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_QOS_EXACTLY_ONCE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_CONNECT redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_CONNACK redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_CONNECT_REFUSED_UNACCEPTABLE_PROTOCOL_VERSION redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_PUBREC redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_DISCONNECT redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_CONNECT_ACCEPTED redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_PUBLISH redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_UNSUBACK redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_SUBACK redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Constant subroutine Roomba980::MQTT_PINGREQ redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2019.11.11 15:48:24 1: PERL WARNING: Prototype mismatch: sub Roomba980::getpass ($$) vs ($;$) at ./FHEM/42_Roomba980.pm line 142.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine Define redefined at ./FHEM/42_Roomba980.pm line 146.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine Undef redefined at ./FHEM/42_Roomba980.pm line 194.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine Attr redefined at ./FHEM/42_Roomba980.pm line 201.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine Set redefined at ./FHEM/42_Roomba980.pm line 251.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine OpenDev redefined at ./FHEM/42_Roomba980.pm line 326.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine Start redefined at ./FHEM/42_Roomba980.pm line 420.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine Stop redefined at ./FHEM/42_Roomba980.pm line 426.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine Ready redefined at ./FHEM/42_Roomba980.pm line 450.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine Rename redefined at ./FHEM/42_Roomba980.pm line 456.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine Init redefined at ./FHEM/42_Roomba980.pm line 466.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine Timer redefined at ./FHEM/42_Roomba980.pm line 475.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine prettyPrintReading redefined at ./FHEM/42_Roomba980.pm line 498.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine messageToReadings redefined at ./FHEM/42_Roomba980.pm line 518.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine processMessage redefined at ./FHEM/42_Roomba980.pm line 580.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine Read redefined at ./FHEM/42_Roomba980.pm line 617.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine send_connect redefined at ./FHEM/42_Roomba980.pm line 818.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine send_publish redefined at ./FHEM/42_Roomba980.pm line 828.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine send_subscribe redefined at ./FHEM/42_Roomba980.pm line 840.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine send_unsubscribe redefined at ./FHEM/42_Roomba980.pm line 847.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine send_ping redefined at ./FHEM/42_Roomba980.pm line 854.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine send_disconnect redefined at ./FHEM/42_Roomba980.pm line 858.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine send_message redefined at ./FHEM/42_Roomba980.pm line 862.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine apiCall redefined at ./FHEM/42_Roomba980.pm line 887.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine topic_to_regexp redefined at ./FHEM/42_Roomba980.pm line 963.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine discovery redefined at ./FHEM/42_Roomba980.pm line 973.
2019.11.11 15:48:24 1: PERL WARNING: Prototype mismatch: sub Roomba980::getpass ($$) vs ($;$) at ./FHEM/42_Roomba980.pm line 1138.
2019.11.11 15:48:24 1: PERL WARNING: Subroutine getpass redefined at ./FHEM/42_Roomba980.pm line 1056.
2019.11.11 15:49:49 1: PERL WARNING: Subroutine Delete redefined at ./FHEM/42_Roomba980.pm line 242.
2019.11.11 15:51:25 1: 192.168.6.92:8883 disconnected, waiting to reappear (Robbie)
2019.11.11 15:52:57 2: GetPass: connecting to 192.168.6.92:8883




2019.11.11 16:20:20 2: GetPass: connecting to 192.168.6.92:8883
2019.11.11 16:20:39 3: Opening Robbie device 192.168.6.92:8883
2019.11.11 16:20:41 3: Robbie device opened
2019.11.11 16:22:16 1: 192.168.6.92:8883 disconnected, waiting to reappear (Robbie)
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 12 November 2019, 15:15:50
Sehr eigenartig.
Ich frage mich gerade, was ich für eine FHEM-Installation habe :-)
Ich wollte die Struktur zu anderen Modulen angleichen und bin über package main wieder auf package Roomba980 gegangen.
Evtl. hat das was mit dem reload des Modules zu tun, so dass FHEM sich da noch etwas merkt, was gar nicht mehr ist.
Anbei meine Änderung.
VG
Sebastian
PS: Danke für eure Geduld :-)
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 12 November 2019, 15:27:32
Zitat von: Jewe am 12 November 2019, 09:17:39
Hallo Sebastian,

aufgefallen ist mir noch, dass der Roomba öfters disconnected. Dachte erst dass es immer passiert, wenn ich den stop Befehl sende, aber es passiert auch sonst mal. Die neuen Attribute habe ich nun alle mal gelöscht. (timeout, alwaysconnected und reconnecttime).
Werde das weiter beobachten.

Hat jemand eine Auflistung mit der Bedeutung der ganzen erzeugten readings ?

Jens

Zur Auflistung der erzeugten Readings schau mal hier: https://github.com/koalazak/dorita980 (https://github.com/koalazak/dorita980)

Die Attribute alwaysconnected, checkinterval und reconnecttime kannst Du löschen, sind nur für die 800er Serie interessant.
timeout kannst Du einstellen (default ist 60s). Wenn er die Verbindung verliert, würde ich erstmal das timeout absenken, das verkürzt die zyklische Abfrage.

VG
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 12 November 2019, 15:32:59
Zitat von: Jewe am 12 November 2019, 12:43:45
Im Log habe ich eine Handvoll Perl Warnungen :


2019.11.11 15:48:24 1: PERL WARNING: Prototype mismatch: sub Roomba980::getpass ($$) vs ($;$) at ./FHEM/42_Roomba980.pm line 1138.


Das  ($$) rührt noch aus einer alten Version des Roomba-Moduls.
Im Modul sind alle getpass mit ($;$) angelegt und getpass wird auch mit einem oder zwei parametern aufgerufen.
Dieses Thema habe ich nur durch einen FHEM-Neustart wegbekommen. Teilweise ist der reload sogar abgebrochen deswegen, nach dem Neustart gings dann aber.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 13 November 2019, 14:55:37
Hi,

connect funktioniert bei mir nicht. Du hast das mit dem "SSL_cipher_list => 'DEFAULT:!DH'" beim OpenDev wohl wieder rausgeschmissen. Oder war's nie drin? Beim getpass ist's drin, aber nicht beim OpenDev.
Könntest Du das noch/wieder einbauen?

Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 13 November 2019, 21:35:01
Zitat von: Thorsten Pferdekaemper am 13 November 2019, 14:55:37
Hi,

connect funktioniert bei mir nicht. Du hast das mit dem "SSL_cipher_list => 'DEFAULT:!DH'" beim OpenDev wohl wieder rausgeschmissen. Oder war's nie drin? Beim getpass ist's drin, aber nicht beim OpenDev.
Könntest Du das noch/wieder einbauen?

Gruß,
   Thorsten

Hi,

da hast Du Recht. Das muss mir beim Zusammenführen mit dem letzten GIT-Stand wieder rausgeflogen sein.
Habs wieder mit aufgenommen.
Bei mir funktioniert das Modul ja mit beiden Einstellungen, also bitte nochmal testen.

Viele Grüße
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: minicupper am 14 November 2019, 20:36:32
Hallo,
zu Beginn dieses Threads war ich irgendwann mal dabei, dann hatte ich zwischendurch die Lust verloren. Vielen Dank für die Weiterentwicklung, schön zu sehen, dass sich wieder etwas tut! Habe die neue Version (kurz) getestet:
* Discovery: funktioniert
* Passwort ermitteln: funktioniert
* Connect: geht
* Start/Stop/Dock: geht

Läuft auf einem Raspi2 mit Buster. Roomba 966.
Mal sehen wie die "Langzeitstabilität" so ist. Ich werde berichten.
Gruß
Gero
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 14 November 2019, 20:52:15
Zitat von: minicupper am 14 November 2019, 20:36:32
Vielen Dank für die Weiterentwicklung, schön zu sehen, dass sich wieder etwas tut! Habe die neue Version (kurz) getestet:
* Discovery: funktioniert
* Passwort ermitteln: funktioniert
* Connect: geht
* Start/Stop/Dock: geht
Gruß
Gero
Danke fürs testen. Wie schauts mit den anderen Funktionen aus? Einstellung von cleanSchedule, train, evac, pause, resume, off, carpetBoost, vacHigh, openOnly, noAutoPasses, twoPass, binPause?
Ich würde die Funktionen nach den Saugern filtern. Dazu fehlen mir aber die Infos.

VG
Sebastian


Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 15 November 2019, 10:39:09
Hi,
ich habe jetzt nochmal getestet und es funktioniert. Ich habe jetzt auch den neusten Stand ins Git gepackt. D.h. es kann jetzt per "update" installiert werden wie hier beschrieben:
https://github.com/ThorstenPferdekaemper/FHEM-Roomba980
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 15 November 2019, 16:53:57
Hi,

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

in meinem FHEM eingegeben.
Das kam dabei raus:
2019.11.15 16:49:07 1 : https://raw.githubusercontent.com/ThorstenPferdekaemper/FHEM-Roomba980/master/CHANGED: empty file received
2019.11.15 16:49:07 1 : nothing to do...

Wurde jetzt kein update gemacht, weil mein aktuell geladenes Modul identisch ist, oder hat er nichts heruntergeladen und deshalb das update abgebrochen?

VG
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 15 November 2019, 17:25:42
Hi,
das sieht mir eher aus nach "kein update gemacht, weil mein aktuell geladenes Modul identisch ist".
Die Meldung wegen der CHANGED-Datei ist nur Kosmetik. Wir haben da halt nichts reingeschrieben.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 17 November 2019, 19:12:03
OK, das teste ich, wenns wieder mal ein Update gibt  ;D
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: luetty am 20 November 2019, 11:34:27
Sehr gute Arbeit, auch mich freut es das es hier weitergeht.  :)
Auf den ersten Blick schöne und sinnvolle Optionen, die Lippie da eingebaut hat.  8)

Leider wollte mein Sauger heute morgen nicht, deswegen bin ich erst über die neue Version gestolpert. (also hat es bei mir per update geklappt!)
Mein DEF war über den DNS-Namen des Roombi und das scheint nun nicht mehr zu funktionieren, das INTERNAL DeviceName scheint dadurch nicht korrekt aufgebaut zu werden.

Trotzdem vielen Dank, tolle Arbeit!
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 20 November 2019, 17:26:55
Zitat von: luetty am 20 November 2019, 11:34:27
Leider wollte mein Sauger heute morgen nicht, deswegen bin ich erst über die neue Version gestolpert. (also hat es bei mir per update geklappt!)
Mein DEF war über den DNS-Namen des Roombi und das scheint nun nicht mehr zu funktionieren, das INTERNAL DeviceName scheint dadurch nicht korrekt aufgebaut zu werden.

Hallo luetty,

Danke für dein Feedback. Was den DNS-Namen angeht, gibt es eine Erklärung. hier gibt es eine Absicherung hinsichtlich IP. An die Eingabemöglichkeit eines DNS-Namen hatte ich dabei nicht gedacht. Ist ein Punkt für die ToDo - Liste  ;D

VG
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Dracolein am 13 Dezember 2019, 19:16:40
Hallo zusammen,

augenscheinlich bin ich als Laie zu dumm, um dies Modul zu installieren.  Nach dem:
update add https://raw.githubusercontent.com/ThorstenPferdekaemper/FHEM-Roomba980/master/controls_roomba980.txt
gefolgt von einem
update
und bestätigter existierender Datei namens 42_Rommba980.pm erhalte ich nach dem Befehl
define myRoomba Roomba980
die Fehlermeldung
ZitatCannot load module Roomba980
und im Logfile:
Zitat
019.12.13 19:14:30 0: Attempt to reload Net/MQTT/Message.pm aborted.
Compilation failed in require at ./FHEM/42_Roomba980.pm line 79.
BEGIN failed--compilation aborted at ./FHEM/42_Roomba980.pm line 79.

Nun weiß ich nicht, was zu tun ist.

Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 13 Dezember 2019, 19:45:50
Hi,

ich glaube, das Problem hatte schon mal jemand.

https://forum.fhem.de/index.php/topic,67632.msg958561/topicseen.html#msg958561 (https://forum.fhem.de/index.php/topic,67632.msg958561/topicseen.html#msg958561)

Damals war das MQTT nicht aktuell.

VG
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Dracolein am 13 Dezember 2019, 19:48:31
Das Posting war mir bekannt, aber dort stand leider nicht explizit für Dummies erklärt, was zu tun ist.

Wird MQTT "werksseitig" mit FHEM mitgeliefert? Ich habe mich grob darüber informiert und bin mir nicht bewusst, bisher etwas mit MQTT gemacht zu haben. Evtl. ist bei mir gar kein MQTT installiert?
Sorry, ich bin halt Laie :-)
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 13 Dezember 2019, 19:55:35
Normalerweise wird das MQTT mit fhem installiert. Das liegt unter \lib\Net\MQTT
wenn dein normales Update nicht geht, müsstest Du hier https://github.com/mhop/fhem-mirror/tree/master/fhem/FHEM/lib/Net (https://github.com/mhop/fhem-mirror/tree/master/fhem/FHEM/lib/Net) fündig werden.
Oder schreib doch Caleus mal an.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 13 Dezember 2019, 20:01:06
Hi,
Du kannst auch mal versuchen, Net::MQTT::Messages mit cpan zu installieren. Das richtige Debian-Paket habe ich gerade nicht "zur Hand", aber vielleicht hat noch jemand einen Tipp.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Dracolein am 13 Dezember 2019, 20:13:18
Unter lib/net/mqtt liegt bei mir eine Constants.pm, Message.pm und TopicStore.pm



Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 13 Dezember 2019, 20:56:33
Hi,
bei mir liegt da noch das Verzeichnis "Message". Womöglich braucht man das auch.
Gruß,
    Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Dracolein am 16 Dezember 2019, 09:53:33
Guten Morgen, ja oke den Ordner habe ich fälschlicherweise nicht ausgeführt, aber er ist auch bei mir existent.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 16 Dezember 2019, 19:29:40
Ok, dann siehe oben: Vielleicht mal versuchen, ein update mit apt oder cpan zu machen.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Dracolein am 18 Dezember 2019, 19:08:59
Kurze Rückmeldung,
ich habe mich heute abend nochmal probiert und musste folgendes Paket nachinstallieren
sudo apt-get install libmodule-pluggable-perl
nachdem ich zunächst diese Logfile Fehlermeldung beim define-Versuch erhielt

Zitat
2019.12.18 18:35:22 1: reload: Error:Modul 42_Roomba980 deactivated:
Can't locate Module/Pluggable.pm in @INC (you may need to install the Module::Pluggable module) (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/arm-linux-gnueabihf/perl5/5.28 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base ./FHEM ./FHEM/lib) 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 79.
BEGIN failed--compilation aborted at ./FHEM/42_Roomba980.pm line 79.

Danach verlief der Installationsprozess entsprechend der Github Anleitung.

Achso, vielleicht ein Hinweis noch:
In der Anleitung steht nicht, dass man dem Roomba im Dock stehen haben muss. NUr so konnte ich die Wifi-Lampe zum blinken bringen (durch gleichtzeitiges Drücken beider kleiner Tasten auf dem Gerät)

Gibt es eigentlich bei Euch noch FHEM Abstürze oder ähnliches? Ich habe die 22 Seiten des Threads inzwischen grob überflogen und bin halbwegs im Bilde.
Bei mir läuft fhem auf einem raspberry pi 4 und ich habe einen Roomba 980.


edit:
gibts schon Beispiele, wie Ihr das in Tablet UI eingebunden habt?
Auf die Schnelle habe ich zumindest mal 2 simple Switch Schalter eingebunden, die funktionieren. Aber das muss besser gehen

<div data-type="switch" data-device="myRoomba" data-fhem-cmd="set myRoomba start" data-icon="fa-play"></div>
<div data-type="switch" data-device="myRoomba" data-fhem-cmd="set myRoomba stop" data-icon="fa-stop"></div>
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 19 Dezember 2019, 09:20:00
Hi,
Danke für die Rückmeldung.
Das mit der Ladestation muss noch als Hinweis ergänzt werden, habe ich übersehen.
Abstürze hatte ich bisher keine mehr.
Ich selbst nutze noch kein Tablet UI.

Viele Grüße
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Dracolein am 19 Dezember 2019, 09:33:37
Ich werde mich am Wochenende mal mit den paar Tasten beschäftigen und selbige etwas verbessern.

Gibts eine Referrenzquelle, was die ganzen Readings zu bedeuten haben?
Auch würde mich grob die technische Funktion von connect / disconnect im Modul interessieren; schaltet man damit das Modul  sozusagen offline? Gestern abend konnte ich - und das wurde in diesem Thread bereits thematisiert - im Sekundentakt aktualisierte Readings erkennen, zumeist über die Signalstärke. Nach dem "Disconnect" stoppten sämtliche Readingaktualisierungen.

Die gängigen set-Befehle wären interessant zu wissen, was selbige bewirken (sollen)
- binPause
-carpetboost
- dock (vermutlich Befehl zum Heimfahren ins Dock)
-evac
- train
-twoPass
...

Muss gestehen, dass ich mich mit dem Roomba seit Anschaffung vor 2 Jahren nicht mehr nennenswert beschäftigt habe und wir auch die App gar nicht nutzen. Das Ding wird i.d.R. platziert, auf "Los" gedrückt und es verrichtet seinen Job.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 19 Dezember 2019, 12:30:42
Hallo,
das connect/disconnect ist tatsächlich dafür da, dass sich das Modul vom Roomba offline schaltet bzw. wieder verbindet.
das Problem, dass die Readings viel zu oft aktualisiert werden, hatten wir schon einmal.
Werden alle Readings aktualisiert oder nur die Signalstärke, bzw. welche noch?
Kannst Du bitte deine aktuell gesetzten Attribute posten?
viele Grüße.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Dracolein am 19 Dezember 2019, 15:04:03
Wenn connection = connected, aktualisieren sich die Readings signal-rssi und signal-snr sekündlich. Mehr konnte ich gestern abend noch nicht testen.
Ich antworte Euch gern auf weitere Fragen (mit dem Hinweis, dass ich Laie bin  ::) )

Meine Idee für Touch UI und im Hinblick auf eine zu managende Datenflut würde ich probieren, vor jeden Steuerbefehl zunächst den Befehl zum connecten zu setzen und nach Abschluss eines Saugvorgangs o.ä. den Befehl zum Disconnect zu geben.

Zitat
Internals:
   CFGFN     
   DEF        192.168.178.39:8883
   DeviceName 192.168.178.39:8883
   FUUID      5dfa648e-f33f-4dec-1cb2-74342860d0adbb9f
   NAME       myRoomba
   NR         56
   SSL        1
   STATE      opened
   TYPE       Roomba980
   buf       
   checkInterval 60
   ping_received 1
   reconnect_timer 60
   robotseries R980040
   timeout    60
   DiscRoombas:
     Roomba:
       blid       3145C60491410740
       host       192.168.178.39:8883
   READINGS:
     2019-12-18 20:46:10   Schedule-Time-Fri 0:00
     2019-12-18 20:46:10   Schedule-Time-Mon 0:00
     2019-12-18 20:46:10   Schedule-Time-Sat 0:00
     2019-12-18 20:46:10   Schedule-Time-Sun 0:00
     2019-12-18 20:46:10   Schedule-Time-Thu 0:00
     2019-12-18 20:46:10   Schedule-Time-Tue 0:00
     2019-12-18 20:46:10   Schedule-Time-Wed 0:00
     2019-12-18 20:46:10   Schedule-on-Fri none
     2019-12-18 20:46:10   Schedule-on-Mon none
     2019-12-18 20:46:10   Schedule-on-Sat none
     2019-12-18 20:46:10   Schedule-on-Sun none
     2019-12-18 20:46:10   Schedule-on-Thu none
     2019-12-18 20:46:10   Schedule-on-Tue none
     2019-12-18 20:46:10   Schedule-on-Wed none
     2019-12-18 20:46:10   audio-active    0
     2019-12-18 20:46:10   batPct          77
     2019-12-18 20:46:10   batteryType     lith
     2019-12-18 20:46:10   bbchg-aborts    [4,4,4]
     2019-12-18 20:46:10   bbchg-nChgOk    401
     2019-12-18 20:46:10   bbchg-nLithF    0
     2019-12-18 20:46:10   bbchg3-avgMin   173
     2019-12-18 20:46:10   bbchg3-estCap   12311
     2019-12-18 20:46:10   bbchg3-hOnDock  14850
     2019-12-18 20:46:10   bbchg3-nAvail   2896
     2019-12-18 20:46:10   bbchg3-nDocks   164
     2019-12-18 20:46:10   bbchg3-nLithChrg 402
     2019-12-18 20:46:10   bbchg3-nNimhChrg 0
     2019-12-18 20:46:10   bbmssn-aCycleM  23
     2019-12-18 20:46:10   bbmssn-aMssnM   23
     2019-12-18 20:46:10   bbmssn-nMssn    645
     2019-12-18 20:46:10   bbmssn-nMssnC   227
     2019-12-18 20:46:10   bbmssn-nMssnF   52
     2019-12-18 20:46:10   bbmssn-nMssnOk  366
     2019-12-18 20:46:10   bbnav-aExpo     65
     2019-12-18 20:46:10   bbnav-aGain     20
     2019-12-18 20:46:10   bbnav-aMtrack   52
     2019-12-18 20:46:10   bbnav-nGoodLmrks 6
     2019-12-18 20:46:10   bbpanic-panics  [8,11,8,8,8]
     2019-12-18 20:46:10   bbpause-pauses  [15,14,0,15,16,0,15,15,6,14]
     2019-12-18 20:46:10   bbrstinfo-causes 0000
     2019-12-18 20:46:10   bbrstinfo-nMobRst 0
     2019-12-18 20:46:10   bbrstinfo-nNavRst 203
     2019-12-18 20:46:10   bbrun-hr        321
     2019-12-18 20:46:10   bbrun-min       12
     2019-12-18 20:46:10   bbrun-nCBump    0
     2019-12-18 20:46:10   bbrun-nCliffsF  28195
     2019-12-18 20:46:10   bbrun-nCliffsR  6769
     2019-12-18 20:46:10   bbrun-nMBStll   9
     2019-12-18 20:46:10   bbrun-nPanics   272
     2019-12-18 20:46:10   bbrun-nPicks    8550
     2019-12-18 20:46:10   bbrun-nScrubs   1026
     2019-12-18 20:46:10   bbrun-nStuck    147
     2019-12-18 20:46:10   bbrun-nWStll    0
     2019-12-18 20:46:10   bbrun-sqft      1393
     2019-12-18 20:46:10   bbswitch-nBumper 18248
     2019-12-18 20:46:10   bbswitch-nClean 2059
     2019-12-18 20:46:10   bbswitch-nDock  164
     2019-12-18 20:46:10   bbswitch-nDrops 1822
     2019-12-18 20:46:10   bbswitch-nSpot  119
     2019-12-18 20:46:10   bbsys-hr        15509
     2019-12-18 20:46:10   bbsys-min       32
     2019-12-18 20:46:10   bin-full        0
     2019-12-18 20:46:10   bin-present     1
     2019-12-18 20:46:10   binPause        1
     2019-12-18 20:46:10   bootloaderVer   4042
     2019-12-18 20:46:10   cap-binFullDetect 1
     2019-12-18 20:46:10   cap-carpetBoost 1
     2019-12-18 20:46:10   cap-eco         1
     2019-12-18 20:46:10   cap-edge        1
     2019-12-18 20:46:10   cap-langOta     1
     2019-12-18 20:46:10   cap-maps        1
     2019-12-18 20:46:10   cap-multiPass   2
     2019-12-18 20:46:10   cap-ota         2
     2019-12-18 20:46:10   cap-pose        1
     2019-12-18 20:46:10   cap-pp          1
     2019-12-18 20:46:10   cap-svcConf     1
     2019-12-18 20:46:10   carpetBoost     0
     2019-12-18 20:46:10   cleanMissionStatus-cycle none
     2019-12-18 20:46:10   cleanMissionStatus-error 0
     2019-12-18 20:46:10   cleanMissionStatus-expireM 0
     2019-12-18 20:46:10   cleanMissionStatus-initiator localApp
     2019-12-18 20:46:10   cleanMissionStatus-mssnM 0
     2019-12-18 20:46:10   cleanMissionStatus-nMssn 645
     2019-12-18 20:46:10   cleanMissionStatus-notReady 0
     2019-12-18 20:46:10   cleanMissionStatus-phase stop
     2019-12-18 20:46:10   cleanMissionStatus-rechrgM 0
     2019-12-18 20:46:10   cleanMissionStatus-sqft 0
     2019-12-18 20:46:10   cleanSchedule-cycle ["none","none","none","none","none","none","none"]
     2019-12-18 20:46:10   cleanSchedule-h [0,0,0,0,0,0,0]
     2019-12-18 20:46:10   cleanSchedule-m [0,0,0,0,0,0,0]
     2019-12-18 20:46:07   cloudEnv        prod
     2019-12-18 19:05:46   connected       1
     2019-12-18 20:47:42   connection      disconnected
     2019-12-18 20:46:07   country         DE
     2019-12-18 18:53:07   discoveredRoomba Roomba 192.168.178.39:8883 3145C60491410740
     2019-12-18 20:46:10   dock-known      0
     2019-12-18 20:46:10   ecoCharge       0
     2019-12-18 20:46:10   hardwareRev     2
     2019-12-18 20:46:10   langs           [{"en-UK":0},{"fr-FR":1},{"es-ES":2},{"it-IT":3},{"de-DE":4},{"ru-RU":5}]
     2019-12-18 20:46:10   language        4
     2019-12-18 20:46:10   lastCommand-command stop
     2019-12-18 20:46:10   lastCommand-initiator localApp
     2019-12-18 20:46:10   lastCommand-time 2019-12-18 20:15:39
     2019-12-18 20:46:10   localtimeoffset 60
     2019-12-18 20:46:07   mac             40:9f:38:4d:0f:1e
     2019-12-18 20:46:10   mapUploadAllowed 1
     2019-12-18 20:46:10   mobilityVer     5806
     2019-12-18 20:46:10   name            Roomba
     2019-12-18 20:46:10   navSwVer        01.12.01#1
     2019-12-18 20:46:07   netinfo-addr    192.168.178.39
     2019-12-18 20:46:07   netinfo-bssid   f4:06:8d:7b:08:f5
     2019-12-18 20:46:07   netinfo-dhcp    1
     2019-12-18 20:46:07   netinfo-dns1    217.237.151.205
     2019-12-18 20:46:07   netinfo-dns2    217.237.149.161
     2019-12-18 20:46:07   netinfo-gw      192.168.178.1
     2019-12-18 20:46:07   netinfo-mask    255.255.255.0
     2019-12-18 20:46:07   netinfo-sec     4
     2019-12-18 20:46:10   noAutoPasses    1
     2019-12-18 20:46:10   noPP            0
     2019-12-18 20:46:10   openOnly        0
     2019-12-18 20:46:10   pose-point-x    -40
     2019-12-18 20:46:10   pose-point-y    -24
     2019-12-18 20:46:10   pose-theta      0
     2019-12-18 20:46:10   schedHold       0
     2019-12-18 20:47:37   signal-rssi     -45
     2019-12-18 20:47:37   signal-snr      44
     2019-12-18 20:46:10   sku             R980040
     2019-12-18 20:46:10   softwareVer     v2.4.6-3
     2019-12-18 20:46:10   soundVer        32
     2019-12-18 20:46:07   state           opened
     2019-12-18 20:46:07   svcEndpoints-svcDeplId v011
     2019-12-18 20:46:10   timezone        Europe/Berlin
     2019-12-18 20:46:10   twoPass         0
     2019-12-18 20:46:10   tz-events       [{"dt":1564675200,"off":120},{"dt":1572138001,"off":60},{"off":120,"dt":1585443601}]
     2019-12-18 20:46:10   tz-ver          7
     2019-12-18 20:46:10   uiSwVer         4582
     2019-12-18 20:46:10   umiVer          6
     2019-12-18 20:46:10   utctime         2019-12-18 20:46:00
     2019-12-18 20:46:10   vacHigh         0
     2019-12-18 20:46:10   wifiSwVer       20992
     2019-12-18 20:46:07   wifistat-cloud  1
     2019-12-18 20:46:07   wifistat-uap    0
     2019-12-18 20:46:07   wifistat-wifi   1
     2019-12-18 20:46:07   wlcfg-sec       7
     2019-12-18 20:46:07   wlcfg-ssid      FBI_SURVEILLANCE_VAN_236e
Attributes:
   room       Roomba
   verbose    0
   widgetOverride Schedule-on-Sun:iconRadio,808080,none,general_aus,start,general_an Schedule-on-Mon:iconRadio,808080,none,general_aus,start,general_an Schedule-on-Tue:iconRadio,808080,none,general_aus,start,general_an Schedule-on-Wed:iconRadio,808080,none,general_aus,start,general_an Schedule-on-Thu:iconRadio,808080,none,general_aus,start,general_an Schedule-on-Fri:iconRadio,808080,none,general_aus,start,general_an Schedule-on-Sat:iconRadio,808080,none,general_aus,start,general_an
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Jewe am 20 Dezember 2019, 00:42:00
Hallo,

habe angefangen den Robbie ist Tablet UI zu integrieren. Anbei der aktuelle Stand der mangels Zeit nicht Fertig wurde.

Jens

Hier habe ich mir mal die interessanten Readings und die möglichen Werte notiert:
cleanMissionStatus-phase : run, stop, charge,
cleanMissionStatus-cycle : none, quick,

cleanMissionStatus-sqft : Fläche ?
cleanMissionStatus-mssnM : Minuten ?  56

bbrun-hr : Stunden
bbrun-min : Minuten

bbrun-sqft : Fläche Gesamt ? 273

bbmssn-nMssn : Anzahl der Reinigungsaufgaben Gesamt 102
bbrun-nScrubs : Schmutzereigniszähler 96

dock-known : Basis Position bekannt
connection : active


Aufruf des templates:
<!-- ========= Saugroboter Wohnzimmer =============== -->
<div data-template="templates//template_roboter.html" data-parameter='{"Name":"Wohnzimmer Saugroboter","Device":"Robbie"}'></div>


template:
<header class="headerTransparent"><font color="#008200" size="2">Name</font></header>
<table border="1">
<tr>
<td rowspan="2">
<div>
 
</div>
</td>
<td>
<div>
<div><font class="large">Akku:</font></div>
<div class="top-space"></div>
</div>
<div data-type="level"
data-device="Device"
data-get="batPct"
data-min="0"
data-max="100"
data-height="15"
data-width="150"
data-limits='["0","30","70"]'
data-colors='["red","yellow","green"]'
class="large horizontal">
</div>
<div>
   <div data-type="label"
data-device="Device"
data-get="batPct"
data-unit="%%0A"
class="large">
   </div>
</div>

</div>
</td>

<td colspan="6" width="540px">
<div
  >  </div>
</td>
<td>
<div
  >  </div>
</td>
</tr>

<tr>
<td>
   <div data-type="label"
data-device="Device"
data-get="cleanMissionStatus-phase"
class="smaller">
</div>
    <div data-type="label"
data-device="Device"
data-get="cleanMissionStatus-cycle"
class="smaller">
</div>
   <div data-type="label"
data-device="Device"
data-get="state"
class="smaller">
</div>
</td>

<td>
<div data-type="switch"
   data-on-color="#008200"
   data-off-color="#181818"
   data-on-background-color="#808080"
   data-off-background-color="#808080"
   data-icon="fa-play"
   data-device="Device"
   data-set="start"
   class="class small">
</div>
</div>
</td>

<td> <div data-type="switch"
data-device="Device"
data-set="stop"
data-on-color="#008200"
data-off-color="#181818"
data-on-background-color="#808080"
data-off-background-color="#808080"
data-icon="fa-stop"
class="class small">
</div>
</td>

<td>
<!--<div data-type="switch"
data-device="Device"
data-set="pause"
data-on-color="#008200"
data-off-color="#181818"
data-on-background-color="#808080"
data-off-background-color="#808080"
data-icon="fa-pause"
class="class small">
</div>-->
<div data-type="switch"
data-device="Device"
data-get="cleanMissionStatus-phase"
data-states='["run","stop","stop"]'
data-set-states='["pause","resume","resume"]'
data-background-icon="fa-circle-thin"
data-background-colors='["#808080","#808080","#808080"]'
data-colors='["#808080","#808080","#808080"]'
data-icons='["fa-pause","fa-play","fa-play"]'
class="class small">
</div>
</td>

        <td> <div data-type="switch"
data-device="Device"
data-set="dock"
data-on-color="#008200"
data-off-color="#181818"
data-on-background-color="#808080"
data-off-background-color="#808080"
data-icon="fa-plug"
class="class small">
</div>
</td>

<td> <div data-type="switch"
data-device="Device"
data-get="bin-full"
data-on-color="#008200"
data-off-color="#181818"
data-on-background-color="#808080"
data-off-background-color="#808080"
data-icon="fa-trash"
data-get-on="1"
data-get-off="0"
class="class small">
</div>
</td>

<td> <div data-type="switch"
data-device="Device"
data-get="vacHigh"
data-set="vacHigh"
data-on-color="#008200"
data-off-color="#181818"
data-on-background-color="#808080"
data-off-background-color="#808080"
data-icon="fa-check-circle"
data-get-on="true"
data-get-off="false"
data-set-on="true"
data-set-off="false"
class="class small">
</div>

</td>

<td>
<div data-type="popup" class="inline" data-width="250px" data-height="300px" >
<div data-type="push"
data-icon="fa-list"
class="class small center">
</div>

<div class="dialog bg-popupgreen">
<header style="background-color:#050505"><font color="#719e5a">
<div data-type="joinedlabel"
data-device="Device"
data-get='["Name"]'
data-mask="Status [$1]"
class="inline"></div></header>
<div class="top-space-10 ">
<div>
<div class="large middle inline"><font color="#050505">Sensoren:</font></div>
<div data-type="label"
data-device="Device"
data-get="consumables_sensors_h"
class="bigger">
</div>
<div data-type="level"
data-device="Device"
data-get="consumables_sensors"
data-min="0"
data-max="100"
data-height="15"
data-width="150"
data-limits='["0","10","30"]'
data-colors='["red","yellow","green"]'
class="large horizontal">
</div>
<div class="dialog">
<header class="big">Sensoren</header>
<div data-type="link"
data-width="320"
data-height="60"
data-color="white"
data-background-color="red"
data-icon="fa-recycle"
data-device="Device"
data-set="reset_consumable sensors"
onclick="$('.dialog-close').trigger('click');"
class="round centered bigger">Rücksetzen
</div>
</div>
</div>
<div>
<div class="large middle inline"><font color="#050505">Filter:</font></div>
   <div data-type="label"
data-device="Device"
data-get="consumables_filter_h"
class="bigger">
   </div>
   <div data-type="level"
data-device="Device"
data-get="consumables_filter"
data-min="0"
data-max="100"
data-height="15"
data-width="150"
data-limits='["0","10","30"]'
data-colors='["red","yellow","green"]'
class="large horizontal">
   </div>
   <div class="dialog">
<header class="big">Filter</header>
<div data-type="link"
data-width="320"
data-height="60"
data-color="white"
data-background-color="red"
data-icon="fa-recycle"
data-device="Device"
data-set="reset_consumable filter"
onclick="$('.dialog-close').trigger('click');"
class="round centered bigger">Rücksetzen
</div>
   </div>
</div>

<div>
<div class="large middle inline"><font color="#050505">Seitenbürste:</font></div>
   <div data-type="label"
data-device="Device"
data-get="consumables_side_brush_h"
class="bigger">
   </div>
   <div data-type="level"
data-device="Device"
data-get="consumables_side_brush"
data-min="0"
data-max="100"
data-height="15"
data-width="150"
data-limits='["0","10","30"]'
data-colors='["red","yellow","green"]'
class="large horizontal">
   </div>
   <div class="dialog">
<header class="big">Seitenbürste</header>
<div data-type="link"
data-width="320"
data-height="60"
data-color="white"
data-background-color="red"
data-icon="fa-recycle"
data-device="Device"
data-set="reset_consumable sidebrush"
onclick="$('.dialog-close').trigger('click');"
class="round centered bigger">Rücksetzen
</div>
   </div>
</div>

<div>
<div class="large middle inline"><font color="#050505">Bürste:</font></div>
   <div data-type="label"
data-device="Device"
data-get="consumables_main_brush_h"
class="bigger">
   </div>
   <div data-type="level"
data-device="Device"
data-get="consumables_main_brush"
data-min="0"
data-max="100"
data-height="15"
data-width="150"
data-limits='["0","10","30"]'
data-colors='["red","yellow","green"]'
class="large horizontal">
   </div>
   <div class="dialog">
<header class="big">Bürste</header>
<div data-type="link"
data-width="320"
data-height="60"
data-color="white"
data-background-color="red"
data-icon="fa-recycle"
data-device="Device"
data-set="reset_consumable mainbrush"
onclick="$('.dialog-close').trigger('click');"
class="round centered bigger">Rücksetzen
</div>
   </div>
</div>
<div>
<div class="large middle"><font color="#050505">Akku:</font></div>
<div data-type="level"
data-device="Device"
data-get="batPct"
data-min="0"
data-max="100"
data-height="15"
data-width="150"
data-limits='["0","30","70"]'
data-colors='["red","yellow","green"]'
class="large horizontal">
</div>

<div data-type="label"
data-device="Device"
data-get="batPct"
data-unit="%%0A"
class="smaller">
</div>
</div>
</div>
</div>
</div>
  </td>
</tr>
</tr>
</table>
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 20 Dezember 2019, 08:33:04
Zitat von: Dracolein am 19 Dezember 2019, 15:04:03
Wenn connection = connected, aktualisieren sich die Readings signal-rssi und signal-snr sekündlich. Mehr konnte ich gestern abend noch nicht testen.
Ich antworte Euch gern auf weitere Fragen (mit dem Hinweis, dass ich Laie bin  ::) )

Meine Idee für Touch UI und im Hinblick auf eine zu managende Datenflut würde ich probieren, vor jeden Steuerbefehl zunächst den Befehl zum connecten zu setzen und nach Abschluss eines Saugvorgangs o.ä. den Befehl zum Disconnect zu geben.

Das aktualisieren der Readings signal-rssi und signal-snr kommt vom Roomba selbst. Der sendet offensichtlich so oft. Solange alle anderen Readings weniger oft aktualisieren, ist das Verhalten i.O.
Du kannst es mal mit event-min-interval probieren, um die "unnütze" Datenflut in den Griff zu bekommen.
Die Reconnectfunktion (disconnect -> warten-> connect) ist per default inaktiv, da die Roomba9xx das nicht benötigen, während die 6xx .. 8xx Roombas u.U. nie wieder etwas anderes außer signal-rssi und signal-snr senden und somit Infos wie der Ladezustand ausbleiben.

Wenn Du dennoch ein zyklisches automatisches Trennen und Verbinden nutzen möchtest, kannst Du das entsprechend konfigurieren.
Hier meine Konfiguration:
alwaysconnected = 0    -> aktiviert den zyklischen reconnect
checkInterval = 30     -> Trennen nach Ablauf von checkInterval Sekunden
reconnecttime = 870    -> Warten für die Dauer von reconnecttime Sekunden und anschließendes Wiederherstellen der Verbindung
timeout = 30           -> sollte nicht größer als checkInterval sein

Damit frage ich im 15 Minten-Takt alle Readings ab und halte die Verbindung für max. 30s aufrecht.

Wie gesagt, ich würde erstmal versuchen eine pfiffige Einstellung mit event-min-interval, event-on-change-reading und event-on-update-reading zu finden.

Bzgl. der Readings wäre mein Vorschlag, das Attribut substitute einzuführen und per Default zu initialisieren.
Damit sollte die Veständlichkeit auf Dauer besser werden. Für entsprechende Vorschläge bin ich offen  ;D

VG
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 20 Dezember 2019, 13:51:27
Hi,
habe das attr substitute eingebaut.
anbei die Vorabversion zum Testen im Anhang.

Hier noch meine Konfiguration für substitute und userReadings als Beispiel:

substitute bbmssn-nMssn:Anzahl_Reinigungsaufgaben!none;bbrun-nScrubs:Anzahl_Schmutzereignisse!none
userReadings Betriebsdauer {return ReadingsVal($name,"bbrun-hr","00") . ":" . sprintf("%#.2u",ReadingsVal($name,"bbrun-min","00")) }


Damit kann man sich zumindest Readings sinnvoll benennen oder wie im Beispiel gezeigt, auch selber welche erzeugen.

Wenns überzeugt, können wir es ja in die offizielle Version übertragen.

VG
Sebastian
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 21 Dezember 2019, 21:03:42
Zitat von: Dracolein am 18 Dezember 2019, 19:08:59
ich habe mich heute abend nochmal probiert und musste folgendes Paket nachinstallieren
sudo apt-get install libmodule-pluggable-perl
nachdem ich zunächst diese Logfile Fehlermeldung beim define-Versuch erhielt

Danach verlief der Installationsprozess entsprechend der Github Anleitung.

Achso, vielleicht ein Hinweis noch:
In der Anleitung steht nicht, dass man dem Roomba im Dock stehen haben muss.
Ich habe jetzt beides ins Readme auf Github geschrieben.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 21 Dezember 2019, 21:14:40
Zitat von: Lippie am 20 Dezember 2019, 13:51:27
habe das attr substitute eingebaut.
Ich glaube, dass das nicht wirklich viel bringt. Das Hauptproblem ist doch eher, dass es keine Doku für die "hunderte" von Readings gibt. Klar, wenn man das hätte, dann könnte man die Readings schöner benennen, aber selbst dann wird es Missverständnisse geben.
Ich habe jetzt mal meine bisherige Liste ins Git geladen:
https://github.com/ThorstenPferdekaemper/FHEM-Roomba980/blob/master/Roomba980Fields.xlsx
Falls jemand weitere Beiträge dazu hat, bitte Bescheid geben, dann nehme ich das auf.
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Jewe am 28 Dezember 2019, 20:11:15
Zitat von: Lippie am 20 Dezember 2019, 13:51:27
Hi,
habe das attr substitute eingebaut.
anbei die Vorabversion zum Testen im Anhang.

Hier noch meine Konfiguration für substitute und userReadings als Beispiel:

substitute bbmssn-nMssn:Anzahl_Reinigungsaufgaben!none;bbrun-nScrubs:Anzahl_Schmutzereignisse!none
userReadings Betriebsdauer {return ReadingsVal($name,"bbrun-hr","00") . ":" . sprintf("%#.2u",ReadingsVal($name,"bbrun-min","00")) }


Damit kann man sich zumindest Readings sinnvoll benennen oder wie im Beispiel gezeigt, auch selber welche erzeugen.

Wenns überzeugt, können wir es ja in die offizielle Version übertragen.

VG
Sebastian

Hey, habe diese Version mal ausprobiert und im Moment aber das attr Substitude noch nicht eingegeben. Seit dem bekomme ich folgende Meldungen (ca. alle 6s) im Log:
2019.12.28 19:55:17 2: Could not substitute Text-Reading:
2019.12.28 19:55:17 2: Could not substitute Text-Reading:
2019.12.28 19:55:23 5: MQTT Robbie message received: [3] Publish/at-most-once wifistat
  7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f 72  {"state":{"repor
  74 65 64 22 3a 7b 22 73 69 67 6e 61 6c 22 3a 7b  ted":{"signal":{
  22 72 73 73 69 22 3a 2d 34 34 2c 22 73 6e 72 22  "rssi":-44,"snr"
  3a 34 35 7d 7d 7d 7d                             :45}}}}
2019.12.28 19:55:23 2: Could not substitute Text-Reading:
2019.12.28 19:55:23 2: Could not substitute Text-Reading:
2019.12.28 19:55:29 5: MQTT Robbie message received: [3] Publish/at-most-once wifistat
  7b 22 73 74 61 74 65 22 3a 7b 22 72 65 70 6f 72  {"state":{"repor
  74 65 64 22 3a 7b 22 73 69 67 6e 61 6c 22 3a 7b  ted":{"signal":{
  22 72 73 73 69 22 3a 2d 34 34 2c 22 73 6e 72 22  "rssi":-44,"snr"
  3a 34 36 7d 7d 7d 7d         


Gruß Jens


Gesendet von iPhone mit Tapatalk
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: JonnyS am 16 Februar 2020, 12:34:11
Hi zusammen,
nachdem ich einigige Fehler ausgemerz hatte, läuft das Modul Roomba980 bei mir auch. Aber scheinbar klappt der discovermode bei mir nicht. Ich habe einen roomba767 ist da was zu machen? pwd auslesen mit dorita980 klappt einwandfrei.

{
  ver: '3',
  hostname: 'Roomba-3192891C71527850',
  robotname: 'heini',
  ip: '192.168.1.43',
  mac: 'DC:F5:05:42:36:FB',
  sw: '3.3.47',
  sku: 'R676040',
  nc: 0,
  proto: 'mqtt',
  cap: { ota: 1, eco: 1, svcConf: 1 },
  blid: 'xxxxxxxxxxxxxxxxxxxxxxx'
}
Password=> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx <= Yes, all this string.


Umgebung:
fhem.pl                     21056 2020-01-26
42_Roomba980.pm                10 2018-03-26 17:00:00Z ThorstenPferdekaemper (update vom git)
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: KAGS am 10 März 2020, 13:39:14
Hallo
Das scheint bei mir auch nicht zu funktionieren.
Ich lasse allerdings Fhem auf DOCKER laufen.

Muss da ein Port geöffnet werden?
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: hyper2910 am 03 April 2020, 23:25:51
Wie zeigt ihr euren Robbie den in fhem,

Zeigt doch mal eure webCmd, overrides etc.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Mirko_2013 am 04 Mai 2020, 18:31:09
Hallo zusammen,

Ich hatte in der Vergangenheit erfolgreich meinen Roomba über Fhem laufen
Damals mit dorita980 eingebunden.
Nach neuaufsetzen von FHEM wollte ich das ganze jetzt mit dem Roomba9801 Modul versuchen.
Bei mir liest er das Password aus, jedoch nicht "Blid und Username".
Beim Versuch ein connect aufzubauen, habe ich jede sekunde mehrfache disconnect / connected meldungen.
Ich vermude mal das es an dem fehlenden Usernamen / Blid liegt.
Meine Frage: muss ich auch mit dem Roomba980 Modul die dorita980 Installation durchführen, oder wie komme ich sonst an die Daten?

Danke für die Hilfe.
Gruß
Mirko
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Thorsten Pferdekaemper am 07 Mai 2020, 22:30:28
Hi,
die aktuelle Version müsste das alles können. Versuche mal, ganz genau nach der Beschreibung hier vorzugehen:
https://github.com/ThorstenPferdekaemper/FHEM-Roomba980
Gruß,
   Thorsten
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: sTaN am 08 Mai 2020, 09:48:16
Hallo Thorsten,

habe mich auch endlich mal dran gemacht meinen Roomba 960 zu integrieren und bin nach deiner Anleitung in Github vorgegangen:

1 update add https://raw.githubusercontent.com/ThorstenPferdekaemper/FHEM-Roomba980/master/controls_roomba980.txt
2. shutdown restart
3. define myRoomba Roomba980

Erhalte aber sofort Cannot load module Roomba980. Im /opt/fhem/FHEM Ordner liegt aber das aktuellste Modul.

Laut commandref muss man eigentlich noch <ip[:8883]> <blid⁄username> <passwort> mitgeben. Aber da du in deiner Anleitung beschreibst, dass man nach dem define WiFi am Roomba suchen lassen muss und set myRoomba discoverNewRoomba eingibt, dachte ich das wird darüber übernommen.

Was fehlt mir bei der Einrichtung?

EDIT:
Ich sehe grad im Logfile folgendes:


BEGIN failed--compilation aborted at ./FHEM/42_Roomba980.pm line 79.
Compilation failed in require at ./FHEM/42_Roomba980.pm line 79.
2020.05.08 09:48:34 0: Attempt to reload Net/MQTT/Message.pm aborted.

BEGIN failed--compilation aborted at ./FHEM/42_Roomba980.pm line 79.
Compilation failed in require at ./FHEM/42_Roomba980.pm line 79.
Attempt to reload Net/MQTT/Message.pm aborted.
2020.05.08 09:48:34 1: reload: Error:Modul 42_Roomba980 deactivated:
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_PUBREL redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_CONNECT_REFUSED_SERVER_UNAVAILABLE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_PUBREC redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_SUBACK redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_PINGREQ redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_PINGRESP redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_CONNECT_REFUSED_UNACCEPTABLE_PROTOCOL_VERSION redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_PUBACK redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_SUBSCRIBE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_PUBLISH redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_CONNECT_ACCEPTED redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_DISCONNECT redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_CONNECT_REFUSED_NOT_AUTHORIZED redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_QOS_AT_LEAST_ONCE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_CONNECT_REFUSED_IDENTIFIER_REJECTED redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_QOS_AT_MOST_ONCE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_CONNACK redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_CONNECT_REFUSED_BAD_USER_NAME_OR_PASSWORD redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_UNSUBACK redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_UNSUBSCRIBE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_QOS_EXACTLY_ONCE redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_CONNECT redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.
2020.05.08 09:48:34 1: PERL WARNING: Constant subroutine Roomba980::MQTT_PUBCOMP redefined at FHEM/lib/Net/MQTT/Constants.pm line 44.

BEGIN failed--compilation aborted at ./FHEM/42_Roomba980.pm line 79.
Compilation failed in require at ./FHEM/42_Roomba980.pm line 79.
BEGIN failed--compilation aborted at FHEM/lib/Net/MQTT/Message.pm line 9.
2020.05.08 09:33:46 0: Can't locate Module/Pluggable.pm in @INC (you may need to install the Module::Pluggable module) (@INC contains: fhem.p/lib fhem.p/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /usr/local/FHEM/share/fhem/FHEM/lib . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/arm-linux-gnueabihf/perl5/5.24 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base) at FHEM/lib/Net/MQTT/Message.pm line 9.

BEGIN failed--compilation aborted at ./FHEM/42_Roomba980.pm line 79.
Compilation failed in require at ./FHEM/42_Roomba980.pm line 79.
BEGIN failed--compilation aborted at FHEM/lib/Net/MQTT/Message.pm line 9.
Can't locate Module/Pluggable.pm in @INC (you may need to install the Module::Pluggable module) (@INC contains: fhem.p/lib fhem.p/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /usr/local/FHEM/share/fhem/FHEM/lib . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/arm-linux-gnueabihf/perl5/5.24 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base) at FHEM/lib/Net/MQTT/Message.pm line 9.
2020.05.08 09:33:46 1: reload: Error:Modul 42_Roomba980 deactivated:


EDIT2:
Ach Mensch...Wer lesen kann ist klar im Vorteil:

apt-get install libmodule-pluggable-perl

und anschließender shutdown restart hat das Problem gelöst. SORRY!

Gruß und danke
sTaN
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: sTaN am 11 Mai 2020, 18:10:42
Hallo liebe Community,

nun muss ich mich doch noch mal melden, da mein Roomba 960 nicht mehr reagiert, wenn ich ihn versuche mittels set Roomba start anzusprechen. Die Readings aktualisieren sich ebenfalls nicht und sind auf dem Stand vom 2020-05-08 13:01:27.
Status ist opened und connection = active.

Im Logfile sehe ich bei aktiviertem verbose=5 lediglich:
2020.05.11 18:08:32 5 : MQTT Roomba message sent: Publish/at-most-once cmd 7X XX XX XX {"command":"star XX XX XXXX 3a 22 t","initiator":" XX XX XX XX 22 localApp","time" 3a XX XX XX 7d :XXXXXXXXX}
2020.05.11 18:08:32 5 : SW: 30XXXXXXXXX7d
2020-05-11 18:08:32 Roomba980 Roomba start


Gruß
sTaN
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Prof. Dr. Peter Henning am 25 Mai 2020, 17:17:01
Kann mir mal jemand in zwei Zeilen erläutern, was der Unterschied zwischen 960, 976, 980 und 981 ist?

LG

pah
Titel: FHEM und iRobot App parallel?
Beitrag von: kaba am 27 Mai 2020, 14:17:23
Hallo,
bevor ich meinen Roomba jetzt koppele, hätte ich eine wichtige Frage:

Verliere ich bei Kopplung mit FHEM die Funktionalität der iRobot App?  Oder kann ich die parallel betreiben?

Sonst wären die schönen Pläne wo er alles rumfährt und die Integration in den Google Assistant verloren - das wäre mir der Komfort der zusätzlichen FHEM Integration dann doch nicht wert.

Danke!
Titel: Antw:FHEM und iRobot App parallel?
Beitrag von: turo am 27 Mai 2020, 14:24:56
Zitat von: kaba am 27 Mai 2020, 14:17:23
Hallo,
bevor ich meinen Roomba jetzt koppele, hätte ich eine wichtige Frage:

Verliere ich bei Kopplung mit FHEM die Funktionalität der iRobot App?  Oder kann ich die parallel betreiben?
...
Geht beides parallel. (Jedenfalls bei meinem Roomba 980.)

Gruss,
Turo
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: kaba am 28 Mai 2020, 14:13:06
Danke!

Leider bei mir das pairen nach Anleitung nicht funktioniert. Ich konnte zwar den myRoomba anlegen und das Pairing am Roomba aktivieren, aber FHEM konnte ihn per set myRoomba discoverNewRoomba leider nicht finden.

Allerdings hatte das ganze einen üblen Nebeneffekt, der vielleicht auf ein kleines Problem im Modul hindeutet - über Nacht ist nämlich der Logspace vollgelaufen, da das Modul rund 20 Logeinträge pro Sekunde generiert hat (WIFI war zu der Zeit übrigens aus, insofern hätte es auch den Roomba nicht finden können):

2020.05.28 00:00:00 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:00 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:00 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:00 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:01 1:  disconnected, waiting to reappear (myRoomba)
2020.05.28 00:00:02 1:  disconnected, waiting to reappear (myRoomba)


Für mich erstmal nicht dringend, ich kann auch ohne die Funktionalität leben.
Aber falls ich nochmal etwas ausprobieren soll, um beim Debugging zu helfen, mache ich das gerne.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Weisswurstverkäufer am 09 Juni 2020, 11:22:06
Hallo,

ich wollte das Modul mal mit meinem Roomba 960 ausprobieren. Leider klappt es mit der Einrichtung nicht so richtig. "discoverNewRoomba" funktionert gar nicht. "getpass" funktioniert anscheinend. Ein "connect" führt aber zu einem "connection timed-out".

Kann man da was machen?
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Prof. Dr. Peter Henning am 09 Juni 2020, 14:20:10
Hat bei mir problemlos mit dem 960 funktioniert. Wichtig ist, dass man zum "discover" auch die Wifi-Taste drückt, so wie das in der Anleitung steht.

LG

pah
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Weisswurstverkäufer am 09 Juni 2020, 14:37:24
Zitat von: Prof. Dr. Peter Henning am 09 Juni 2020, 14:20:10
Wichtig ist, dass man zum "discover" auch die Wifi-Taste drückt, so wie das in der Anleitung steht.

Klar, habe ich gemacht. Ohne würde vermutlich "getpass" auch nicht gehen, oder?

Vielleicht liegt es daran dass mein FHEM in einem Jail auf FreeBSD läuft - da gibt es keine RAW Sockets. Kann man es irgendwie auch ohne autodiscover hinbiegen?
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Lippie am 17 Juni 2020, 10:21:19
Zitat von: Weisswurstverkäufer am 09 Juni 2020, 14:37:24
Klar, habe ich gemacht. Ohne würde vermutlich "getpass" auch nicht gehen, oder?

Vielleicht liegt es daran dass mein FHEM in einem Jail auf FreeBSD läuft - da gibt es keine RAW Sockets. Kann man es irgendwie auch ohne autodiscover hinbiegen?

Hi,
klar geht auch ohne:
define <name> Roomba980 <ip[:8883]> <blid⁄username> <passwort>

Erstellt ein roomba980 device zum steuern und konfigurieren eines Roomba-Staubsaugers.

Besipiel:
define Roomba Roomba980 192.168.1.54:8883 3132B21051915310 :1:1234394129:jmaBV1QzGNv8PM7f


Die IP wirst du recht einfach herausfinden. Danach wirds etwas kniffelig. An blid und pw kommst du mit den tools von dorita980 ran.
Dazu wurde auch schon einiges geschrieben. Ist halt etwas kniffelig.

viele Grüße.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Weisswurstverkäufer am 17 Juni 2020, 10:40:32
Zitat von: Lippie am 17 Juni 2020, 10:21:19

klar geht auch ohne:
define <name> Roomba980 <ip[:8883]> <blid⁄username> <passwort>

Erstellt ein roomba980 device zum steuern und konfigurieren eines Roomba-Staubsaugers.

Besipiel:
define Roomba Roomba980 192.168.1.54:8883 3132B21051915310 :1:1234394129:jmaBV1QzGNv8PM7f


Die IP wirst du recht einfach herausfinden. Danach wirds etwas kniffelig. An blid und pw kommst du mit den tools von dorita980 ran.
Dazu wurde auch schon einiges geschrieben. Ist halt etwas kniffelig.


Perfekt. Hat funktioniert und war auch gar nicht schwierig. Danke!
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Dracolein am 03 Juli 2020, 09:26:22
Sagt mal, wo ist eigentlich Euer Use-Case nach Einbindung eines Roomba in FHEM?
Sprich, wo liegt nun Euer Vorteil?
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Prof. Dr. Peter Henning am 03 Juli 2020, 14:54:45
Schon realisiert: Starten mit meiner sprachgesteuerten Home-KI, nicht nur mit der doofen Alexa.

In Planung: Aufzeichnen der Reinigungskarte.
Vision: Durch elektronische Steuerung statt Hochheben eine bestimmte Stelle gezielt reinigen lassen.

LG

pah
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Jewe am 04 Juli 2020, 08:32:09
Zitat von: Prof. Dr. Peter Henning am 03 Juli 2020, 14:54:45
Schon realisiert: Starten mit meiner sprachgesteuerten Home-KI, nicht nur mit der doofen Alexa.

Was hast Du dann für eine Sprachsteuerung ?

Jens
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Weisswurstverkäufer am 04 Juli 2020, 10:17:04
Zitat von: Dracolein am 03 Juli 2020, 09:26:22
Sagt mal, wo ist eigentlich Euer Use-Case nach Einbindung eines Roomba in FHEM?
Sprich, wo liegt nun Euer Vorteil?

Automatischer Start wenn niemand mehr zuhause ist, automatischer Stopp wenn wieder jemand da ist (mit Geofency und Residents)
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: mkihr am 04 Juli 2020, 11:56:26
Hallo!

Das Modul lief bis vor einigen Wochen problemlos.
Dann plötzlich konnte er keine Verbindung zum Rommba mehr herstellen: Can't connect to xxx.xxx.xxx.xxx:8883: Resource temporarily unavailable

Ich habe es immer wieder versucht, ohne Erfolg.
Rommba neustart hat nicht geholfen. Ich habe das Device gelöscht und neu angelegt. discoverNewRoomba endet mit:
2020.07.04 11:46:13 2: GetPass: connecting to xxx.xxx.xxx.xxx:8883
2020.07.04 11:46:16 3: GetPass connection error
2020.07.04 11:46:16 3: GetPass Resource temporarily unavailable
2020.07.04 11:46:16 3: GetPass SSL wants a read first
Ich habe den Roomba auf Werkseinstellungen zurückgesetzt und erneut versucht. Ohne Erfolg.
Übrigens wurde die Roomba FW am 20. Juni auf 2.4.13-119 aktualisiert. Könnte es daran liegen?
Irgend eine Idee?
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Prof. Dr. Peter Henning am 27 Juli 2020, 19:47:20
Ich habe auch seit heute ein Problem. Roomba 960 lief problemlos mit App, Alexa, FHEM. Musste ihn jetzt auf eine andere FHEM-Installation umziehen. Altes device gelöscht. Neues installiert.

discoverNewRoomba - ok
getPass - ok

connecting -> connected -> disconnected im Sekundentakt, im Log liest man

Zitat2020.07.27 19:44:00 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:00 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:01 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:01 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:01 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:01 5: SW: c000
2020.07.27 19:44:01 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:01 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:01 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:03 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:03 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:03 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:03 5: SW: c000
2020.07.27 19:44:03 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:03 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:03 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:05 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:05 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:05 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:05 5: SW: c000
2020.07.27 19:44:05 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:05 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:05 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:06 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:06 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:06 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:06 5: SW: c000
2020.07.27 19:44:06 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:06 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:06 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:07 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:07 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:07 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:07 5: SW: c000
2020.07.27 19:44:07 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:07 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:07 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:09 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:09 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:09 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:09 5: SW: c000
2020.07.27 19:44:09 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:09 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:09 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:10 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:10 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:10 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:10 5: SW: c000
2020.07.27 19:44:10 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:10 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:10 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:11 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:11 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:11 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:11 5: SW: c000
2020.07.27 19:44:11 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:11 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:11 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:13 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:13 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:13 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:13 5: SW: c000
2020.07.27 19:44:13 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:13 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:13 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:14 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:14 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:14 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:14 5: SW: c000
2020.07.27 19:44:14 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:15 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:15 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:16 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:16 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:16 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:16 5: SW: c000
2020.07.27 19:44:16 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:16 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:16 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:17 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:17 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:17 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:17 5: SW: c000
2020.07.27 19:44:17 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:17 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:17 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:19 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:19 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:19 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:19 5: SW: c000
2020.07.27 19:44:19 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:19 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:19 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:20 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:20 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:20 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:20 5: SW: c000
2020.07.27 19:44:20 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:20 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:20 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:22 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:22 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:22 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:22 5: SW: c000
2020.07.27 19:44:22 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:22 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:22 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:23 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:23 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:23 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:23 5: SW: c000
2020.07.27 19:44:23 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:23 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:23 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:25 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:25 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:25 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:25 5: SW: c000
2020.07.27 19:44:25 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:25 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:25 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:26 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:26 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:26 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:26 5: SW: c000
2020.07.27 19:44:26 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:26 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:26 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:27 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:27 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:27 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:27 5: SW: c000
2020.07.27 19:44:27 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:27 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:27 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:29 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:29 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:29 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:29 5: SW: c000
2020.07.27 19:44:29 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:29 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:29 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:30 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:30 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:30 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:30 5: SW: c000
2020.07.27 19:44:30 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:30 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:30 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)
2020.07.27 19:44:31 5: MQTT Robot message sent: Connect/at-most-once MQTT/4/Net::MQTT::Message[788]
2020.07.27 19:44:31 5: SW: 102300044d5154540402003c00174e65743a3a4d5154543a3a4d6573736167655b3738385d
2020.07.27 19:44:31 5: MQTT Robot message sent: PingReq/at-most-once
2020.07.27 19:44:31 5: SW: c000
2020.07.27 19:44:31 3: 192.168.0.81:8883 reappeared (Robot)
2020.07.27 19:44:32 5: MQTT Robot message received: [2] ConnAck/at-most-once Connection Refused: unacceptable protocol version
2020.07.27 19:44:32 1: 192.168.0.81:8883 disconnected, waiting to reappear (Robot)

Thorsten, irgendeine Idee dazu?

LG

pah
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Clue am 15 August 2020, 10:31:13
Zitat von: Prof. Dr. Peter Henning am 25 Mai 2020, 17:17:01
Kann mir mal jemand in zwei Zeilen erläutern, was der Unterschied zwischen 960, 976, 980 und 981 ist?

LG

pah

Ich wäre auch an einer Antwort interessiert. Ist der 981 denn voraussichtlich auch kompatibel zum FHEM Modul? Konnte hierzu nix finden.

Beste Grüße
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Prof. Dr. Peter Henning am 09 September 2020, 15:03:20
Ich habe jetzt einen 960 und einen 981. Beide werden vom Modul erkannt - ich habe aber nach wie vor den oben beschriebenen Fehler, auch mit dem neuen Roomba. Mit anderen Worten: Bei beiden Kisten kommt sekündlich ein disconnect mit der angegebenen Fehlermeldung.

Derzeit ist keiner der beiden Roboter durch FHEM steuerbar :-(

LG

pah
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Prof. Dr. Peter Henning am 12 September 2020, 12:27:43
OK, ich habe inzwischen etwas mehr herausgefunden und werde das Roomba980-Modul auf den Müllhaufen werfen. Der Roomba hat nämlich einen eingebauten MQTT-Broker. Entweder bekommen ich den mit dem Module MQTT2_CLIENT zum Laufen, oder ich starte im Hintergrund ein Python-Programm das den MQTT-Broker des Roomba mit dem MQTT-Broker in FHEM verbindet, siehe hier

https://github.com/NickWaterton/Roomba980-Python

Die weitere Diskussion des Roomba in FHEM wird sich also in den MQTT-Bereich verlagern, siehe hier https://forum.fhem.de/index.php/topic,114166.0.html


Nachtrag: Klappt. Ich habe heute ohne das Modul Roomba980 über MQTT meinen einen Roomba wunderbar steuern können. Ist noch etwas umständlich, weil man eine separate Hintergrundanwendung benötigt - das werde ich aber noch los.

LG

pah
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: mkihr am 14 September 2020, 09:21:13
Ich habe inzwischen auch das Modul entfernt, da ich es nicht mehr zum Laufen gekriegt habe. Es war nicht mehr möglich, eine Verbindung herzustellen.
Ich verwende jetzt rest980/dorita980 mit httpmod.
Eine Anleitung dazu findet sich hier: https://blog.kihr.online/?p=5#more-5 (https://blog.kihr.online/?p=5#more-5).
Wenn man den gleichen Namen für das Device verwendet, kann man auch alles andere wie notify usw. weiterhin verwenden. Die einzige Anpassung wäre, dass die Namen der Readings dann einen Unterstricht statt eines Minus als Trenner verwenden.
Titel: Antw:Modul für Irobot Roomba 980
Beitrag von: Prof. Dr. Peter Henning am 14 September 2020, 12:30:47
Sowohl die Steuerung, als auch das Auslesen von Daten aus dem Roboter klappt jetzt astrein via MQTT. Details siehe in dem betreffenden Thread, demnächst wird es einen Wiki-Eintrag dazu geben.

LG

pah