Roomba Staubsaugerroboter

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

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

Ja habe ich: 1.1.1f - und stolpere schon seit heute morgen in den ganzen Tipps über das "CipherString", das in meine ropenssl.cnf nicht auftaucht.

LG

pah

Jewe

Hallo,
hast Du schon mal probiert die Zeile bei Dir einfach einzuttragen ?

LG, Jens

Prof. Dr. Peter Henning

Natürlich - aber es fehlte noch der Hinweis, dass oben in der openssl.cnf  die richtige Konfigurationssektion genannt werden muss.

Jetzt tut es. Also Anleitung aus stackoverflow:


ZitatAdding openssl_conf = default_conf at the top of the file
    Adding at the end:

    [ default_conf ]

    ssl_conf = ssl_sect

    [ssl_sect]

    system_default = ssl_default_sect

    [ssl_default_sect]
    MinProtocol = TLSv1.2
    CipherString = DEFAULT:@SECLEVEL=1


LG

pah

Prof. Dr. Peter Henning

#153
Sooo, mit den Karten bin ich ein großes Stück weiter gekommen.

Meine Roboter machen jetzt Folgendes:
- Am Ende jeder Mission sehen sie nach, ob eine SVG_Datei mit dem Grundriss existiert. Wenn ja, wird diese in eine Ausgabedatei kopiert, dann wird geschaut, ob schon vorige Läufe da sind. Wenn ja, werden zunächst diese in die Ausgabedatei kopiert, dabei werden die Farben etwas abgeschwächt. Dann wird der aktuelle Lauf hineinkopiert und die Datei finalisiert. Außerdem wird der aktuelle Lauf auch noch in die Datei der "vorigen Läufe" hinzugefügt.
- Die Ausgabedatei liegt im images-Verzeichnis des FHEMWEB und kann mit dem Browser angesehen werden.

Ein Beispiel findet man anbei - und man muss natürlich ein paar Attribute setzen, siehe Doku ganz unten in der RoombaUtils. Auch werden ein paar Bibliotheken für die Polynomrechnungen benötigt. Fehlen noch in der Dokue, bitt eoben in der RoombaUtils nachsehen.

Es wird noch eine Option hinzukommen, mit der man dann die "alten" Läufe auch herauswerfen kann. Außerdem ist das Setzen einer Drehung noch nicht automatisiert - es kann also sein, dass die Anzeige noch nicht optimal funktioniert, wenn der Roboter nicht nach links = "west" startet.

LG

pah

sTaN

Hallo Peter,

ich hatte bisher immer den iRobot 960 über das alte Modul am Laufen und mit Einstellungen liegen lassen.
Nun sehe ich, dass es scheinbar eine funktionierende Lösung über MQTT gibt.

Wie aktuell ist denn im moment das Wiki https://wiki.fhem.de/wiki/Roomba um mit der Einrichtung des Roomba zu starten?
Gibt es ggf. ein aktuelleres HowTo oder ist das auf dem neusten Stand?

Danke und Gruß
sTaN
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

Prof. Dr. Peter Henning

#155
So, ich habe über die Anbindung der Roomba-Roboter einen Wiki-Eintrag geschrieben, das Hilfsmodul 99_RoombaUtils.pm befindet sich ab sofort im FHEM-Ordner contrib/Roomba.

https://wiki.fhem.de/wiki/Roomba

Es gibt in diesem Wiki-Eintrag auch eine noch etwas rudimentäre Beschreibung, wie man die interaktiven Reinigungskarten erzeugt und verwaltet.

In der angehängten Datei kann man das Gesamtergebnis für die Karten sehen - dass da noch ein paar schief ausgerichtete Läufe drin sind, zeigt den noch etwas provisorischen Charakter. Bitte mit der Maus die Liste links berühren.

LG

pah

Prof. Dr. Peter Henning

@sTaN: Heute geschrieben.

LG

pah

sTaN

Zitat von: Prof. Dr. Peter Henning am 06 Januar 2021, 18:54:15
@sTaN: Heute geschrieben.

LG

pah

Na das nenn ich mal Zufall  ;D
Danke, dann werde ich mich da mal dran machen.

Gruß sTaN
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

loetmeister

#158
Hallo,

