Page 4 of 9

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Monday 12 June 2017 22:15
by Phantom
bdormael wrote:
TakeAway wrote:Works for some time, but domoticz crashes. Is there a solution for this?
Same issue here, 2 times a day Domoticz crashes now, when disabling the plugin, no crashes anymore


Verzonden vanaf mijn iPad met Tapatalk
Sadly domoticz is crashing here also, had to disable the plugin :(

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Monday 12 June 2017 22:36
by assenzuid
Not stable at the moment, more plug-ins have issues.

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Monday 12 June 2017 23:43
by Logread
assenzuid wrote:Not stable at the moment, more plug-ins have issues.
I think so... there have been many changes in the recent domoticz versions in the python framework that is from what I gather far from stable yet... and the latest beta builds from the website do not seem to compile with python active... so while I am happy that my plugin attracts interest, I strongly urge you to first check domoticz's ability to run other python plugins as well, before we can suspect some issue with my plugin... I am very happy with my three production systems running the BatteryLevel plugin with domoticz version 3.7421...

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Tuesday 13 June 2017 12:58
by bdormael
Maybe excerpt from Domoticz logfile below will help in troubleshooting the plugin/Domoticz issue:

Code: Select all

2017-06-13 11:41:43.603  (Battery) Calling message handler 'onHeartbeat'.
2017-06-13 11:41:43.603  Error: (Battery) 'onHeartbeat' failed 'TypeError':'<module>() takes 0 positional arguments but 1 was given'.
2017-06-13 11:41:43.603  Error: (Battery) ----> Line 181 in /home/pi/domoticz/plugins/BatteryLevel-master/plugin.py, function onHeartbeat
2017-06-13 11:41:44.010  Hardware Monitor: Fetching data (System sensors)
2017-06-13 11:41:51.768  (RFXCOM) Temp + Humidity (Thermometer Badkamer Boven)
2017-06-13 11:41:53.571  (Battery) Calling message handler 'onHeartbeat'.
2017-06-13 11:41:53.572  Error: (Battery) 'onHeartbeat' failed 'TypeError':'<module>() takes 0 positional arguments but 1 was given'.
2017-06-13 11:41:53.572  Error: (Battery) ----> Line 181 in /home/pi/domoticz/plugins/BatteryLevel-master/plugin.py, function onHeartbeat
2017-06-13 11:42:03.588  (Battery) Calling message handler 'onHeartbeat'.
2017-06-13 11:42:03.588  Error: (Battery) 'onHeartbeat' failed 'TypeError':'<module>() takes 0 positional arguments but 1 was given'.
2017-06-13 11:42:03.588  Error: (Battery) ----> Line 181 in /home/pi/domoticz/plugins/BatteryLevel-master/plugin.py, function onHeartbeat
2017-06-13 11:42:04.529  (RFXCOM) Temp (Temperatuur Strijkkamer)
2017-06-13 11:42:12.359  (RFXCOM) Temp (Temperatuur Slaapkamer Lauren)
2017-06-13 11:42:13.605  (Battery) Calling message handler 'onHeartbeat'.
2017-06-13 11:42:13.605  Error: (Battery) 'onHeartbeat' failed 'TypeError':'<module>() takes 0 positional arguments but 1 was given'.
2017-06-13 11:42:13.606  Error: (Battery) ----> Line 181 in /home/pi/domoticz/plugins/BatteryLevel-master/plugin.py, function onHeartbeat
2017-06-13 11:42:14.084  Hardware Monitor: Fetching data (System sensors)
2017-06-13 11:42:17.313  (RFXCOM) Temp (Temperatuur Keuken)
2017-06-13 11:42:20.585  (RFXCOM) Temp + Humidity (Thermometer Speelkamer)
2017-06-13 11:42:23.623  (Battery) Calling message handler 'onHeartbeat'.
2017-06-13 11:42:23.635  Error: Domoticz received fatal signal 6 !...
2017-06-13 11:42:23.638  Error:   /home/pi/domoticz/domoticz() [0x1cc844]
2017-06-13 11:42:23.638  Error:   /home/pi/domoticz/domoticz(_Z14signal_handleri+0x58) [0x1cc8fc]
2017-06-13 11:42:23.638  Error:   /lib/arm-linux-gnueabihf/libc.so.6(__default_sa_restorer_v2+0) [0x76abd180]
2017-06-13 11:42:23.638  Error:   /lib/arm-linux-gnueabihf/libc.so.6(gsignal+0x38) [0x76abbf70]

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Tuesday 13 June 2017 17:32
by Logread
bdormael wrote:Maybe excerpt from Domoticz logfile below will help in troubleshooting the plugin/Domoticz issue:
Thanks, but I am not seeing this with BatteryLevel plugin version 4.0.3 (latest) and Domoticz version 3.7421 (Compile Date: 2017-05-06) ... can you tell me which versions of the plugin and domoticz you are using ?

EDIT: I upgraded my development system (Debian Linux in VirtualBox) to today's latest version 3.7969 to test the plugin and it works just fine... But I had to compile domoticz myself since the builds from the domoticz.com website do not even start... So I can only urge those of you who have issues to turn their attention to the current instability in the ready-to-use domoticz installations/update.
Please only use this thread for issues related to the plugin itself. Thanks !

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Tuesday 13 June 2017 18:51
by bdormael
Logread wrote:
bdormael wrote:Maybe excerpt from Domoticz logfile below will help in troubleshooting the plugin/Domoticz issue:
Thanks, but I am not seeing this with BatteryLevel plugin version 4.0.3 (latest) and Domoticz version 3.7421 (Compile Date: 2017-05-06) ... can you tell me which versions of the plugin and domoticz you are using ?

EDIT: I upgraded my development system (Debian Linux in VirtualBox) to today's latest version 3.7969 to test the plugin and it works just fine... But I had to compile domoticz myself since the builds from the domoticz.com website do not even start... So I can only urge those of you who have issues to turn their attention to the current instability in the ready-to-use domoticz installations/update.
Please only use this thread for issues related to the plugin itself. Thanks !
Thx for the answer.

It only crashes once or twice per day so just checking if it works for 5 minutes is probably not sufficient.

I use the latest beta build of Domoticz and the latest version of your plugin.

For now I will uninstall your plugin and go back to my own scripting of reading battery devices.

Good luck with the plugin in the future.
Just for your information, other plugins I use do just work fine.


Verzonden vanaf mijn iPad met Tapatalk

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Tuesday 13 June 2017 22:35
by Logread
@bdormael,

Please do not get me wrong...
I made this plugin public in case others would find it useful... I am not a professional developer.

I cannot reproduce the errors you have been seeing... BUT I welcome you looking into the code and your systems specifics and I will happily implement whatever improvement you can suggest

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Wednesday 14 June 2017 9:51
by brianhunt
Had the issue that after installing the latest beta, none of my devices were shown any more. Solved it by using

Code: Select all

chmod 755 domoticz/plugins/BatteryLevel/plugin.py
Need to monitor if the system is stable now...

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Wednesday 14 June 2017 19:01
by Phantom
Hey Logread, domoticz is running fine here for a long time but as soon as i activate this plugin it crashes within 24 hours.
Debian version (up to date):
pi@raspberrypi:~ $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 8.0 (jessie)
Release: 8.0
Codename: jessie

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.9.24-v7+ #993 SMP Wed Apr 26 18:01:23 BST 2017 armv7l GNU/Linux

Domoticz version:
Version: 3.7722
Build Hash: dce48ed
Compile Date: 2017-06-12 15:49:30

Last lines in the domoticz log file:
2017-06-14 17:54:31.071 Hardware Monitor: Fetching data (System sensors)
2017-06-14 17:54:31.088 Error: Domoticz received fatal signal 11 !...
2017-06-14 17:54:31.091 Error: /home/pi/domoticz/domoticz() [0x1cca74]
2017-06-14 17:54:31.091 Error: /home/pi/domoticz/domoticz(_Z14signal_handleri+0x58) [0x1ccb2c]
2017-06-14 17:54:31.091 Error: /lib/arm-linux-gnueabihf/libc.so.6(+0x24fd0) [0x76afefd0]

Would it help to make some debug files (and how then)?
Let me know if you need any more information or what i can do.

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Wednesday 14 June 2017 19:34
by Logread
@Phantom,

Many thanks for the detailed report...

I'll investigate tomorrow if I find the time but a cursory look at the log extracts you sent reminded me of some other comments in the forum regarding some of the latest domoticz builds and python framework errors... see https://www.domoticz.com/forum/viewtopi ... 11#p137821 for instance

I just upgraded my test system today with the latest build from the website (3.7972) and it seems stable. Your own risk (since these are anyway all beta releases...), but you may want to upgrade your domoticz version. Anyway I'll let my test virtual machine run for a while and see... It seems some of the recent changes in the python framework of domoticz broke many things but I see its developers are Orking hard on fixing these.

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Wednesday 14 June 2017 19:57
by Phantom
Thanks for the reply, it could be the whole python issue indeed but i am no developer at all.
i will keep updating my domoticz to the latest version and hope the will get python stable soon, guess i am a little impatient.

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Wednesday 14 June 2017 21:27
by brianhunt
Unfortunately, my domoticz system also crashed after about 9 hours (currently on version 3.7972). Guess we all have to wait for some stability in the python plugin area (also have issues with sonos plugin)...

@Logread: your work is very much appreciated!!

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Friday 30 June 2017 22:19
by mivo
Hi Logread,

I am testing your plugin, It is running OK for more than 1 day on my RPi without issues. I have beta 3.8025 compiled from source. Battery level of 2 Zwave radiator valves is reported correctly. Great work !

One minor suggestion - please try to set Domoticz.Heartbeat parameter in OnStart function. It will use longer interval of heartbeat calling (10 sec. by default) and can decrease CPU load. It will not worsen this plugin work - battery values updated every 30 mins. or more.

Example:

Code: Select all

def onStart(self):
    ...
    Domoticz.Heartbeat(60)
    ...

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Saturday 01 July 2017 9:17
by Logread
mivo wrote:Hi Logread,

I am testing your plugin, It is running OK for more than 1 day on my RPi without issues. I have beta 3.8025 compiled from source. Battery level of 2 Zwave radiator valves is reported correctly. Great work !

One minor suggestion - please try to set Domoticz.Heartbeat parameter in OnStart function. It will use longer interval of heartbeat calling (10 sec. by default) and can decrease CPU load. It will not worsen this plugin work - battery values updated every 30 mins. or more.
Thanks for your feedback.
Regarding the changing of the Heartbeat, your point is taken, though I will test this first against the warning on the wiki about heartbeat set to longer than 30 seconds:
Set the heartbeat interval in seconds, default 10 seconds. Values greater than 30 seconds will cause a message to be regularly logged about the plugin not responding. The plugin will actually function correctly with values greater than 30 though.
If I decide to implement this (that is is there is no annoying side effect such as clogging the logs), I will rather change the heartbeat interval after the first call to onHeartbeat function rather than in the onStart function, so that the battery levels remain updated 10s after the plugin is started as currently setup.
That being said, i have now four plugins I wrote using the same heartbeat code stucture running concurrently on the same system and I have not noticed any material load on the CPU or delays (on a Raspberry).

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Saturday 01 July 2017 12:42
by marco.bag
Thank you!
Testing right now :)

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Friday 18 August 2017 17:59
by lmet
Thanks for this plugin
I have to stop it because many logs with error :

