Robot j7+ bien découvert mais n'apparait pas dans la liste des équipements

Bonsoir à toutes et à tous,

C’est mon premier post sur ce forum, j’espère ne pas faire d’impairs.

Je rencontre un problème pour connecter mon robot Roomba j7+.

Mon problème
Malgré une découverte qui semble fonctionner, il n’apparaît pas dans la liste des objets disponibles. Et ne peut donc pas être utilisé.

Résumé de ce que j’ai fait et de ce que je vois

  • J’ai installé jMQTT pour le protocole et MQTT2 (mqtt manager) qui tournent (voir capture santé de jeedom ci-dessous). Puis j’ai installé le plugin kroomba.

  • Élément important : j’ai rencontré d’énormes difficultés pour connecter le deamon de kroomba à MQTT car il fait appel à l’IP locale (127.0.0.1) et non pas au nom dns déclaré dans la configuration réseau de Jeedom. J’ai donc dû faire un certificat auto-signé pour 127.0.0.1 et deux « virtual hosts » dans apache (voir conf de Apache après). Je ne sais pas si c’est en lien, mais comme j’ai dû pas mal bidouiller pour ça je préfère en parler.

J’ai mis les logs de kroomba en degub. Dans ceux-ci on voit bien :

  • qu’il découvre correctement le robot ;
  • qu’il l’ajoute bien au fichier .ini ;
  • qu’il reçoit bien des messages de sa part (après redémarrage du deamon)

Problème : le robot n’apparaît pas dans la liste des robots détectés ensuite.

Mon installation

  • JeeDom sur VM Synology (x64) ;
  • Debian 11.8 ;
  • Apt à jour ;
  • Robot :
    • j7+ ;
    • dans le même sous réseau ;
    • correct dans l’application iRobot ;
    • réveillé au moment de la recherche.

Captures d’écrans et logs

Santé de jeedom (le plugin en erreur est jeedom connect, aucun rapport donc) et configuration de kroomba

configuration d’Apache

root@jeedom:/etc/apache2/certificate# cat ../sites-available/000-default.conf


<VirtualHost 127.0.0.1:443>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        ErrorLog /var/www/html/log/http.error
        SSLEngine On
        SSLCertificateFile /etc/apache2/certificate/localhost.crt
        SSLCertificateKeyFile /etc/apache2/certificate/localhost.key

        RewriteEngine On
        RewriteCond %{HTTP_HOST} !^jeedom\.mondomaine\.tld [NC]
        RewriteCond %{HTTP_HOST} !^$
        RewriteRule ^/?(.*)         https://jeedom.mondomaine.tld/$1 [L,R,NE]

</VirtualHost>



<VirtualHost *:443>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        ErrorLog /var/www/html/log/http.error
        SSLEngine On
        SSLCertificateFile /etc/apache2/certificate/masqué.crt
        SSLCertificateKeyFile /etc/apache2/certificate/masqué.key
        SSLCertificateChainFile /etc/apache2/certificate/ca_bundle.crt

        RewriteEngine On
        RewriteCond %{HTTP_HOST} !^jeedom\.mondomaine\.tld [NC]
        RewriteCond %{HTTP_HOST} !^$
        RewriteRule ^/?(.*)         https://jeedom.mondomaine.tld/$1 [L,R,NE]

</VirtualHost>

<VirtualHost *:80>
        RewriteEngine On
        RewriteCond %{HTTPS} !=on
        RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L]
</VirtualHost>

log de kroomba

[2024-01-21 19:36:17][INFO] : Lancement démon
[2024-01-21 19:36:40][INFO] : Découverte des robots sur tout le réseau...
[2024-01-21 19:36:40][DEBUG] : params to send to daemon:{"action":"discover","login":"mon e-mail","password":"mon mot de passe","address":"255.255.255.255"}

log du deamon kroomba avec découverte et échanges

