Hello fellow tinkerers
I am an automation engineer that programs industrial building control software (Basicly i program PLC’s that control the heating/cooling/ventilation/energy management,… of industrial buildings). As a sidejob I would like to start building personalised domotica.
2 years ago I realised my first project that was basicly a beckhoff CX9020 PLC that had all the switches/detectors/relais/dimmers and internal programming for them. Apart from some bugs at the start, there has never been any problems with this system, nor do I expect any for the next 20-30 years.
Half a year later, i added a raspberry pi onto there that I added openhab on (first system I came by) So far, there have been 0 hiccups with this system, which has been online for nearly 2 years now, communication is established via a Modbus TCP server that runs on the PLC.
So, now I have found another place to test a project. I would like to make the next configuration for this project:
- UniPi Neuron L203, which would be responsible for the functions of both the PLC and Rpi this time around (which could eliminate communication issues, since communication is internal) this is running the Openhab (or homeassistant, still researching)
- A whole bunch of relays and 0-10 dimmers (or modbus dimmers, if I ever can find any) for lighting
- standard Niko buttons (not switches) and detectors
- A modbus TCP connection to the heater (if possible, most heaters do have some easy way of getting data from them) From the many HVAC people i work with, this way of setting the temperature is WAY more energy efficient then third party smart thermostats that cost way too much. (i’m looking at you, "eco"bee)
- a wall mounted fire HD tablet that serves as the central HMI for the system and as a way to use Alexa (instead of a amazon echo, which is what my last system used as a way to use voice commands)
- (if possible) a Modbus RTU weather station, I use these a lot for my Job, easy to install, dirt cheap for what they offer, and no need for analog inputs, which also cost a lot of money
Are there any better alternatives or problems with my setup that would mess with the reliability of my system?
Thanks in advance,
Well this is more a community on the software side of things but yes we can share some HW experience, too.
On the central unit first … I would take a standard Pi as it is cheap, simple to replace and there’s many people that can share their knowledge with you. Use openHABian to get started fast and run openHAB on there.
You can use your tablet to run the openHAB UI (Basic UI or consider HABpanel which is optimized for tablets),
and openHAB can also connect to Alexa.
On actuators … you seem to have a bias towards Modbus … that’s ok, you can use the openHAB Modbus binding to keep controlling existing HW like your PLC (to become a multi-actuator) and existing devices to expose their modbus interface such as some HVAC units.
But Modbus is fairly old technology and isn’t all that well suited for general control of relays and dimmers (that’s why you’re unlikely to find any products such as dimmers and weather stations, too), and you should seriously consider to acquire knowledge in and add another standard technology to your system for those purposes.
openHAB as you might know can control many subsystems in parallel, and all the programming to work cross-device would be done inside openHAB rules.
I would never go for Niko or other proprietary devices if I still have the choice.
KNX or ZWave would be prime candidates, there’s a large number of devices on the market to select from, depending on your wiring situation and needs.
Thanks for the suggestions,
I tend to like modbus since it is used as the main bus in all hvac systems even to this day. Of course, domestic systems seem to not follow this trend, which is for the better, since new communication protocols are for the most part easyer to use then modbus rtu or even tcp.
I basicly plan to implement a modbus tcp server on my PLC unit, as i did before on my beckhoff plc. It’s really been reliable for me and allows me to expose only the things i want to the raspberry (not my garage port, for example).
The plc is basicly the complete backbone, using no bus systems to comunicate vital signals, only using 24v dc signals to make the backbone.
The only thing the openhab does is request certain values and send values to these modbus tcp registers. Would it break down, only alexa and the openhab system would stop working.
Now, for renovations, which seem to be the primary kind of projects people ask me about, ZWave or enocean would be a prime candidate, to reduce wiring.
KNX won’t enter any of these homes, call it a professional grudge
I will take a look at zwave
Well, given your background, I understand your bias towards Modbus and your intent to use the PLC as “the backbone” but to speak frankly, that’s an old-style, conceptionally totally different and (somewhat) incompatible approach compared to using openHAB for this which is right what it was built for.
The “backbone” in an openHAB setup is the HAB (Home Automation Bus) which is a transmission-layer agnostic, purely logical bus that ALL devices use to communicate with the central unit. openHAB also provides SW modules called “bindings” to translate an abstract device representation into specific hardware such as physical Modbus or ZWave devices (or EnOcean or KNX or ZigBee or or or), but other than that, openHAB essentially doesn’t care about hardware.
So it’s your choice to select whatever HW you like best or feel to be the best suited one(s).
Plus openHAB provides the command & control unit to work on top of that bus.
So that’s where the programming would be done (unlike in your solution where it’s the PLC I guess).
I can make use of any openHAB-attached device using the abstract representation.
Just as an example, I’ve implemented my (consolidated) HVAC control in openHAB rules. I use ZWave to operate my floor valves and pumps, to get temperature and presence (motion) information from all rooms, and to operate an airflow valve. I also run a binding using some proprietary protocol to control my radiator thermostats (that are part of a proprietary system to come with its own control), but I override their control. And I use some Modbus-over-TCP-lookalike to connect to my ventilation unit (which is essentially a Modbus-controlled unit but has an IP interface on top).
Then using openHAB rules, I can do various stuff to orchestrate all devices like for example shut off my wife room’s ventilation when there’s a person present and ventilation unit intake air is too cold compared to her room’s air temperature because she dislikes cold air being dropped on her head.
Does she now? Maybe I should try that with my wife!