Continue reading "Automatically start a fullscreen browser on a Raspberry Pi - show openHAB HABpanel"
Recently I installed a Raspberry Pi with Raspbian, and attached a touchscreen to it. The device is supposed to work as a display for our openHAB home automation system. All nice and shiny, except the Pi occasionally disconnects from the Wi-Fi - apparently in order to safe power. Once the network device is needed, the Wi-Fi is reconnected. That is the default setting.
That is quite annoying, because the HABpanel will lose it's connection to the openHAB server, and no longer show widget updates. Some widgets like "time" will just continue to work, but other widgets like status of the washing machine, or the current outside temperature just show the last state, and never update.
Continue reading "Raspberry Pi: disable Wi-Fi powersave, and stay connected all the time"
Continue reading "SMART error (ErrorCount) detected on host - but the NVRAM disk is perfectly fine"
Installing a new Raspberry Pi is always the same few steps, and still I have to look them up almost every time. Here is the summary.
Continue reading "Raspberry - Raspbian - First steps"
When I go Scuba Diving, I use two diving computers. It's always good to have a fallback, right? My main computer is a ScubaPro Uwatec Galileo Luna. That's a wrist mounted computer with hoseless air-integration. That means that a sender is connected to the first stage of the regulator, and it transmits data to the wrist computer. In addition the computer records data like depths, consumption, temperature, alarms ect. My fallback is an air-integrated console mounted Suuntu Cobra. I check this computer too when I'm under water, but mostly for the most conservative reading for the safety stop.
The Luna computer has an IrDA port, and using a USB Infrared Adapter (I'm using an IRwave 3902B500) I was able to read all the dive logs from the computer into Subsurface. However at some point, Linux decided that IrDA is no longer worth supporting, and they removed the support and modules in Linux 4.17.
It's possible to read the most basic data about each dve on the computer display itself, but you won't get all the details, and the profiles.
Continue reading "Reading data from my Scuba Diving computer after Linux removed IrDA support"
If a disk failure happens, the disk is replaced with a similar disk, and then needs to be configured and re-added to the RAID.
Newer systems all use the GUID partition table (GPT), and therefore allow almost unlimited disk sized. Instructions for re-adding a disk using GPT are a bit different from the days when MBR (up to 2 TB disk space) was used, therefore I'm writing them down here for future use.
Continue reading "Replace and re-add a failed drive to a Linux software RAID"
You might know that problem: the brand new SSD in your system is super fast, but after a good time using it, the card is dead. Unlike spinning disks, which usually fail over time, and show I/O errors by blocks, SSD cards are prone to a problem called "Wear leveling". Blocks which are written more often will "wear out", and become unresponsible. More writes increase this risk. And a typical openHAB system does a number of writes all the time: every time an external status changes, it's written to the event log. By default the syslog is written to disk as well, and then there is a myriad of systemd services, writing status information into files.
Continue reading "Avoid "wear out" of SSD-cards in an openHAB system"
Recently I started looking into Home Automation, using a Raspberry Pi and the openHAB as platform. The website provides ready-to-go images based on Debian, named openHABian. Me being me, I decided to install the image, let it boot up for the first time, and then take it from there using Ansible as automation tool. That's a bit more effort in the beginning, but ensures that I can always just wipe the SDcard, and start over from the beginning. Especially useful if I screw up at some point during testing.
One of the first steps to do is to decide which bindings, or extensions, are needed. Bindings provide openHAB with information about what kind of hardware and input sources are available out there. The list of available bindings is long, and one can use the UI to click and install bindings, before starting to configure and link them. That process is not idempotent, but luckily openHAB also provides an API which can be used to execute the same steps, just faster and automated.
Continue reading "Install openHAB2 bindings using Ansible"
It was time to pick a new mobile phone for myself. Not being very happy with the Samsung I have from my employer, I compiled a list of decent Android phones, and looked into each of them. In the end, I settled with the Huawei P10.
All in all, it was a good choice, and I'm happy with the device. It's fast, has enough memory, USB-C, receives updates, has a headphone jack and a slot for either an additional SIM or an SD card.
Continue reading "Huawei P10"
At home I have two different WiFi networks, both known to all my mobile devices. One is our internal network, password protected. The other one is an open Freifunk network. It's nice to walk around in the village and automatically connect to other Freifunk WiFi routers, instead of using expensive mobile data.
But when at home I really want my devices connected to our internal network. Makes it easy to copy files between devices, or access services only available in our internal network. Plus the native WiFi connection is much faster than the Freifunk connection, which is limited by the speed of the VPN.
However Android connects to the last used WiFi network, and when the last one was another Freifunk router, it will connect to this network at home as well. By default, Android does not allow to prioritize networks. That's where "WiFi Prioritizer" comes to the rescue!
Continue reading "How to prioritize WiFi connections on Android"