[2024-01-21 19:48:52][INFO] : Starting daemon
[2024-01-21 19:48:52][INFO] : Log level: info
[2024-01-21 19:48:52][INFO] : Using Password version 2.1
[2024-01-21 19:48:52][INFO] : reading/writing info from config file /var/www/html/plugins/kroomba/data/config.ini
[2024-01-21 19:48:52][WARNING] : No roomba or config file defined, please run discovery from plugin page
[2024-01-21 19:48:52][INFO] : Start listening
[2024-01-21 19:48:57][INFO] : Starting daemon
[2024-01-21 19:48:57][INFO] : Log level: info
[2024-01-21 19:48:57][INFO] : Using Password version 2.1
[2024-01-21 19:48:57][INFO] : reading/writing info from config file /var/www/html/plugins/kroomba/data/config.ini
[2024-01-21 19:48:57][WARNING] : No roomba or config file defined, please run discovery from plugin page
[2024-01-21 19:48:57][INFO] : Start listening
[2024-01-21 19:49:05][INFO] : reading/writing info from config file /var/www/html/plugins/kroomba/data/config.ini
[2024-01-21 19:49:05][INFO] : waiting on port: 5678 for data
[2024-01-21 19:49:06][INFO] : Robot at IP: 192.168.20.68 Data: {"ver": "4", "hostname": "iRobot-ED6FCEF2E4644DEAA7815C5637AC0BB4", "robotname": "Esclave", "robotid": "ED6FCEF2E4644DEAA7815C5637AC0BB4", "ip": "192.168.20.68", "mac": "50:14:79:CF:88:73", "sw": "sapphire+23.37.5+2023-10-17-5245d211fc3+Firmware-Production+165", "sku": "j755840", "nc": 0, "proto": "mqtt", "cap": {"binFullDetect": 2, "addOnHw": 1, "oMode": 10, "odoa": 7, "dockComm": 1, "maps": 3, "pmaps": 10, "mc": 2, "sem2umf": 2, "tLine": 2, "area": 1, "eco": 1, "multiPass": 2, "pp": 0, "edge": null, "team": 1, "pose": 2, "lang": 2, "hm": 0, "5ghz": 1, "prov": 3, "sched": 2, "svcConf": 1, "ota": 2, "log": 2, "langOta": 0, "ns": 1, "bleLog": 1, "expectingUserConf": 2, "idl": 1}, "freq": 5600, "cloudConnState": 14}
[2024-01-21 19:49:16][INFO] : Getting Roomba information from iRobot aws cloud...
[2024-01-21 19:49:19][INFO] : Login done, getting robots from iRobot aws cloud...
[2024-01-21 19:49:19][INFO] : Got cloud info: {"ED6FCEF2E4644DEAA7815C5637AC0BB4": {"password": "mot de passe", "sku": "j755840", "softwareVer": "sapphire+23.37.5+2023-10-17-5245d211fc3+Firmware-Production+165", "name": "Esclave", "cap": {"binFullDetect": 2, "dockComm": 1, "maps": 3, "pmaps": 10, "tLine": 2, "area": 1, "eco": 1, "multiPass": 2, "pose": 2, "team": 1, "pp": 0, "lang": 2, "5ghz": 1, "prov": 3, "sched": 2, "svcConf": 1, "ota": 2, "log": 2, "langOta": 0, "expectingUserConf": 2, "ns": 1, "addOnHw": 1, "oMode": 10, "odoa": 7, "mc": 2, "hm": 0, "bleLog": 1, "sem2umf": 2, "idl": 1}, "digiCap": {}, "svcDeplId": "v005", "user_cert": true}}
[2024-01-21 19:49:19][INFO] : Found 1 roombas defined in the cloud
[2024-01-21 19:49:19][INFO] : 0 robot(s) already defined in file /var/www/html/plugins/kroomba/data/config.ini, found 1 robot(s) on network
[2024-01-21 19:49:19][INFO] : Configuring robot (Esclave) at IP 192.168.20.68 from cloud data, blid: ED6FCEF2E4644DEAA7815C5637AC0BB4, password: mot de passe
[2024-01-21 19:49:19][INFO] : blid is: ED6FCEF2E4644DEAA7815C5637AC0BB4
[2024-01-21 19:49:19][INFO] : Password=> mot de passe <= Yes, all this string.
[2024-01-21 19:49:19][INFO] : Use these credentials in roomba.py
[2024-01-21 19:49:19][INFO] : Configuration saved to /var/www/html/plugins/kroomba/data/config.ini
[2024-01-21 19:50:08][INFO] : Starting daemon
[2024-01-21 19:50:08][INFO] : Log level: info
[2024-01-21 19:50:08][INFO] : Using Password version 2.1
[2024-01-21 19:50:08][INFO] : reading/writing info from config file /var/www/html/plugins/kroomba/data/config.ini
[2024-01-21 19:50:08][INFO] : Using Password version 2.1
[2024-01-21 19:50:08][INFO] : configuring Roomba from file /var/www/html/plugins/kroomba/data/config.ini
[2024-01-21 19:50:08][INFO] : reading/writing info from config file /var/www/html/plugins/kroomba/data/config.ini
[2024-01-21 19:50:08][INFO] : 1 Roombas Found
[2024-01-21 19:50:08][INFO] : Try to connect to iRobot Esclave with ip 192.168.20.68
[2024-01-21 19:50:08][INFO] : Start listening
[2024-01-21 19:50:08][INFO] : subscribed to iRobot/command/ED6FCEF2E4644DEAA7815C5637AC0BB4/#, iRobot/setting/ED6FCEF2E4644DEAA7815C5637AC0BB4/#
[2024-01-21 19:50:08][INFO] : Connecting...
[2024-01-21 19:50:08][INFO] : Setting TLS
[2024-01-21 19:50:08][INFO] : Setting TLS - OK
/var/www/html/plugins/kroomba/resources/kroomba/roomba/roomba.py:324: RuntimeWarning: coroutine 'Roomba._disconnect' was never awaited
  self.loop.create_task(self._disconnect())
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
[2024-01-21 19:50:09][ERROR] : Task exception was never retrieved
future: <Task finished name='Task-13' coro=<Roomba._disconnect() done, defined at /var/www/html/plugins/kroomba/resources/kroomba/roomba/roomba.py:326> exception=AttributeError("type object '_asyncio.Task' has no attribute 'all_tasks'")>
Traceback (most recent call last):
  File "/var/www/html/plugins/kroomba/resources/kroomba/roomba/roomba.py", line 329, in _disconnect
    tasks = [t for t in asyncio.Task.all_tasks() if t is not asyncio.Task.current_task()]
