Application virtualization, IoT and Cloud Computing, Blog of Sacha Thomet

SmartHome

No vacation for the smart home

Translation of this Blog Post to English will follow later

—-

Als wir diesen Sommer in den Urlaub fuhren, wurde mir wieder bewusst wie toll es ist, dass ich mein zu Hause “Smart” gemacht habe. In vorherigen Smart Home Blog-Posts konntet ihr bereits lesen dass ich einerseits eine selbst zusammen gestellte Lösung mit Home Assistant als zentrale Komponente betreibe, aber auch die Produkte von Energie 360 welche unter dem Namen Smartacus verkauft werden einsetze.

Ich gebe es zu, ich bin ein Kontrollfreak … ich will immer wissen was bei mir zu Hause geht. Es geht mir dabei nicht darum Leute zu überwachen, aber Raumtemperatur, offene Türen, Stromkonsum oder Schadensverursachende Einflüsse möchte ich gerne erkennen.

Hier ein paar Beispiele: 

Wer kennt es nicht, nach dem wegfahren zu Hause kommt plötzlich der Gedanke “Habe ich den Kochherd auch wirklich ausgeschaltet?
Mit einem entsprechend ausgerüsteten SmartHome kann man sich diese Frage mit einem Blick auf der Smartphone App sofort selbst beantworten. Voraussetzung ist natürlich dass die Energiemessung im SmartHome integriert wurde, bei Smartacus geht dies z.B. mit dem Strommessmodul, wenn man lieber selbst bastelt und eine Lösung für HomeAssistant sucht lässt sich z.B. Smappee dafür integrieren.

Mit dem Strommessmodul kann man natürlich auch gerade sein Standby-Konsum überprüfen, es macht durchaus Sinn alle nicht genutzten Geräte vor dem Urlaub ganz auszuschalten oder vom Netz zu nehmen. Das spart Strom, dadurch schont es die Geldbörse und man kann noch das minimale Risiko eines Brandes durch einen Kurzschluss etc. auf 0 reduzieren. Eigentlich weiss das ja jeder, aber mir wurde es mit der Strommessung erneut vor Augen geführt. Der Stromverbrauch der Smartacus Zentraleinheit ist mit ca 5 Watt übrigens enorm gering!

Habe ich erwähnt das in meinem SmartHome diverse Steckdosen stromlos gemacht werden , sobald ich das Haus verlasse und mein Mobiltelefon nicht mehr im Home WLAN ist? Nein … ok das ist das was für einen nächsten Blog-Post – bei Interesse wie ich das mache darf man gerne Anfragen.

Ein weiterer Grund das sich mein Smart Home diesen Sommer besonders nützlich erwies war die Tatsache, dass ich es mit einem Flut-Sensor ausgestattet habe um so “den Wasserstand” in meinem Keller zu checken. Siehe mein Post “Unterwasser“. Ich wusste somit auch das mit zu Hause keine böse Überraschung erwartet.

Trotz Smart Home hatte meine Schwiegermutter den Auftrag die Werbung aus dem Briefkasten 1x die Woche zu entfernen und in der Wohnung abzulegen, mit den Tür-Sensoren konnte ich feststellen ob und wann das gemacht wurde …

Urlaubszeit ist auch Einbruchszeit – mit dem zufälligen ein- und ausschalten von Lichtern kann eine Anwesenheit simuliert werden, was eventuell ein Einbrecher vor einer Tat abhält.

Underwater

I really like summer and as a scuba diver I like a lot thins what are under water.

But last week after a summer storm there was to much under water … our basement was flooded 🙁

I’m not routinely in the basement, just when I need to take up a bottle of wine or something out of the freezer.

Until last week our basement was poorly equipped by IoT, the only one what I do is that I measure the power consumption of the freezer. But that exactly saved me from more damage, I was alerted because the freezer started to consume 100 watt instead of the usual 45 watt. So I decided to sight what is wrong. The basement was already flooded with 40cm of water.

Now I’m prepared for the future, I have installed now a Fibaro Flood Sensor and integrated to my Smartacus Smart Home System . Now I can see earlier when water comes into the basement and I have the chance to power off the freezer and to alert somebody to exhaust the water. The installation of the leak sensor with smartacus is pretty easy.

I learned, when a Smart Home System is present – it definitely makes sense to have sensors for all possible issues.

My Smart Home – Chapter 3-2: Smartacus – Use cases

Article will be translated to english soon

