Rhasspy with openHAB

I wanted my voice interaction solution to be fairly independent from openHAB, in order to have the option to switch to a different home automation controller in the future. That drove my design decisions in how to couple Rhasspy and openHAB.

The solution also needed to extensible: I expect to add more openHAB items for lights and other gadgets in the future, and I don’t want to have to manually edit lists of expected voice command sentences every time I do that.

I implemented three kinds of voice interaction: voice announcements, voice commands and voice questions and answers.

Continue reading

Rhasspy with openHAB, part 3: questions and answers

In addition to voice announcements and voice commands, I also implemented a “dialog” feature, where I can ask for information, and get an answer from the system. Currently, this very limited, I can only ask for the time of day, for temperature and humidity. In /etc/openhab/things/rhasspy.things we have In /etc/openhab/items/rhasspy.items we have in other .items files, I have (the details are not relevant for what I am trying to explain here) In /etc/openhab/rules/rhasspy.rules we have This part is a bit

Continue reading

Rhasspy with openHAB, part 2: voice commands

The bird’s eye view of what has to happen here is: That was the bird’s eye view. And now for the details … How to tell Rhasspy what to expect Whenever I add or edit an openHAB item that should be the subject of a voice interaction, I want the Rhasspy configuration to change automatically, to reflect the change in openHAB. For this purpose, I have defined several openHAB groups: Group name Purpose gVA voice-activated items like light switches that

Continue reading

Rhasspy with openHAB, part I: voice announcements

In this feature, information flows only in one direction: from openHAB to me, no speech recognition involved. How openHAB communicates with the text-to-speech engine Bird’s eye view: to trigger a spoken announcement, openHAB publishes an MQTT message that contains all the relevant information: what to say, and on which satellite to say it. When the message is received by the master Rhasspy service, it converts the text to audio and then streams it to the specified satellite. openHAB talks to

Continue reading

MySensors Ethernet Gateway with ESP32

I needed a gateway that does not depend on a reliable WiFi connection, so Ethernet was the only option. The ESP32 processor is already designed to be used with Ethernet, using a LAN8720 interface module, which is available from Aliexpress etc. for under €3. This combination is well supported by the Arduino universe and the ETH library. To work properly, the module needs one minor modification, as described here or here. The MySensors website has instructions for how to build

Continue reading

Link quality estimation for MySensors with NRF24

The NRF24 chips don’t provide a “Received Signal Strength Indicator” (RSSI) like a WiFi link does, but there is a way to get an indicator of link quality which was good enough for my application. When the NRF24 chip doesn’t receive an acknowledge for a transmitted message, it tries to send it again, up to 15 times. The number of retries needed to get the message to its destination (“automatic re-transmit count”, ARC) is held in a chip register, and that

Continue reading

Soil moisture sensor with WiFi

In summer, I have a lot of potted plants out on the balcony, and I need to know when to water them. Indoors, most of my home automation gadgets are based on MySensors, but out on the balcony the signal is too weak, so I needed something WiFi-based, but without the high battery consumption typical of WiFi solutions. This was an opportunity to learn about optimizing a WiFi based gadget for low power consumption, and I will share my insights

Continue reading

Listen! … voice interaction with home automation

I have used an openHAB based home automation setup for several years now, and I am mostly happy with it … except in those very lazy moments where I just want to turn on a light, and wish I didn’t have to to pull my phone from my pocket, unlock it, open the openHAB app, navigate to the right UI page, and push a button. So … I decided it was time for voice-based interaction, Alexa style.

Continue reading

Basic Satellite

I needed a few text-to-speech announcement nodes dotted around the house, to work with my openHAB and Rhasspy based home automation system. The basic idea was to find a cheap, small speaker with decent audio quality for voice output, and drive it from an ESP32-based board with ESP32 Rhasspy Satellite firmware, or my fork of it.

Continue reading