[beta] Pas d'iRobot affiché bien que découvert

Bonjour @Mips ,

Je tente d’installer la version bêta de kroomba.

J’arrive jusqu’à la découverte (a priori cela fonctionne dixit log plus bas) mais je n’ai pas d’affichage de mon i7+ dans mes équipements.

Je suis en v4.2.20 stable version du plugin du 01/07, mqtt manager installé en beta du 30/06.

Machine Rpi4

Page santé (l’erreur du plugin DSC est liée à une défaillance du module de l’alarme) :

Voici les logs :

[2022-07-02 11:11:53][INFO] : 1 Roombas Found
[2022-07-02 11:11:53][INFO] : Roomba Sebastian i7+ with ip 192.168.2.76 connected
[2022-07-02 11:11:53][INFO] : Start listening
[2022-07-02 11:11:53][INFO] : Connecting...
[2022-07-02 11:11:53][INFO] : Setting TLS
[2022-07-02 11:11:53][DEBUG] : Broker Connected with result code 0
[2022-07-02 11:11:53][INFO] : Setting TLS - OK
Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.7/threading.py", line 865, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 3591, in _thread_main
    self.loop_forever(retry_first_connection=True)
  File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 1756, in loop_forever
    rc = self._loop(timeout)
  File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 1164, in _loop
    rc = self.loop_read()
  File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 1556, in loop_read
    rc = self._packet_read()
  File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 2439, in _packet_read
    rc = self._packet_handle()
  File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 3039, in _packet_handle
    return self._handle_connack()
  File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 3139, in _handle_connack
    self, self._userdata, flags_dict, result)
  File "/var/www/html/plugins/kroomba/resources/kroomba/roomba/roomba.py", line 768, in broker_on_connect
    client.subscribe(self.brokerCommand)
  File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 1491, in subscribe
    raise ValueError('Invalid subscription filter.')
ValueError: Invalid subscription filter.

[2022-07-02 11:11:54][INFO] : Roomba Connected
[2022-07-02 11:11:54][DEBUG] : Publishing item: kroomba/feedback/Sebastian i7+/status: Online
Exception in thread Thread-3:
Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.7/threading.py", line 865, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 3591, in _thread_main
    self.loop_forever(retry_first_connection=True)
  File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 1756, in loop_forever
    rc = self._loop(timeout)
  File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 1164, in _loop
    rc = self.loop_read()
  File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 1556, in loop_read
    rc = self._packet_read()
  File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 2439, in _packet_read
    rc = self._packet_handle()
  File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 3039, in _packet_handle
    return self._handle_connack()
  File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 3139, in _handle_connack
    self, self._userdata, flags_dict, result)
  File "/var/www/html/plugins/kroomba/resources/kroomba/roomba/roomba.py", line 625, in on_connect
    self.connected(True)
  File "/var/www/html/plugins/kroomba/resources/kroomba/roomba/roomba.py", line 620, in connected
    self.publish('status', 'Online' if self.roomba_connected else 'Offline at {}'.format(time.ctime()))
  File "/var/www/html/plugins/kroomba/resources/kroomba/roomba/roomba.py", line 944, in publish
    self.mqttc.publish(topic, message)
  File "/usr/local/lib/python3.7/dist-packages/paho/mqtt/client.py", line 1233, in publish
    raise ValueError('Publish topic cannot contain wildcards.')
ValueError: Publish topic cannot contain wildcards.

