Roomba Staubsaugerroboter

Begonnen von Prof. Dr. Peter Henning, 10 September 2020, 16:40:34

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

SSL-Version richtig gsetzt ?

LG

pah

Sturi2011

#76
Hallo Carlos,

Poste doch mal bitte deine Konfiguration.
Ist dein Roomba in der App eingebunden und hat er die aktuelle Firmware?
Gruß Andreas

carlos

Hallo,
Meine device sieht genau so aus das wie von pah in post 29, deswegen bat ich da um die Daten:

defmod myRoombaClient MQTT2_CLIENT 192.168.x.y:8883
attr myRoombaClient SSL 1
attr myRoombaClient autocreate simple
attr myRoombaClient clientId 3.................20
attr myRoombaClient mqttVersion 3.1.1
attr myRoombaClient room Roomba
attr myRoombaClient sslargs SSL_version:SSLv23
attr myRoombaClient username 3.................20
attr myRoombaClient verbose 5


Mein Roomba ist in der app eingebunden und hat die Firmware 2.4.6-3 vom 14 Juni 2018.

Wie zuvor auch schon geschrieben funktioniert die Anbindung über rest980 als HTTPMod device mit den gleichen Daten (BLID/password).
Gruß

Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

Sturi2011

Hallo,

ich vermute mal es liegt, an der zu aktuellen OpenSSL auf deinem Host System.
Siehe https://wiki.debian.org/ContinuousIntegration/TriagingTips/openssl-1.1.1

Schau mal bitte in deine \etc\ssl\openssl.conf
Da sollte es einen Wert
CipherString = DEFAULT@SECLEVEL=2
geben. Diesen mal mit # ausremmen oder auf 1 heruntersetzten.

Interessant wäre in dem Zusammenhang auch sie Ausgabe von

openssl version

Gruß Andreas

carlos

Hallo Andreas,
Du hattest recht.
Mit CipherString = DEFAULT@SECLEVEL=1 funktioniert mein Client jetzt.
Vielen Dank für den Tip, da wäre ich nie drauf gekommen.

Zur Vollstandigkeit:

OpenSSL 1.1.1d  10 Sep 2019

Gruß

Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

Prof. Dr. Peter Henning

Ich stelle hier mal etwas zur Abstimmung.

Bei der in Arbeit befindlichen Kartenerstellung taucht das Problem auf, dass zur Erstellung reproduzierbarer Karten (gibt es in der Form bei iRobot nicht, wohlgemerkt) die Bounding Box des Raumes angegeben werden muss.

Möglichkeit A: Angabe maximale Breite, maximale Tiefe des Raumes, sowie Position der Docking Station in Zentimetern von linker Kante und "unterer" (naher) Kante, sowie Startrichtung des Roboters (Nord, Süd, Ost, West). Also 4 Zahlen plus Richtungsangabe

Möglichkeit B: Angabe der Raumgrenzen in Bezug auf die Docking Station (4 Zahlen) plus Startrichtung.

Ich favorisiere Möglichkeit A.

Als problematisch bei der Auswertung erweist sich noch, wenn man unterschiedliche Räume saugen lässt (z.B. die Tür zur Küche mal offen und mal geschlossen ist).

LG

pah

Sturi2011

Hallo pah,

ich würde A favorisieren.

Ich hatte überlegt, ob man die Karten einzeln betrachten sollte oder ob sich der komplette Grundriss nicht nach mehren
Reinigungszyklen automatisch ergibt, wenn man versucht die Eckpunkte zu finden und über Näherung zu matchen....

Hier würde sich dann auch die Tür offen / geschlossen Problematik erledigen, da er ja irgendwann alles entdeckt.

Was dabei aus meiner Sicht jedoch auf keinen Fall erfolgen darf, ist, dass er verschiedene Startpunkte hat.
Meine Frau nimmt ihn z.B. ganz gerne mal und stellt ihn in die Veranda um dort auf Start zu drücken.

Das ließe sich dann nur durch Karten aussortieren, bei denen er bei Start nicht den Status docked hatte, lösen.

