]> git.za3k.com Git - blog.git/commitdiff
Home automation
authorZachary Vance <za3k@za3k.com>
Fri, 8 Nov 2024 02:27:13 +0000 (21:27 -0500)
committerZachary Vance <za3k@za3k.com>
Fri, 8 Nov 2024 02:30:04 +0000 (21:30 -0500)
images/smart-curtains.jpg [new file with mode: 0644]
images/temperature-sensor.jpg [new file with mode: 0644]
images/zigbee-pi.jpg [new file with mode: 0644]
posts/home-automation.md [new file with mode: 0644]

diff --git a/images/smart-curtains.jpg b/images/smart-curtains.jpg
new file mode 100644 (file)
index 0000000..c78fcb6
Binary files /dev/null and b/images/smart-curtains.jpg differ
diff --git a/images/temperature-sensor.jpg b/images/temperature-sensor.jpg
new file mode 100644 (file)
index 0000000..ad4088e
Binary files /dev/null and b/images/temperature-sensor.jpg differ
diff --git a/images/zigbee-pi.jpg b/images/zigbee-pi.jpg
new file mode 100644 (file)
index 0000000..943026a
Binary files /dev/null and b/images/zigbee-pi.jpg differ
diff --git a/posts/home-automation.md b/posts/home-automation.md
new file mode 100644 (file)
index 0000000..32f8333
--- /dev/null
@@ -0,0 +1,83 @@
+---
+author: admin
+categories:
+- Technical
+date: 2024-11-07
+tags:
+- data logging
+- home automation
+title: 'Home automation'
+---
+
+I added some temperature sensors around my house.
+
+![caption: Temperature sensor, $4/ea on aliexpress](temperature-sensor.jpg)
+
+The sensors run on AAA battery, and periodically transmit the temperature on [zigbee](https://en.wikipedia.org/wiki/Zigbee), a radio protocol in similar frequencies as Wifi. The signals get received by a USB dongle designed to receive and transmit zigbee. 
+
+![caption: A raspberry pi listens to zigbee using a USB dongle](zigbee-pi.jpg)
+
+This is connected to a raspberry pi running [zigbee2mqtt](https://www.zigbee2mqtt.io/). The messages get sent to an [mqtt](https://man.archlinux.org/man/mqtt.7.en) broker via wifi. mqtt is a pub/sub protocol that runs over the internet. Any computer on my LAN can then be notified of temperature updates, by asking the mqtt broker to send them updates.
+
+I wrote a small server which stays on all the time, listening to updates and recording changes to a database. It also generates reports periodically.
+
+I think my database format is mildly interesting, in that it's designed to use a fixed amount of space. Anyone who wants to see the technical details, can check [the github repo](https://github.com/za3k/temp-monitor), specifically [this file](https://raw.githubusercontent.com/za3k/temp-monitor/refs/heads/master/database.py).
+
+Temperatures can be seen in [celsius](https://status.za3k.com/house-temp.c.txt) or [fahrenheit](https://status.za3k.com/house-temp.f.txt) online. An example in Fahrenheit is below.
+
+        Current Temperature
+        last updated: 2024-11-07 8:34pm
+
+        Sensor                        Temperature  Humidity    Last update
+        Outside - Front                51.51°F      69.86%     1 minutes ago
+        Outside - Back                 64.26°F      99.99%     22 hours, 49 min ago
+        Upstairs - Dining Room         69.67°F      53.24%     0 minutes ago
+        Upstairs - Bedroom - Za3k      71.35°F      60.15%     21 minutes ago
+        Upstairs - Bedroom - Master    68.90°F      58.11%     4 minutes ago
+        Upstairs - Kitchen             71.20°F      50.50%     6 minutes ago
+        Upstairs - Garage              65.55°F      60.65%     2 minutes ago
+        Basement - HVAC/Server         68.02°F      51.27%     3 minutes ago
+        Basement - Workshop            67.10°F      52.91%     14 minutes ago
+
+        -------------
+
+        Hourly Temperature
+        last updated: 2024-11-07 8:34pm
+
+                        outside    inside     
+        2024-11-07  8am    54.49°F    69.44°F   
+        2024-11-07  9am    53.81°F    69.04°F   
+        [...]
+        2024-11-07  6pm    56.11°F    69.86°F   
+        2024-11-07  7pm    53.53°F    69.65°F   
+
+        -------------
+
+        Historical highs and lows
+        last updated: 2024-11-07 8:34pm
+
+                    outside             inside              
+        2024-11-07    51.51 -  64.15°F    67.06 -  81.54°F   
+        2024-11-06    61.21 -  71.24°F    68.36 -  81.18°F   
+        [...]
+        2024-10-10    49.39 -  60.89°F    67.59 -  77.49°F   
+
+        -------------
+
+        Code: https://github.com/za3k/temp-monitor
+
+---
+
+Having tested out zigbee and mqtt, I felt ready for my actual use case -- curtains. I live across the street from a major parking lot, and they have floodlights on all night. To sleep, I need blackout curtains. The problem is, it's pretty hard to wake up with blackout curtains drawn.
+
+My solution was to get some smart curtains, and have them automatically go down at the end of the day, and go up in the morning.
+
+![caption: Smart curtains from IKEA](smart-curtains.jpg)
+
+This worked fine, after I got the curtains set up. I've completely forgotten about them, which is exactly how I like my home automation--I want to never think about it. For more about how to set up IKEA smart curtains, see [my notes](2024-10-17-ikea.txt). It comes with 6 manuals.
+
+[blinds](https://github.com/za3k/short-programs#blinds-mqtt2mqtt) controls my blinds via the computer, and [mqtt2mqtt](https://github.com/za3k/short-programs#blinds-mqtt2mqtt) allows my IKEA remote to control them too. cron and [heliocron](https://github.com/mfreeborn/heliocron) automatically open and close the curtains on a timer.
+
+---
+
+I worked on monitoring power usage via my circuit breaker with current transformers and the [circuitsetup ESP32 energy meter](https://circuitsetup.us/) but it's currently stalled. The main problem is that I can't fit the CTs into my circuit breaker. If I get it working, I'll post an update.