[2022-07-02 11:14:24][DEBUG] : Signal 15 caught, exiting...
[2022-07-02 11:14:24][INFO] : Cancelling 5 outstanding tasks
[2022-07-02 11:14:24][INFO] : listening cancelled
[2022-07-02 11:14:24][INFO] : Shuting down
[2022-07-02 11:14:24][DEBUG] : Removing PID file /tmp/jeedom/kroomba/daemon.pid
[2022-07-02 11:14:24][DEBUG] : Exit 0
CV or numpy module not found, falling back to PIL
PIL module not found, maps are disabled
[2022-07-02 11:14:30][INFO] : Starting daemon
[2022-07-02 11:14:30][INFO] : Log level: debug
[2022-07-02 11:14:30][DEBUG] : Socket port : 55072
[2022-07-02 11:14:30][DEBUG] : PID file : /tmp/jeedom/kroomba/daemon.pid
[2022-07-02 11:14:30][INFO] : Using Password version 2.1

Par avance merci pour ton aide.

Le démon n’arrive pas à publier les infos sur mqtt.
Comment a été installé ton broker ?

Bonjour @Mips,

Merci pour ton retour. Le broker est installé via MQTT Manager et Docker management.


Peux tu me montrer le log des dépendances ? Il termine par package.
As-tu dû les lancer ou est ce que tout était déjà installé ?

Je n’ai pas installé les dépendances cela c’est fait « automatiquement »

Voici le log :

+ echo '*******************Begin of package installation******************'
*******************Begin of package installation******************
+ touch /tmp/jeedom_install_in_progress_kroomba
+ echo 1
+ echo 2
++ find /usr/local/lib/python3.7/dist-packages/ -mindepth 1 -maxdepth 1 -type d -exec du -ks '{}' +
++ awk '$1 <= 4'
++ cut -f 2-
+ RESULTTODELETE=
++ sed 's, ,\ ,g'
++ echo ''
+ RESULTTODELETE2=
+ echo ''
+ xargs rm -rf
+ echo 3
+ sudo pip3 install --upgrade pip
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: pip in /usr/local/lib/python3.7/dist-packages (22.1.2)
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
+ echo 4
+ sudo pip3 install --force-reinstall --upgrade requests
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting requests
  Using cached https://www.piwheels.org/simple/requests/requests-2.28.1-py3-none-any.whl (62 kB)
Collecting certifi>=2017.4.17
  Using cached https://www.piwheels.org/simple/certifi/certifi-2022.6.15-py3-none-any.whl (160 kB)
Collecting charset-normalizer<3,>=2
  Using cached https://www.piwheels.org/simple/charset-normalizer/charset_normalizer-2.1.0-py3-none-any.whl (39 kB)
Collecting idna<4,>=2.5
  Using cached https://www.piwheels.org/simple/idna/idna-3.3-py3-none-any.whl (64 kB)
Collecting urllib3<1.27,>=1.21.1
  Using cached https://www.piwheels.org/simple/urllib3/urllib3-1.26.9-py2.py3-none-any.whl (155 kB)
Installing collected packages: urllib3, idna, charset-normalizer, certifi, requests
  Attempting uninstall: urllib3
    Found existing installation: urllib3 1.26.9
    Uninstalling urllib3-1.26.9:
      Successfully uninstalled urllib3-1.26.9
  Attempting uninstall: idna
    Found existing installation: idna 3.3
    Uninstalling idna-3.3:
      Successfully uninstalled idna-3.3
  Attempting uninstall: charset-normalizer
    Found existing installation: charset-normalizer 2.0.12
    Uninstalling charset-normalizer-2.0.12:
      Successfully uninstalled charset-normalizer-2.0.12
  Attempting uninstall: certifi
    Found existing installation: certifi 2022.6.15
    Uninstalling certifi-2022.6.15:
      Successfully uninstalled certifi-2022.6.15
  Attempting uninstall: requests
    Found existing installation: requests 2.28.1
    Uninstalling requests-2.28.1:
      Successfully uninstalled requests-2.28.1
Successfully installed certifi-2022.6.15 charset-normalizer-2.1.0 idna-3.3 requests-2.28.1 urllib3-1.26.9
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
+ echo 5
+ sudo pip3 install --force-reinstall --upgrade paho-mqtt
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting paho-mqtt
  Using cached https://www.piwheels.org/simple/paho-mqtt/paho_mqtt-1.6.1-py3-none-any.whl (75 kB)
