Page 39 of 56

Re: Python plugin: Presence detection from wireless router

Posted: Wednesday 08 April 2020 12:16
by DarkAllMan
I updated today to the latest version (also latest beta).
But on startup I still get message: (iDetect) Missing paramiko module required for ssh. Install it using: sudo pip3 install paramiko

Code: Select all

Version: 2020.1
Build Hash: 77b93f111
Compile Date: 2020-03-22 16:45:56
dzVents Version: 3.0.1
Python Version: 3.6.9 (default, Nov 7 2019, 10:44:02) [GCC 8.3.0]
Domoticz using python 3.6.9, but paramiko is installed in python 3.5

Code: Select all

Requirement already satisfied: paramiko in /usr/local/lib/python3.5/site-packages (2.7.1)
Requirement already satisfied: bcrypt>=3.1.3 in /usr/local/lib/python3.5/site-packages (from paramiko) (3.1.7)
Requirement already satisfied: cryptography>=2.5 in /usr/local/lib/python3.5/site-packages (from paramiko) (2.8)
Requirement already satisfied: pynacl>=1.0.1 in /usr/local/lib/python3.5/site-packages (from paramiko) (1.3.0)
Requirement already satisfied: cffi>=1.1 in /usr/local/lib/python3.5/site-packages (from bcrypt>=3.1.3->paramiko) (1.14.0)
Requirement already satisfied: six>=1.4.1 in /usr/local/lib/python3.5/site-packages (from bcrypt>=3.1.3->paramiko) (1.12.0)
Requirement already satisfied: pycparser in /usr/local/lib/python3.5/site-packages (from cffi>=1.1->bcrypt>=3.1.3->paramiko) (2.20)
How can I solve this issue?

Re: Python plugin: Presence detection from wireless router

Posted: Wednesday 08 April 2020 12:30
by EscApe
@DarkAllMan

If you update python then you will have to reinstall the required modules for that python version. Python does not automatically install the modules for the newer version.

Code: Select all

sudo pip3 install requests paramiko
Edit: You already tried that... so you are probably using separate python environments and have to make sure you are in the 3.6 environment when doing the pip3 install

Re: Python plugin: Presence detection from wireless router

Posted: Wednesday 08 April 2020 14:25
by DarkAllMan
I had to update pip, then rerun paramiko install and that worked!

Re: Python plugin: Presence detection from wireless router

Posted: Sunday 12 April 2020 22:59
by tsf0x13
does not work for me
Spoiler: show
Domoticz2020.1 (build 11930)

root@raspberrypi:~# ssh -l radar 192.168.24.10
[email protected]'s password:

[radar@MikroTik] /system resource> /system resource print
uptime: 1h38m23s
version: 6.46.5 (stable)
build-time: Apr/07/2020 08:28:27
factory-software: 6.42.7