AttributeError: type object '_asyncio.Task' has no attribute 'all_tasks'
[2024-01-21 19:50:09][INFO] : Roomba Connected
[2024-01-21 19:50:09][INFO] : Received Roomba Data: $aws/things/ED6FCEF2E4644DEAA7815C5637AC0BB4/shadow/update, b'{"state":{"reported":{"audio":{"volume":100},"batPct":76,"batteryType":"F12433070","batInfo":{"mDate":"2022-1-28","mName":"PanasonicEnergy","mDaySerial":16159,"mData":"303030333032303200000000000000000000000000","mLife":"0C5E0B3E10740BF94F67001E0494F6BA00C4FEA82C0FFFFF0012157100000000","cCount":139,"afCount":0},"batAuthEnable":null,"bbchg":{"nChatters":14,"nKnockoffs":8,"nLithF":0,"nChgOk":225,"aborts":[0,0,0],"chgErr":[0,0,0,0,0],"smberr":0,"nChgErr":0},"bbmssn":{"aCycleM":79,"aMssnM":93,"nMssnF":23,"nMssnC":34,"nMssnOk":213,"nMssn":270},"bbnav":{"aMtrack":97,"nGoodLmrks":0,"aGain":232,"aExpo":23},"bbpause":{"pauses":[46,46,46,18,1010,46,24,46,24,46]},"bbrstinfo":{"nNavRst":69,"nOomRst":0,"nMapLoadRst":0,"nMobRst":62,"nSafRst":0,"safCauses":[0,0,0,0,0,0,0,0,0,0]},"bbrun":{"nOvertemps":0,"nEvacs":237,"nCBump":1,"nWStll":0,"nMBStll":1638,"nPanics":847,"nPicks":83,"nOpticalDD":1,"nPiezoDD":0,"nScrubs":1,"nStuck":48,"nCliffsF":2479,"nCliffsR":0},"bbswitch":{"nBumper":227523,"nDrops":1773,"nDock":0,"nSpot":0,"nClean":103},"bbsys":{"min":27,"hr":5500},"behaviorFwk":null,"bin":{"present":true,"full":false,"type":"std"},"binPause":true,"binTypeDetect":0,"cap":{"binFullDetect":2,"addOnHw":1,"oMode":10,"odoa":7,"dockComm":1,"maps":3,"pmaps":10,"mc":2,"sem2umf":2,"tLine":2,"area":1,"eco":1,"multiPass":2,"pp":0,"edge":null,"team":1,"pose":2,"lang":2,"hm":0,"5ghz":1,"prov":3,"sched":2,"svcConf":1,"ota":2,"log":2,"langOta":0,"ns":1,"bleLog":1,"expectingUserConf":2,"idl":1},"carpetBoost":false,"childLock":false,"chrgLrPtrn":2,"cleanMissionStatus":{"cycle":"none","phase":"charge","expireM":0,"rechrgM":0,"error":0,"notReady":0,"condNotReady":[],"mssnM":0,"expireTm":0,"rechrgTm":0,"mssnStrtTm":1705862717,"operatingMode":0,"initiator":"localApp","nMssn":270,"missionId":"01HMPNEQJ8G61A7K7FGR1DWE1J"},"cleanSchedule2":[{"enabled":true,"type":0,"start":{"day":[0,6],"hour":15,"min":0},"cmdStr":"{\'command\': \'start\', \'ordered\': 1, \'params\': {\'noAutoPasses\': true, \'twoPass\': false}, \'pmap_id\': \'oWWhHR24QFeSyqfdq7GzEg\', \'regions\': [{\'params\': {\'noAutoPasses\': true, \'twoPass\': false}, \'region_id\': \'4\', \'type\': \'rid\'}, {\'params\': {\'noAutoPasses\': true, \'twoPass\': false}, \'region_id\': \'3\', \'type\': \'rid\'}, {\'params\': {\'noAutoPasses\': true, \'twoPass\': false}, \'region_id\': \'7\', \'type\': \'rid\'}, {\'params\': {\'noAutoPasses\': true, \'twoPass\': false}, \'region_id\': \'6\', \'type\': \'rid\'}, {\'params\': {\'noAutoPasses\': true, \'twoPass\': true}, \'region_id\': \'0\', \'type\': \'rid\'}, {\'params\': {\'noAutoPasses\': true, \'twoPass\': false}, \'region_id\': \'1\', \'type\': \'rid\'}], \'user_pmapv_id\': \'231209T114952\', \'time\': 1705845600, \'initiator\': \'schedule\'}"},{"enabled":true,"type":0,"start":{"day":[1,2,3,4,5],"hour":10,"min":0},"cmdStr":"{\'command\': \'start\', \'ordered\': 1, \'pmap_id\': \'oWWhHR24QFeSyqfdq7GzEg\', \'regions\': [{\'params\': {\'noAutoPasses\': true, \'twoPass\': true}, \'region_id\': \'4\', \'type\': \'rid\'}, {\'params\': {\'noAutoPasses\': true, \'twoPass\': false}, \'region_id\': \'3\', \'type\': \'rid\'}, {\'params\': {\'noAutoPasses\': true, \'twoPass\': true}, \'region_id\': \'7\', \'type\': \'rid\'}, {\'params\': {\'noAutoPasses\': true, \'twoPass\': false}, \'region_id\': \'6\', \'type\': \'rid\'}, {\'params\': {\'noAutoPasses\': true, \'twoPass\': true}, \'region_id\': \'0\', \'type\': \'rid\'}, {\'params\': {\'noAutoPasses\': true, \'twoPass\': false}, \'region_id\': \'1\', \'type\': \'rid\'}], \'user_pmapv_id\': \'231209T114952\'}"},{"enabled":false,"type":0,"start":{"day":[1,3,5],"hour":12,"min":0},"cmdStr":"{\'command\': \'start\', \'ordered\': 1, \'pmap_id\': \'oWWhHR24QFeSyqfdq7GzEg\', \'regions\': [{\'params\': {\'noAutoPasses\': true, \'twoPass\': false}, \'region_id\': \'4\', \'type\': \'rid\'}, {\'params\': {\'noAutoPasses\': true, \'twoPass\': false}, \'region_id\': \'3\', \'type\': \'rid\'}, {\'params\': {\'noAutoPasses\': true, \'twoPass\': false}, \'region_id\': \'7\', \'type\': \'rid\'}, {\'params\': {\'noAutoPasses\': true, \'twoPass\': false}, \'region_id\': \'6\', \'type\': \'rid\'}], \'user_pmapv_id\': \'231209T114952\'}"}],"cloudEnv":"prod","connected":true,"country":"FR","deploymentState":0,"dock":{"known":true,"pn":"unknown","state":301,"id":"1991477718252491162491716015948218184178172","fwVer":"4.8.6","hwRev":0,"varID":6,"cap":{"evac":1,"fr":0},"fwVerSec":null},"evacAllowed":true,"ecoCharge":false,"featureFlags":{"visualStasisDetection":1,"clearHaz":true,"mapCleanup":1,"homeMonitoring":false,"covPlan":0,"segmentEventPlanner":0,"rugTraversal":1,"fastClean":0,"wallE":0,"reachableSpaceFlags":2062,"pmapSharing":0},"hwPartsRev":{"csscID":0,"mobBrd":17,"mobBlid":"479D5401FC2AEC965C8011347A15CB0A","imuPartNo":"LSM6DSR","lrDrv":"AW21024","NavBrd":100,"navSerialNo":"PS51C02S6","wlan0HwAddr":"50:14:79:cf:88:73"},"hwDbgr":null,"imgUpload":1,"langs2":{"sVer":"1.0","dLangs":{"ver":"0.37","langs":["ar-SA_1","ar-SA_2","cs-CZ_1","cs-CZ_2","da-DK_1","da-DK_2","de-DE_1","de-DE_2","en-GB_1","en-GB_2","en-US_1","en-US_2","es-ES_1","es-ES_2","es-XL_1","es-XL_2","fi-FI_1","fi-FI_2","fr-CA_1","fr-CA_2","fr-FR_1","fr-FR_2","he-IL_1","he-IL_2","it-IT_1","it-IT_2","ja-JP_1","ja-JP_2","ko-KR_1","ko-KR_2","nb-NO_1","nb-NO_2","nl-NL_1","nl-NL_2","pl-PL_1","pl-PL_2","pt-BR_1","pt-BR_2","pt-PT_1","pt-PT_2","ru-RU_1","ru-RU_2","sv-SE_1","sv-SE_2","tr-TR_1","tr-TR_2","zh-CN_1","zh-CN_2","zh-HK_1","zh-HK_2","zh-TW_1","zh-TW_2"]},"sLang":"fr-FR_2","aSlots":0},"lastCommand":{"command":"dock","ordered":null,"params":null,"pmap_id":null,"regions":null,"user_pmapv_id":null,"time":1705862732,"initiator":"localApp","favorite_id":null},"lastDisconnect":2,"mapUploadAllowed":true,"missionTelemetry":{"aux_comms":1,"bat_stats":1,"behaviors_report":1,"camera_settings":1,"coverage_report":1,"hardknock_report":1,"learned_policy_report":1,"local_mapping_report":1,"map_cleanup_report":1,"map_hypotheses":1,"map_load":1,"map_save":1,"pmap_navigability":1,"roomseg_report":1,"semantic_mapping_report":1,"sensor_stats":1,"tumor_classifier_report":1,"visual_stasis_report":1,"vital_stats":1,"vslam_report":1},"mssnNavStats":{"nMssn":270,"missionId":"01HMPNEQJ8G61A7K7FGR1DWE1J","gLmk":0,"lmk":0,"reLc":0,"plnErr":"none","mTrk":97,"kdp":2,"sfkdp":0,"nmc":2,"nmmc":0,"nrmc":7,"mpSt":"idle","l_drift":0,"h_drift":0,"l_squal":2,"h_squal":49},"name":"Esclave","noAutoPasses":false,"odoaMode":0,"odoaFeats":null,"openOnly":null,"optFeats":{"pmaps":null,"odoaLite":{"enabled":false,"exp":null}},"peopleFilter":1,"pmapLearningAllowed":true,"pmaps":[{"oWWhHR24QFeSyqfdq7GzEg":"240121T080420"}],"pmapCL":true,"pmapSGen":4,"pmapShare":{"copy":[1,2,4,6],"share":null},"precheck":{"weather":0,"readiness":0,"readinessTm":1800},"rankOverlap":15,"reflexSettings":{"rlWheelDrop":{"enabled":6},"rlThresholdTraversal":{"enabled":1}},"runtimeStats":{"sqft":590,"min":53,"hr":216},"sceneRecog":null,"schedHold":false,"secureBoot":{"log":2,"flip":0,"sbl1Ver":"B3.3.01_PPUB","stublVer":"B3.4.00_PPUB","efuse":1,"blType":1,"enforce":2,"lastRst":"80000280000000a1","recov":"linux+sextant-7.20.0_release+Firmware-Production+162","idSwitch":0,"permReq":1,"perm":"baseline"},"sku":"j755840","smartHome":{"homeMonitoringAllowed":false},"softwareVer":"sapphire+23.37.5+2023-10-17-5245d211fc3+Firmware-Production+165","streamingVideoStatus":null,"subModSwVer":{"nav":"sapphire-nav+23.37.5+ubuntu-HEAD-5245d211fc3+165","mob":"23.37.5+ubuntu-HEAD-5245d211fc3+165","pwr":"0.4.0+ubuntu-HEAD-5245d211fc3+165","sft":"1.5.2+ubuntu-HEAD-fb86fda8957+33","mobBtl":"4.1","cam":"0.2.31","linux":"linux+sextant-7.25.1_release+Firmware-Production+165","con":"4.10.5-tags/release-4.10.5@672e3a0e/ubuntu(*)","parcels":{"machine-learning-parcel":"none"}},"svcEndpoints":{"svcDeplId":"v005"},"timezone":"Europe/Paris","tls":{"tzbChk":1,"privKType":2,"lcCiphers":[0,0,0,0,0,0,0,0,50336514,50380848]},"twoPass":false,"tz":{"events":[{"dt":1704110400,"off":60},{"dt":1711846801,"off":120},{"dt":1729990801,"off":60}],"ver":21},"vacHigh":false}}}'
[2024-01-21 19:50:09][INFO] : current_state: None, current phase: charge, mission: none, mission_min: 4, recharge_min: 0, co-ords changed: False
[2024-01-21 19:50:09][INFO] : updated state to: Charging
[2024-01-21 19:50:09][WARNING] : Pending event queue size is: 1
[2024-01-21 19:50:09][INFO] : Received Roomba Data: wifistat, b'{"state":{"reported":{"netinfo":{"dhcp":true,"addr":"192.168.20.68","mask":"255.255.255.0","gw":"192.168.20.254","dns1":"192.168.20.253","dns2":"80.67.169.12","bssid":"34:27:92:c0:f6:ee","sec":4,"freq":5600},"signal":{"rssi":-46,"snr":49,"noise":-95},"wifistat":{"wifi":1,"uap":false,"cloud":14},"wlcfg":{"sec":4,"ssid":"46726565626F782D353043323738"}}}}'
[2024-01-21 19:50:09][INFO] : current_state: Charging, current phase: charge, mission: none, mission_min: 4, recharge_min: 0, co-ords changed: False
[2024-01-21 19:50:09][INFO] : updated state to: Charging
[2024-01-21 19:50:10][INFO] : Received Roomba Data: wifistat, b'{"state":{"reported":{"signal":{"rssi":-45,"snr":51,"noise":-96}}}}'
[2024-01-21 19:50:10][INFO] : current_state: Charging, current phase: charge, mission: none, mission_min: 4, recharge_min: 0, co-ords changed: False
[2024-01-21 19:50:10][INFO] : updated state to: Charging
[2024-01-21 19:50:13][INFO] : Starting daemon
[2024-01-21 19:50:13][INFO] : Log level: info
[2024-01-21 19:50:13][INFO] : Using Password version 2.1
[2024-01-21 19:50:13][INFO] : reading/writing info from config file /var/www/html/plugins/kroomba/data/config.ini
[2024-01-21 19:50:13][INFO] : Using Password version 2.1
[2024-01-21 19:50:13][INFO] : configuring Roomba from file /var/www/html/plugins/kroomba/data/config.ini
[2024-01-21 19:50:13][INFO] : reading/writing info from config file /var/www/html/plugins/kroomba/data/config.ini
[2024-01-21 19:50:13][INFO] : 1 Roombas Found
[2024-01-21 19:50:13][INFO] : Try to connect to iRobot Esclave with ip 192.168.20.68
[2024-01-21 19:50:13][INFO] : Start listening
[2024-01-21 19:50:13][INFO] : subscribed to iRobot/command/ED6FCEF2E4644DEAA7815C5637AC0BB4/#, iRobot/setting/ED6FCEF2E4644DEAA7815C5637AC0BB4/#
[2024-01-21 19:50:13][INFO] : Connecting...
[2024-01-21 19:50:13][INFO] : Setting TLS
[2024-01-21 19:50:13][INFO] : Setting TLS - OK
[2024-01-21 19:50:14][INFO] : Roomba Connected
[2024-01-21 19:50:14][INFO] : Received Roomba Data: $aws/things/ED6FCEF2E4644DEAA7815C5637AC0BB4/shadow/update, b'{"state":{"reported":{"audio":{"volume":100},"batPct":76,"batteryType":"F12433070","batInfo":{"mDate":"2022-1-28","mName":"PanasonicEnergy","mD
[2024-01-21 19:50:14][INFO] : current_state: Charging, current phase: charge, mission: none, mission_min: 4, recharge_min: 0, co-ords changed: False
[2024-01-21 19:50:14][INFO] : updated state to: Charging
[2024-01-21 19:50:15][INFO] : Received Roomba Data: wifistat, b'{"state":{"reported":{"signal":{"rssi":-46,"snr":50,"noise":-96}}}}'
[2024-01-21 19:50:15][INFO] : current_state: Charging, current phase: charge, mission: none, mission_min: 4, recharge_min: 0, co-ords changed: False
[2024-01-21 19:50:15][INFO] : updated state to: Charging

