Automation Health Monitoring

I have a lot of stuff besides OH that I want to monitor so my setup is probably more than most average OH users would need to worry about.

I have two tiers of monitoring:

Tier 1: Status that impacts the home automation

There are some cases where OH cares whether or not a device is online or not and it might take action or take a different action based on that status. For example, I’ve a rule that will send a notification when someone tries to trigger the garage door opener but the opener is offline.

In that case I add a status Item to the Equipment and set it to OFF when the device goes offline.

How do I detect it’s offline? It depends.

  • Devices integrated with OH over MQTT use the LWT topics to drive the status Item
  • Devices that use a binding but are otherwise on the network use the Network binding.
  • In cases where a Thing may go OFFLINE when the device is unavailable I use Thing Status Reporting [;] to detect and update the status Item accordingly
  • Finally, in cases where detecting if it’s offline means that the device just stops reporting for a time I use Threshold Alert and Open Reminder [;].

I use Service Status Standalone Widget to report the online statuses of the home automation Equipment.

I also have a rule that sends me an email when a device goes offline (also based on the Threshold and Alert rule template) and another that sends me an email in the morning with a list of all the devices that are still offline.

Tier 2: General service and machine monitoring

To detect when OH itself goes offline, as well as any of the other many services I run (Plex, Nextcloud, Calibre, etc.) I use Zabbix. This runs an agent on my various machines and reports their status. When ever a docker container or service or machine goes offline (or some other system statistic goes out of range) I get an email.

Of course if the VM where Zabbix itself is running goes offline I’m won’t get the email but so far that’s not happened. But I could set up a watchdog to send me an email if I ever get worried about that. I wonder if Proxmox has something I can set up to do that…