Installing collected packages: paho-mqtt
  Attempting uninstall: paho-mqtt
    Found existing installation: paho-mqtt 1.6.1
    Uninstalling paho-mqtt-1.6.1:
      Successfully uninstalled paho-mqtt-1.6.1
Successfully installed paho-mqtt-1.6.1
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
+ echo 6
+ sudo pip3 install --force-reinstall --upgrade aiohttp
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting aiohttp
  Using cached https://www.piwheels.org/simple/aiohttp/aiohttp-3.8.1-cp37-cp37m-linux_armv7l.whl (1.1 MB)
Collecting async-timeout<5.0,>=4.0.0a3
  Using cached https://www.piwheels.org/simple/async-timeout/async_timeout-4.0.2-py3-none-any.whl (5.8 kB)
Collecting aiosignal>=1.1.2
  Using cached https://www.piwheels.org/simple/aiosignal/aiosignal-1.2.0-py3-none-any.whl (8.2 kB)
Collecting attrs>=17.3.0
  Using cached https://www.piwheels.org/simple/attrs/attrs-21.4.0-py2.py3-none-any.whl (60 kB)
Collecting charset-normalizer<3.0,>=2.0
  Using cached https://www.piwheels.org/simple/charset-normalizer/charset_normalizer-2.1.0-py3-none-any.whl (39 kB)
Collecting typing-extensions>=3.7.4
  Using cached https://www.piwheels.org/simple/typing-extensions/typing_extensions-4.3.0-py3-none-any.whl (25 kB)
Collecting frozenlist>=1.1.1
  Using cached https://www.piwheels.org/simple/frozenlist/frozenlist-1.3.0-cp37-cp37m-linux_armv7l.whl (65 kB)
Collecting asynctest==0.13.0
  Using cached https://www.piwheels.org/simple/asynctest/asynctest-0.13.0-py3-none-any.whl (26 kB)
Collecting yarl<2.0,>=1.0
  Using cached https://www.piwheels.org/simple/yarl/yarl-1.7.2-cp37-cp37m-linux_armv7l.whl (258 kB)
Collecting multidict<7.0,>=4.5
  Using cached https://www.piwheels.org/simple/multidict/multidict-6.0.2-cp37-cp37m-linux_armv7l.whl (53 kB)
Collecting idna>=2.0
  Using cached https://www.piwheels.org/simple/idna/idna-3.3-py3-none-any.whl (64 kB)
Installing collected packages: typing-extensions, multidict, idna, frozenlist, charset-normalizer, attrs, asynctest, yarl, async-timeout, aiosignal, aiohttp
  Attempting uninstall: typing-extensions
    Found existing installation: typing_extensions 4.3.0
    Uninstalling typing_extensions-4.3.0:
      Successfully uninstalled typing_extensions-4.3.0
  Attempting uninstall: multidict
    Found existing installation: multidict 6.0.2
    Uninstalling multidict-6.0.2:
      Successfully uninstalled multidict-6.0.2
  Attempting uninstall: idna
    Found existing installation: idna 3.3
    Uninstalling idna-3.3:
      Successfully uninstalled idna-3.3
  Attempting uninstall: frozenlist
    Found existing installation: frozenlist 1.3.0
    Uninstalling frozenlist-1.3.0:
      Successfully uninstalled frozenlist-1.3.0
  Attempting uninstall: charset-normalizer
    Found existing installation: charset-normalizer 2.1.0
    Uninstalling charset-normalizer-2.1.0:
      Successfully uninstalled charset-normalizer-2.1.0
  Attempting uninstall: attrs
    Found existing installation: attrs 21.4.0
    Uninstalling attrs-21.4.0:
      Successfully uninstalled attrs-21.4.0
  Attempting uninstall: asynctest
    Found existing installation: asynctest 0.13.0
    Uninstalling asynctest-0.13.0:
      Successfully uninstalled asynctest-0.13.0
  Attempting uninstall: yarl
    Found existing installation: yarl 1.7.2
    Uninstalling yarl-1.7.2:
      Successfully uninstalled yarl-1.7.2
  Attempting uninstall: async-timeout
    Found existing installation: async-timeout 4.0.2
    Uninstalling async-timeout-4.0.2:
      Successfully uninstalled async-timeout-4.0.2
  Attempting uninstall: aiosignal
    Found existing installation: aiosignal 1.2.0
    Uninstalling aiosignal-1.2.0:
      Successfully uninstalled aiosignal-1.2.0
  Attempting uninstall: aiohttp
    Found existing installation: aiohttp 3.8.1
    Uninstalling aiohttp-3.8.1:
      Successfully uninstalled aiohttp-3.8.1