capture de la page kroomba vide (après découverte)

Précisions :

  • l’appli n’est pas lancée sur mon téléphone pendant la configuration.
  • j’ai tenté de supprimer les configurations connues et de recommencer.
  • il m’est nécessaire de relancer le deamon entre la découverte et la réception de messages d’état.

Si quelqu’un à une piste pour m’aider, je suis preneur.

En tout cas merci d’avance à tous pour votre aide.

Bruno

Bonjour,

Pourquoi avoir installé jmqtt et mqtt2? Jmqtt est inutile ici.

Et je ne comprend rien à cette histoire de certif apache. Ca n’a aucun rapport avec mqtt. Mosquitto n’utilise pas apache.
Et non le démon n’utilise pas la « config dns » (pas sur de quoi on parle exactement?) mais la config qu’il recoit de plugin-mqtt2
Et je ne vois pas l’intérêt d’un certif sur du localhost.

Si rien ne remonte ca sent la mauvaise config de broker.
Il faudrait voir la config de mqtt2 du coup

Bonsoir,

Merci pour votre réponse.

Pour l’histoire de certificat, les logs de kroomba affichaient systématiquement une erreur SSL (CN invalide) sur 127.0.0.1:443, et le démon refusait donc de se lancer. Et aux dernières nouvelles, c’est bien apache qui gère ça.
C’est pour cela que cela été bizarre. Je l’ai donc mentionné car c’est une difficulté que j’ai rencontré pour faire démarrer kroomba. Je ne sais pas s’il y a un lien ou pas, j’ai préféré en parler.

