I'm quite new to home automation so I've been trying out various platforms; at the moment it seems like Node-RED best suits my needs. For example, based on node-red-contrib-rfxcom and node-red-contrib-telegrambot, it only took me a couple of minutes to design a flow that sends me a Telegram message whenever my RFXCom receives an event from a KlikAanKlikUit (KaKu) motion sensor.
It seems though that a lot of people are using Node-RED in combination with Home Assistant. I had a look at this as well, but ran into various issues so for now I have dropped Home Assistant.
I'm wondering whether I'm missing out on anything or might regret dropping Home Assistant in the future. Would the integration with Home Assistant provide any clear advantages for simple home automation?
The only advantage that I'm aware of so far is that Home Assistant can automatically discover devices, but in Node-RED I can easily write all messages from the RFXCom to the debug log to discover the device id (topic) and payload.
Some notes:
The RFXCom is my only device interface for now; I don't have any short-term plans to add ZWave/Zigbee/...
My home server is almost completely dockerized, having a single Docker Compose file that starts all services including Node-RED and Home Assistant. As such I was running plain Home Assistant; I don't want to use hass.io as this requires changes on the host system.
I did look at HA I think. Before I got into Node-RED, I'd tried a few different home automation systems but found them all too restrictive for my needs. Also nowhere near as much fun as creating something myself.
I do think that HA has some useful features for configuration and device management. However, it isn't hard to build your own device configuration system in Node-RED. For example, I have a variety of different, cheap, sensors and switches. I use a few flows to take incoming data and normalise it. Using a global variable that matches device ID's to physical locations and logical ID's where needed. I can also add a timestamp for those devices that don't already have one.
For outputs, I use a system of standard logical ID's such as the cleverly named: SWITCH01, SWITCH02, etc . That way, when I issue a command, I don't need to worry about the actual device ID. Those numbers match the button numbers on some multi-button LightwaveRF remote controls as well. I can also map the ids against location so I can show a person friendly switch layout suitable for the family.
I came to HA first and later found the add-on for NR. At that time, HA had capabilities that weren't in NR, but this is less of an issue now (eg. dashboard and context persistence). I prefer the coding in NR over HA, so I do all my automation there. Some of the reasons I still use HA:
I use the HA front-end as a portal for a bunch of sites, given I can customise the left-hand menu. Maybe NR can do this too now?
HA automatically stores all change history for 4 days (configurable), making it easy to graph. With NR you'd have to create flows to store the data somewhere every time something changed.
It would be a pain to configure NR for all the entities that I've already set up in HA. The same is true for you - if you've configured a light in NR, there's no direct benefit of putting it in HA too.
And on the down-side:
Using both is a pain when you do a full deploy in NR, as it loses connection to HA for a few seconds. Any flows that try to access HA during this period fail. You need to handle this.
Then there's Home Assistant Cloud, which I have not tried.
Instead of your system being "Node-Red" or "Home Assistant" it makes more sense for the backbone to be MQTT. If you enable all device communications go via MQTT (even if it needs NR to do this), it will then be easier to adapt, expand, migrate, and integrate other stuff into your system.
NR and/or HA still do the automated / brains stuff of course but having the common message bus is the key.
Thanks for all the replies and suggestions! Apparently there are no strong reasons to add Home Assistant back into the picture, so I'll stick to only Node-RED for now.
Well, why would we want the cloud when we have a system that will work when the cloud connection is down or the service provider decides they are bored or not making enough money. Or perhaps when we realise they left everyone's credentials lying around in clear text!
For me personally, the risks outweigh the benefits. Might be different if my family were prepared to use it ...