Successfully installed aiohttp-3.8.1 aiosignal-1.2.0 async-timeout-4.0.2 asynctest-0.13.0 attrs-21.4.0 charset-normalizer-2.1.0 frozenlist-1.3.0 idna-3.3 multidict-6.0.2 typing-extensions-4.3.0 yarl-1.7.2
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
+ echo 7
+ php /var/www/html/core/class/../php/jeecli.php plugin dependancy_end kroomba
+ rm /tmp/jeedom_install_in_progress_kroomba
+ echo '*******************End of package installation******************'
*******************End of package installation******************

Désolé je ne vois pas comme ça et je suis en week-end, je regarde lundi

Bon week-end et merci d’avoir regardé (et merci d’avoir repris le plugin :wink: )

Bonsoir @Mips,

Quelques news :

Plusieurs problèmes existaient (ou existent encore mais j’ai contourné).

  • Pour les erreurs suivantes, j’ai effectué les installations en manuel
    CV or numpy module not found, falling back to PIL
    PIL module not found, maps are disabled

Mais ce n’était pas la cause de mes difficultés. Après de multiple installation et désinstallation (quand on aime on ne compte pas :slight_smile: ) et comme tu l’avais supposé il y avait un problème de communication.

Le plugin mqtt manager cherche à communiquer en mqqts (port 8883) quand on installe mosquitto en local ou via docker.

J’ai donc supprimé l’installation docker, installé mosquitto en local via le plugin mqtt manager puis enfin modifié le paramétrage en passant en broker distant (mais sur l’adresse 127.0.0.1). En faisant cela j’ai pu passer en mqtt sur le port 1883.

J’ai enfin refait la découverte de mon roomba qui c’est bien affiché et en plus c’est fonctionnel :slight_smile:

En revanche j’ai été incapable de faire communiquer mqtt-manager et mosquitto (local ou docker local) de manière sécurisée sur le port 8883 (je n’ai pas trouvé dans les documentations ou il fallait placer les certificats) mais ce n’est pas lié au plugin kroomba :wink: .

Merci d’avoir regardé

Ce n’était pas installé exprès car pas utilisé.
Cela ne sert que si on veut la map du robot pour ceux supportant cette fonctionnalité mais il semble que cela ne fonctionne plus depuis le firmware 3.x de toute façon donc ces libs sont inutiles (le message n’apparaitra plus en stable).

Par rapport à l’install mqtt et docker c’est curieux car j’ai deux machines de test, l’une j’ai installé mqtt en « local » et l’autre « local docker » (via le plug-in mqtt manager) et je n’ai pas ce problème.
Je vais refaire des tests sur une machine neuve.

Merci @Mips,

Si il faut je peux également refaire (ou faire) des manips.

Bonne journée

Salut,

Je pense qu’on peut clôturer ce post à présent? le problème a été solutionné depuis

Bonsoir @Mips,

Oui nous pouvons clôturer. Je mets ton dernier post comme solution.

Bonne soirée

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.