This post describes how I have setup an RFXtrx433E device with a Raspberry Pi to transform data from inexpensive 433 MHz motion- and climate-sensors into MQTT messages on my local network. With the data available as MQTT messages I can store the data in InfluxDB for viewing in Grafana, show the data in Home Assistant and route the data to cloud services.
OwnTracks is an open-source device tracker app for iOS and Android that lets you publish location data from your mobile phone. On the mobile app you can locate other connected devices on a map and get help navigating to the devices/friends/family members. With OwnTracks integrated in Home Assistant, you can create automation rules based on presence detection (for example, turn on the lights when someone gets home) or just keep an eye on where your youngsters (their phones) are from within the Home Assistant GUI.
What I really like about OwnTracks is that the creators encourages you to own and handle your private location data. Owntracks has a public broker but supports sending the location data with MQTT to your own private broker instead. To achieve this in my current home automation setup, I need to bridge an external broker with my within-LAN mosquitto broker that I use for my home automation.
As I use 433MHz transmitters for sending sensor data from many of my IoT-nodes, I have made a re-usable Arduino library for this purpose. The transmitted sensor data is picked up by one single receiver (an ESP8266 board) that converts the values to MQTT messages on my local network. In this post I will describe this library, my setup and also a set of new 433MHz transmitters and receivers that I have upgraded to.
I’ve been searching for an easy-to-get-started home automation platform that can be extended and customized as my needs grow. After struggling with OpenHAB, Domoticz and Freedomotic, I’ve found Home Assistant to be a much better fit for me. My main requirements are that the system should be open-source, have good tutorials & documentation, work well on a Raspberry Pi and be extensible for my likely future needs. I will spend this and a few upcoming posts with my Home Assistant experiments.
Recently I’ve had problems with my Raspberry Pi 3 overheating though I use a heat sink for the processor and have a very modest load on the machine. When the RPi is in this state, it shows a thermometer warning icon and it is not possible to login. As I can not access the machine, it is hard to investigate the cause of the heat problem (if a process has gone totally wild e.g.). The only way to resolve this is to do a hard reboot (then the temperature goes down again).
To investigate this further, I want to monitor the CPU temperature without accessing the RPi via ssh or a direct login. My idea is to let the RPi gather board temperature values regularly and then publish these via MQTT. An MQTT subscriber will see to that the measurements are propagated to a cloud service so that I can monitor the values in an external application. With IFTTT I can add alerts on the measurements (e.g. when the CPU temperature goes over 60 C, an e-mail should be sent to me). This way I will be notified before the temperature/load gets too high and I will hopefully be able to intercept the problem by logging in to the machine before it locks up.
I have different sensor nodes at home that publish measurements at regular intervals to a Raspberry Pi. The data is stored on the RPi and in a cloud service and can be viewed with various applications. As my most common use case is to view the latest value of a particular sensor, I would like to have a mounted low-powered display in the kitchen to show the latest values from my sensors.
In this post I will show how I have used an Adafruit Feather Huzzah and a FeatherWing OLED that monitors the latest messages from my sensors. To get out of my normal comfort zone (Arduino IDE with C/C++), I will use MicroPython for the implementation.