2020-04-12 23:40:08.683 Status: (Presense) Started.
2020-04-12 23:40:08.839 Status: (Presense) Entering work loop.
2020-04-12 23:40:08.840 Status: (Presense) Initialized version 2.0, author 'ESCape'
2020-04-12 23:40:09.385 (Presense) Debug logging mask set to: PYTHON
2020-04-12 23:40:09.385 (Presense) Operation system is: linux
2020-04-12 23:40:09.397 (Presense) The OS user profile running domoticz is: root
2020-04-12 23:40:09.397 (Presense) Parsing user and optional keyfile from:radar
2020-04-12 23:40:09.398 (Presense) start get or create wireless device
2020-04-12 23:40:09.398 (Presense) phone1 monitor tag_id:98:87:E0:2E:18:2A, domoticz unit:2
2020-04-12 23:40:09.398 (Presense) start get or create wireless device
2020-04-12 23:40:09.398 (Presense) phone2 monitor tag_id:88:6B:6E:5A:ED:A1, domoticz unit:3
2020-04-12 23:40:09.398 (Presense) Monitoring {'98:87:E0:2E:18:2A': <plugin.tag_device object at 0xa315af90>, '88:6B:6E:5A:ED:A1': <plugin.tag_device object at 0xa3165410>} for presence.
2020-04-12 23:40:09.398 (Presense) Tracker configuration:192.168.24.10
2020-04-12 23:40:09.398 (Presense) tracker:192.168.24.10
2020-04-12 23:40:09.398 (Presense) options:
2020-04-12 23:40:09.399 (Presense) 192.168.24.10 Tracker is of the ssh kind
2020-04-12 23:40:09.399 (Presense) 192.168.24.10 ====> SSH Fetching data using:
2020-04-12 23:40:09.399 export PATH=/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:$PATH
2020-04-12 23:40:09.399 type wl
2020-04-12 23:40:09.399 type iwinfo
2020-04-12 23:40:09.399 type wlanconfig
2020-04-12 23:40:09.399 type wl_atheros
2020-04-12 23:40:09.399 type qcsapi_sockrpc
2020-04-12 23:40:09.399 type ip
2020-04-12 23:40:09.399 type brctl
2020-04-12 23:40:09.399 type arp
2020-04-12 23:40:09.399 [ -f /proc/net/arp ] && type cat
2020-04-12 23:40:09.399 echo 0
2020-04-12 23:40:09.399 exit
2020-04-12 23:40:09.399 (Presense) 192.168.24.10 ====> SSH not connected ... connecting
2020-04-12 23:40:09.399 (Presense) 192.168.24.10 ====> SSH start connect
2020-04-12 23:40:09.736 (Presense) 192.168.24.10 Could not retreive available commands
2020-04-12 23:40:09.736 (Presense) 192.168.24.10 tracker will autodetect ssh cli
2020-04-12 23:40:09.736 (Presense) 192.168.24.10 Data will be received and interpreted by <bound method BasePlugin.onDataReceive of <plugin.BasePlugin object at 0xa8840870>>
2020-04-12 23:40:09.736 (Presense) Trackers initialized as:{'192.168.24.10': <trackers.ssh_autodetect.ssh_autodetect object at 0xa31658d0>}
2020-04-12 23:40:09.736 (Presense) Plugin initialization done.
2020-04-12 23:40:09.736 Status: (Presense) Tracker activated:192.168.24.10 port 22, user: radar, type: default and options: {}
2020-04-12 23:40:09.736 Error: (Presense) 192.168.24.10 ====> SSH Could not connect (using password). Exception: Authentication failed.

Re: Python plugin: Presence detection from wireless router

Posted: Sunday 12 April 2020 23:17
by EscApe
tsf0x13 wrote: Sunday 12 April 2020 22:59 does not work for me
Spoiler: show
Domoticz2020.1 (build 11930)

root@raspberrypi:~# ssh -l radar 192.168.24.10
[email protected]'s password:

[radar@MikroTik] /system resource> /system resource print
uptime: 1h38m23s
version: 6.46.5 (stable)
build-time: Apr/07/2020 08:28:27
factory-software: 6.42.7

