Boxing, part 1

Now the project is taking shape, there is a need to house:

Wooden box

So far, the best potential solution I found would be a nice wooden box like this:

Wooden Box

They exist in different sizes and shapes, including 16.5 cm and 20.5cm. I have these 2 sizes and am currently testing what feels best.

Adiabatic enclosure

Having vague memories from my University years and the concept of adiabatic enclosure, notions of heat and the First Law of thermodynamics, I am also trying to work out if vents will be mandatory or not.

The Raspberry model B+ seems a lot cooler than my old B (CPU is around 10°C cooler). I added a DS18B20 temperature sensor to monitor the temperature inside the wooden box and it is about 6-7°C more than that outside the box.

According to Raspberry Pi Engineer Gert van Loo heat should not be a problem, but I'm trying to keep the temperature as low as I can.

    Lacrosse, Digispark, Raspberry Pi, Roundup

    Quite happy with the results from the current setup, I decided to complete my collection of sensors with a WSTX3-TH to put on the front balcony.

    WSTX3-TH

    As a free bonus, since I moved to the final version (from prototype breadboard to a PCB one with all the necessary pins properly grounded), I seem to receive the signal from a neighbouring sensor as well. With 3 temperature readings from outdoors, I think I'm covered for the winter!

    Code is available on github :https://github.com/guillier/la_crosse_sensors

    Schematic is quite simple:

    Schematic

    Time to move on (and to concentrate on the main programme, maybe?)

    Z-Wave

    Once the thermostat choosen, the next move was to see how to interconnect the Raspberry Pi and the Z-Wave network.

    USB Sticks

    After investigation, it appears that there are 2 possibilities by 3 main manufacturers:

    • USB Sticks with SigmaDesigns SDK (the company behind Z-Wave). Compatible with Z-Wave plus.
    • USB Sticks with a inclusion button by Aeotec (Z-Stick S2)
    • USB Sticks running Z-Way by Z-Wave>me (ZStick)

    The other possibility, still by Z-Wave>me is called the Razberry and is an add-on for the Raspberry Pi. Cool... but not really future-proof.

    The solutions by Z-Wave>me seem to use a specific software called Z-Way and running in Javascript. Unfortunately, the documentation is very scarce and in the end I went for the Stick compatible with Z-Wave plus.

    Sigma Designs UZB

    Openzwave

    As I mentionned before, Z-Wave is a very closed world, at the opposite end of Open Source. Fortunately, reverse engineering was done and there is a Z-Wave free software library called Openzwave. There is even a Python wrapper!

    First tries

    If the compilation part takes ages, it is totally painless. But all first attempts were failures and I couldn't understand what was going on... Even using the control panel. Associating 2 of the elements (Thermostat, actuator, static controller) was fine but all three together didn't work as I expected. Even following the numerous recipes found on the forums.

    Then I found a way which works for me:

    • Reset/Exclude everything.
    • Include the Actuator on the Thermostat (back to the way the pack was when delivered).
    • Set the RaspberryPi/Stick in "ReceiveConfiguration" mode.
    • On the SCS317: Setup/Set up Z-Wave/Controller Shift to promote the Raspberry as the Primary Controller.

    After this, the all 3 elements are connected:

    • Node #1: Thermostat SCS317
    • Node #2: Actuator SSR303
    • Node #3: Raspberry Pi/Stick (Primary)

    Now, what can I do?

    Z-Wave learning curve is rather steep and badly documented (because of the NDA).

    Another particularity is that almost everything is asynchronous... and very slow. Especially when it comes to the SSC317. In order to minimise the battery usage, operation can wait for... hours!

    Other example, on the Control Panel, things can take several minutes before one received a response. Not talking about the state of the network which most of the time doesn't seem to reach the "Ready" level! :-(

    Frustrations

    Well, the thermostat is recognised by openzwave but half the interesting functions are not (yet) implemented. It looks like if openzwave was mainly developed for switches and relays. Sadly enough, anything around the schedule commands (0x53) are not taken into account so there is, at the moment, no way to read/write the 7-day programme.

    I wasn't able to read either the current temperature set point (which is odd because it should work).

    After playing a bit, I decided that Z-Wave is not yet totally fonctional without a proper certified box. I'm still wondering what the implementation of Z-Way is like and if it is more advanced than openzwave.

    Usages

    The values I can access to are:

    • Status of the switch on the actuator (on/off).
    • Status of the thermostat (Heat/Idle). In theory the same as above.
    • Current temperature of the room (when changing).
    • Thermostat battery power
    • A few other random values and versions...

    For the moment, I shelved idea of overriding the On/Off of the heating remotely (but this works fine). Since I want to use Python3 for the main software and this project is in Python (or C++), the simplest set-up was to have both running separately.

    One process is responsible for the z-wave management. Every 5 minutes, a refresh of value is requested (will be honoured... or not) and a few second later, a JSON value file will be dumped.

    The main process can then read this JSON file and do what it wants with the values (mainly sending them to RRD).

    I'll re-evaluate my options at a later stage.

    Thermostat

    In need of a good thermostat for my boiler, I investigated about the models and technologies available.

    The requirements were :

    • Reliable & Safe (I don't think it's a 230V commutation (more around 24V) but still...)
    • Voltage-free contacts
    • Programmable over 7-day
    • At least 4 settings per day (on/off morning + on/off evening)
    • Programming times with 1/2 hour steps max
    • Wireless if possible
    • Autonomous (no obligation for the Raspberry Pi or any other micirocontroller to be on)
    • Connectable to a home automation system if possible
    • Remotely programmable if possible
    • Remote override of settings if possible

    Trouble is, the perfect thermostat doesn't seem to be available in France. During my investigations, I found the following options :

    • Wired option: Cheap but not wireless and not connectable to an external system
    • Proprietary wireless: Usually not connectable either
    • Wifi thermostats - local server: The best (on the paper) seems the one from Heatmiser but they can be quite expensive, need permanent 230V and are wall mounted. Moreover they don't seem to be distributed in France. But the API is documented.
    • Wifi thermostats - cloud: The latest trend: Nest, Tado°, Netatmo, etc... I DON'T want to rely on a internet connexion to command the heating nor I want to upload private data (being in or out) to a private company. Privacy and risk of ending up with a useless piece of hardware if the manufacturer disappears render this solution a no go.
    • Chacon/DI.O/MyFOX: Didn't find anything available
    • EnOcean: Didn't find anything available/suitable
    • Z-Wave: Horstmann/Secure seem to fulfill the requirement

    Secure SCS317

    Horstmann (the old brand name) seem to appear on all the home automation forum, especially the model HRT4-ZW. Secure (the new name) released recently a model SCS317 (sold as kit paired with the actuator SSR303 under the name SCS318) which is ticking almost all the boxes of my list.

    SCS318

    It is a 7 day programmable thermostat with 6 temperatures settings per day, temporary override, holiday mode, TPI (Time Proportional & Integral) and speaks z-Wave.

    It also has a ten-minute resolution, so I could programme some heating from 06:40 to 8:20! My old thermostat could only do hours (for example from 07:00 to 8:00).

    Z-Wave

    The main feature is the fact that it is a Z-Wave product so (in theory) compatible with loads of other products and Home Automation boxes. That said, Z-Wave is also very much a proprietary wireless technology (even the access to the API is under NDA!!!!) and seems quite complicated to control from homemade solution. But this will be for next time...

    « Page 3 / 4 »