super Sache und auch bereits gute Anleitung. Danke!
Habe meinen Roomba E5 (E5158) konfiguriert. Readings kommen rein...
Beim MQTT2_CLIENT habe ich
attr RoombaClient    sslargs    SSL_version:TLSv1_2
gesetzt. Damit musste ich nichts an openssl.conf ändern.

99_RoombaUtils.pm suche ich noch... FHEM update hat es noch nicht dabei gehabt...  :D

Gruß,
Thomas

Prof. Dr. Peter Henning

#159
1. Der contrib-Ordner, in dem die Datei 99_RoombaUtils.pm derzeit steht, wird nicht automatisch upgedated.
Wie man an die Datei herankommt, steht z.B. hier: https://forum.fhem.de/index.php?topic=36012.0

2. Bitte an alle Nutzer dieser MQTT-Anbindung:

Hier einen kurzen Post mit der Bezeichnung des funktionierenden Roboters, z.B. "Roomba i7" oder "Braava xyz"

LG

pah

Otto123

#160
zu 1. Es geht auch einfacher :)

In der FHEM Kommandozeile ...
{ Svn_GetFile("contrib/Roomba/99_RoombaUtils.pm", "FHEM/99_RoombaUtils.pm") }
Man muss ja wegen einer Datei nicht durch die halbe Welt im ZickZack fliegen. ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Prof. Dr. Peter Henning

Du beantwortest dann auch hoffentlich die eher grundlegenden Fragen der Anfänger - etwa "Und wo soll man das eingeben?".

LG

pah

loetmeister

#162
Ich hoffe ich habe keine weiteren banalen Fragen.   ;D
Hatte nicht auf dem Schirm das der contrib-Ordner nur einmalig bei der Installation (hatte ich über apt, debian.fhem.de/nightly gemacht) kopiert wird.

Die Kommandos (start, dock, etc.) mit 99_RoombaUtils.pm funktionieren, es fehlen aber noch ein paar Readings...
"stateFormat cmPhaseD (battery %)" wird als "Wird geladen (battery %)" angezeigt.
Das reading "battery" fehlt. Warum konnte ich noch nicht erkennen.

Vorhandene Readings:
cmArea 0 m²
cmCycle clean
cmError None
cmErrorD Kein Fehler
cmExpire Never
cmInitiator localApp
cmMap initialized
cmNotReady false
cmPhase hmUsrDock
cmPhaseD Dockingbefehl
cmPhaseE User Docking
cmTime 0 min
lastCommand dock
lastCommandInitiator localApp
sBinPause false
sCarpetBoost false
sNoAutoPasses false
sNoPP false
sOpenOnly false
sSchedHold false
sTwoPass false
sVacHigh false
signalRSSI -50
state dock



Gruß,
Thomas

Prof. Dr. Peter Henning

Dann gibts nur einen Weg:

Als erste Zeile der readingList eintragen:
attr RoombaFeger readingList $DEVICETOPIC:.* { json2nameValue($EVENT) }
Dann die Kiste laufen lassen - die hundert nutzlosen Readings kann man später wieder löschen. irgendeines dieser Readings wird den Ladezustand anzeigen - davon benötige ich die geanue Bezeichnung.

LG

pah

loetmeister

Hallo pah,

das hatte ich zu Anfang gehabt. Da hatte ich "batPct" gesehen.
Habe mir die MQTT Nachricht noch mal ausgeben lassen. Ich denke es klemmt, da "batPct" mit "cleanSchedule" und "cleanMissionStatus" zusammen gesendet wird.
Kann es da sein, das alles vom elsif( $evt =~ /cleanMissionStatus/) "blockiert wird"? Es fehlt ja auch "cleanSchedule", was ebenfalls wie "state....reported....batPct" nach dieser elseif Abfrage kommt.

{"state":{"reported":{"cleanSchedule":{"cycle":["none","none","none","none","none","none","none"],"h":[0,0,0,0,0,0,0],"m":[0,0,0,0,0,0,0]},
"language":15,"cleanMissionStatus":{"cycle":"none","phase":"stop","expireM":0,"expireTm":0,"rechrgM":0,"error":0,"notReady":0,"mssnM":0,"mssnStrtTm":0,"sqft":0,"initiator":"","nMssn":8},
"dock":{"known":true},
"bin":{"present":true,"full":false},
"batPct":100,"mobilityVer":"1086","bootloaderVer":"2.5","soundVer":"14","batteryType":"F12432832R"}}}


Gruß,
Thomas