Roomba Staubsaugerroboter

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

Vorheriges Thema - Nächstes Thema

Otto123

#345
in Zeile zwei ist hinter dem \ noch ein Leerzeichen - lösch das mal weg.

Edit: Ich habe es im Wiki korrigiert. ;)
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

Cerex

Haha, funktioniert, tausend Dank :)
Bin etwas irritiert, da ich gestern Abend alles Mögliche durchprobiert hab, mit \, ohne, mit Kommata, ohne ... War wohl spät.

Hast du noch eine Idee bzgl cmPhaseE (battery %)?

Otto123

ich bin in dem Thread nur zuständig für überflüssige Leerzeichen  ;D ;D ;D
Wenn ich das verstehe https://wiki.fhem.de/wiki/Roomba#Komfortfunktionen_f.C3.BCr_Readings
hast Du stateFormat zwar gesetzt aber das Reading selbst fehlt?
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

Cerex

#348
EDIT.

Scheint also kein Leerzeichen-Problem zu sein  ;D

Mir scheinen die "vereinfachten" Readings zu fehlen bzw. ich habe nur die komplette Liste.

attr RoombaFeger readingList $DEVICETOPIC:.* {roomba::reading($NAME,$EVENT)}
aus der Anleitung hatte irgendwie keine Auswirkung.

Habe es jetzt mal mit Neu-Anlegen des Devices versucht, nur mit dem o.g. Code anstatt
attr RoombaFeger readingList $DEVICETOPIC:.* { json2nameValue($EVENT) }


Das hat funktioniert, d.h. habe jetzt die vereinfachten Readings.

EDIT:
battery % fehlt noch, scheint ähnlich zu sein wie hier: https://forum.fhem.de/index.php/topic,114166.msg1119755.html#msg1119755
In sub battery($) wird batPct abgefragt, aber ich finde keinen Fehler. In den Logs heißt es nur: 2021.06.21 22:55:08 1: [RoombaUtils] uncaught event RoombaFeger
Habe den Eindruck, dass im sub reading($$) das batPct elseif nicht erreicht wird.
EDIT ENDE.

Hier die Readings:
READINGS:
     2021-06-21 20:31:15   IODev           RoombaFegerClient
     2021-06-21 20:36:56   cmArea          0 m²
     2021-06-21 20:36:56   cmCycle         quick
     2021-06-21 20:36:56   cmError         None
     2021-06-21 20:36:56   cmErrorD        Kein Fehler
     2021-06-21 20:36:56   cmExpire        Never
     2021-06-21 20:36:56   cmInitiator     localApp
     2021-06-21 20:36:16   cmMap           initialized
     2021-06-21 20:36:56   cmNotReady      0
     2021-06-21 20:36:56   cmPhase         hmUsrDock
     2021-06-21 20:36:56   cmPhaseD        Dockingbefehl
     2021-06-21 20:36:56   cmPhaseE        User Docking
     2021-06-21 20:36:56   cmTime          0 min
     2021-06-21 20:36:51   lastCommand     pause
     2021-06-21 20:36:51   lastCommandInitiator localApp
     2021-06-21 20:36:56   position        (33,9)
     2021-06-21 20:36:56   positionTheta   179
     2021-06-21 20:36:51   progWeek        [Sun:none,Mon:none,Tue:none,Wed:none,Thu:none,Fri:none,Sat:none]
     2021-06-21 20:36:55   signalRSSI      -32
     2021-06-21 20:36:55   state           dock

Prof. Dr. Peter Henning

Na, welche Version der RoombaUtils ist das denn ?

LG

pah

Cerex

Hallo,

verion liefert mir
# $Id: RoombaUtils.pm 2020-09- pahenning $

Durch deinen Hinweis habe ich manuell nachgeschaut, tatsächlich schien meine 99_RoombaUtils.pm veraltet zu sein. Ein UPD FHEM/99_RoombaUtils.pm hat mir dann eine 99_RoombaUtils.pm mit einem Trac Fehler gezogen. Manuell habe ich jetzt die Version 1.0 nach /opt/fhem/FHEM gezogen und ein reload bzw. shutdown restart gemacht.

Leider funktioniert nun auch nicht mehr der connect in RoombaFegerClient. Das verbose 5 spuckt das hier aus:

2021.06.25 21:21:01 5: HttpUtils url=https://192.168.178.26:8883/ NonBlocking via https
2021.06.25 21:21:01 4: IP: 192.168.178.26 -> 192.168.178.26
2021.06.25 21:21:12 5: HttpUtils url=https://192.168.178.26:8883/ NonBlocking via https
2021.06.25 21:21:12 4: IP: 192.168.178.26 -> 192.168.178.26
2021.06.25 21:21:23 5: HttpUtils url=https://192.168.178.26:8883/ NonBlocking via https
2021.06.25 21:21:23 4: IP: 192.168.178.26 -> 192.168.178.26
2021.06.25 21:21:34 5: HttpUtils url=https://192.168.178.26:8883/ NonBlocking via https
2021.06.25 21:21:34 4: IP: 192.168.178.26 -> 192.168.178.26
2021.06.25 21:21:45 5: HttpUtils url=https://192.168.178.26:8883/ NonBlocking via https
2021.06.25 21:21:45 4: IP: 192.168.178.26 -> 192.168.178.26
2021.06.25 21:21:56 5: HttpUtils url=https://192.168.178.26:8883/ NonBlocking via https
2021.06.25 21:21:56 4: IP: 192.168.178.26 -> 192.168.178.26
2021.06.25 21:22:07 5: HttpUtils url=https://192.168.178.26:8883/ NonBlocking via https
2021.06.25 21:22:07 4: IP: 192.168.178.26 -> 192.168.178.26
2021.06.25 21:22:18 5: HttpUtils url=https://192.168.178.26:8883/ NonBlocking via https
2021.06.25 21:22:18 4: IP: 192.168.178.26 -> 192.168.178.26
2021.06.25 21:22:29 5: HttpUtils url=https://192.168.178.26:8883/ NonBlocking via https
2021.06.25 21:22:29 4: IP: 192.168.178.26 -> 192.168.178.26
2021.06.25 21:22:40 5: HttpUtils url=https://192.168.178.26:8883/ NonBlocking via https
2021.06.25 21:22:40 4: IP: 192.168.178.26 -> 192.168.178.26
2021.06.25 21:22:43 4: HttpUtils: 192.168.178.26: Keine Route zum Zielrechner (113)


Hatte auch RoombaFeger neu angelegt, allerdings bzw. konsequenterweise werden die Readings auch nicht angelegt.

Den Fehler hatte ich vorher noch nicht. Der Sauber ist allerdings im Netz erreichbar.

LG!

Prof. Dr. Peter Henning

99_RoombaUtils.pm ist nicht per Update upzudaten...


LG

pah

hapege

Hi,

ich habe mir auch etwas schwer getan, die letzte "gültige" Version  zu finden...
Offiziell ​wohl im SVN (ohne i7 Erweiterungen):

https://svn.fhem.de/fhem/trunk/fhem/contrib/Roomba/99_RoombaUtils.pm

Bzw. die letzte im Forum gepostete Version mit ersten Anpassungen für den i7 findet sich in diesem Beitrag:

https://forum.fhem.de/index.php/topic,114166.msg1148069.html#msg1148069

Zumindest ist das mein Kenntnisstand.

In den Beiträgen danach kommen noch ein paar i7 spezifische Korrekturen/Vorschläge, die aber von pah noch nicht abgesegnet bzw noch nicht übernommen worden sind (Bei mir laufen sie, aber ein paar mehr Tests wären sicher qualitätssichernd ;-) )

Der Befehl "version" gibt für die RoombaUtils keinen korrekten Wert zurück, da in der aktuellen 99_RoombaUtils die Zeile

# $Id: RoombaUtils.pm 2020-09- pahenning $

vermutlich nicht richtig formatiert gefüllt ist bzw an der falschen Stelle steht. Zieht man (ich habe das einfach mit anderen files verglichen) die Zeile als zweite Zeile im File nach oben und ergänzt sie ein wenig, dann gibt "version" einen sauberen Eintrag zurück. Ausprobiert mit:


########################################################################################
# $Id: 99_RoombaUtils.pm 123456 2020-09-01 12:00:00Z pahenning $
#
# RoombaUtils
#
# Collection of various routines
# Prof. Dr. Peter A. Henning
# contributions from hapege
#


ergibt bei "version":
99_RoombaUtils.pm   123456 2020-09-01 12:00:00Z pahenning

Ich hoffe das hilft.

Beste Grüße,

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

Cerex

Hallo und danke für eure Hilfe.

Tatsächlich hat die letzte gepostete Version geholfen. Allerdings musste ich die Prototypen aus den Funktionen entfernen, habe sonst immer "Too many arguments for ..." bekommen. Obwohl die Parameteranzahl gestimmt hatte. Naja.

