DIY Smart Button Gets Surprisingly Complicated

There’s a reason that the standards specifications for various wireless communications protocols are extremely long and detailed. [Made by Dennis] found this out first hand when he decided to build a wireless button from scratch.

The major issues with wireless devices is one of power consumption. If reliable power is available from a wall plug or solar panel, this isn’t as serious of a concern. But [Dennis] is using batteries for his buttons, so minimizing power consumption is a priority. He’s going with the nRF52, a microcontroller designed for low power and which has a built in wireless radio, and configuring it in a way that uses the least amount of energy possible.

From there, [Dennis] turns to the wireless communication. He goes into detail about how the microcontroller is woken up, how it sends its data packets to another wireless-enabled microcontroller, and how they handle handshakes and acknowledgements of data. For something as simple as a button press, it gets quickly more complicated especially when adding some basic encryption and security to the communications protocol.

With all the design decisions out of the way, the system can be built. [Dennis] has created custom PCBs for his devices, and also included some expansion I/O for other sensors and peripherals beyond just a pushbutton. All of the schematics and code are available on the project’s GitHub page and the STL files can be found at Printables.

For those new to offline home automation or who are turning away from cloud-based services lately, there are some easy entry points that don’t require much extra hardware or expenditure.

Continue reading “DIY Smart Button Gets Surprisingly Complicated”

DIY UPS Keeps Home Assistant Running

If you put a bunch of computers in charge of your house, it’s generally desirable to ensure their up-time is as close to 100% as possible. An uninterruptible power supply can help in this regard. To that end, that’s why [Bill Collis] whipped one up for his Home Assistant setup.

[Bill]’s UPS is charged with one job—keeping the Home Assistant Green hub and an Xfinity XB7 cable modem online when the grid goes dark. The construction is relatively straightforward. When the grid is up, everything is powered via a Mean Well AC-DC 12 V power supply, while the power is also used to charge a 12.8 V 10 Ah lithium iron phosphate battery pack. When the grid goes out, the system switches over to running the attached hardware on pure battery power. A Victron BatteryProtect is used to automatically disconnect the load if the battery voltage drops too low. Meanwhile, a Shelly Plus Uni module is used to monitor battery voltage and system status, integrated right into Home Assistant itself.

If you want to keep the basics of your smart home going at all times, something like this is a pretty simple way to go.  We’ve featured some other great UPS builds in the past, too. If you’re whipping up your own hardware to keep your home or lab alive in the dark of night, don’t hesitate to notify the tipsline.

Meshtastic Does More Than Simple Communication

Meshtastic has been experiencing a bit of a renaissance lately, as the off-grid, long-range radio text messaging protocol gains a ton of new users. It’s been used to create mesh networks in cities, during disasters and protests, in small groups while hiking or camping, and for search and rescue operations. Although it’s connected plenty of people together in all of these ways, [GreatScott!] wanted to put it to work connecting some computing resources instead. He has a garden shed that’s too far for WiFi, so Meshtastic was used to connect it instead.

This isn’t a project to bring broadband Internet out to the shed, though; Meshtastic is much too slow for that. All he really wanted to do here was to implement a basic alarm system that would let him know if someone had broken in. The actual alarm triggering mechanism is an LED emitter-detector pair installed in two bars, one of which sends a 12V signal out if the infrared beam from the other is broken. They’re connected to a Heltec ESP32 LoRa module which is set up to publish messages out on the Meshtastic communications channel. A second module is connected to the WiFi at the house which is communicates with his Home Assistant server.

Integrating Meshtastic devices into Home Assistant can be pretty straightforward thanks to the various integrations already available, but there is some configuration to get these specific modules working as an alarm. One of the pins on the remote module had to be set up to watch the light bar, and although sending the alarm message out when this triggered worked well, the received signal never passed through to Home Assistant until [GreatScott!] switched to using the RadioLib library an an MQTT integration instead. But with perhaps more configuration than he planned for out of the way, [GreatScott!]’s alarm is up and running. Meshtastic projects often balloon into more than we had originally planned though, in more ways than one. You can follow along as our own [Tom Nardi] attempts to connect all of New Jersey with this new protocol.

Continue reading “Meshtastic Does More Than Simple Communication”

Exclamation Point Indicates Worthy Notifications

As far as punctuation goes, the exclamation mark is perhaps the most eye-catching of the bunch. That’s why [Conrad Farnsworth] thought this form would be perfect for his Home Assistant notifier build. 

The key to this build is the large bi-color printed housing in the shape of an exclamation mark. It makes for an attractive wall-hanging, but it also perfectly serves the purpose [Conrad] had in mind. Inside the enclosure is an ESP32, hooked up to a string of 16×8 LED matrixes which are commanded over I2C. These sit behind a white panel in the enclosure to nicely diffuse the light and make their output more readable. The ESP32 displays notifications on the LEDs that are fed from Home Assistant, such as when the mailbox sensor is triggered or if a vehicle is detected in the driveway. There’s also a bell on the unit to provide audible notifications, which us dinged with a solenoid fired via a 2N2222 transistor switching a 12 volt supply from a boost converter.