Code: Select all

2017-08-17 13:33:33.449 Error: (Modules batteries) Failed to update device unit 39
Probably due to waking time of sensative strips which is 24 hours by default.
I set polling interval to 720 mn but remains the same. Do I have to set it to 1440 mn ?

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Friday 18 August 2017 19:10
by Logread
lmet wrote: Friday 18 August 2017 17:59 Thanks for this plugin
I have to stop it because many logs with error :

Code: Select all

2017-08-17 13:33:33.449 Error: (Modules batteries) Failed to update device unit 39
Probably due to waking time of sensative strips which is 24 hours by default.
I set polling interval to 720 mn but remains the same. Do I have to set it to 1440 mn ?
I doubt this is related to polling. This error is thrown when the plugin cannot update one of its child devices (unit(s))... Possibly you deleted this device or the plugin for some reason failed to create it in the first instance... Do you see in the Setup / Devices tab any device with the plugin's hardware name and a unit number 39 ? If not, can you try to restart the plugin ("update" it in the hardware tab) and see if the device is created ?

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Saturday 19 August 2017 16:15
by lmet
Thanks
I see it in Setup/Devices and in Utility tab
img_005.jpg
img_005.jpg (17.37 KiB) Viewed 3843 times
39 is the z-Wave node number of this Sensative strips module.

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Saturday 19 August 2017 18:43
by Logread
lmet wrote: Saturday 19 August 2017 16:15 Thanks
I see it in Setup/Devices and in Utility tab
img_005.jpg
39 is the z-Wave node number of this Sensative strips module.
Wierd... is this deviçe 39 the only zwave node causing an error in the logs ? If so, would you mind sharing by pm (en Français même) the content of the openzwave data file ( usually ~/domoticz/Config/zwcfg_0x????????.xml" where ???????? is the unique home id of your zwave controller) ?

Re: Python plugin: Battery Level for Z-Wave Devices

Posted: Tuesday 22 August 2017 18:29
by Logread
Thanks @imet for uncovering a small bug causing an update error for devices with a bettery level >= 25% and < 50% (typo in the code: wrong icon name).
This is corrected in version 0.4.4 available from GitHub (see https://www.domoticz.com/wiki/Plugins/BatteryLevel.html for updating instructions)