Skip to content

Online indicator for remote controllable power plugs in openHAB

Recently I installed a number of new power sockets (like this one). The Hue bridge can not only add each switch to a light group, but also reports each plug as a Thing in openHAB. There I thought it will be a nice touch if openHAB actually reports when it sees a device plugged in. The power socket has a LED which turns on when the plug is on. The Hue bridge reports OFFLINE and ONLINE. That's useful.

The plan is to turn the LED light - and the power plug - on and off for a few second.

 

Continue reading "Online indicator for remote controllable power plugs in openHAB"
  • Twitter
  • Bookmark Online indicator for remote controllable power plugs in openHAB at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg Online indicator for remote controllable power plugs in openHAB
  • Bloglines Online indicator for remote controllable power plugs in openHAB
  • Technorati Online indicator for remote controllable power plugs in openHAB
  • Fark this: Online indicator for remote controllable power plugs in openHAB
  • Bookmark Online indicator for remote controllable power plugs in openHAB at YahooMyWeb
  • Bookmark Online indicator for remote controllable power plugs in openHAB at Furl.net
  • Bookmark Online indicator for remote controllable power plugs in openHAB at reddit.com
  • Bookmark Online indicator for remote controllable power plugs in openHAB at blinklist.com
  • Bookmark Online indicator for remote controllable power plugs in openHAB at Spurl.net
  • Bookmark Online indicator for remote controllable power plugs in openHAB at Simpy.com
  • Bookmark Online indicator for remote controllable power plugs in openHAB at blogmarks
  • Bookmark Online indicator for remote controllable power plugs in openHAB with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca

Restic backup

Was asked quite a few times how I do my backups with Restic.

For more than 10 years I was using "Duplicity" for backups, but in 2019 I changed to Restic. The main reason for the change was that Duplicity still can't handle "Big Data", as in: larger directories. In 2009 someone opened an issue on the Duplicity bugtracker, and this problem still exists as of today. For about two years I was shifting around the problem, excluding files, trying to make the sigfile smaller. But at some point I decided that it is enough and I need to change the tool.