La config DNS dont je parle est celle de la page réseau de JeeDom.

Concernant mqqt2 et jmqtt, les 2 étants dans 2 catégories différentes, pour moi ils étaient complémentaires. Mauvaise compréhension de ma part donc.

Là aussi faire démarrer le démon mqtt2 a été compliqué (et j’ai rencontré des erreurs communes sur les forum, les réponses m’ayant aidé a résoudre ça [séparation de mosquitto dans la conf, même si sur la même machine en réalité]).

La configuration de mqtt2 (avec la bonne adresse déjà configurée auparavant, pas 127.0.0.1 en tout cas.).

Le nom d’hôte configuré est bien celui de ma machine.

Mosquitto est lancé :

jeedom@jeedom:~$ ps aux | grep mos
mosquit+     491  0.0  0.3  14232  6980 ?        Ss   18:36   0:11 /usr/sbin/mosquitto -c /var/www/html/plugins/mqtt2/core/class/../../data/mosquitto.conf
jeedom    107263  0.0  0.0   6256   708 pts/0    S+   22:11   0:00 grep mos

Il y a bien des échanges vu par mqtt2 :

[2024-01-21 21:13:04][DEBUG] : Received message on topic : iRobot/feedback/ED6FCEF2E4644DEAA7815C5637AC0BB4/signal_rssi => -44
[2024-01-21 21:13:04][DEBUG] : Received message on topic : iRobot/feedback/ED6FCEF2E4644DEAA7815C5637AC0BB4/signal_snr => 52
[2024-01-21 21:13:04][DEBUG] : Received message on topic : iRobot/feedback/ED6FCEF2E4644DEAA7815C5637AC0BB4/signal_noise => -96
[2024-01-21 21:13:04][DEBUG] : Received message on topic : iRobot/feedback/ED6FCEF2E4644DEAA7815C5637AC0BB4/error_message => None
[2024-01-21 21:13:04][DEBUG] : Received message on topic : iRobot/feedback/ED6FCEF2E4644DEAA7815C5637AC0BB4/state => Charging
[2024-01-21 21:13:04][DEBUG] : Send data to jeedom : {"iRobot":{"feedback":{"ED6FCEF2E4644DEAA7815C5637AC0BB4":{"signal_rssi":-44,"signal_snr":52,"signal_noise":-96,"error_message":"None","state":"Charging"}}}}

