For almost a month now I've been living in my newly built Passive House with a Loxonp-based system I put together and programmed myself (starting about 10 months ago). While I had the electrician run all the wires in the house (conventional 14/2 home run to Loxone, cat6 from all wall switches to loxone, cat6 from per room sensors to loxone, and cat6 ethernet from Loxone to key locations). All my lights are running 24 volt DC to LED fixtures, driven from 3x600W 24v power supplies (and 3x600W marine-duty DC-DC converters for fixtures that turned out to need 15v). Typically power draw is very low (<100W) and thus the power supply fans are dead silent unless we turn everything on, and even then it only gets up to about 700W.
The downlights are an excellent product from Lauren Illumination (**highly** recommend them!), and for the rest we used standard E26 fixtures with RV/marine 12-24v DC bulbs. The latter are mostly corn bulbs from 12vMonster.com, with a couple of other types I've been experimenting with -- this is not an ideal solution due to their wonky electrical behaviour and I'm looking for good alternatives. I desperately wish the guys at Lauren Illumination made E26 bulbs!
Dimming and on/off is provided via a pair of 32-channel DMX PCBs, and these are wired to the house wiring via Phoenix Contact terminal blocks (spring clips... thank heaven for those!). The DMX signal is generated via the Loxone DMX extension which is working great. Using a standard protocol allows me to choose from many devices and daisy-chain them together. The board I chose is working well, although those bulbs caused quite an adventure!!
All the switches are WattStopper 1, 2, 3 or 4 buttons but they are wired back to an Elexol IO72 and an IO24 (80 inputs used, 96 available) -- these are cat6 to a keystone jack patch panel, then hookup wires to the screw terminals (that's the ugly bit). All the indicator LEDs are driven using a 5v from another small DC-DC converter. The Elexol boards send Ethernet UDP packets via a DIN rail mounted industrial 5 port Ethernet switch to the Loxone. Note that all the devices use hard-coded IPv4 addresses so the DHCP server doesn't need to be connected or working for the board to operate.
The sensors are all 1-wire and connected via cat6 w/ RJ45 connectors, wired back to an Embedded Data Systems ETHER box which is queried from the Loxone via the Ethernet switch.
The programming of the Loxone is done largely in 4 picoC custom program blocks. I have about 2000 lines of picoC code. I am a software developer (and fairly hardcore C/C++ developer at that), so going this way made far more sense to me than trying to scale up the Loxone graphical programming environment to a full house. Even so, I have 12 pages in the graphical programming environment. Currently the lighting system is mostly working (scene support is still a work in progress -- it uses the ~6 3-button switches and the one 4-button switch in the house), and HRV control is working great. Still pending the heating/cooling system (plumber not done yet).
One of the reasons I have so many lines of code is that my programs read configuration files from a Mac on my network. These are simple CSV spreadsheet files that encode all the behaviours of switches, lights, scenes and sensors. Being able to change those parameters and reboot the Loxone without having to edit code is really nice. The programs cache the files on the local Loxone file system so that if the Mac isn't found for whatever reason the Loxone boots with the last version of the files it started with. This is working really nicely, but it did take a bit of doing to get it to work!
Three pending problems with the Loxone stuff. One is the daylight sensor I haven't managed to get to work yet (using an analog input). The other is that the Loxone 1-wire extension just doesn't seem to work... and its my second one as the first one seemed to get fried early on. I gave up on the and got the EDS device, and haven't looked back since. The third problem is that sometimes picoC programs survive a warm reboot!!! That can be pretty trippy.
The 4 programs:
1) UDP reader to talk to the Elexol devices. Copes with dropped packets and missed button-up events much better than just using the virtual input mechanism.
2) The lighting / wall switch system logic. Talks to the UDP Elexol reader, the DMX Extension, and makes heavy use of virtual inputs so that the smartphone/web interface works nicely. Also does a bit of HRV control (although that is mostly in the graphical environment).
3) EDS reader -- every ~20 seconds reads an XML file with the sensor status from the EDS device and parses the XML to extract temperature and humidity data. If I find other interesting 1-wire sensors I may add more kinds of data (CO2 and CO would be interested). The EDS can handle 22 sensors and I'm up to 20.
4) Heating/cooling program -- will be mostly using the graphical function blocks for this purpose, by my hydronics systems has some interesting stuff that needs a bit of custom logic. Most of the stuff in the system will actually be controlled by a dedicated temperature controller, but the Loxone will act as the house's thermostat(s) since it has so many data points.
Surprisingly the memory load is quite low (21% it tells me right now). Performance is fine -- the lighting program is the most compute intensive and it manages to cycle at around 60-70 Hz so there is no lag in the switches. I've been asking Loxone for a real compiler and debugging environment (or at least a compile-to-byte-code compiler) but I suspect this is falling on deaf ears. I recently sent them my whole config though, so we'll see if anything comes of that.
Sure is nice to be able to remap switches to lights by editing a few numbers rather than ripping wires out of walls! And having dimming and soft on/off on every light in the house is pretty awesome. I also like my switch behaviour a lot better than the lighting controllers that Loxone provides built in... being able to tweak the behaviour any way I want is pretty nice. Now that it is mostly debugged! There were some mildly tricky problems to track down, but now that they have been it is working acceptably and will improve as I put more time into it.