It’s a neat build that fits nicely into [Conrad]’s daily life and appears to have some genuine utility. If you’re looking for other ways to neatly display notifications where you can see them, you might consider whipping yourself up a smart mirror.

Continue reading “Exclamation Point Indicates Worthy Notifications”

Habit Detection For Home Assistant

Computers are very good at doing exactly what they’re told. They’re still not very good at coming up with helpful suggestions of their own. They’re very much more about following instructions than using intuition; we still don’t have a digital version of Jeeves to aid our bumbling Wooster selves. [Sherrin] has developed something a little bit intelligent, though, in the form of a habit detector for use with Home Assistant.

In [Sherrin]’s smart home setup, there are lots of things that they wanted to fully automate, but they never got around to implementing proper automations in Home Assistant. Their wife also wanted to automate things without having to get into writing YAML directly. Thus, they implemented a sidecar which watches the actions taken in Home Assistant.

The resulting tool is named TaraHome. When it detects repetitive actions that happen with a certain regularity, it pops up and suggests automating the task. For example, if it detects lights always being dimmed when media is playing, or doors always being locked at night, it will ask if that task should be set to happen automatically and can whip up YAML to suit. The system is hosted on the local Home Assistant instance. It can be paired with an LLM to handle more complicated automations or specific requests, though this does require inviting cloud services into the equation.

We’ve featured lots of great Home Assistant hacks over the years, like this project that bridges 433 MHz gear to the smart home system. If you’ve found your own ways to make your DIY smart home more intelligent, don’t hesitate to notify the tipsline!

Robots Talking To Robots

Although there are a few robots on the market that can make life a bit easier, plenty of them have closed-source software or smartphone apps required for control that may phone home and send any amount of data from the user’s LAN back to some unknown server. Many people will block off Internet access for these types of devices, if they buy them at all, but that can restrict the abilities of the robots in some situations. [Max]’s robot vacuum has this problem, but he was able to keep it offline while retaining its functionality by using an interesting approach.

Home Assistant, a popular open source home automation system, has a few options for voice commands, and can also be set up to transmit voice commands as well. This robotic vacuum can accept voice commands in lieu of commands from its proprietary smartphone app, so to bypass this [Max] set up a system of automations in Home Assistant that would command the robot over voice. His software is called jacadi and is built in Go, which uses text-to-speech to command the vacuum using a USB speaker, keeping it usable while still offline.

Integrating a voice-controlled appliance like this robotic vacuum cleaner allows things like scheduled cleanings and other commands to be sent to the vacuum even when [Max] isn’t home. There are still a few limitations though, largely that communication is only one way to the vacuum and the Home Assistant server can’t know when it’s finished or exactly when to send new commands to the device. But it’s still an excellent way to keep something like this offline without having to  rewrite its control software entirely.

Bridging RTL-433 To Home Assistant

If you’ve got an RTL-SDR compatible receiver, you’ve probably used it for picking up signals from all kinds of weird things. Now, [Jaron McDaniel] has built a tool to integrate many such devices into the world of Home Assistant.

It’s called RTL-HAOS, and it’s intended to act as a bridge. Whatever you can pick up using the RTL_433 tool, you can set up with Home Assistant using RTL-HAOS. If you’re unfamiliar with RTL_433, it’s a multitalented data receiver for picking up all sorts of stuff on a range of bands using RTL-SDR receivers, as well as a range of other hardware. While it’s most closely associated with products that communicate in the 433 MHz band, it can also work with products that talk in 868 MHz, 315 MHz, 345 MHz, and 915 MHz, assuming your hardware supports it. Out of the box, it’s capable of working with everything from keyless entry systems to thermostats, weather stations, and energy monitors. You can even use it to listen to the tire pressure monitors in your Fiat Abarth 124 Spider, if you’re so inclined.

[Jaron’s] tool integrates these devices nicely into Home Assistant, where they’ll appear automatically thanks to MQTT discovery. It also offers nice signal metrics like RSSI and SNR, so you can determine whether a given link is stable. You can even use multiple RTL-SDR dongles if you’re so inclined. If you’re eager to pull some existing environmental sensors into your smart home, this may prove a very easy way to do it.

The cool thing about Home Assistant is that hackers are always working to integrate more gear into the ecosystem. Oftentimes, they’re far faster and more efficient at doing this than big-name corporations. Meanwhile, if you’re working on your own hacks for this popular smart home platform, we’d probably like to know about it. Be sure to hit up the tips line in due time.