Comme je l’ai mentionné et mis dans les captures de log, les informations remontent à KRoomba, je les vois dans les logs de KRoomba, mais l’appareil n’apparait pas dans la liste.

Extrait des logs de kroombad à l’instant.

[2024-01-21 22:10:36][INFO] : Received Roomba Data: wifistat, b'{"state":{"reported":{"signal":{"rssi":-45,"snr":51,"noise":-96}}}}'
[2024-01-21 22:10:36][INFO] : current_state: Charging, current phase: charge, mission: none, mission_min: 145, recharge_min: 0, co-ords changed: False
[2024-01-21 22:10:36][INFO] : updated state to: Charging
[2024-01-21 22:10:41][INFO] : Received Roomba Data: wifistat, b'{"state":{"reported":{"signal":{"rssi":-44,"snr":52,"noise":-96}}}}'
[2024-01-21 22:10:41][INFO] : current_state: Charging, current phase: charge, mission: none, mission_min: 145, recharge_min: 0, co-ords changed: False
[2024-01-21 22:10:41][INFO] : updated state to: Charging

J’ai juste essayé de présenter ce que j’ai fait. Je ne dis pas que c’est parfait, j’essayais juste de donner mon contexte d’usage.

ok donc le problème de certif c’était pour le retour du démon vers jeedom en http; pas pour la connexion à mqtt.

