What I would share is that in the couple of years I've been running it, I've been through a dozen Sandisk and Samsung MicroSDs on my Pis _even though_ I was running my time-series database, and my MQTT server on a separate server.
Running on Raspberry Pi it's a nice toy, but when you get serious, install it on a proper box with an SSD/spinning rust.
I bought a NUC-like device which is what most people will recommend to run it on, installed Arch (you can use whatever you like, Debian is probably best supported) and get going.
Briefly though, I log all of the temperatures and light levels in each room of my home using Z-Wave sensors, store them in Influx and graph them in Grafana.
I have my desk lamp turn on when motion is detect at or around my desk, I have my cameras start recording when nobody is home (based on location reporting from our mobiles using Owntracks back to my self-hosted MQTT server).
I have hue lights in every light socket in the home so I can switch them to various moods based on motion, time of day, lux, whether the TV is on, the weather, the temperature, etc etc.
The Home Assistant dashboard shows my server load in my rack , temperature in my rack (via a temperature sensor connected to an ESP8266 talking MQTT back to the server), all info on my UPS, load on various power meter wall plugs (Z-Wave) which can also be controlled on/off via HA, it shows the current temperature and light level and motion in each room via Z-Wave motion sensors.
Most importantly, the community that sit on Discord are a friendly and helpful bunch so it's nice and easy to get started.
It's possible that my use of an extra large SD card has allowed the card to write to previously-unused memory cells rather than erase and overwrite memory cells, helping the card last longer. I wonder if anyone has studied that.
SSDs have something like this. Not sure if SD cards or if it could be done on the Linux side.
I have a raspbian cups fileserver thats ignoring all this and keeps running for 3 years on the same cheap sd: have it set up to offload almost all writes to tmpfs to reduce wear: /tmp, /var/run, /var/tmp, /var/log, the cups spool folder and more (/var/spool/*). Noatime mount option.
I would never do this at my job, even if I ship logs. I might do this on cheap hardware at home though.
What makes noatime better than relatime?
Sits somewhere between atime and noatime, where "somewhere" is tunable. I wanted the least writes, so i went with noatime.
(I can personally vouch for Scott Darby's ability to put together a device for UK users - see comment 162. I've got one of his)
Well, I learned something about HN today!
For starters, you need to ditch all those hubs and apps and that means you need to look into Z Wave and Zigbee. Briefly and in my experience and testing, Z Wave devices are more expensive but more compatible with each other. Z Wave has a longer range without any relays. Both are very well supported but I think Z Wave is better supported. Philips Hue is Zigbee as is Tradfri (Ikea). I've got both USB dongles plugged into a VMWare esxi in a VMware cluster at work and both survive vMotion and are very stable. I'm using this for Z Wave: https://www.amazon.co.uk/gp/product/B00YETCNOE/ref=oh_aui_de... (£43) and people on the forums offer to make up Zigbee USB devices with ready flashed firmware for about £20 or you can buy your own bits from Alibaba and DIY for a bit more for one but a lot less for more than say five.
You should also investigate the MQTT protocol and consider say Mosquitto and proper SSL for it for external stuff like Owntracks. Internal only access can be satisfied by using the built in MQTT broker in Home Assistant.
Also, consider ESP8266 (or ESP32) devices. You can get two for £8 on Amazon with pins etc already to slap in a small breadboard. Note that you can power them using PoE and a PoE to USB converter to get them up to 100m away. You can fit these things inside the sort of wall mount box you might have for a light switch or ethernet ports.
When I've finished testing at work (!) I'll be looking to control my underfloor heating, lights (note that you need three wires (live, neutral, switched neutral) for switch box controls or something like this: https://www.amazon.co.uk/Fibaro-FGS-213-Single-Switch-Black/... that can go in the light fitting itself. I'm in the UK BTW. Also I'll be putting in window and door open/shut detectors and a fair few of something like this: https://www.amazon.co.uk/gp/product/B0141FQDJQ/ref=oh_aui_de... to see what is going on in a room. I aim to defang my Sonos speakers eventually. The TVs already go through Squid with quite a lot of monitoring and a lot of pfSense keeping an eye on things.
ZoneMinder is well supported for cameras.
Proper home automation is not cheap but is very cool if done right. Do your research very carefully. If you have a SO, then be very, very careful and test, test, test otherwise you will be kicked into touch very quickly. I'm aiming to have manual overrides (switches etc) for nearly everything and will be putting in a lot more wifi and UPS, RAID etc along with proper backups. If you are going to do more than a toy lighting system than do it right.
I don't fear my IoT stuff because they live on VLANs with names like THINGS and SEWER (for the really scary ones) but I'm not your average home owner (IT-wise) and am extremely pissed off at the vendors of these things for the frankly cynical approach taken to security and your privacy.
I'm curious what kind of sensors you're using and what kind of battery life you get out of them. Every z-wave sensor I tried had abysmal battery life at any kind of reasonable update rates.
I’ve been looking to replace my RPi with something a bit beefier. Some of the components I’m running are memory heavy, and my pi is struggling to stay responsive.
You can easily buy a mid-level desktop computer for $200 (either brand new, or off ebay/craigslist/newegg). I would recommend getting an i7 with at least 8 gigs of RAM and an SSD. As of right now, newegg has no less than i7 30 desktop pcs for sale under $200.
Slap linux on it, plug it into your power and ethernet under your desk and forget about it.
You will have a dedicated server whatever you want. Home automation, gaming servers, docker containers, whatever. Just leave it running 24/7.
If you really want to get fancy, plug it into a backup UPS for in case the power goes out.
There's kind of a quick progression in the bill for an always on device from irrelevant to noticeable to large.
I was unsure if it was a random failure or attributable to my use of the card. The parent comment cleared that up for me.
I may be too dumb for this, but I do manage to survive as a full time developer, in linux, using yaml daily. Yet the learning curve on Home Assistant has been brutal.
Can Home Assistant improve on this? Can we someday buy best selling devices and expect them to work with it? I realize that Home Assistant is not intended to be and will never be as noob friendly as the proprietary consumer hub software. But can it at least get friendly enough for a professional dev to figure out how to turn on a light without several weeks worth of head banging?
For Z-Wave: the current integration is based on openzwave, a reverse engineered implementation of the Z-Wave protocol with an irregular release interval. As we depend on their releases, it's out of our control.
However, there is hope :) Sillicon Labs (owner Z-Wave) has recently published an official SDK for Z-Wave. Once Home Assistant Cloud is generating money, the plan is to pay a developer to integrate it into Home Assistant. Once we're on an official stack, I expect our Z-Wave story to improve significantly.
Keep up the great work!
Zwave support seems to be really good to me. This: https://www.amazon.co.uk/gp/product/B00YETCNOE/ref=oh_aui_de... works passed through to a VM after a vMotion to another host! All Zwave devices I've tried seem to simply work but to be fair I have not done anything like an exhaustive set of tests.
The support on the forums is awesome - one of the best communities about. I'm not quite there yet to really give decent advice but I'm close.
Home Assistant is being developed at a breakneck pace. That means that you must be careful and treat your project with respect. Backups and backout plans and testing must be taken seriously. You have to read everything you can get your eyes on - the forums and docs are very, very, very good. If you do all that then you will be richly rewarded.
One huge problem with YAML compared with Node Red is the turnaround, node-red restarts blazingly fast. HA, not so much....
I have a feeling that my next step will be reading the source code to get a better sense of how the YAML is translated into the internal state machine, but an official "beginners guide" would go a long way to making this not necessary.
The multi-tap workaround is not terribly involved. If I recall correctly, it consisted of pasting a couple of lines of XML in the "zwcfg" file for each switch.
I did get a few other zwave devices connected, and these do pair with the zwave hub, but otherwise Home Assistant can't see them at all. I messed with zwcfg with no difference.
I basically just ended up writing my own python scripts and/or batch files and then I would have Home Assistant simply execute them.
That's how I managed to do some of my more complex, un-supported integrations with Home Assistant, anyways.
What are your thoughts / experiences towards snips? Anything cool I should try out
Have you guys thought about, or talked with anyone else who has thought about trying to make HA, or a subset of the HA functionality, accessible to non-technical people? I often show my setup to friends and family and the first thing they ask is "how do I do this?", and I normally have to tell them they can't really do it themselves.
Our frontend is a PWA which integrates very well into Android.
Actionable push notifications can be achieved with the notify.HTML5 platform. Nice writeup what you can achieve here.
The only thing that cannot be achieved with the PWA is sending location updates for presence detection. But that can easily be achieved with OwnTracks  sending updates over HTTP.
Home Assistant was a key piece of not having to fiddle with lights while moving to a living room to do an early morning feeding for a baby.
I was wondering, how has development been since you have been with Ubiquiti?
Still struggling a bit with finding the right work/life balance now that my hobby has become my job but it's going in the right direction.
I don't care who pays for it but Ubiquiti are not daft: Amazon, Apple, Google etc have all got their feet under the table with their hardware "assistants". UBNT can't compete directly with that but they sponsor Home Assistant. Your salary plus a few other bits and pieces is not much cash in the grand scheme of things but the value gained is close to priceless (I would suggest).
Oh and did I say thanks for your work? Absolutely bloody awesome.
I’m speaking from experience: I put in a bunch of $35 zwave switches but they are physically worse (ex: thicker metal margins that make fitting wall plates more awkward) and they are more painful to work with the software (ex: setting high/low dimmer trims is awkward compared to Lutron’s in-app approach). I wish I had just gone with the $60 Casetas switches (plus remote if white is your color). The price difference is well worth it.
And a limit of only one range extender.
And only 50 devices?
I'll stick with Z-Wave, even though it's not perfect. And it's true that there's some terrible Z-Wave hardware but there's also better (and pricier) gear.
With Z-wave you can pick your hub and devices. If things don't work how you want out of the box, chances are someone has already written the code you need for whatever hub you're using. If not, you can write it yourself.
I am currently using (and pretty happy with) all GE switches with SmartThings hub (soon Vera?), Schlage Locks, Visonic door sensors, Ecobee Thermostats and Harmony remotes for control/automation overrides.
If you get high quality devices across your whole network, it works great. It's fast, it's reliable, and it'll work over pretty long distances with the mesh networking stuff.
But even one shitty device can bring a whole network down, not to mention that you tend to gamble the first time you buy a device if you are gonna get a good one or not.
Things are MUCH better now if you stick to zwave-plus only as the zwave people are taking a much more "hands on" approach to ensuring that you can't sell garbage with the zwave name on it, and they've added a ton of really nice improvements to the system.
But unless you are just starting out it's gonna be tough to get a full zwave-plus network.
Ack. Please don't tell me this isn't a widely supported thing. powerline communication wreaks havoc on RF spectrum, esp in the HF range.
After that, you go with RadioRA 2 and an installer, which is no fun for DIY.
I HAD a mix of Elgato, iDevices, Belkin, and Insignia switches and outlets, added ad-hoc based on promotional pricing and free time.
It was an unreliable mish-mash with varying levels of compatibility with iOS, Android, and Alexa. Seeing or hearing "The device is not responding" was common.
I scrapped it all and went Caseta for everything, giving every device a "one last chance" and swapping it out with a Caseta device if it failed to do what I told it to do. My home is now 100% Caseta. I haven't had an unscheduled outage since the the hub was installed.
This stuff is going to be in your walls for years. Pay the extra $25 per device.
Also, throw your wire nuts in the trash and use Wago lever connectors every time you unscrew a wall plate to replace something.
* the switch itself feels very flimsy and low quality.
* dimming only sort of works.
* the control is extremely laggy. Hit the buttons and wait up to a second before something happens.
* sometimes, the lights just don’t turn on. I’ll watch the LEDs on the switch light up, and then turn off. And then try again. And fail again...
I’ve had it a week and I’m ready to throw it out a window.
The dimming could be two things:
1) The high/low trim may need to be adjusted, which is IMO way way easier on Lutron than others.
2) If you have LED bulbs, the brand makes a huge huge difference. FWIW I found that Parmida LED retrofit kits are the best, by far. No buzzing and dims down to 1% (most are 10%).
As for the buttons, I agree actually. That's the one thing I like about some of my zwave switches. BUT, even better than both are the Lutron Maestro buttons, which you can get for ~$125 if you go with RA2 Select (vs Caseta). They are really nice.
The signals are flawless and continue to work even if there are otherwise problems with my raspi. ClearConnect (the wireless protocol) has its own spectrum and doesn’t interfere with anything else in my house that I have found, which sets it apart from all other wireless switch ecosystems that I know of. There is a wide range of dimmers for all types of loads (even very small led loads and fan loads) and physical remote controls. The pylutron library that homeassistant uses is solid - there’s room for improvement, but that just makes it more interesting from a hobby perspective. I also like that there’s no visual difference between wireless and “normal” maestro switches, so everything will look consistent even if you don’t go all in on wireless.
It took a few hours of my life to get certified and access the configuration software for radiora2, but I think it was worth it.
Lutron doesn’t pay me :) I’ve just found it to be a great platform to hack on. It is expensive but it’s a bit cheaper second hand.
That said, I went with Insteon switches in my current place to save a few bucks--they're ~$37.5/switch in a 5 pack  which adds up pretty quickly.
I've had them for about a 18 months now with no issues. The Android app is pretty terrible, but gets the job done. Alexa integration works well with their hub. I've added a few Insteon outlets, fan controllers, and motion sensors over the last year as well; all solid.
And if you use them a lot, I can only imagine they’ll be like the display models at Home Depot / Lowe’s: Lutron Caseta buttons wobbling loosely as if they’re about to fall off, while GE rocker style switch is just fine.
My solution for when I want a really nice sturdy single button is Lutron Maestro dimmers, which are even nicer (but now 2X the Caseta costs).
The home-assist docs link to this blog post , which is a great walk through on some common pitfalls when building a zwave network.
Just put in a bunch of Caseta dimmers this week and agree. I wish they had the same design as their other dimmers(one large button, rocker for dim) but they're still a great product regardless.
What are some of the more useful things people have found they are able to accomplish with this, and what was the best way to go about them?
Ideas I currently am toying with: presence sensors to turn lights on/off, somehow measuring the voltage used by appliances (washer/dryer, dishwasher, etc) to notify me when they finish running, a camera in my backyard that uses basic image processing to tell when my dog squats and I have to go pick it up.
* zwave motion sensors that can turn on the stairs lights at night when I start to walk down
* door/window sensors that will automatically turn the AC off if they are open for more than a minute.
* several methods of presence detection for anyone in the house, and ensuring the doors are locked, lights out, and garage doors down if nobody is home (after an announcement on the google homes just in case anyone somehow is still home)
* automatic notifications to my wife's phone when i'm on my way home after work so she would know when to start dinner (we don't use this one any more as I work from home, but it beat getting phone calls and me guessing how long I was from home every day!)
* notifications that show an image of who is at the front door when there is motion there
* an alert if a door in the house is left open for more than 1 minute
* a vibration sensor combined with a tiny hall sensor on the door of the washer/dryer to notify me when laundry is done (trying to measure power usage on 220v wiring was looking to be more annoyance than it was worth, so i went a different route!)
And one of my favorites that i'm working on right now:
* a system to measure rainfall amount and only turn on the reclaimed water sprinklers when it's not enough, but adjust the runtime accordingly.
Your option was likely much less expensive, but aeotec does make a clamp-on energy sensor. It's made for reading your whole-home energy but it should work for your purposes. But like I said, your solution was likely much cheaper (these are about $99).
And then I was back at square 1 for the washer, which turns out uses little enough energy in a lot of cases to be hard to tell when it's "done" vs when it's just pausing between cycles or swapping water out.
I also wanted to have the notifications continue until you actually empty it, and that required a door sensor anyway!
I really want to get one of those for the oven though, my wife tends to worry that she left the oven on (she never has!) and something like this connected to it might help ease that worry. And I REALLY don't want to do anything invasive to the oven, as that's one thing that i REALLY do not want accidentally turning on or shorting out.
But until I get around to replacing it, I also have normal IP cameras out front. So i combined the API from Ring with the IP cameras that let you access the video stream to take a snapshot on motion or a doorbell ring, and use HTML5 notifications to send it to all my devices.
They are battery powered, but i've had the oldest ones for almost 2 years now and haven't had to replace the batteries yet, and when I do I can get a pack of like 10 for $15 so it's not bad.
All of the light switches are zwave as well, and they go in the wall behind the toggle switches, so from the outside you can't see any difference.
I get most of them from amazon, and i've used a bunch of vendors over the years. Aeotec, ecolink, linear, and a few no-name brands.
It's not sold any more, and it's not zwave plus, but I have like 12 of them and they are by far the best i've used. They are small, run consistently 100% of the time, have good range, and more.
I have 2 of the aeotec nano switches which are zwave plus, but they are also $60 so it's almost double the money...
I've also used fibaro but ended up removing it because there was a delay between when i flipped the toggle and when it would turn the light on, and that was not okay in my book.
I am looking to replace the light switches with zwave-plus modules simply for the extra security, but i'm not in a massive rush.
In the sensors world, i use ecolink's door window sensors. They are cheap and work well enough, although I did have 2 out of about 20 that were bad and needed to be replaced shortly after installing them.
I am also trying out zooz 4-in-1 sensors for motion right now. They work pretty damn well with a lot of control over sensitivity and range, so I'm happy.
For the garage doors I use linear/gocontrol's GD00Z-4 modules, and my door locks are kwikset with a zwave plugin board, and there are a few plugs around the house from various companies that all have worked perfectly so I don't really have anything bad about them (ge, aeotec, r-tech)
You could hook into the buzzer circuit for this notification.
So where possible, I shy away from any modifications to the device itself that aren't extremely simple to undo.
A vibration sensor and hall sensor on an esp8266 is cheap, works consistently, and is VERY easy to take off if I don't want it any more.
I did hook into a humidifier once kind of like this, I hooked the esp8266 up to the on-off button, but I try to avoid it if I can.
- i built a bed occupancy sensor so hass knows if we're in bed or not, and disables automations that would otherwise be annoying (mainly the motion-detected lights in the bedroom)
- i come home and say "hey snips, i'm home" which turns on the tv and sets kodi to a plugin that i tend to use.
- i have a snips.ai command (hey snips, let's party) which turns on my lifx bulbs and makes them change colors
- also whenever Eric Prydz comes on my living room kodi, those party lights come on
- i have an announcement go out over snips.ai tts when my 3d print starts (so i can go ensure the first few layers are good) and when the 3d print is done. I also have snips commands to tell me how much time is left on my 3d print job, and if the temperature of the nozzle spikes too high.
Does it also supply instant spandex and leg warmers?
Do you use a pressure sensor or PIR for that?
Snips is straight forward as mostly it is integrated into my home assistant, but with a lot of custom voice commands to pull specific data
I find their telegram (https://t.me/snipsair) pretty useful to ask poke around. Looking for their Discord because Dev community is mostly there! Plus i believe you get rewarded for helping em in their token. Not so much into Crypto but it seems to have some viable utility in their ecosystem.
Arduino Hobbyist here, usually lurking on /g/
- Scripts that open/close curtains depending on sunset/sundown and whether we're on holiday (presence simulation)
- My seedling box - it's an Ikea rack with styrofoam in which I have LED grow lights, a heating element and a fan to control temperature and which simulates different lighting conditions, to start seedlings and to do first fermentation of wines
- Monitoring/reporting of solar power generated
- Automatically switch off devices that use a lot of standby power but are only used occasionally - printer/copier, that sort of thing. I made the money the switches cost back within a year.
Furthermore, the company had great service. I wanted these rails when they were just on the market, and I told my installer what I wanted, but he didn't know about the zwave type yet. So I called my local Forest office (in the Netherlands) and they immediately put me through to an engineer who gave me the SKU for the installer to order, and he also gave me excellent advice on how to configure things (in a technical way, not in a 'this is what the manual says' way) and on the different options. They have different types, with different motors, depending on the curtain length. He said 'try the light one first, I think they'll work fine for your length. If they don't work as you want, you can just swap out the motors, it's all compatible. Just tell your installer to return it to <address>, label it <this guys name> and have your installer call me on <guys' cell phone nr> if he has any questions.' That was such a breath of fresh air, being used to companies that jerk you around from one call center lackey to another, reading you prepared scripts with snippets of the manual that you've already read half a dozen times.
Sounds like a lot of money, but out of all automated things, the curtains are the things of which I most often think 'that is very convenient, glad I spend the time and money'. Most other HA things are fun to play with, but not really all that important (in my experience).
- I have my outdoor lights turn on when the sun goes down and turn off 4 hours after sunset
- If it is after sunset, if it detects mine or my significant other connecting to the wifi, it automatically turns my Nest from away mode and turns on lights inside.
- It will automatically turn off all my lights and my nest to away mode if it detects that no one is home.
There is a lot more flexibility to it (i.e. it can send you an email if someone gets home and you are not home, things like that).
You can do a lot of those, I do not know how much work you have to do in it, but you can make your own "sensors" and it will integrate into home assistant.
I've also made temperature and other sensors using esp8266 boards, but that wasn't quite worth the time spent.
There's no big company bankrolling it (well there kinda is since ubiquiti hired the creator, but not to the same extent something like Chromium is just google), there are a HUGE number of committers, and the structure encourages people to maintain and improve their own contributions via 3rd party packages.
There's no fighting, there's not much gatekeeping, it's not overly complicated, and they are EXTREMELY welcoming to new contributions, no matter how "unique" the use case is (look at some of the integrations! There's integrations for local bus schedule systems!). And on top of that, there's world-class documentation! That's rare enough in paid products, but to see it from a project like this, and the fact that it's almost always up to date is simply amazing.
They held my hand through creating 2 new integrations, and I haven't developed in python for almost 10 years, and they were extremely helpful, responsive, and at the end of the day the product got better for everyone.
I really don't have enough good things to say about Home Assistant.
I store these kind comments in my notes and whenever people are asses online, I always go through the stored notes to know why we do what we do.
I'm like 80% sure that guy never sleeps...
I tried out HomeSeer and it has worked flawlessly. The downside is it is written in VB Script, yes you read that right so its nearly impossible to extend with your own plugins.
I really wish this project worked as reliably as HomeSeer so I can actually contribute and extend it. Maybe thats changed in the last year ?
Am actually running Hass.io within Proxmox, so I can easily run other stuff on the machine as well. Haven’t yet tested USB pass-through for my Z-Wave and Zigbee USB sticks.
I run Hass.io, but just installed it manually within a Debian installation. It's worked fine (including plugins/updates) for ~6 months.
Truly unreal number of integrations built for it now.
There is also Rhasspy, a voice assistant toolkit for Home Assitsant. It has instructions and custom components on how to integrate a full voice assistant (wake up, speech to text, intent recognition, text to speech) into Home Assistant using solely open source tools with different choices per category. It's very cool.
I'd really like to wire up some automated switches but after days of research, found that just about every wifi-enabled switch requires some bullshit android app that requires phoning home to a third party. I'd like to keep everything LAN-only.
Now I just use cheap rf emitters from amazon (you may have to solder an antenna to increase range). As soon as I got an AppleTV, all my switches became available outside my LAN, thanks to Apple Home without having to worry about security.
In any case, good luck!
Except, doesn't require a custom android/ios app. I do want wireless protocol, but once the switch is networked, I want to be able to control it without some middle-man app that is phoning home outside of my network.
You can use a raspberry pi with a controller and Home Assistant (or equivalent) or an Athom homey which is not fully open but freely programmable.
And Ikea will release zigbee wall plugs this year, their gateway uses the open coap protocol (no need to use their app) and as said you can also use any zigbee controller you want.
Fibaro sells zwave wall plugs, but there are others.
Finally sonoff has wifi plugs which can be flashed with open firmware.
Innr smart plugs
Problems with it:
- doesn’t work across phases, but I believe there is a ‘bridge’ for that.
- noise ie from switching power supplies on the lines can be a problem. Use filters / better supplies.
Although the basic documentation regarding installation and configuration of the core Home Assistant was ok the documentation for the individual components used to integrate and automate were either extremely incomplete or outdated. Successful configuration of the system required searching forums to dig out the required configuration items that weren't documented anywhere else.
Creation of a usable interface was another struggle. Again proper documentation was an issue and even once that was found configuring anything useful was just a tedious process.
Unfortunately I had to give up on an open source solution and reluctantly moved to a commercial home automation system which turned out to be worlds above any of the open source solutions when it came to ease of configuration and UI/UX.
Hopefully the open source solutions mature quickly and using them nolonger approximates the experience of maintaining my linux desktop in the 90s.
UI for end user is also stinging point so many do wrong. What else are you looking for? Purposes, end goal?
You can try some of these troubleshooting steps. If you are on Twitter or Discord, PM me (@balloob) your username and an exact timestamp that linking failed so I can forward it as another example to Amazon.
Note: I use Echo Plus, which has the abilities to discover devices. Not sure if this works with Echo or Dot.
You can get esp8266 devices as cheap as about $1.30 on Ali express or you can get the super tricked out ones (mainly just for prototyping) from adafruit for about $9.99. They call theirs the Huzzah and it comes with stuff that you don’t have to solder on to most esps anyways. But a small cheap wireless sensor (3.3V) that can attach to any small sensor makes for some interesting automations.
Adding new component is also relatively straight forward. For ex, have a look at https://github.com/home-assistant/home-assistant/blob/dev/ho... and other components. You implement couple of methods of existing traits, in this case, SwitchDevice.
Many smart bulbs support color temperature adjustment, e.g. Phillips Hue, IKEA Tradfri, and LIFX all sell bulbs that have that.