Home control
Most people call it "home automation".
12/09/22 Home Assistant upgrade from 2021.9.7 to 2022.12.1 This fixed Shelly and broke Tuya, Ha.
2020-May: I tried Wink, then I tried OpenHab, now I am using Home Assistant. Wink announced they are going to a subscription service, so I migrated to Home Assistant
I wrote this in 2018:
How long will it be before one of these cloud outfits goes belly up and their entire global deployment of lights bulbs goes permanently dark? In 2014, Google acquired Revolv and shut it down. Revolv competed with Nest. Wink came really close to bankruptcy. (Then changed to a subscription model, so I quit.)
Samsung SmartThings blog 03/18/18 Yesterday around 12:30 PM PT, SmartThings began experiencing capacity issues with the SmartThings cloud, which led to an outage that impacted US users� ability to log in to the SmartThings mobile apps and control devices. These issues intermittently persisted until 9:16 PM PT, at which time the root cause of the outage was addressed, and users were able to access the SmartThings apps and control networked devices. Did they just wait it out, like a really bad ISP? Or did they spin up more servers?
Overview
Currently we have
- Home Assistant running in Docker on Violet
- Nortek HUSBZB-1 on Bellman that talks Zigbee and ZWave purchased 5/7/20 from Newegg, spec sheet here
- 2 Shelly 1 Plus Relays (12-9-22) and a Shelly 1PM (1/23)
- An Ecobee thermostat with Alexa, with an internal motion sensor and one remote temperature and motion sensor
- Some Zigbee light bulbs (Cree and OSRAM and IKEA Tradfri)
- IKEA Tradfri remote control (the disk shaped one)
- IKEA Tradfri remote control (the on/off one)
- 8 Feit Electrics dimmers based on ESP8266 controller. See FEIT dimmers
- 8 Martin Jerry switches also based on Tuya. Four S-01 and four SS-01 See Martin Jerry
- 8 Martin Jerry TC-01 touch dimmers (aka "Treatlife" dimmers) See Martin Jerry
- 2 two Centralite Mini Zigbee outlets (from Amazon) sometimes used to control strings of X-mas lights.
- Two Milight LED strip controllers that are sort of suck.
- An old 5 outlet serial port controlled WTI remote power strip.
- A smart power meter through Pacific Power (base usage = 0.1 kWh)
- 2 Moto E4+ Android phones and an ASUS tablet. A couple "retired" Android devices
- 1 FONA
- Some Espressif motion sensors using doppler
- Chamberlain MyQ garage door opener
- A BLE garage door opener, retired when we moved into the house with the MyQ. Has a nRF 51822 MCU in it.
- Fitbits
- Unifi access point; Home Assistant uses UniFi (running in Docker on Bellman) for Presence Detection.
- Logitech Squeezebox Radio
- Logitech Media Server on Bellman
- Bose mini speaker on Bluetooth
- A Raspberry Pi Tenrec running Alexa and Squeezelite.
Tracking / Presence Detection
We use the Home Assistant android app currently. Works fine.
I tried running a Traccar client on our phones but it ran the battery down. Bellman has a Traccar server Ecobee thermostat has geofence support that works reasonably well for the moment.
More
- Now that I have the Chamberlain door, what can I do with that BLE controller?
- What about sensors including that Pi Zero W camera?
- What about other remote controls? I have a few IR remotes but RF would make more sense. What can I use with HA? Maybe MiLight? They are pretty cheap.
Current set up
- Home Assistant on Bellman in Docker: https://home-assistant.wildsong.biz/
- Almond helps with automation scripts.
- Traccar on Bellman in Docker: http://traccar:8082 (Currently local access only)
In progress, scary stuff
- Installing Almond locally wants Podman instead of Docker.
- I won't migrate Docker to Podman without testing it first
- I can test it on Murre but Murre is a Windows 10 Desktop
- Podman on Windows 10 requires WSL2 which requires the latest Windows 10.
Rebuild
At the moment I have it set to pull 'beta' version in docker-compose.yml image line
docker-compose down docker-compose pull docker-compose up -d
Other goals
- Make the WTI power strip in the studio accessible as an IoT device. (Maybe via an ESP device?)
- Make some LED strip controllers out of Pi Zeroes or ESPs.
- Hook up more motion sensors
- Put the AR speakers onto a port on the WTI
- Allow routing sounds from Bellman to the speakers.
Firewall
- Keep a link up to hosting service from home
- When I arrive at work, open the firewall to that location
- When I leave work, close the firewall.
- Do the same thing for a list of other locations for which I already know the IP address
- When I send my current public address to my public server,
- open the firewall and tie the location to that ip
- Close the firewall when I leave that place.
- Track my location and just open the firewall from whereever I am! Use LTE?
Dashboard
Most of this is done.
- Sensor status
- Ecobee occupancy sensors
- Motion detectors
- Light status
- Power strip status
- Indoor temperature
- Thermostat status
- Heater status (running or not)
- Weather, current conditions and forecast
- Locations of Android devices
- WiFi?
- DHCP?
- Firewall?
- Library books? :-)
- Recent notifications
- Connection upstream
LED strip controllers
Initially I used Milight controllers with RGBWW strips but switched to Zigbee controllers that work better. Until one died.
Now I am looking at two new Athom RGBW controllers that are reprogrammable for ESPHome. Migration to ESPHome Look in ~/Documents/source/esphome-projects/athom-configs/athom-rgbw-light.yaml
Milight FUT038 has CD4050B buffers and NCE3050K mosfets (30V/50A 1.6v gate threshold) I can't tell what the RF/MCU components are. Nutron something. One chip is scrubbed.
There are RGBW strips on top of the kitchen cabinets and daylight white ones underneath to light the counters.
Milight Yl-52 controller can do WiFi or RF. We have an RF remote. When we moved into our current house I added 3 more FUT038's and attempted to get them all sync'ed up. That's how it's SUPPOSED to work. After a month I quit doing that and went to the Zigbee based controllers. (See next section.)
I got the Milight parts from https://SuperBrightLeds.com and the Zigbee parts from Amazon.
Now I have the YL52 controlling MR-16 downlights over the kitchen island. I want to use Home Assistant. I can see the YL52 in HA but not control it. I wonder how I programmed the WiFi SSID into it? Don't remember. Must be via the Android app.
In HA it's called limitlessled.
Zigbee strip controller
This works. I have 4 controllers, because there is a doorway in the way. There were 2 upper (on top of cabinets) and 2 lower strips. The uppers are RGBW and the lowers are just white. Currently I've combined the side cabinet and switched out a WiFi controller. I don't remember why exactly but this means I have 2 available for hacking. Hacking 3A controller
I bought the 3A controllers from Amazon, https://www.amazon.com/gp/product/B07XCWSZCS/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1 I paid $23 and don't think I'd pay the current price $35.
Since they are controlled through Zigbee, I can sync them in Home Assistant. It's not perfectly synced but it works fine. (There is a delay.)
Hardware I don't have
Feit light bulbs XXXXXX NOPE
I bought a couple Feit Electric (rebranded Tuya lights) color changing bulbs at Costco, and one even works! (Grr cheap junk.) They are on WiFi and also cloud controlled. The software is much better than MiLight's but I returned the pair since I could not return and exchange one, that would make too much sense.
Tradfri gateway
The IKEA Tradfri (Zigbee) gateway is capable of local only control under Home Assistant and costs $30, might be a good choice. But I ended up using a Nortek USB adapter and it works fine.
Wink
I used to have a Wink Bright kit from Home Depot (6/26/18)
Set up notes
Nortek
From "Home Controls" https://www.homecontrols.com in San Diego. 5/6/2020 ordered through NewEgg.
"HubZ is effectively a USB to UART bridge connected to a Silicon Labs EM3581 ZigBee module that allows connectivity to a computer's USB port."
The Nortek shows up in lsusb as
Bus 003 Device 007: ID 10c4:8a2a Cygnal Integrated Products, Inc.
dmesg sees it as 2 serial ports,
[1200065.974054] usb 3-1.2: new full-speed USB device number 7 using ehci-pci [1200066.085372] usb 3-1.2: New USB device found, idVendor=10c4, idProduct=8a2a, bcdDevice= 1.00 [1200066.085378] usb 3-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=5 [1200066.085382] usb 3-1.2: Product: HubZ Smart Home Controller [1200066.085385] usb 3-1.2: Manufacturer: Silicon Labs [1200066.085388] usb 3-1.2: SerialNumber: 81300CEB [1200066.116633] usbcore: registered new interface driver usbserial_generic [1200066.116667] usbserial: USB Serial support registered for generic [1200066.124434] usbcore: registered new interface driver cp210x [1200066.124471] usbserial: USB Serial support registered for cp210x [1200066.124540] cp210x 3-1.2:1.0: cp210x converter detected [1200066.127400] usb 3-1.2: cp210x converter now attached to ttyUSB0 [1200066.127806] cp210x 3-1.2:1.1: cp210x converter detected [1200066.130746] usb 3-1.2: cp210x converter now attached to ttyUSB1
So this means I have to add /dev/ttyUSB0 and /dev/ttyUSB1 and the JAVA OPTS to the docker-compose.yml file and restart it. EXTRA_JAVA_OPTS="-Dgnu.io.rxtx.SerialPorts=/dev/ttyUSB0:/dev/ttyUSB1"
- ZWave is on ttyUSB0 (untested)
- Zigbee is on ttyUSB1 using 57600 8N1 software handshake
Fixed ports
So far, I don't have this working. I created /etc/udev/rules.d/99-usbserial.rules to no avail.
I unplugged the Nortek and plugged it back in and it showed up at ttyUSB1 and 2 instead of 0 and 1. That means my Zigbee Things all stopped working. I need to assign the ports permanently.
Instructions on how to do this come from the manufacturer Silcon Labs knowledge base
I can see which port is which with
udevadm info -a -n /dev/ttyUSB1 | grep Z ATTRS{interface}=="HubZ Z-Wave Com Port" ATTRS{product}=="HubZ Smart Home Controller" udevadm info -a -n /dev/ttyUSB2 | grep Z ATTRS{interface}=="HubZ ZigBee Com Port" ATTRS{product}=="HubZ Smart Home Controller"
Add "Things"
- Creating a Thing (pick your device below)
- In Paper UI,
- Configuration -> Add an item, click the "+".
- Name and create an item to go with the thing, for a bulb, create a dimmer or a switch typically.
- Click "+" to save it.
- Link the item and the thing
- Configuration -> Things
- Click on the name of the new thing.
- Click the blue ring under Channels
- Select the item from "Please select the item to link"
"Location" should be set to the room the Thing is in. This will show up on the Control screen as a tab.
It should now show up in Controls.
Cree "Connected" bulbs
- To prepare, put the bulb in a fixture with an on/off switch on it.
- Go to paper UI in OpenHab
- Go to Inbox and "Search For Things" and "Zigbee Binding"
- Click "Add manually", now you have about 60 seconds, tick tick...
- Switch Cree OFF for 2 seconds, on for 1 second. Repeat 4 times,
on the fourth try it should start blinking it's reset and unpaired.
- OpenHab will see it soon.
- Go to Configuration -> Things and you should see it in the list. Change its name if you want.
OSRAM "Lightify" A19 bulbs
- Click it on and off until it blinks a few times. Then it's reset.
- Switch it on.
- Go to paper UI in OpenHab
- Go to Inbox and "Search For Things" and "Zigbee Binding"
- Click "Add manually", it should find the uninitialized bulb almost immediately.
- Go to Configuration -> Things and you should see it in the list. Change its name if you want.
Centralite switches
Model 4200-C
Reset Unplug any devices from the module and unplug from the wall. Now hold the on/off button while plugging it back into the wall. Hold the button until the status LED turns on. Repeat the �Getting Started� steps to rejoin the ZigBee network
Now go add a thing and an item like the bulbs; use a SWITCH not a DIMMER.
Tuya devices
Currently for me this means Feit Electric dimmers and Martin Jerry switches and dimmers. I moved my notes to the Tuya page since it's pretty extensive.
Things I've tried and abandoned
Life360 and IFTTT I had Life360 set up with IFTTT to track location and do presence detection things when we got home. It worked but had too many moving parts, so when Life360 closed up and stopped supporting IFTTT we had already abandoned it. IFTTT is a very complicated cloud based way to do things I do everyday in Python. See also https://forum.universal-devices.com/topic/31198-replacing-ifttts-life360-integration/ for other people's comments.
Traccar it runs inside Home Assistant still I think. But the client on our phones drained the battery so I uninstalled it.