Et ca ne fonctionne pas car le démon tente une connexion locahost et que vous avez fait un rewrite sur le nom dns;
il faut virer ce rewrite

vous avez configuré le port 443 dans la config interne? pourquoi?

J’ai aussi mis en beta un fix pour l’erreur qu’on voit ici:

c’est suite à une version plus récente de asyncio je pense mais elle n’a pas vraiment d’impact à priori car je n’avais pas remarqué mais je l’avais chez moi aussi et ca fonctionnait mais ca sera plus propre

Bonsoir,

Après avoir modifié la config apache, le robot est effectivement apparu.

Dans ma configuration interne, l’accès à JeeDom se fait en HTTP port 80 (il n’y a pas le choix, pas d’autres choix dans la liste).

J’ai fait la redirection http → https dans le serveur Apache2, comme sur tout serveur que l’on passe en HTTPS (accès en http:80 → 301 vers https).
Que ce soit en interne ou en externe, j’utilise une connexion HTTPS.

Mais c’est gênant de devoir supprimer une configuration standard pour avoir le fonctionnement du plugin. :frowning:

Merci en tout cas pour votre aide.

Je ne comprend pas car tous les plugins officiel font pareil: ils se connecte en http localhost
donc vous deviez avoir le même problème avec mqtt2 par exemple (c’est p-e pour ca que les infos ne remontaient pas d’ailleurs car c’est par là que le robot remonte dans le plugin)

donc faite votre redirection http → https excepte si localhost et vous pourrez garder votre connexion https en lan aussi

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