Anbei noch mal vielen Dank für die geleitete Arbeit. Bei mir funktioniert er jetzt mit dem Disconnet / Connect wie gewünscht.

Gruß Andreas

Prof. Dr. Peter Henning

Das Problem besteht darin, dass die Kiste mit unterschiedlichen Winkeln losläuft. Und nicht unterscheiden kann, ob das Hindernis an der Position X ein temporär dort hingestellter Sessel ist, eine geschlossene Tür oder - wegen des geänderten Laufwinkels - einfach die Wand des bekannten Raumes. Es ist nicht einfach, das aus den Daten herauszufieseln.

Derzeit gehe ich davon aus, dass es jeweils ein Array aus verschiedenen Breiten und Tiefen gibt.

Sagen wir für die Breite 11.5 m und 9.5 m, für die Tiefe 5.5 variabel bis 7.5 m.

Damit gäbe es dann 4 mögliche Bounding Boxes, in die man die übermittelten Koordinaten einpassen könnte - aus diesem Einpassen ergäbe sich auch der Laufwinkel.

LG

pah

Jewe

Hallo,

die Karte könnte doch auch anders erstellt werden. Jetzt ist es so, dass die einzelnen Koordinaten in gewissen zeitabständen gespeichert werden und daraus die Karte erstellt wird.

Wäre es nicht möglich, wenn der Roboter gegen die Wand oder ein Hindernis fährt einen Koordinatenpunkt zu speichern und daraus dann die Karte zu erstellen ? Das müssten dann doch an einer Wand eine relativ gerade Strecke geben. Ein reading des Schalters der Leiste gibt es meine ich doch, irgendwas mit bumper (bin gerade nicht zu Hause).

Grüssle, Jens

Prof. Dr. Peter Henning

Die Koordinaten kommen in einer anderen Message, als die Bumper Messages. Außerdem sind diese Bumper Messages nach meinem Dafürhalten keine aktuellen Statusmeldungen, sondern nur Zähler. Und drittens sind die Bumper Messages sehr viel seltener, als die Koordinatenangaben

Da lasse ich mich aber gerne eines Besseren belehren - vielleicht könnte jemand das austesten, der die ungefilterten JSON-Daten mitschreibt.

Einen anderen Ansatz werde ich noch ausprobieren, nämlich den Winkel mitzuloggen.

Anbei die Karte meines Dachgeschosses mit drei unterschiedlichen Läufen. An ein paar Stellen gibt es deutliche Abweichungen, weil ein Stuhl verrückt wurde. Wichtiger sind aber die Abweichungen an den Kanten - die zeigen, dass diese Art der Navigation eben doch ziemlich ungenau ist.

LG

pah

rudolfkoenig

Vorschlag eines Unbeteiligten :)

Koennte man die Liniendicke in der Zeichnung auf die Breite der Kehrflaeche erweitern, halb durchsichtig, damit man die Kreuzungen erkennt?

Prof. Dr. Peter Henning

Das habe ich in SVG auch schon gemacht (das Ganze ist eine SVG-Grafik). Ist nicht sonderlich erhellend.

Wo ich dich gerade dran habe: im MQTT2_CLIENT fehlen m.E. die connect/disconnect im Modul noch in der Liste der set-Befehle. Sie tauchen zwar in der CommandRef auf, aber ein set ... connect liefert nur die Fehlermeldung, dass nur "publish" und "password" erlaubt sind.

LG

pah

Sturi2011

Hallo,

Da muss ich wiedersprechen.


Prof. Dr. Peter Henning

Stimmt. War aus irgendeinem Grund noch das alte Modul am Laufen.

LG

pah

Sturi2011

#89
Hallo,

zum Thema MQTT und Cipher Level gibt es wohl schon was in der TCPUtils.pm Das müstte nur im MQTT Modul eingebaut werden...

https://forum.fhem.de/index.php/topic,89745.msg1088503.html#msg1088503

Gruß Andreas