Roomba Staubsaugerroboter

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

Vorheriges Thema - Nächstes Thema

rudolfkoenig

Nein, das ist keine Leiche, sondern eine daemliche Entscheidung vor 15 Jahren.
Ich weiss nicht, wie ich default ohne Aerger umbenennen soll.

Beta-User

Zitat von: rudolfkoenig am 18 Februar 2021, 14:18:11
Ich weiss nicht, wie ich default ohne Aerger umbenennen soll.

Eine abschließende Idee habe ich dazu nicht, aber bevor wir in 15 Jahren noch darüber diskutieren: Wie wäre es, für eine längere Übergangsphase (12 Monate?) die User dadurch zu beglücken, dass bei jedem Neustart "default" nach "old_default" umbenannt wird und "default" nicht mehr zur Auswahl steht? Damit sollte "nichts" => f18 möglich werden und verhindert sein, dass Neulinge in diese seltsame Falle tappen...
Und die, die den "gewohnten" Style wollen, können ihn weiter ohne größere Eingriffe haben.

(Das verhindert zwar nicht, dass Videoblogger trotzedem unglückliche Empfehlungen geben, aber "Spielkinder" finden dann den Weg evtl. besser zurück und "f25" könnte leichter "f18" ersetzen (womit nicht gesagt sein soll, dass Bedarf an Ersatz für f18 bestünde)).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Prof. Dr. Peter Henning

Lass Rudi seine Leichen!

LG

pah

dk3572

Hallo,

ich habe meinen Roomba nach Anleitung aus dem Wiki in Fhem installiert.
Nach Abschluss eines Reinigungsauftrages erhalte ich nachstehende Meldung und Fhem ist nicht mehr erreichbar (eingefroren).

2021.02.19 06:21:15.973 1: [RoombaUtils] Device Roomba_neu phase transition stop -> charge
2021.02.19 06:37:07.045 1: [RoombaUtils] transition charge -> run should start intialization
2021.02.19 06:37:07.046 1: [RoombaUtils] Initialization of map for device Roomba_neu
2021.02.19 06:37:13.933 1: [RoombaUtils] pausing run -> stop
2021.02.19 06:37:16.967 1: [RoombaUtils] transition stop -> hmUsrDock should start finalization
2021.02.19 06:37:16.967 1: [RoombaUtils] Finalization of map for device Roomba_neu
2021.02.19 06:37:16.968 1: PERL WARNING: Use of uninitialized value in subtraction (-) at /usr/share/perl5/Math/ConvexHull.pm line 88.


Kann mir hier jemand weiterhelfen?

Vielen Dank im Voraus und schönes Wochenende schon mal.
Dieter

gestein

Hallo,

auch ich habe heute meinen Roomba nach der Anleitung aus dem Wiki installiert.
Hätte aber dazu eine Frage.
Im Wiki ist auch erklärt, wie man eine Reinigungskarte erstellt.

Geht das auch, wenn man den Roomba i7 in 2 Geschoßen (EG und OG) einsetzen möchten?

Danke im Voraus
lg, Gerhard

p.s.: kleine Anmerkungen:
- Die Datei "99_RoombaUtils.pm" ist bei mir nicht unter "fhem/contrib" zu finden. Im contrib gibt es kein Verzeichnis "Roomba" und keine Datei "". Habe sie dann aus svn.fhem.de kopiert.
- Man muss noch die folgenden perl-Module installieren "Math::ConvexHull" und "Math::Polygon::Calc".

Prof. Dr. Peter Henning

ZitatKann mir hier jemand weiterhelfen?
Der Aufruf zur Bestimmung der konvexen Hülle ist gekapselt
eval(@newhull = @{convex_hull(\@newpoints)}) ;
und bringt FHEM eigentlich nicht zum Absturz. Und was mit "Einfrieren" gemeint ist, verstehe ich nicht ganz.

Also bitte mal das Attribut SVG_room löschen, dann wird das Hin und Her mit den Dateien gar nicht erst veranstaltet. Dafür LOG_dir setzen, dann wird eine einfachere Protokollierung der erhaltenen Daten durchgeführt. Und dann sehen wir weiter.

ZitatGeht das auch, wenn man den Roomba i7 in 2 Geschoßen (EG und OG) einsetzen möchten?
Klar. Dazu setzt man beim Wechsel des Geschosses durch einen FHEM-Befehl die Attribute SVG_room, SVG_final, startx, starty, startdir auf andere Werte.

ZitatDie Datei "99_RoombaUtils.pm" ist bei mir nicht unter "fhem/contrib" zu finden
Natürlich nicht. Wie man an vielen Stellen im Forum nachlesen kann, wird der Ordner contrib nicht automatisch upgedatet...Wie man das macht, ist dort ebenfalls nachzulesen.

LG

pah

dk3572

Zitat von: Prof. Dr. Peter Henning am 20 Februar 2021, 05:51:52
Der Aufruf zur Bestimmung der konvexen Hülle ist gekapselt
eval(@newhull = @{convex_hull(\@newpoints)}) ;
und bringt FHEM eigentlich nicht zum Absturz. Und was mit "Einfrieren" gemeint ist, verstehe ich nicht ganz.