2020-04-12 23:40:08.683 Status: (Presense) Started.
2020-04-12 23:40:08.839 Status: (Presense) Entering work loop.
2020-04-12 23:40:08.840 Status: (Presense) Initialized version 2.0, author 'ESCape'
2020-04-12 23:40:09.385 (Presense) Debug logging mask set to: PYTHON
2020-04-12 23:40:09.385 (Presense) Operation system is: linux
2020-04-12 23:40:09.397 (Presense) The OS user profile running domoticz is: root
2020-04-12 23:40:09.397 (Presense) Parsing user and optional keyfile from:radar
2020-04-12 23:40:09.398 (Presense) start get or create wireless device
2020-04-12 23:40:09.398 (Presense) phone1 monitor tag_id:98:87:E0:2E:18:2A, domoticz unit:2
2020-04-12 23:40:09.398 (Presense) start get or create wireless device
2020-04-12 23:40:09.398 (Presense) phone2 monitor tag_id:88:6B:6E:5A:ED:A1, domoticz unit:3
2020-04-12 23:40:09.398 (Presense) Monitoring {'98:87:E0:2E:18:2A': <plugin.tag_device object at 0xa315af90>, '88:6B:6E:5A:ED:A1': <plugin.tag_device object at 0xa3165410>} for presence.
2020-04-12 23:40:09.398 (Presense) Tracker configuration:192.168.24.10
2020-04-12 23:40:09.398 (Presense) tracker:192.168.24.10
2020-04-12 23:40:09.398 (Presense) options:
2020-04-12 23:40:09.399 (Presense) 192.168.24.10 Tracker is of the ssh kind
2020-04-12 23:40:09.399 (Presense) 192.168.24.10 ====> SSH Fetching data using:
2020-04-12 23:40:09.399 export PATH=/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:$PATH
2020-04-12 23:40:09.399 type wl
2020-04-12 23:40:09.399 type iwinfo
2020-04-12 23:40:09.399 type wlanconfig
2020-04-12 23:40:09.399 type wl_atheros
2020-04-12 23:40:09.399 type qcsapi_sockrpc
2020-04-12 23:40:09.399 type ip
2020-04-12 23:40:09.399 type brctl
2020-04-12 23:40:09.399 type arp
2020-04-12 23:40:09.399 [ -f /proc/net/arp ] && type cat
2020-04-12 23:40:09.399 echo 0
2020-04-12 23:40:09.399 exit
2020-04-12 23:40:09.399 (Presense) 192.168.24.10 ====> SSH not connected ... connecting
2020-04-12 23:40:09.399 (Presense) 192.168.24.10 ====> SSH start connect
2020-04-12 23:40:09.736 (Presense) 192.168.24.10 Could not retreive available commands
2020-04-12 23:40:09.736 (Presense) 192.168.24.10 tracker will autodetect ssh cli
2020-04-12 23:40:09.736 (Presense) 192.168.24.10 Data will be received and interpreted by <bound method BasePlugin.onDataReceive of <plugin.BasePlugin object at 0xa8840870>>
2020-04-12 23:40:09.736 (Presense) Trackers initialized as:{'192.168.24.10': <trackers.ssh_autodetect.ssh_autodetect object at 0xa31658d0>}
2020-04-12 23:40:09.736 (Presense) Plugin initialization done.
2020-04-12 23:40:09.736 Status: (Presense) Tracker activated:192.168.24.10 port 22, user: radar, type: default and options: {}
2020-04-12 23:40:09.736 Error: (Presense) 192.168.24.10 ====> SSH Could not connect (using password). Exception: Authentication failed.
Microtik can not be auto detected because it uses a proprietary operating system called routerOS. The plugin offers support for routeros, by specifying the tracker type:

Code: Select all

192.168.24.10#type=routeros
In addition there are two alternative tracker types:
routeros-arp and routeros-capsman (requires capsman installed on router)

Re: Python plugin: Presence detection from wireless router

Posted: Monday 13 April 2020 20:59
by Geitje
When I disable debugging after having it enabled for some time, Domoticz hangs? Anyone else with this problem?

Re: Python plugin: Presence detection from wireless router

Posted: Tuesday 14 April 2020 15:50
by EscApe
Geitje wrote: Monday 13 April 2020 20:59 When I disable debugging after having it enabled for some time, Domoticz hangs? Anyone else with this problem?
Domoticz might hang if a connection was not closed (in time) while shutting down a plugin. Changing any setting will restart the plugin. Maybe it takes longer than usual to terminate the connection in your setup. Your original post said you where seeing time-outs on poll-connections. Has this been solved and are you sure Domoticz is still hanging when stopping/restaring the plugin?

Re: Python plugin: Presence detection from wireless router

Posted: Wednesday 15 April 2020 10:00
by Geitje
Thanks for you reply. Domoticz restarts fine, and the hangs happens not always.