Die Anwendungsfälle von IoT sind nahezu unbegrenzt, eher setzt die Vorstellungskraft Grenzen als die Technik. Wie Smartacus auf Ihrer Webseite wirbt sind im Bereich Smart Home folgende 3 Ziele die am meisten gesehenen:

  • Energieverbräuche senden (“intelligentes” Heizen und Beleuchten)
  • Komfort steigern (z.B. Szenenbasierte Geräte/Lichtsteuerung)
  • Sicherheit erhöhen (Licht einschalten beim Heimkommen, aktive Sensoren bei Abwesenheit)

Ich habe mit der Smart Home Geschichte angefangen, weil ich es spannend finde zu sehen was möglich ist, meiner Frau verkaufe ich es natürlich als Komfortverbesserung.

Achtung! Mit einem falsch eingesetzten Smart Home lässt sich im Übrigen auch genau das Gegenteil erreichen! Ein nicht gut konfiguriertes System kann den Komfort verschlechtern, die Sicherheit reduzieren oder auch mehr Energie verbrauchen. Hier ist es wichtig zu wissen was man macht und welche Produkte man einsetzt. Ich verzichte zum Beispiel absichtlich im Moment auf eine smarte Türöffnung wie es sie z.B. von Nuki gibt. Auch messe ich den Stromverbrauch meiner Komponenten bevor ich diese integriere. Die Smartacus Basisstation braucht zum Beispiel nur 7 Watt beim Start und 4 Watt im Betrieb.

Aber nun weiche ich vom Thema ab … eigentlich wollte ich in diesem Blog-Post Beispiele bringen wie Smartacus eingesetzt werden kann. Natürlich sind diese Anwendungsfälle auch auf andere Smart-Home Systeme anwendbar.

Hier meine ersten realisierten Anwendungsfälle

Intelligentes Heizen

Wer braucht 22° wenn er schläft? Ist es nicht Schade wenn in der Nacht die Wohnung stärker geheizt wird als nötig, bei tieferer Temperatur schläft man nicht nur besser sondern man spart auch Energie! Hier erreichen wir sowohl den Energiespar-Effekt wie auch die Komfortsteigerung. Zu realisieren ist das Ganze im Smartacus Portal via den Reiter Zeitsteuerung.

Auch wird viel Energie verpufft, wenn man Fenster oder Türen öffnet, gerade jetzt wo wir Temperaturen weit unter dem Gefrierpunkt haben, dreht die Heizung voll auf wenn es rapid Kalt wird.

Mit Einsatz eines Tür-/Fensterkontaktes (1) kann dies verhindert werden und wir heizen nicht das Dorf sondern der Heizkörper Thermostat (2) regelt die Temperatur runter. Dies geschieht über den Reiter Dienste:

Natürlich muss man dran denken auch einen “Gegendienst” zu bauen welcher bei Schliessung der Tür die Heizung wieder auf die Wunschtemperatur stellt.

Intelligentes Beleuchten

Früher habe ich Weihnachts-Beleuchtung einfach mit einer mechanischen Zeitschaltuhr dazu gebracht nur am Abend und am Morgen zu leuchten. Ein smarter Zwischenstecker (3) lässt sich zwar wie eine Zeitschaltuhr konfigurieren und man erreicht damit dass Weihnachtsdeko nicht für die Katze leuchtet, aber toll ist das man es Beispielsweise mit einem Multisensor (4) erweitern kann und somit die Beleuchtung auch abhängig von Helligkeit oder Bewegung steuern. So kann jemand um 02:00 in der Nacht an unserem Balkon vorbeilaufen und der Leuchtende Stern geht auch für diesen Nachtschwärmer an.

Intelligentes “dummes” Heizen

Dieser Winter war wieder besonders kalt und letzte Woche als bei uns eine Aussentemperatur von -14° Celsius herrschte ist es wieder passiert, uns sind im Keller die Wasserleitungen zu gefroren.

In unserem alten Haus, welches ein umgebautes Bauernhaus aus dem letzten Jahrhundert ist, lässt sich dieses Problem leider nur durch jeweils kurzfristiges elektrisches Heizen lösen. Im Keller gibt es keine Möglichkeit anders zu heizen. Eine leider sehr ineffiziente und verschwenderische Lösung.

Zum Glück reicht es, wenn wir im Keller eine Temperatur von 4-5° erreichen, das Problem ist dass sich die im Haushalt gebräuchlichen Elektroöfen nicht auf 4° einstellen lassen, die Skala beginnt irgendwo bei 15°.

Mit dem Multisensor (4) und einem smarter Zwischenstecker (3) lässt sich auch dieses Problem lösen und wir können unseren Keller auf 5° heizen.

My Smart Home – Chapter 3-1: Smartacus – non tinker solution? Unboxing and putting into operation