Duplicity knows two backup modes: "full backup" and "incremental backup". Once in a while you take a full backup, and then you add incremental backups to that full backup. In order to restore a certain backup you need the full backup and the incremental backups. Therefore my go-to mode was to always have two full backups and a couple incremental backups in-between. Even if something goes wrong with the latest full backup, I can still go back to the previous full backup (of course with some changes lost, but that's still better than nothing). When taking a new full backup, the oldest one is only deleted when the new one is completed. Accordingly when a new incremental backup is created, it's a new set of files. Removing the backup removes all the files from this incremental backup. That worked well, but needed scheduling. Over time I wrote a wrapper script around Duplicity, which did schedule new full and incremental backups.

Restic works in a different way. There is no concept of "full backup" and "incremental backup". Basically every backup is a full backup, and Restic figures out which files changed, got deleted, or added. Also it does deduplication: if files are moved around, or appear multiple times, they are not added multiple times into the backup. Deduplication is something which Duplicity can't do. But because Restic can do deduplication, there is no common set of files which belong to a single snapshot. Data blobs from one backup can stay in the repository forever, removing snapshots might not remove any files at all.

Restic on the other hand needs "prune" to remove old data. A snapshot can be removed according to the policy specified, but this does not remove the data from the backup directory. A "prune" run will go over the data and remove any block which is no longer needed.

My first question - after figuring out which other backup tool to use: shall I replicate the wrapper script, or try something else? Given that the backup doesn't need complex scheduling, I decided against writing a complex wrapper. And since I am now deploying all devices with Ansible, I decided to integrate this into my Playbooks, and deploy a set of shell scripts. The goal was to have a small number of dedicated scripts doing the daily backup work, and another set of "helper" scripts which I can use to inspect the backup, modify it, or restore something.

My main goals for this: "small number of programs/scripts" (Unix style: each tool does one job), "rapid development" (don't spend weeks writing another scheduler), "rapid deployment" (re-run Playbooks and let Ansible deploy this to all devices).

 

Continue reading "Restic backup"
  • Twitter
  • Bookmark Restic backup at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg Restic backup
  • Bloglines Restic backup
  • Technorati Restic backup
  • Fark this: Restic backup
  • Bookmark Restic backup at YahooMyWeb
  • Bookmark Restic backup at Furl.net
  • Bookmark Restic backup at reddit.com
  • Bookmark Restic backup at blinklist.com
  • Bookmark Restic backup at Spurl.net
  • Bookmark Restic backup at Simpy.com
  • Bookmark Restic backup at blogmarks
  • Bookmark Restic backup with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca

openHAB: Configuration model '....rules' has errors, therefore ignoring it: no viable alternative at input '...'

The openHAB rule system is not very helpful by pointing out when it's missing something, or when there is an error to actually point to the problem.

Was debugging an error message for a while and couldn't figure out what is wrong:

Configuration model '....rules' has errors, therefore ignoring it: [152,5]: no viable alternative at input '...'

The line number specified was somewhere else in the file, and had nothing to do with the rule in question. After removing almost everything from the rule, except a logInfo() message, the error still happened - and then it occured to me: I forgot to specify "Item".

My faulty code was:

rule "Rule Name"
when
    Sensor_name received update
then

where it should have been:

rule "Rule Name"
when
    Item Sensor_name received update
then

Error message totally not helpful ...

  • Twitter
  • Bookmark openHAB: Configuration model '....rules' has errors, therefore ignoring it: no viable alternative at input '...' at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg openHAB: Configuration model '....rules' has errors, therefore ignoring it: no viable alternative at input '...'
  • Bloglines openHAB: Configuration model '....rules' has errors, therefore ignoring it: no viable alternative at input '...'
  • Technorati openHAB: Configuration model '....rules' has errors, therefore ignoring it: no viable alternative at input '...'
  • Fark this: openHAB: Configuration model '....rules' has errors, therefore ignoring it: no viable alternative at input '...'
  • Bookmark openHAB: Configuration model '....rules' has errors, therefore ignoring it: no viable alternative at input '...' at YahooMyWeb
  • Bookmark openHAB: Configuration model '....rules' has errors, therefore ignoring it: no viable alternative at input '...' at Furl.net
  • Bookmark openHAB: Configuration model '....rules' has errors, therefore ignoring it: no viable alternative at input '...' at reddit.com
  • Bookmark openHAB: Configuration model '....rules' has errors, therefore ignoring it: no viable alternative at input '...' at blinklist.com
  • Bookmark openHAB: Configuration model '....rules' has errors, therefore ignoring it: no viable alternative at input '...' at Spurl.net
  • Bookmark openHAB: Configuration model '....rules' has errors, therefore ignoring it: no viable alternative at input '...' at Simpy.com
  • Bookmark openHAB: Configuration model '....rules' has errors, therefore ignoring it: no viable alternative at input '...' at blogmarks
  • Bookmark openHAB: Configuration model '....rules' has errors, therefore ignoring it: no viable alternative at input '...' with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca

Add a Google Calendar to openHAB

openHAB can integrate Google Calendars. The functionality is kind of limited, it can only see the current and the next calendar event, but in my case that is enough. More about the use case in another blog post.

There are three different calendar bindings available, let's have a quick look:

  • CalDAV Personal Binding: this is a v1 binding, which means it will no longer work in the soon-to-be-released openHAB v3. Apparently this works with Google calendars, but has performance issues. It can show the current and next event.
  • Google Calendar Scheduler: also a v1 binding. Needs more work for presense simulation, and additional bindings.
  • iCalendar Binding: v2 binding, should work with v3. It can show the current and next event. That's the one I'm going to use.

 

Continue reading "Add a Google Calendar to openHAB"
  • Twitter
  • Bookmark Add a Google Calendar to openHAB at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg Add a Google Calendar to openHAB
  • Bloglines Add a Google Calendar to openHAB
  • Technorati Add a Google Calendar to openHAB
  • Fark this: Add a Google Calendar to openHAB
  • Bookmark Add a Google Calendar to openHAB at YahooMyWeb
  • Bookmark Add a Google Calendar to openHAB at Furl.net
  • Bookmark Add a Google Calendar to openHAB at reddit.com
  • Bookmark Add a Google Calendar to openHAB at blinklist.com
  • Bookmark Add a Google Calendar to openHAB at Spurl.net
  • Bookmark Add a Google Calendar to openHAB at Simpy.com
  • Bookmark Add a Google Calendar to openHAB at blogmarks
  • Bookmark Add a Google Calendar to openHAB with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca

openHAB: faster loading of rules files

openHAB rules files are lazy loaded. When a rule is used the first time, the entire rule file is loaded and compiled, which apparently is single-threaded and takes a couple seconds. Even on a reasonable powerful Rasperry Pi 4. This happens both after restarting openHAB and after changing the rules file. It also means that whatever the rule in question is supposed to do has to wait a couple seconds when requested for the first time. Imagine you have a light switch, enter a room, press the switch, and it takes 5-10 seconds until the light comes on.

To work around this problem, I add a piece of code in all rules files which triggers an immediate action right after loading the file. This way the rules file is already pre-loaded (which again takes a couple seconds, but likely at a time when the rule is not needed right now).

 

Continue reading "openHAB: faster loading of rules files"
  • Twitter
  • Bookmark openHAB: faster loading of rules files at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg openHAB: faster loading of rules files
  • Bloglines openHAB: faster loading of rules files
  • Technorati openHAB: faster loading of rules files
  • Fark this: openHAB: faster loading of rules files
  • Bookmark openHAB: faster loading of rules files at YahooMyWeb
  • Bookmark openHAB: faster loading of rules files at Furl.net
  • Bookmark openHAB: faster loading of rules files at reddit.com
  • Bookmark openHAB: faster loading of rules files at blinklist.com
  • Bookmark openHAB: faster loading of rules files at Spurl.net
  • Bookmark openHAB: faster loading of rules files at Simpy.com
  • Bookmark openHAB: faster loading of rules files at blogmarks
  • Bookmark openHAB: faster loading of rules files with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca

Improve openHAB Rules response time

By default, openHAB only starts 5 threads to deal with execution of Rules. That's not a lot, and if all threads are busy, rules have to wait until a slot is free. This results in slow Rule response time.

This can be improved.

 

Continue reading "Improve openHAB Rules response time"
  • Twitter
  • Bookmark Improve openHAB Rules response time at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg Improve openHAB Rules response time
  • Bloglines Improve openHAB Rules response time
  • Technorati Improve openHAB Rules response time
  • Fark this: Improve openHAB Rules response time
  • Bookmark Improve openHAB Rules response time at YahooMyWeb
  • Bookmark Improve openHAB Rules response time at Furl.net
  • Bookmark Improve openHAB Rules response time at reddit.com
  • Bookmark Improve openHAB Rules response time at blinklist.com
  • Bookmark Improve openHAB Rules response time at Spurl.net
  • Bookmark Improve openHAB Rules response time at Simpy.com
  • Bookmark Improve openHAB Rules response time at blogmarks
  • Bookmark Improve openHAB Rules response time with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca

openHAB: Turn display on and off for a Video ChromeCast

After figuring out if a ChromeCast is currently used, it was time to fix a long-standing problem. At home we don't have TVs, just "dumb" displays, and stream content using ChromeCasts. However a video ChromeCast never really turns off, but keeps the display running, using a "Backdrop" app. This app keeps showing pictures on the display when the ChromeCast is not used otherwise, effectively preventing any powersafe mode.

That's both annoying (who wants to have pictures shown in the living room or working room all night), and consumes energy. It's also intentional by Google. So far we had to turn the display on and off manually, which is inconvenient.

 

Continue reading "openHAB: Turn display on and off for a Video ChromeCast"
  • Twitter
  • Bookmark openHAB: Turn display on and off for a Video ChromeCast at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg openHAB: Turn display on and off for a Video ChromeCast
  • Bloglines openHAB: Turn display on and off for a Video ChromeCast
  • Technorati openHAB: Turn display on and off for a Video ChromeCast
  • Fark this: openHAB: Turn display on and off for a Video ChromeCast
  • Bookmark openHAB: Turn display on and off for a Video ChromeCast at YahooMyWeb
  • Bookmark openHAB: Turn display on and off for a Video ChromeCast at Furl.net
  • Bookmark openHAB: Turn display on and off for a Video ChromeCast at reddit.com
  • Bookmark openHAB: Turn display on and off for a Video ChromeCast at blinklist.com
  • Bookmark openHAB: Turn display on and off for a Video ChromeCast at Spurl.net
  • Bookmark openHAB: Turn display on and off for a Video ChromeCast at Simpy.com
  • Bookmark openHAB: Turn display on and off for a Video ChromeCast at blogmarks
  • Bookmark openHAB: Turn display on and off for a Video ChromeCast with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca

openHAB: detect if a ChromeCast is currently used or idle

We have a couple of Audio and Video ChromeCasts in use. For an upcoming project I need to figure out if any of them is currently used. That is different for the Audio and the Video devices: the Audio just goes idle=ON, the Video devices however load the "Backdrop" app and show pictures when idling. Google for whatever reason does not want the attached monitor to go in powersafe mode. So much for saving energy ...

All of the action needs between a few milliseconds and 2-3 seconds once you start/stop using the ChromeCast.

A previous blog post explains how I add the ChromeCast devices. And I have monitoring in place.

 

Continue reading "openHAB: detect if a ChromeCast is currently used or idle"
  • Twitter
  • Bookmark openHAB: detect if a ChromeCast is currently used or idle at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg openHAB: detect if a ChromeCast is currently used or idle
  • Bloglines openHAB: detect if a ChromeCast is currently used or idle
  • Technorati openHAB: detect if a ChromeCast is currently used or idle
  • Fark this: openHAB: detect if a ChromeCast is currently used or idle
  • Bookmark openHAB: detect if a ChromeCast is currently used or idle at YahooMyWeb
  • Bookmark openHAB: detect if a ChromeCast is currently used or idle at Furl.net
  • Bookmark openHAB: detect if a ChromeCast is currently used or idle at reddit.com
  • Bookmark openHAB: detect if a ChromeCast is currently used or idle at blinklist.com
  • Bookmark openHAB: detect if a ChromeCast is currently used or idle at Spurl.net
  • Bookmark openHAB: detect if a ChromeCast is currently used or idle at Simpy.com
  • Bookmark openHAB: detect if a ChromeCast is currently used or idle at blogmarks
  • Bookmark openHAB: detect if a ChromeCast is currently used or idle with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca

Deutscher Wetterdienst notifications in openHAB and Telegram

The "Deutscher Wetterdienst" DWD (German Weather Service) provices a service which sends out alarms for upcoming events, like heavy rain, storm, blizzard, strong winds ect. This service is only available for Germany. And it has a binding for openHAB. Time to integrate this, activate a number of regions I'm interested in, and send notifications to our mobile phones.

At this point I'm really happy that I deploy my openHAB with Ansible, I can use the Template module and loop over the Items, Things and Rules.

The Binding can "track" multiple regions, so called Cell IDs. I'm interested in 4 different Cells (the list is available here), your mileage might vary. For each reagion there can be multiple messages - and although every single example I found only assumes there is only one message (warningCount=1), I already had a situation where a Cell had two warnings. That information likely goes missing if you set warningCount to 1. Given how much configuration overhead it is when you add more channels, I can understand why most examples stay at "1" for warningCount. Doubling the number doubles the number of Items (12 -> 24). However since I deploy everything in a template, that's not a problem here.

I started this with a generous warningCount=5 - and in my templates I just loop from 1 to 5, and over every Cell, and generate all the necessary Things and Rules for every channel.

Ok, the details:

 

Continue reading "Deutscher Wetterdienst notifications in openHAB and Telegram"
  • Twitter
  • Bookmark Deutscher Wetterdienst notifications in openHAB and Telegram at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg Deutscher Wetterdienst notifications in openHAB and Telegram
  • Bloglines Deutscher Wetterdienst notifications in openHAB and Telegram
  • Technorati Deutscher Wetterdienst notifications in openHAB and Telegram
  • Fark this: Deutscher Wetterdienst notifications in openHAB and Telegram
  • Bookmark Deutscher Wetterdienst notifications in openHAB and Telegram at YahooMyWeb
  • Bookmark Deutscher Wetterdienst notifications in openHAB and Telegram at Furl.net
  • Bookmark Deutscher Wetterdienst notifications in openHAB and Telegram at reddit.com
  • Bookmark Deutscher Wetterdienst notifications in openHAB and Telegram at blinklist.com
  • Bookmark Deutscher Wetterdienst notifications in openHAB and Telegram at Spurl.net
  • Bookmark Deutscher Wetterdienst notifications in openHAB and Telegram at Simpy.com
  • Bookmark Deutscher Wetterdienst notifications in openHAB and Telegram at blogmarks
  • Bookmark Deutscher Wetterdienst notifications in openHAB and Telegram with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca

Monitor additional details in Telegraf with the "Exec" input filter

After installing Telegraf and hooking up everything into InfluxDB, I was missing the status of my backups. Every system here creates encrypted backups every night, and stores them on a central NAS, and off-site. But I want to know statistics about the backups, and see if something is not working.

I'm using Restic for the backups (will blog about this another time). However Telegraf does not support Restic directly, I need a few workarounds. This blog post however is not directly about monitoring the backups, but about how to write your own plugin for Telegraf.

 

Continue reading "Monitor additional details in Telegraf with the "Exec" input filter"
  • Twitter
  • Bookmark Monitor additional details in Telegraf with the "Exec" input filter at del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • Digg Monitor additional details in Telegraf with the "Exec" input filter
  • Bloglines Monitor additional details in Telegraf with the "Exec" input filter
  • Technorati Monitor additional details in Telegraf with the "Exec" input filter
  • Fark this: Monitor additional details in Telegraf with the "Exec" input filter
  • Bookmark Monitor additional details in Telegraf with the "Exec" input filter at YahooMyWeb
  • Bookmark Monitor additional details in Telegraf with the "Exec" input filter at Furl.net
  • Bookmark Monitor additional details in Telegraf with the "Exec" input filter at reddit.com
  • Bookmark Monitor additional details in Telegraf with the "Exec" input filter at blinklist.com
  • Bookmark Monitor additional details in Telegraf with the "Exec" input filter at Spurl.net
  • Bookmark Monitor additional details in Telegraf with the "Exec" input filter at Simpy.com
  • Bookmark Monitor additional details in Telegraf with the "Exec" input filter at blogmarks
  • Bookmark Monitor additional details in Telegraf with the "Exec" input filter with wists
  • wong it!
  • Bookmark using any bookmark manager!
  • Stumble It!
  • Identi.ca