Yeah the time-outs are still coming sometimes quite a lot. The delay for devices going to offline for is acceptable: about 8 mins.
However, I still think the Orbi sometimes needs some more time to answer the requests, more than 8 secs. I know from the Orbi webUI that the router needs quite a long time to build the device list (like 10 seconds or more). The number of LAN devices I have has increased past months. Also I started to use a feature called Netgear Armor, that also uses processing power from the Orbi. Would it be possible to make the time-out configurable?

Re: Python plugin: Presence detection from wireless router

Posted: Wednesday 15 April 2020 10:52
by tsf0x13
EscApe wrote: Sunday 12 April 2020 23:17
tsf0x13 wrote: Sunday 12 April 2020 22:59 does not work for me
Spoiler: show
Domoticz2020.1 (build 11930)

root@raspberrypi:~# ssh -l radar 192.168.24.10
[email protected]'s password:

[radar@MikroTik] /system resource> /system resource print
uptime: 1h38m23s
version: 6.46.5 (stable)
build-time: Apr/07/2020 08:28:27
factory-software: 6.42.7

2020-04-12 23:40:08.683 Status: (Presense) Started.
2020-04-12 23:40:08.839 Status: (Presense) Entering work loop.
2020-04-12 23:40:08.840 Status: (Presense) Initialized version 2.0, author 'ESCape'
2020-04-12 23:40:09.385 (Presense) Debug logging mask set to: PYTHON
2020-04-12 23:40:09.385 (Presense) Operation system is: linux
2020-04-12 23:40:09.397 (Presense) The OS user profile running domoticz is: root
2020-04-12 23:40:09.397 (Presense) Parsing user and optional keyfile from:radar
2020-04-12 23:40:09.398 (Presense) start get or create wireless device
2020-04-12 23:40:09.398 (Presense) phone1 monitor tag_id:98:87:E0:2E:18:2A, domoticz unit:2
2020-04-12 23:40:09.398 (Presense) start get or create wireless device
2020-04-12 23:40:09.398 (Presense) phone2 monitor tag_id:88:6B:6E:5A:ED:A1, domoticz unit:3
2020-04-12 23:40:09.398 (Presense) Monitoring {'98:87:E0:2E:18:2A': <plugin.tag_device object at 0xa315af90>, '88:6B:6E:5A:ED:A1': <plugin.tag_device object at 0xa3165410>} for presence.
2020-04-12 23:40:09.398 (Presense) Tracker configuration:192.168.24.10
2020-04-12 23:40:09.398 (Presense) tracker:192.168.24.10
2020-04-12 23:40:09.398 (Presense) options:
2020-04-12 23:40:09.399 (Presense) 192.168.24.10 Tracker is of the ssh kind
2020-04-12 23:40:09.399 (Presense) 192.168.24.10 ====> SSH Fetching data using:
2020-04-12 23:40:09.399 export PATH=/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:$PATH
2020-04-12 23:40:09.399 type wl
2020-04-12 23:40:09.399 type iwinfo
2020-04-12 23:40:09.399 type wlanconfig
2020-04-12 23:40:09.399 type wl_atheros
2020-04-12 23:40:09.399 type qcsapi_sockrpc
2020-04-12 23:40:09.399 type ip
2020-04-12 23:40:09.399 type brctl
2020-04-12 23:40:09.399 type arp
2020-04-12 23:40:09.399 [ -f /proc/net/arp ] && type cat
2020-04-12 23:40:09.399 echo 0
2020-04-12 23:40:09.399 exit
2020-04-12 23:40:09.399 (Presense) 192.168.24.10 ====> SSH not connected ... connecting
2020-04-12 23:40:09.399 (Presense) 192.168.24.10 ====> SSH start connect
2020-04-12 23:40:09.736 (Presense) 192.168.24.10 Could not retreive available commands
2020-04-12 23:40:09.736 (Presense) 192.168.24.10 tracker will autodetect ssh cli
2020-04-12 23:40:09.736 (Presense) 192.168.24.10 Data will be received and interpreted by <bound method BasePlugin.onDataReceive of <plugin.BasePlugin object at 0xa8840870>>
2020-04-12 23:40:09.736 (Presense) Trackers initialized as:{'192.168.24.10': <trackers.ssh_autodetect.ssh_autodetect object at 0xa31658d0>}
2020-04-12 23:40:09.736 (Presense) Plugin initialization done.
2020-04-12 23:40:09.736 Status: (Presense) Tracker activated:192.168.24.10 port 22, user: radar, type: default and options: {}
2020-04-12 23:40:09.736 Error: (Presense) 192.168.24.10 ====> SSH Could not connect (using password). Exception: Authentication failed.
Microtik can not be auto detected because it uses a proprietary operating system called routerOS. The plugin offers support for routeros, by specifying the tracker type:

Code: Select all

192.168.24.10#type=routeros
In addition there are two alternative tracker types:
routeros-arp and routeros-capsman (requires capsman installed on router)
Have the same error:
2020-04-15 11:49:19.061 Error: (Presense) 192.168.24.10 ====> SSH Could not connect (using password). Exception: Authentication failed.

But i can login to microtik from rapberry pi with these creditionals
- from root shell
-from pi shell

Re: Python plugin: Presence detection from wireless router

Posted: Thursday 16 April 2020 6:47
by EscApe
tsf0x13 wrote: Wednesday 15 April 2020 10:52
EscApe wrote: Sunday 12 April 2020 23:17
tsf0x13 wrote: Sunday 12 April 2020 22:59 does not work for me
Spoiler: show
Domoticz2020.1 (build 11930)

root@raspberrypi:~# ssh -l radar 192.168.24.10
[email protected]'s password:

[radar@MikroTik] /system resource> /system resource print
uptime: 1h38m23s
version: 6.46.5 (stable)
build-time: Apr/07/2020 08:28:27
factory-software: 6.42.7

2020-04-12 23:40:08.683 Status: (Presense) Started.
2020-04-12 23:40:08.839 Status: (Presense) Entering work loop.
2020-04-12 23:40:08.840 Status: (Presense) Initialized version 2.0, author 'ESCape'
2020-04-12 23:40:09.385 (Presense) Debug logging mask set to: PYTHON
2020-04-12 23:40:09.385 (Presense) Operation system is: linux
2020-04-12 23:40:09.397 (Presense) The OS user profile running domoticz is: root
2020-04-12 23:40:09.397 (Presense) Parsing user and optional keyfile from:radar
2020-04-12 23:40:09.398 (Presense) start get or create wireless device
2020-04-12 23:40:09.398 (Presense) phone1 monitor tag_id:98:87:E0:2E:18:2A, domoticz unit:2
2020-04-12 23:40:09.398 (Presense) start get or create wireless device
2020-04-12 23:40:09.398 (Presense) phone2 monitor tag_id:88:6B:6E:5A:ED:A1, domoticz unit:3
2020-04-12 23:40:09.398 (Presense) Monitoring {'98:87:E0:2E:18:2A': <plugin.tag_device object at 0xa315af90>, '88:6B:6E:5A:ED:A1': <plugin.tag_device object at 0xa3165410>} for presence.
2020-04-12 23:40:09.398 (Presense) Tracker configuration:192.168.24.10
2020-04-12 23:40:09.398 (Presense) tracker:192.168.24.10
2020-04-12 23:40:09.398 (Presense) options:
2020-04-12 23:40:09.399 (Presense) 192.168.24.10 Tracker is of the ssh kind
2020-04-12 23:40:09.399 (Presense) 192.168.24.10 ====> SSH Fetching data using:
2020-04-12 23:40:09.399 export PATH=/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:$PATH
2020-04-12 23:40:09.399 type wl
2020-04-12 23:40:09.399 type iwinfo
2020-04-12 23:40:09.399 type wlanconfig
2020-04-12 23:40:09.399 type wl_atheros
2020-04-12 23:40:09.399 type qcsapi_sockrpc
2020-04-12 23:40:09.399 type ip
2020-04-12 23:40:09.399 type brctl
2020-04-12 23:40:09.399 type arp
2020-04-12 23:40:09.399 [ -f /proc/net/arp ] && type cat
2020-04-12 23:40:09.399 echo 0
2020-04-12 23:40:09.399 exit
2020-04-12 23:40:09.399 (Presense) 192.168.24.10 ====> SSH not connected ... connecting
2020-04-12 23:40:09.399 (Presense) 192.168.24.10 ====> SSH start connect
2020-04-12 23:40:09.736 (Presense) 192.168.24.10 Could not retreive available commands
2020-04-12 23:40:09.736 (Presense) 192.168.24.10 tracker will autodetect ssh cli
2020-04-12 23:40:09.736 (Presense) 192.168.24.10 Data will be received and interpreted by <bound method BasePlugin.onDataReceive of <plugin.BasePlugin object at 0xa8840870>>
2020-04-12 23:40:09.736 (Presense) Trackers initialized as:{'192.168.24.10': <trackers.ssh_autodetect.ssh_autodetect object at 0xa31658d0>}
2020-04-12 23:40:09.736 (Presense) Plugin initialization done.
2020-04-12 23:40:09.736 Status: (Presense) Tracker activated:192.168.24.10 port 22, user: radar, type: default and options: {}
2020-04-12 23:40:09.736 Error: (Presense) 192.168.24.10 ====> SSH Could not connect (using password). Exception: Authentication failed.
Microtik can not be auto detected because it uses a proprietary operating system called routerOS. The plugin offers support for routeros, by specifying the tracker type:

Code: Select all

192.168.24.10#type=routeros
In addition there are two alternative tracker types:
routeros-arp and routeros-capsman (requires capsman installed on router)
Have the same error:
2020-04-15 11:49:19.061 Error: (Presense) 192.168.24.10 ====> SSH Could not connect (using password). Exception: Authentication failed.

But i can login to microtik from rapberry pi with these creditionals
- from root shell
-from pi shell
Strange ... can you try setting a tracker specific password this way:

Code: Select all

192.168.24.10#type=routeros&user=<youruser>&password=<yourpw>
Other things to check out:
- Remove any special characters from the routers ssh password (to rule them out as a possible cause)
- Some routers only allow specific usernames to connect to ssh, like 'admin'

Re: Python plugin: Presence detection from wireless router

Posted: Thursday 16 April 2020 7:01
by EscApe
Geitje wrote: Wednesday 15 April 2020 10:00 Thanks for you reply. Domoticz restarts fine, and the hangs happens not always.

Yeah the time-outs are still coming sometimes quite a lot. The delay for devices going to offline for is acceptable: about 8 mins.
However, I still think the Orbi sometimes needs some more time to answer the requests, more than 8 secs. I know from the Orbi webUI that the router needs quite a long time to build the device list (like 10 seconds or more). The number of LAN devices I have has increased past months. Also I started to use a feature called Netgear Armor, that also uses processing power from the Orbi. Would it be possible to make the time-out configurable?
It would be great if someone who actually uses an Orbi could troubleshoot this. Maybe the tracker need some more error handling or there might even be a better way to query an orby(?)

Could you try increasing the hard coded timeout in the plugin code? It's on line 20 of http_orbi.py (but I guess you already knew that;-))

Code: Select all

http_response = self.http_session.get(self.orbi_url, verify=False, timeout=8)
If a longer timeout solves this issue, then it still might not be the best solution to permanently increase it. A lot of waiting connections could cause Domoticz to hang when trying to stop the plugin.

Re: Python plugin: Presence detection from wireless router