Beside of Citrix and virtualization topics I had already Smart Home and IoT topics in the past here on this blog. You can find  posts about smart switches and bulbs or about a smart switch combined with the LaMetric smart watch.

Recent weeks I wrote about my smart mirror and about Home Assistant, both are projects which require advanced IT knowledge and are only interesting for people with according skills and time for a DYO project. REST and Python should not be unknown words … Often I was asked “Sacha can you please also build this for me?” I have a full-time job, I have a family, I’m active for the Citrix community and sometimes I work in my free time as a Scuba Diving Instructor. So, I’m pretty engaged and I cannot spend time to do this for others. But in my opinion, everyone should have the possibility make his home smart.

Some weeks ago, Smartacus has come to my attention. This complete solution is pretty similar like the Home Assistant which I blogged about last week, it combines different components to one place. Smartacus is a product by Energie 360° and is developed for the market in Switzerland.

Compared with Home Assistant is Smartacus a commercial product for End-users, which don’t have the time or skills for a DYI project. 

In December, I received my Smartacus Start package, in this post I write about the chosen components, the Unboxing and putting into operation.

Packages – the components

It’s possible to choose predefined packaged from Smartacus or to build an own individual set. Basically a  Smartacus-setup consists a central unit and one or more sensors and “actors”.

The central unit has connections to the local components and is connected to the “Smartacus-Cloud” in the Internet. But now I’m already way to technical, Smartacus is for End-users which won’t know too much about the tech.

If somebody don’t know what he need, it’s possible to talk with the Chatbot on the Smartacus web site. The Chatbot will help to choose what you need and fill up the shopping basket. A nice example how a Chatbot can help.

In reason, I don’t have a photovoltaic system and I’m living in a rented apartment I decided to start only with the radiator thermostat system and some added components.

This System would be definitely thrilling in an owned house with a photovoltaic installation.

Unboxing

I opened the package and immediately I remarked that Energie 360° and Smartacus are not boring people. Even I didn’t ordered the energy package, I received some personal energy for the time on which I install my Smartacus System. Some food and an energy drink …

I ordered the following components : 

  • Central Unit
  • 3x Radiator thermostat
  • 2x Door- / Window Sensor
  • 1x Smoke detector
  • 1 Multi Sensor
  • 1x flush-mounted switch relay
  • 1x Switch und measure plug

Putting in operation

Central unit

To put the central unit in operation is an easy thing, just plug in the Ethernet cable to the switch or router, plug in the power cable in – and the physical installation is done.

After the Smartacus central unit is online you can login to the portal and configure your setup, the system will guide you through all steps.

I was in doubt to have another central unit in my network, I have already one for my Philips Hue and one for my WirelessTags. I thought another new device which needs power… but this time I was positively surprised, it consumes 7 Watt on start-up and 4 Watt in normal operation.

Integration of Smart Devices

The integration of new devices is simple, on the portal the binding of a new device is handled in three steps. The action which has to be done on the device is explained on the portal.

Formerly I had already radiator thermostats from another manufacturer, but those I removed after I found out that already a slightly touch demolish the installation.

This new radiator thermostats supplied by Smartacus are manufactured by Danfoss and are from the quality perspective much better and stable. The installation can be done in a few minutes:

My interim conclusion at this point:

+ very easy installation
+ high quality components
– Limited number of components by Smartacus

My Smart Home – Chapter 2: Home Assistant

After my smart mirror project which was exciting, I can still only see the values of the integrated sensors on the mirror. The problem that I can’t control my smart devices from one place still exists.

The conglomeration of smart devices in my home is very various, I need to work with something which is open for almost everything imaginable.

On Facebook, I saw a post of an acquaintance who adverted for Home Assistant (home-assistant.io). Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control. Perfect to run on a Raspberry Pi.

Hass.io (Home Assistant) is still in development but works already good. I’ve started with version 0.48 or so and now in December 2017 we are on 0.60.

First I started with Hass.io on a Raspberry Pi 3, but then I’ve upgraded my Synology NAS and the new one is able to run Docker, so I moved my Home Assistant to a Container on my NAS.

I don’t write here now a post how to install and run Home Assistant, that you can find in Getting started on hass.io, the intention of this post is a short Intro for Home Assistant with some hints for the practice.

For Hass.io there is also a mobile app, you can use the App if you are in the same network as your Home Assistant server or you have a VPN connection in this network. It’s also possible to expose the server to the internet, it contains all you need for that like duck dns and Let’s Encrypt. But I won’t do that for security consideration.

Devices and Components

Home Assistant has a very broad range of supported smart devices, I added the following devices to my system:

A short demo of how that looks on my environment:

Automation

Before I used Home Assistant I automated some of my smart devices with IFTTT, with hass.io I can now do that “On Premises”.

I created the following “recipes” for my home automation:

  • If the IKEA lamp in my living room turns on, also turn on the lights in my vitrine (LED plugged in a MyStrom Smart Plug):
  • If my UniFi controller doesn’t see any Wifi Mac address of the mobile phones of my family members, the automation “Away-Mode” turns on. This procedure powers off some Smart Plugs, bring my Sonos Player to pause, and all Hue lights will be turned off.

In contrast to IFTTT it’s possible with hass.io to combine things almost indefinitely. It’s possible to define so-called Conditions.

Helpful Hints

If you try Home Assistant and you start to create and modify your *.yaml files, really use a text editor which shows you invisible characters! Python is very fussy for syntax errors even when only an invisible character.

Make backup from your files before you modify it, this can help to avoid some frustration.

If you intend to add a MyStrom Smart Button, I found out that this doesn’t work currently if your Home Assistant Web GUI is protected with a password.

Conclusion

A big benefit of Home Assistant is that it’s an open system with a large developer community, there are many components integrated and it’s possible to integrate by your own.

The downside of Home Assistant is that’s currently not yet a solution for an Enduser without any IT skills. More and more it’s now configurable via Web GUI but without any IT knowledge, it’s impossible to manage it.

+ Command center for your Smart Home
+ Cheap
+ Interaction with your smart components is possible
+ many Components integrated
+ App for your mobile phone or tablet computer
+ – Open Source (Open to integrate other things, improve code vs Security)
– Not an End-user product
– Needs Maintenance

A short preview for my third Smart Home article, I will show you something which is also usable for End-Users without IT Knowledge. I know the readers of my blog are mostly IT Pro’s but I’m sure you have also friends who want to play the Smart Home game and have no clue how to start.

Another LaMetric IoT script – power control

Because I have currently holiday here is another post which is not related to virtualization …

I combined my new “gadgets” the LaMetric time and my new wifi Smart-Plug from MyStrom. The goal was to report the current power consumption of power plug and the possibility to control the plug with the smart ticker.

MyStrom has a very straight forward API (https://mystrom.ch/en/mystrom-api), and the possibility to create apps for LaMetric is pretty easy what I’ve already mentioned in an past blog post.

All what is needed to implement this solution is:

  • a web server which can parse PHP
  • two small scripts
  • and a private app for LaMetric

This is the script to see the current power consumption:

{
    "frames": [
        {
            "index": 0,
            "text": " <!--?php //$host = "http://192.168.1.59/report"; //Call with parameter, e.g.: http://192.168.1.20/LaMetric/myStrom.php?host=192.168.1.59 $host = "http://" . $_GET["host"] . "/report"; $filestring = file_get_contents($host); $startpos = 0; while($pos = strpos($filestring, "\"power\"", $startpos)) { $string = substr($filestring, $pos, strpos($filestring, ",", $pos + 1) - $pos); //echo $string. " "; $newstring = str_replace("\"power\": ","","$string"); echo round($newstring, 2); $startpos = $pos + 1; } ?--> Watt",
            "icon": "i1692"
        }
    ]
}

I just read the content from the API, which is already in JSON format, but I reformat it that it is in that way which I need to bring it to the LaMetric.
This is the script to control the power outlet:

<!--?php $host = "http://" . $_GET["host"] . "/report"; $filestring = file_get_contents($host); $startpos = 0; while($pos = strpos($filestring, "relay", $startpos)) { $string = substr($filestring, $pos, strpos($filestring, "}", $pos + 1) - $pos); $newstring = str_replace("relay\": ","","$string"); //echo $newstring; $startpos = $pos + 1; } $newstring = str_replace(chr(13), "", $newstring); if ($newstring == "false ") { echo "Ist ausgeschaltet, wird nun eingeschaltet"; $URL = "http://" . $_GET["host"] . "/relay?state=1"; $data = file_get_contents($URL); } else { echo "Ist eingeschaltet, wird nun ausgeschaltet"; $URL = "http://" . $_GET["host"] . "/relay?state=0"; $data = file_get_contents($URL); } ?-->

And the LaMetric private app:

This simple poll app call the script on the webserver (192.168.1.20) with the parameter of the MyStrom plug (192.168.1.59).

On button action the controller script is launched with change the status (off to on or visa verse)

myStromApp-mini

(192.168.1.59 is the ip of my Power outlet. 192.168.1.20 is the address of my web server, this can be a raspberry pi or a Synology.)