Also bitte mal das Attribut SVG_room löschen, dann wird das Hin und Her mit den Dateien gar nicht erst veranstaltet. Dafür LOG_dir setzen, dann wird eine einfachere Protokollierung der erhaltenen Daten durchgeführt. Und dann sehen wir weiter.

LG

pah

Hallo und danke für die Unterstützung.

Mit "Einfrieren" meine ich, dass ich in der Web Oberfläche nichts mehr anwählen bzw. steuern kann.

Das Attribut SVG_room existiert bei mir nicht da ich mit der Kartenerstellung noch nichts gemacht habe.

Kann daher der Fehler rühren?

Danke und VG
Dieter

Prof. Dr. Peter Henning


dk3572

Zitat von: Prof. Dr. Peter Henning am 20 Februar 2021, 08:59:13
Nein.

Das hilft mir jetzt leider nicht weiter.
Was kann oder soll ich noch tun?
Werden noch weitere Infos benötigt?

VG Dieter

gestein

Zitat von: Prof. Dr. Peter Henning am 20 Februar 2021, 05:51:52
Klar. Dazu setzt man beim Wechsel des Geschosses durch einen FHEM-Befehl die Attribute SVG_room, SVG_final, startx, starty, startdir auf andere Werte.
Natürlich nicht. Wie man an vielen Stellen im Forum nachlesen kann, wird der Ordner contrib nicht automatisch upgedatet...Wie man das macht, ist dort ebenfalls nachzulesen.
Hallo Pah,

Ich lese eigentlich viel mit, aber das mit dem contrib-Verzeichnis ist mir neu.
Das schau ich mir gleich mal an.

Natürlich kann man das mit den Attributen so machen.
Allerdings verändert man dadurch auch jedesmal die Konfig und fhem zeigt das ,,?" im Menü.

Zwei Dinge sind mir noch aufgefallen:
- Im Reading ,,cmMap" wird die IP-Adresse des fhem falsch angegeben.
   Da wird in der Datei ,,99_RoombaUtils.pm" in der Funktion ,,finalizemap" noch eine fixe Adresse verwendet.
   Oder habe ich eine alte Version aus dem svg gezogen?
- bei mir wird kein Reading ,,battery" angelegt.
   Wo kann ich da ansetzen?

Vielen Dank jedenfalls für Deine tolle Arbeit.
Lg, Gerhard

Prof. Dr. Peter Henning

Zitat
   Oder habe ich eine alte Version aus dem svg gezogen?
Ja.

Zitat
   Wo kann ich da ansetzen?

Die aktuelle Version steht weiter oben irgendwo im Anhang, ist aber inzwischen auch eingecheckt.

LG

pah

dk3572

Hallo,

wie kann ich das Erstellen von Reinigungskarten deaktivieren?

Danke und VG
Dieter

gestein

Zitat von: Prof. Dr. Peter Henning am 21 Februar 2021, 04:55:52
Die aktuelle Version steht weiter oben irgendwo im Anhang, ist aber inzwischen auch eingecheckt.

Danke. Mit der Version weiter vorne klappt es.
Echt tolle Arbeit!

lg, Gerhard

hapege

Hallo,

Je mehr "Spielzeug" ich mir zulege, desto mehr bin ich froh damals auf fhem gesetzt zu haben - Roomba i7 ausgepackt, mit fhem gekoppelt, läuft  :-) Danke für die tolle Arbeit!

Ich kann den i7 starten, stoppen, ins Dock schicken... allerdings komme ich mit den Readings nicht wirklich weit. Der i7 spuckt jede Menge Infos aus, aber offensichtlich fast alle zusammen in einer einzelnen großen Message. In fhem tauchen dann nur ein paar Readings auf, namentlich die "cm*" und "signalRSSI" (das ist auch die einzige "Einzelnachricht" die ich sonst im log sehe). Ich kann nicht wirklich Perl, aber wenn ich die 99_RoombaUtils durchflöhe dann sieht das so aus, als würde die sub readings() mit return geplant in den ifs beenden, wenn irgendeine der Abfragen zieht. In diesem Fall eben "cleanMissionStatus", womit alle anderen Infos nicht mehr ausgewertet werden. Somit kommt auch z. B. nie ein batPct an :-( Interpretiere ich das richtig? Wenn ja, wie müsste man das angehen, um die gesamte, große Nachricht zu parsen?

Offensichtlich behandelt der i7 auch die Schedules anders. Das ReadingsVal "ProgWeek", das in der setschedule() gelesen werden will gibt's bei mir nicht (taucht auch in der Message vom i7 nicht auf), und cleanSchedule heißt beim i7 wohl cleanSchedule2_1 (wenn ich in der Roomba app einen Zeitplan anlege), mit start_day_n (n=1...7). Zumindest sehe ich das beim parsen der Message. Wohl ein anderer Mechanismus...

Übrigens ist meine 99_RoombaUtil in /fhem/contrib lt. diff identisch zu der aus https://svn.fhem.de/fhem/trunk/fhem/contrib/Roomba/ - wird das nun doch automatisch aktualisiert, oder suche ich an der falschen Stelle?

Danke und VG,

Hermann
Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

gestein

Hallo,

funktioniert bei Dir die Datei-Version aus svn?

Da hat sich anscheinend ein Fehler in der Zeile 210 eingeschlichen.
Es fehlt eine ")" in der if-Abfrage:
    if(main::Value($iodev) ne "opened"{

lg, Gerhard