Posted: Thursday 16 April 2020 8:38
by Ray-Man
Hi, first of all, I like this plugin very much as it seems more reliable then the other scripts (well, at least in my home). The thing is, I keep getting errors starting somewhere during the night:
Spoiler: show
2020-04-16 08:10:11.983 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:10:17.370 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:10:21.993 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:10:27.384 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:10:32.005 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:10:37.392 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:10:42.017 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:10:47.398 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:10:52.042 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:10:57.407 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:11:02.083 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:11:12.432 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:11:17.119 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:11:27.465 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:11:32.166 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:11:42.505 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:11:47.203 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:11:57.537 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:12:02.227 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:12:07.545 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:12:17.244 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:12:17.550 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:12:27.266 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:12:27.568 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:12:37.285 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:12:42.595 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:12:47.291 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:12:52.614 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:12:57.298 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:02.626 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:07.304 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:12.631 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:17.309 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:22.636 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:27.314 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:32.644 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:37.319 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:42.656 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:47.323 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:52.661 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
Automatically restarting the plugin using the "Data Timeout" setting, doesn't fix it. Updating the plugin settings (without actually changing anything) does.

Is this a known error with (hopefully) a known workaround?

Regards.

Re: Python plugin: Presence detection from wireless router

Posted: Thursday 16 April 2020 9:54
by EscApe
Ray-Man wrote: Thursday 16 April 2020 8:38 Hi, first of all, I like this plugin very much as it seems more reliable then the other scripts (well, at least in my home). The thing is, I keep getting errors starting somewhere during the night:
Spoiler: show
2020-04-16 08:10:11.983 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:10:17.370 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:10:21.993 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:10:27.384 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:10:32.005 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:10:37.392 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:10:42.017 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:10:47.398 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:10:52.042 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:10:57.407 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:11:02.083 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:11:12.432 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:11:17.119 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:11:27.465 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:11:32.166 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:11:42.505 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:11:47.203 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:11:57.537 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:12:02.227 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:12:07.545 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:12:17.244 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:12:17.550 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:12:27.266 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:12:27.568 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:12:37.285 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:12:42.595 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: No existing session
2020-04-16 08:12:47.291 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:12:52.614 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:12:57.298 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:02.626 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:07.304 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:12.631 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:17.309 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:22.636 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:27.314 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:32.644 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:37.319 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:42.656 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:47.323 Error: (iDetect) 10.10.10.111 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
2020-04-16 08:13:52.661 Error: (iDetect) 10.10.10.110 ====> SSH Could not connect (using password). Exception: Error reading SSH protocol banner
Automatically restarting the plugin using the "Data Timeout" setting, doesn't fix it. Updating the plugin settings (without actually changing anything) does.

Is this a known error with (hopefully) a known workaround?

Regards.
It is not a known issue and 'Error reading SSH protocol banner' is a generic error which could mean anything. The "data timeout" will not affect to ssh connections, so you can leave that off.

There are a few tings you can check/try to trouble shoot.
- is there more information in the (debug) log around the time these errors start appearing? (these errors in the morning might be a symptom instead of a cause)
- is there a heavy network load or cpu load on the raspberry or router at night?
- are there (maintenance) tasks that reset network interfaces of services in the raspberry, router or network?
- set the poll interval a bit higher for a couple of days. Do the problems go away? Then maybe something is getting overloaded with waiting connections (if it takes > 10 seconds do do something every 10 seconds ...)

Re: Python plugin: Presence detection from wireless router

Posted: Thursday 16 April 2020 11:01
by Ray-Man
Hi EscApe,

i'll dig into this and let you know the outcome.

Regards.

Re: Python plugin: Presence detection from wireless router

Posted: Thursday 16 April 2020 23:31
by Geitje
I wil try this sometime next week, and report back! Right now I have 25-30 time-outs reported a day, I will check it will be less when time-out increases.
EscApe wrote: Thursday 16 April 2020 7:01
Could you try increasing the hard coded timeout in the plugin code? It's on line 20 of http_orbi.py (but I guess you already knew that;-))

Code: Select all

