UncleSamSwiss / ioBroker.loxone

ioBroker adapter for Loxone Miniserver
Apache License 2.0
28 stars 25 forks source link

Option to fetch Miniserver PLC readings #337

Open raintonr opened 2 years ago

raintonr commented 2 years ago

There are a number of PLC type statistics available from the Miniserver, documented here (CPU, interrupts, LAN packets sent/received, etc, etc):

https://www.loxone.com/enen/kb/web-services/

While these are maybe not of interest to some, I think it would be useful to have at least an option to fetch these periodically. Once fetched they could be used in any way a user wishes. For example I would graph them in an InfluxDB/Grafana dashboard but also...

I have been thinking about this for a some time now, but yesterday a condition occurred as a result of my Miniserver config that caused a nasty feedback loop, which in turn was causing the Miniserver to run slowly and cause issues with our KNX bus. I quickly addressed this once I noticed, but...

If ioBroker was watching the PLC statistics imagine this could have been detected in a more timely manner by spotting a peak in CPU/interrupt or other activity and an alert been triggered so I could have investigated the issue sooner.

As a side issue, I notice that on re-booting the Miniserver an attempt to reconnect is tried many times during a reboot. Using http://miniserver/dev/sps/state to wait for the correct state before attempting a reconnect may be more efficient.

raintonr commented 2 years ago

It strikes me that ioBroker.parser could do this, but within that adapter one manually has to configure every statistic/reading they are interested in. Maybe if the parser adapter had some kind of template ability to add numerous objects for the same device type via some kind of configuration import (which in this case would be for a Loxone Miniserver) that avenue might be more appealing.

raintonr commented 2 years ago

So using ioBroker.parser as discussed (https://github.com/ioBroker/ioBroker.parser/issues/75#issuecomment-1272091620) I created a little JS file that one runs to add all the necessary config for the parser adapter.

At first this overloaded my Miniserver every time it was polled so added a delay (see https://github.com/ioBroker/ioBroker.parser/issues/77) which solved the problem.

Now working great :smile:

Perhaps we could add a little 'wizard' thing to the Loxone adapter that prompts the user for host/user/pass/parser instance fields and then creates the necessary parser config?