Musste dazu allerdings neustarten, ein reload alleine scheint nicht funktioniert zu haben.

Jetzt bekomme ich meinen Sauger wieder ausgewertet, allerdings kann ich ihn noch nicht starten. RoombaFegerClient connected nicht. Im Log steht trotz verbose 5 nach wie vor außer dem hier nichts:
2021.06.26 23:21:53 5: HttpUtils url=https://192.168.178.26:8883/ NonBlocking via https
2021.06.26 23:21:53 4: IP: 192.168.178.26 -> 192.168.178.26

Macht das Fehlerfinden nicht gerade einfacher.

Danke und Gruß
Ben

Prof. Dr. Peter Henning

ZitatAllerdings musste ich die Prototypen aus den Funktionen entfernen, habe sonst immer "Too many arguments for ..." bekommen.

Das ist, pardon, auf mangelndes Verständnis von Perl zurückzuführen. Und für Software, die von mir stammt, aber dann modifiziert wurde, leiste ich keinerlei Support.

LG

pah

Cerex

Hi,

nein, von Perl verstehe ich wirklich nicht viel. Habe mich auf den Beitrag von CoolTux bezogen: https://forum.fhem.de/index.php/topic,110316.msg1043883.html#msg1043883

Vielleicht liegt es auch an einer alten Perlversion, die ich einsetze. Das kann ich aber nur vermuten.

Wenn ich das Wiki richtig verstanden habe, sollte RoombaFegerClient auch ohne die 99_RoombaUtils.pm verbinden können - was sie auch mal tat, aber jetzt nicht mehr tut. Damit kann ich also deine Software oder Modifikationen als Fehlerquelle ausschließen. Habe ich das richtig verstanden?

LG Ben

hapege

Hi,

Ich bin auch kein Perl Experte, aber ich habe gelernt dass bei geänderten Übergabeparametern (in der letzten Version von pah wurden einige Übergabeparameter in einigen subs geändert) es einen restart braucht, um das korrekt einzulesen (siehe etwas weiter vorne im Forum). Also pahs letzte Version plus kompletter restart sollte das Problem beheben und Dich wieder auf eine unterstützte Version bringen.
Wobei bei einem "disconnected" Client alleine ein manuelles "connect" eine umfangreiche Meldung im Log bringen sollte...

Beste Grüße

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

Cerex

Hallo Hermann,

danke für den Hinweis, einen restart habe ich tatsächlich schon öfters gemacht.

Ich kann leider gar nicht nachvollziehen, woran es hängt. Habe inzwischen mehrmals den RoombaFegerClient gelöscht und neu hinzugefügt, ohne Erfolg. Es stellt sich kein connect ein. Ohne das brauche ich beim RoombaFeger natürlich nicht weitermachen. Ein Timeout wie in
https://forum.fhem.de/index.php/topic,114166.msg1126994.html#msg1126994
vorgeschlagen hilft auch nicht. Im Log findet sich außer den besagten NonBlocking Meldungen nichts - wobei die, wenn ich es richtig verstanden habe, keine Fehlermeldung sind.

Ich habe noch einen weiteren MQTT2 Client laufen, gehe aber nicht davon aus, dass es hier Wechselwirkungen gibt. Es lief ja schon mal.

Einen schönen Sonntagabend
Ben

hapege

Hallo Ben,

Hm, nach Deinen beiden Meldungen im Log sollte eigentlich ein "sending CONNECT" kommen. Hast Du mal die Attribute des clients überprüft?
Und sorry, nur zur Sicherheit: fhem update gemacht?

Beste Grüße

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

Prof. Dr. Peter Henning

Es ist ärgerlich, dass iRobot mit den letzten Firmware-Updates etwas eingebaut hat, dass die Kontaktaufnahme seitens FHEM verhindert. Ich habe auf beiden Kisten die Version 2.4.16-126.

Auf dem neueren 981er wurde das automatische Update im April durchgeführt ==> Nur ein Werksreset mit kompletter Neuanmeldung hat geholfen.
Auf dem älteren 960er kam das Update erst im Juni - seitdem ist er aus FHEM nicht mehr aufzuwecken. Muss wahrscheinlich auch den kompletten Reset machen.

Allerdings kriegt FHEM Kontakt zu ihm, wenn er über die App gestartet wurde. Aktuell suche ich immer noch nach einer dauerhafteren Lösung, ersaufe aber derzeit in Arbeit in meinem Brot-und-Butter-Job.

LG

pah