Skip navigation
1 2 Previous

Pi IoT

17 Posts authored by: rhe123
The challenge deadline is almost there, so it's time for a final demonstration! In this last post I'll show you the results of my work in a video and then describe what I did and what I'm planning to improve in the future.   Let's start with the fun part: I present you a relaxed evening at Thuis!     I'll continue this blog in the same style as my previous [Pi IoT] Thuis #9: Status Update and will give you the latest status of all the projects and use cases.   Open Sou ...
Plex is software which makes it possible to enjoy all of your media on all your devices. When on the server you create a library based on video (and music, photos, etc) files, Plex finds the corresponding metadata and gives you an easy to use interface to browse and play your movies. You can interact with Plex through its API and you can keep up-to-date with what's happening on each client by subscribing to the WebSockets channel. In this last part of the Home Theater series we'll integrate Plex ...
In [Pi IoT] Thuis #11: Final implementation UI design you saw our Thuis iOS app, which has a few buttons for controlling the Home Theater. In this post we'll make sure they work well. For brevity I will describe only the main scene: it makes sure we can watch anything on the Apple TV.   Defining devices Before we can use any devices in Thuis we have to define them. You might remember from [Pi IoT] Thuis #8: Core v2: A Java EE application that we have a class Devices containing static defini ...
An important part of Thuis is integration of our Home Theater system. As the integration is quite extensive and consists of several components, this will be a 3-part blog series. In the first part we start with communicating to CEC-enabled devices from a Raspberry Pi. In the second part we will integrate CEC with the rest of Thuis, and make sure everything works properly together. In the third - and last - part of the Home Theater series we will add the support for Plex.   CEC Let's start ...
One of the goals of Thuis is optimizing it's own rule engine based on actual activity in the house. Although time is to short to actually start the optimization, with this blog we'll start collecting presence data using iBeacons. As a bonus we solve the Welcome Home use case!   iBeacons monitoring, ranging and indoor location iBeacons (in my case by Estimote) are little Bluetooth LE devices which on regular intervals broadcast their identifiers. Mobile apps can use this as a way of determin ...
One thing I forgot to show you earlier is how to install Z-Wave devices into your house. In this post I'll install a dimmer module in the bedroom, which will be part of the wake up light.   Materials used The materials I'm going to use are the following: Fibaro Dimmer 2 – the actual Z-Wave dimmer Fibaro Bypass 2 – needed when using LED lights Philips Dimmable LED – 6W/470lm (comparable to 40W), warm white Jung 535 EU – 2 push buttons Some electrical wire   ...
From my holiday location at the coast of Bulgaria I finished up the implementation of the UI of Thuis. It works nicely on both the iPhones and the iPad on the wall. This blog will give you a demo and bring you up-to-date with some of the changes I made since the last post.     Adding the Slider Tile I already implemented the UICollectionViewController and several tiles in the last blog post, however it was lacking the SliderTile implementation. For this several changes were needed, f ...
How useful would a home automation system be where you could only interact through MQTT messages? Not very, so that's why we'll start working on the User Interface today. The goal is to create some generic UI elements, which can be linked to the MQTT topic. The element will display the current status clearly and will let the user interact with it.   For now there will be three types of UI elements, which can be placed in a grid of tiles. These elements are: Button – a simple push bu ...
I’ve been busy with a few other things, so that’s why it has been silent on the IoT front. As I also just past half of the blog posts, I thought this would be good time to reflect on the plan and report the latest status. In this blog I’ll go through all projects/libraries and use cases presented in the plan and show the status. Some to-do’s are marked italic: these might happen after the challenge deadline.   Open Source Projects These are the projects that I’ ...
Since quite some time my home automation is build around a core app made in Java EE. As part of this challenge I'm improving the core and integrating it more tightly through MQTT. The core is responsible for coordinating all nodes and enforcing the business rules for our home.   Introduction The Thuis core runs on the Raspberry Pi 3 in a WildFly container. Like all nodes it's connected to the MQTT broker for communication with the rest of the system. It also takes care of communication with ...
Now we have a working Raspberry Pi 3 with Z-Way it's time to connect it to the backbone of Thuis: MQTT. For this I developed a custom userModule/app. In this post I'll explain what it does, how to use it and how it works.   Goal The app enables Z-Way to send and receive MQTT messages. Whenever the status of one of the selected devices changes it will be published to a topic. Based on these topics some other topics are available to change the status of the devices or request a status update. ...
Last week I explained how I'm using Chef to provision my Raspberry Pi's and the recipes in my Thuis cookbook. Back then I didn't have a Raspberry Pi 3 yet, so I tested it on an older model. This week the kit arrived, so I'll bring the bootstrapping in practice on the Raspberry Pi 3! Not everything went as expected, so this is a good subject for this blogpost.   The Kit   Installing the Raspberry Pi 3 As mentioned before I'm using raspbian-ua-netinst as a basis for my install, as this ...
In my last post I explained the basics of Chef, and in the last week I worked on defining the configuration of each node. I selected several cookbooks from the Supermarket and wrote some myself. Using a series of recipes I defined the software and configuration of two of the nodes of Thuis in the Thuis Cookbook. In this post I’ll show you my choices and give some code samples to let you set up your own Chef config.   Let’s start with some of the cookbooks I’m using from t ...
Inspired by one of the other challengers I started to experiment with Chef. fvan is using Puppet to provision his Raspberry Pi's. To get more knowledge on the several tools out there we decided to both try one. So that's why I started using Chef.   Chef vs Puppet Both tools are open source projects built for automatically provisioning nodes with software and configuration. They both have a fairly similar setup using a server and clients on all nodes. The biggest difference is in how you man ...
To make the Thuis app as flexible and efficient as possible a solid architecture is needed for the system. Different systems have different properties, which are most important, for Thuis it's important to provide the wanted functionality, be reliable, usable and adaptable. Functionality and usability are the most obvious: without the wanted functionality the system doesn't do anything. And when it's not easier in use as the non-automated (old-fashioned) situation, it won't be used at all. Thui ...