http_response = self.http_session.get(self.orbi_url, verify=False, timeout=8)
If a longer timeout solves this issue, then it still might not be the best solution to permanently increase it. A lot of waiting connections could cause Domoticz to hang when trying to stop the plugin.

Re: Python plugin: Presence detection from wireless router

Posted: Friday 17 April 2020 10:45
by tsf0x13
EscApe wrote: Thursday 16 April 2020 6:47
tsf0x13 wrote: Wednesday 15 April 2020 10:52
EscApe wrote: Sunday 12 April 2020 23:17

Microtik can not be auto detected because it uses a proprietary operating system called routerOS. The plugin offers support for routeros, by specifying the tracker type:

Code: Select all

192.168.24.10#type=routeros
In addition there are two alternative tracker types:
routeros-arp and routeros-capsman (requires capsman installed on router)
Have the same error:
2020-04-15 11:49:19.061 Error: (Presense) 192.168.24.10 ====> SSH Could not connect (using password). Exception: Authentication failed.

But i can login to microtik from rapberry pi with these creditionals
- from root shell
-from pi shell
Strange ... can you try setting a tracker specific password this way:

Code: Select all

192.168.24.10#type=routeros&user=<youruser>&password=<yourpw>
Other things to check out:
- Remove any special characters from the routers ssh password (to rule them out as a possible cause)
- Some routers only allow specific usernames to connect to ssh, like 'admin'
unfortunately did not help =(
Ok. Thanks for response, i think i'll use scripts on microtik side.

Re: Python plugin: Presence detection from wireless router

Posted: Friday 17 April 2020 10:56
by EscApe
tsf0x13 wrote: Friday 17 April 2020 10:45 unfortunately did not help =(
Ok. Thanks for response, i think i'll use scripts on microtik side.
You could also try key-based authentication as described on https://wiki.mikrotik.com/wiki/Use_SSH_ ... key_login)
Make sure you configure it for the raspberry user that is running Domoticz (probably root).

Re: Python plugin: Presence detection from wireless router

Posted: Friday 17 April 2020 11:42
by eleutscher
I installed/configured the plugin last wednesday. In the night to thursday my Domoticz became unresponsive because of this.
Yesterday I decreased the poll to 10 min but still after a couple of hours SSH errors.
SSH Could not connect (using password). Exception: Authentication timeout.
It begins with SSH failed with exception: Timeout opening channel. and then every poll SSH Could not connect (using password). Exception: Authentication timeout.
I disabled the plugin so that my Domoticz still keeps working. Any idea why after a while it starts the SSH time out issues?

Re: Python plugin: Presence detection from wireless router

Posted: Friday 17 April 2020 12:23
by EscApe
eleutscher wrote: Friday 17 April 2020 11:42 I installed/configured the plugin last wednesday. In the night to thursday my Domoticz became unresponsive because of this.
Yesterday I decreased the poll to 10 min but still after a couple of hours SSH errors.
SSH Could not connect (using password). Exception: Authentication timeout.
It begins with SSH failed with exception: Timeout opening channel. and then every poll SSH Could not connect (using password). Exception: Authentication timeout.
I disabled the plugin so that my Domoticz still keeps working. Any idea why after a while it starts the SSH time out issues?
I have never seen these timeouts in my setup, but there was another similar report recently. Maybe something has changed in Domoticz/linux/paramiko??
Can you provide the following information, so I can investigate?
- Router make and model and firmware version
- Domoticz version
- Linux Version
- Python and Paramiko version
A debug log might also offer more information

Re: Python plugin: Presence detection from wireless router

Posted: Friday 24 April 2020 10:48
by edg1972
Hi,

I've written some code to make iDetect work with the TP-link Omada WiFi controller. I've successfully tested it against Omada version 3.2.6 on Linux.

Note that although newly connected devices are detected quickly, devices that disconnect from WiFi remain up to 5 minutes in the Omada clients table for some reason. This is an Omada thing and I haven't found a solution for it yet.

I hope the code is useful

Regards,
Erik