{"id":30164,"date":"2019-07-17T00:00:19","date_gmt":"2019-07-16T22:00:19","guid":{"rendered":"https:\/\/www.olino.org\/blog\/us\/?p=30164"},"modified":"2019-07-17T21:03:55","modified_gmt":"2019-07-17T19:03:55","slug":"smart-charging-at-home-and-more","status":"publish","type":"post","link":"https:\/\/olino.org\/blog\/us\/articles\/2019\/07\/17\/smart-charging-at-home-and-more\/","title":{"rendered":"Smart charging at home, and more"},"content":{"rendered":"<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/000-My-Domotics-symbol.png\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/000-My-Domotics-symbol-100x89.png\" alt=\"\" width=\"100\" height=\"89\" class=\"alignright size-thumbnail wp-image-30638\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/000-My-Domotics-symbol-100x89.png 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/000-My-Domotics-symbol-400x355.png 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/000-My-Domotics-symbol-768x682.png 768w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/000-My-Domotics-symbol.png 1022w\" sizes=\"(max-width: 100px) 100vw, 100px\" \/><\/a>Do you want to charge your electric car solar based, or when the electricity tariff is low? Do you want to turn on your central heating before you come home? This article describes how I realized it, and more, at low costs.<br \/>\n<!--more--><\/p>\n<p>&nbsp;<\/p>\n<h2>Introduction<\/h2>\n<p>Until now, it was always a bit tricky while charging my car at home and using other high power equipment at the same time. Why? Because the connection from the grid to my home is a three-phase connection, and like many households it is limited to 3x25A. While charging the car at 3x16A, only 9 Amp\u00e8re per phase is still available for the rest of the house. Even a water cooker using 10A can be tricky then. Therefore, one of my goals is to protect the main fuse from overcurrent, by automatically throttling down the charging process or when necessary, pause the charging completely.<br \/>\nSecondly I want to be able to charge the car in a smart way. With \u201csmart\u201d I mean, let the charging speed automatically be determined by the available solar power, or charge at minimum costs. This also stabilizes the grid and allows more room for renewable energy.<br \/>\nFurthermore, I want to be able to remote control my central heating. And this remote access needs to be secure, of course.<br \/>\nFinally, I added a Particulate Matter sensor to measure the amount of PM10 and PM2.5 outside. This gives me some insight of the outside air quality. This information could be used to control future ventilation systems.<\/p>\n<p>&nbsp;<\/p>\n<h2>Determine technology<\/h2>\n<p>During the design process, I made several decisions about what technology I will use. It has to be flexible, easy to maintain, secure, low power, and preferably not expensive.<\/p>\n<p>As I do not want many wires crossing my house, I started to investigate what wireless technic to use. There are lots of standards to choose from, but they all have their advantages and drawbacks:<br \/>\n&#8211;\trfxcom (433.92 MHz)<br \/>\n&#8211;\tZigbee (2.4 GHz)<br \/>\n&#8211;\tZ-Wave (868.42 MHz)<br \/>\n&#8211;\tWiFi (2.4 \/ 5 GHz)<br \/>\n(General remarks: The lower the frequency, the longer the antenna. The higher the frequency, the shorter the range, but more bandwidth is available.)<br \/>\nRfxcom is a bit older technology, and the number of devices I found were limited.<br \/>\nZigbee is an Open standard, but not every manufacturer follows the standard precisely. In some cases I read, it lacks security, and one device in your network can be the weakest link for the rest.<br \/>\nZ-Wave is greatly depending on one manufacturer [Sigma Designs] that does the certification of all the devices. This is good for keeping the quality high, but not so good for the price and broad usage.<br \/>\nBoth Zigbee and Z-Wave support a mesh network. This enables the communication to go from one node to another, which can be an advantage when one device could otherwise not reach the main access point by itself. (https:\/\/en.wikipedia.org\/wiki\/Mesh_networking)<br \/>\nFinally I ran into boards based on <a href=\"https:\/\/en.wikipedia.org\/wiki\/ESP8266\" rel=\"noopener\" target=\"_blank\">ESP8266<\/a> chips. They use WiFi, come in many shapes and configurations, are very cheap, easy to use, and have many possibilities. There is even a software library available that, if used, can make a mesh-network of all these WiFi devices. WiFi is optimized for high data throughput and not for very low power, but these boards have so many advantages that I decided to use this wireless communication technic anyway. It depends of course on what you define as low power. One device based on an ESP8266 chip uses about 10Wh per day, which is less then 4kWh per year. (<a href=\"https:\/\/bbs.espressif.com\/viewtopic.php?t=133\" rel=\"noopener\" target=\"_blank\">More info on this power usage<\/a>)<\/p>\n<p>&nbsp;<\/p>\n<h2>What hardware?<\/h2>\n<p>I already have a Raspberry Pi running for some other tasks, but still it has lots of capacity unused, so I figured, this Pi can easily function as a domotics server as well.<br \/>\nAs I decided to use my already available WiFi network for wireless communication, I do not need to install an extra antenna for my Raspberry Pi to support rfxcom, Zigbee or Z-Wave.<\/p>\n<p>I have the following energy meters:<br \/>\n&#8211;\tSmart meter for Electricity and gas (P1-Port)<br \/>\n&#8211;\tSolar Gross Production Meter (S0 pulse counter)<br \/>\n&#8211;\tkWh meter of the chargebox (S0 pulse counter)<br \/>\n&#8211;\tWater meter (Analog counter)<br \/>\nFor reading all these meters I decided to use a WEMOS D1 R2 Mini. This board is based on the ESP8266 chip, has several input\/output possibilities, is fed by a micro-USB connector, and cost only around \u20ac2,50.<\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/005-WEMOS-D1-R2-mini-top-bottom.jpg\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/005-WEMOS-D1-R2-mini-top-bottom-400x257.jpg\" alt=\"\" width=\"400\" height=\"257\" class=\"alignnone size-medium wp-image-30605\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/005-WEMOS-D1-R2-mini-top-bottom-400x257.jpg 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/005-WEMOS-D1-R2-mini-top-bottom-100x64.jpg 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/005-WEMOS-D1-R2-mini-top-bottom.jpg 650w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>To power it, you just need a micro-USB power supply, which you may have laying around somewhere, and if not, you can get them at many shops.<\/p>\n<p>To communicate with my chargebox I will use a similar board, but I will come back to that later.<\/p>\n<p>&nbsp;<\/p>\n<h2>Energy metering<\/h2>\n<h3>Smart meter<\/h3>\n<p>To be able to keep the current of the 3 phases within its limits, you first need to measure it. Normal households in the Netherlands have either 1 phase 35 Ampere (1x35A), or 3 phase 25 Ampere (3x25A) connection. There are different types of smart meters installed in the Netherlands, and I happen to have one of the \u201colder\u201d types that does not measure Currents. So I started to investigate if I could measure these Currents myself. But I soon discovered that for 3 phases it is not going to be easy. A lot has to do with taking into account different power factors and current being able to flow both ways. That did not stop me from trying, but I also do not want to overcomplicate things. So I managed to get a new smart meter from Enexis with DSMR 5.0 (Dutch Smart Meter Requirements), which can do it for me! This meter has all the data I need present at its P1-port, which is in fact a read-only serial port.<br \/>\nAlthough a WEMOS has a serial port available, first the voltage of the signal has to be converted from 5 to 3.3V and the signal also needs to be inverted. So some extra electronics is needed to do that. Actually, all input signals to the WEMOS also needs to have some protection and filtering circuits to keep interference signals outside. Soon I found myself creating an electronic design around the WEMOS. For this I found myself the perfect online tool: <a href=\"https:\/\/easyeda.com\" rel=\"noopener\" target=\"_blank\">EasyEda<\/a>. It has libraries of almost all electronic components, it is free of use, and you can even convert your schematic into a Printed Circuit Board (PCB).<br \/>\nThis is the input-schematic I used for the connection of the P1-port:<\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/010-Schematic-P1.png\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/010-Schematic-P1-400x178.png\" alt=\"\" width=\"400\" height=\"178\" class=\"alignnone size-medium wp-image-30584\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/010-Schematic-P1-400x178.png 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/010-Schematic-P1-100x44.png 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/010-Schematic-P1.png 581w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>You need to apply 5V to pin2 of the P1-port to ask the smart meter for data. R2, C1, D1 and D2 is for protection and filtering. This is very important, because you want to get rid of all kinds of interference signals. Finally the signal from pin5 of the P1-port is inverted by the transistor and also converted to 3.3V.<\/p>\n<h3>Pulse counters<\/h3>\n<p>Both my [Solar Gross Production Meter] and the [kWh meter of the chargebox] have a S0 pulse output. For these signals I created the following schematic:<\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/020-Schematic-S0-puls-signal.png\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/020-Schematic-S0-puls-signal-400x210.png\" alt=\"\" width=\"400\" height=\"210\" class=\"alignnone size-medium wp-image-30585\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/020-Schematic-S0-puls-signal-400x210.png 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/020-Schematic-S0-puls-signal-100x52.png 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/020-Schematic-S0-puls-signal.png 494w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>To invert the signal and make it \u201cclean\u201d, I added a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Schmitt_trigger\" rel=\"noopener\" target=\"_blank\">Schmitt-trigger<\/a> between the input schematic and the WEMOS:<\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/030-Schematic-Schmitt-trigger.png\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/030-Schematic-Schmitt-trigger-400x127.png\" alt=\"\" width=\"400\" height=\"127\" class=\"alignnone size-medium wp-image-30586\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/030-Schematic-Schmitt-trigger-400x127.png 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/030-Schematic-Schmitt-trigger-100x32.png 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/030-Schematic-Schmitt-trigger.png 438w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><br \/>\n<a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/031-SN74HC14N.jpg\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/031-SN74HC14N.jpg\" alt=\"\" width=\"141\" height=\"127\" class=\"alignnone size-medium wp-image-30604\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/031-SN74HC14N.jpg 334w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/031-SN74HC14N-100x90.jpg 100w\" sizes=\"(max-width: 141px) 100vw, 141px\" \/><\/a><\/p>\n<p>I used a SN74HC14N which has six in one package, which is plenty for this PCB.<\/p>\n<h3>Water meter<\/h3>\n<p>For the analog water meter I needed to make something special. I could of course buy some ready-made sensor in a shop for about \u20ac80, but all I need is just a proximity switch sensor for \u20ac3,50, that operates on 5V, and mount it with a 90mm pipe bracket above the metal part of the small wheel that turns once every liter, to create my own digital pulse counter. This is the result:<\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/040-Water-meter-05-Water-meter-sensor_.jpg\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/040-Water-meter-05-Water-meter-sensor_-357x400.jpg\" alt=\"\" width=\"357\" height=\"400\" class=\"alignnone size-medium wp-image-30587\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/040-Water-meter-05-Water-meter-sensor_-357x400.jpg 357w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/040-Water-meter-05-Water-meter-sensor_-89x100.jpg 89w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/040-Water-meter-05-Water-meter-sensor_.jpg 756w\" sizes=\"(max-width: 357px) 100vw, 357px\" \/><\/a><\/p>\n<p>And again a similar input circuit that transforms the signal to make it suitable for the WEMOS:<\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/050-Schematic-water-meter.png\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/050-Schematic-water-meter-400x173.png\" alt=\"\" width=\"400\" height=\"173\" class=\"alignnone size-medium wp-image-30588\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/050-Schematic-water-meter-400x173.png 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/050-Schematic-water-meter-100x43.png 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/050-Schematic-water-meter.png 601w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>The reading of the water meter is not necessary for this project, but a nice to have.<\/p>\n<h3>Energy metering combined<\/h3>\n<p>Finally I designed a layout of all the components on a prototype PCB, and this is the result:<\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/060-Meterkast-02-Meterkast-WEMOS_.jpg\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/060-Meterkast-02-Meterkast-WEMOS_-400x238.jpg\" alt=\"\" width=\"400\" height=\"238\" class=\"alignnone size-medium wp-image-30589\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/060-Meterkast-02-Meterkast-WEMOS_-400x238.jpg 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/060-Meterkast-02-Meterkast-WEMOS_-100x60.jpg 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/060-Meterkast-02-Meterkast-WEMOS_-768x458.jpg 768w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/060-Meterkast-02-Meterkast-WEMOS_.jpg 993w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/070-Meterkast-03-Meterkast-WEMOS_.jpg\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/070-Meterkast-03-Meterkast-WEMOS_-400x312.jpg\" alt=\"\" width=\"400\" height=\"312\" class=\"alignnone size-medium wp-image-30590\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/070-Meterkast-03-Meterkast-WEMOS_-400x312.jpg 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/070-Meterkast-03-Meterkast-WEMOS_-100x78.jpg 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/070-Meterkast-03-Meterkast-WEMOS_-768x599.jpg 768w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/070-Meterkast-03-Meterkast-WEMOS_.jpg 919w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>What software?<\/h2>\n<p>Hardware that contains microcontrollers is nothing without software. So I need software on the Raspberry Pi (Server), and on the small WiFi devices (Clients) as well.<\/p>\n<p>&nbsp;<\/p>\n<h2>Server software<\/h2>\n<p><a href=\"https:\/\/www.domoticz.com\/wiki\/Main_Page\" rel=\"noopener\" target=\"_blank\">Domoticz<\/a> seems like a logical choice to run on the Pi. It has lots of possibilities, and the list of compatible devices is very long. Nevertheless, thanks to a very convincing demonstration by a good friend, I chose <a href=\"https:\/\/nodered.org\/\" rel=\"noopener\" target=\"_blank\"><b>Node-RED<\/b><\/a> to be the heart of the system. With this open-source tool I can be more flexible, and program everything exactly the way I want it. It has a nice intuitive web-based interface, with lots of example flows to choose from.<br \/>\nBesides Node-RED being the heart of the system, a <b>dashboard layer<\/b> is also available. This dashboard presents itself as a web application, and is also very suitable for mobile devices, like a smartphone. This way, you even do not need an App on your phone, just a browser will do!<br \/>\nFurthermore, I installed database <a href=\"https:\/\/mariadb.com\/\" rel=\"noopener\" target=\"_blank\"><b>MariaDB<\/b><\/a>. This is a fork of MySQL, and is therefore very similar to it. But where MySQL has a down-trend in google-searches, MariaDB has an up-trend. And it being open-source, made me decide to use MariaDB.<br \/>\nTo maintain the database there are also many possibilities. But I choose to use <a href=\"https:\/\/www.phpmyadmin.net\/\" rel=\"noopener\" target=\"_blank\"><b>phpMyAdmin<\/b><\/a>, which can also be installed on the Raspberry Pi, and has a nice intuitive web interface, just like Node-RED.<\/p>\n<p>Finally I want to make the data visual in the form of charts. For that I found this nice open-source software <a href=\"https:\/\/grafana.com\/\" rel=\"noopener\" target=\"_blank\"><b>Grafana<\/b><\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h2>Client software<\/h2>\n<p>The software that runs on the clients, in my case WEMOS and ESP-01 devices, is programmed in the language C++. A nice Integrated Development Environment (IDE) is available for programming and uploading the software to the devices. It is called Arduino IDE and it is available for several operating systems. (<a href=\"https:\/\/www.arduino.cc\/en\/Main\/Software\" rel=\"noopener\" target=\"_blank\">More info<\/a>)<br \/>\nYou need to connect the client-device to your PC, if you want to upload your software. For a WEMOS you only need a micro-USB cable, but for an ESP-01 you need this nice little (cheap) programmer:<\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/080-Programmer-ESP-01_.jpg\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/080-Programmer-ESP-01_-400x248.jpg\" alt=\"\" width=\"400\" height=\"248\" class=\"alignnone size-medium wp-image-30591\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/080-Programmer-ESP-01_-400x248.jpg 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/080-Programmer-ESP-01_-100x62.jpg 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/080-Programmer-ESP-01_-768x476.jpg 768w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/080-Programmer-ESP-01_.jpg 785w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>I created the software for reading all the energy meters myself. As this was the first sketch (name of a program in the Arduino IDE) I made, I had to start with programming the basics: Connecting to WiFi and my MQTT-broker, receiving the current time from the internet to set the internal clock (taking into account summer and wintertime), configuring all the I\/O ports including the serial port which I will use for getting the data from the P1 port, decode the smart meter P1-telegram and its CRC-code, create interrupt-routines for the three pulse-counters, and send all the gathered information by MQTT-messages to Node-RED!<br \/>\nLater on, I even programmed my devices in such a way that I can upload new versions of the software over the air (OTA), which makes it very convenient, because then you do not have to get the device and connect it to you PC anymore.<\/p>\n<p>&nbsp;<\/p>\n<h2>Chargebox<\/h2>\n<p>Currently I have a chargebox of the brand EVBOX in my garage. I chose for this box in 2013, because back then they said, it would probably be possible in the future to do smart things with it. Unfortunately now it seems I need to buy an expensive upgrade for it, if I want to use the smart-options.<br \/>\nBecause I already knew there was a connection in my EVBOX available to connect multiple boxes and do load-balancing, I thought to myself, then it must somehow be possible with the current hardware to do smart-charging also. In a schematic of the box I discovered this connection was a RS485 bus. So I asked the company for some technical documentation about this bus, but unfortunately they would not share it with me. And that\u2019s where the challenge started\u2026<\/p>\n<p>I mean, how hard can it be to reverse engineer the protocol myself? Well, this is what I did.<br \/>\nI bought the following hardware. First, a RS485-to-serial converter:<\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/100-EVBOX-01-RS485-to-Serial_.jpg\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/100-EVBOX-01-RS485-to-Serial_-400x326.jpg\" alt=\"\" width=\"400\" height=\"326\" class=\"alignnone size-medium wp-image-30592\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/100-EVBOX-01-RS485-to-Serial_-400x326.jpg 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/100-EVBOX-01-RS485-to-Serial_-100x82.jpg 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/100-EVBOX-01-RS485-to-Serial_-768x626.jpg 768w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/100-EVBOX-01-RS485-to-Serial_.jpg 822w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>Second, a 12 to 3.3V converter (There is a 12V connection available inside the EVBOX):<\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/110-EVBOX-02-5-1224V-to-3V3_.jpg\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/110-EVBOX-02-5-1224V-to-3V3_.jpg\" alt=\"\" width=\"398\" height=\"309\" class=\"alignnone size-full wp-image-30593\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/110-EVBOX-02-5-1224V-to-3V3_.jpg 398w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/110-EVBOX-02-5-1224V-to-3V3_-100x78.jpg 100w\" sizes=\"(max-width: 398px) 100vw, 398px\" \/><\/a><\/p>\n<p>Third, an ESP-01 (this is a small board based on the ESP8266 chip which runs on 3.3V):<\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/120-EVBOX-03-ESP-01_.jpg\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/120-EVBOX-03-ESP-01_-357x400.jpg\" alt=\"\" width=\"357\" height=\"400\" class=\"alignnone size-medium wp-image-30594\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/120-EVBOX-03-ESP-01_-357x400.jpg 357w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/120-EVBOX-03-ESP-01_-89x100.jpg 89w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/120-EVBOX-03-ESP-01_.jpg 654w\" sizes=\"(max-width: 357px) 100vw, 357px\" \/><\/a><\/p>\n<p>Total cost is below \u20ac4 and I put these together on a small PCB:<\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/130-EVBOX-04-ESP-ev-box-1_.jpg\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/130-EVBOX-04-ESP-ev-box-1_-400x264.jpg\" alt=\"\" width=\"400\" height=\"264\" class=\"alignnone size-medium wp-image-30595\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/130-EVBOX-04-ESP-ev-box-1_-400x264.jpg 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/130-EVBOX-04-ESP-ev-box-1_-100x66.jpg 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/130-EVBOX-04-ESP-ev-box-1_-768x507.jpg 768w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/130-EVBOX-04-ESP-ev-box-1_.jpg 944w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>Then I took the following 7 steps:<\/p>\n<p>1. Determine baud rate of serial data<br \/>\nTo be able to read data, you first need to know at what baud rate it communicates. So with the help of a friend, I wrote a small test program that measures the time between digital ones and zeros, uploaded it into a WEMOS and started listening on the serial port. It seemed the smallest pulse was about 26\u00b5s. With this info you can calculate that the maximum baud rate must be 38k4 bits\/sec.<\/p>\n<p>2. Discover serial parameters<br \/>\nThis step took a bit more time. First I uploaded <a href=\"https:\/\/github.com\/jeelabs\/esp-link\" rel=\"noopener\" target=\"_blank\">esp-link<\/a> on the ESP-01. This is a tool that converts the serial data to WiFi. I set the baud rate to 38k4 and tried some serial settings (data\/parity\/stop). But no matter what I tried, the data made no sense at all.<br \/>\nThen after some time I started to investigate the raw data, and finally I came to the conclusion that the serial signal was inverted! The ESP-01 has a hardware serial port build in, but that does not have the option to invert the signal. By using a software-serial port I finally could read some data.<br \/>\nSerial settings: 8N1 (8 databits \/ No parity \/ 1 stopbit)<br \/>\nData consists of plain ASCII which represent hexadecimal data.<\/p>\n<p>3. Inverted the serial signal<br \/>\nTo invert the serial signal, I switched the RS485 wires.<br \/>\nThis has a big advantage, because now I can use the hardware-serial port.<\/p>\n<p>4. Investigate data structure.<br \/>\nNow comes the hardest part, figuring out what the data means. So I created a spreadsheet, and started logging the data, while I gave commands to the chargebox.<br \/>\nI started to recognize commands, and figured out how the checksums were calculated.<\/p>\n<p>5. Sent first command<br \/>\nUntil now I only listened on the bus, but to influence the charging process, I must be able to send commands too.<br \/>\nSo I tested a simple command: Turning on and off the LED-ring of the chargebox. It worked!<br \/>\nSo two-way communication is working correctly.<\/p>\n<p>6. Programming ESP-01<br \/>\nI removed the esp-link-software and programmed a nice interface inside the ESP-01 myself that handles the checksums, recognizes complete commands and sends them to Node-RED via MQTT, and vice versa.<\/p>\n<p>7. Change maximum charge current<br \/>\nI can now start and stop the charging via commands in Node-RED, which is nice. But one very important part is still missing. I want to be able to change the charge current while charging is in progress. That is, after all, the reason why I build this interface!<br \/>\nBut I do not know the command for it, and the Customer service of EVBOX will not help me in providing these technical details. Or will they&#8230;<br \/>\nI came up with a plan. I started logging the raw data on the bus, connected my car with the charge cable to the chargebox, and called the EVBOX support. I know they can remotely configure the maximum charge current. So I asked them, if my chargebox was configured at the maximum possible charge current. They responded with: \u201cYes, at 16 Amp\u00e8re\u201d.<br \/>\n\u201cOk\u201d, I said. And then I asked, \u201cJust to be sure, can you temporarily set it to 15A?\u201d<br \/>\nThey did, and that was exactly wat I needed!<br \/>\nI asked them to put it back to 16A, and thanked them extensively ;-).<br \/>\nThis was the last piece of the puzzle, and without them knowing, they helped me find it.<\/p>\n<p>I wonder what will happen when they will read this article someday, but then again, it is my chargebox, and I can do with it what I want.<\/p>\n<p>&nbsp;<\/p>\n<h2>Smart charging<\/h2>\n<p>Now that I have the interface to my chargebox operational, I can start programming the smart stuff in Node-RED. <\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/140-Node-RED-UI-Smart-charging.png\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/140-Node-RED-UI-Smart-charging-343x400.png\" alt=\"\" width=\"343\" height=\"400\" class=\"alignnone size-medium wp-image-30596\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/140-Node-RED-UI-Smart-charging-343x400.png 343w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/140-Node-RED-UI-Smart-charging-86x100.png 86w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/140-Node-RED-UI-Smart-charging.png 400w\" sizes=\"(max-width: 343px) 100vw, 343px\" \/><\/a><\/p>\n<p>The first option is the Main fuse protection. In my case the chargebox has a 3-phase connection, so I have to check all three phases of the main for possible overcurrent. In case the current of one of the phases is too high for the main fuse, the charging speed needs to be reduced. The electricity meter sends its data every second to the server, and the main fuse(s) are of the slow-type, so there is plenty of time to react. Furthermore, the Renault ZOE needs a minimum current to charge, so if the charge current would need to drop below this threshold, the charging needs to pause temporarily.<\/p>\n<p>Next selection is the Charge mode. I defined the options: \u201cDirect\u201d, \u201cSave costs\u201d, and \u201cSolar based\u201d.<br \/>\n\u201cDirect\u201d will start the charging immediately.<br \/>\n\u201cSave costs\u201d will charge the car only when the electricity tariff is low. Currently I have only a high or low tariff, but that might change in the future.<br \/>\n\u201cSolar based\u201d will only charge the car when the solar panels produce a certain amount of power. The Renault ZOE charges at three phases and needs a current of at least 12.5A. That means 3*12.5A*230V = 8,6kW is needed. But the inverter of my solar panels can only produce a maximum of 2.6kW on one phase only. This means, apart from the available solar power, extra power from the grid is always needed during charging. I could improve this by switching to one-phase charging, but this needs some hardware changes, which I might implement in the future.<\/p>\n<p>&nbsp;<\/p>\n<h2>Central heating<\/h2>\n<p>Nowadays there are several \u201csmart\u201d thermostats for sale that allow you to remotely adjust the temperature in your house. The disadvantage is that they are costly, and introduce another separate system. Apart from that, my current thermostat is still working fine. It only lacks a remote interface.<br \/>\nThen I ran into a nice do-it-yourself (DIY) project that describes how to make an <a href=\"http:\/\/otgw.tclcode.com\/\" rel=\"noopener\" target=\"_blank\">Opentherm Gateway (OTGW)<\/a>. This device connects between your thermostat and the central heater. It allows you to monitor the data, and override the temperature settings. Fortunately my current thermostat is of the Opentherm type, so I decided to go for it.<br \/>\nI ordered all the necessary parts, programmed the <a href=\"https:\/\/en.wikipedia.org\/wiki\/PIC_microcontrollers\" rel=\"noopener\" target=\"_blank\">PIC-chip<\/a>, replaced the standard serial interface with a wireless one using a small Serial-Wifi ESP8266 board, installed <a href=\"https:\/\/github.com\/jeelabs\/esp-link\" rel=\"noopener\" target=\"_blank\">esp-link<\/a> on it, soldered the components on the PCB, and build it in a case. This is the result:<\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/200-OTGW-07_.jpg\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/200-OTGW-07_-400x300.jpg\" alt=\"\" width=\"400\" height=\"300\" class=\"alignnone size-medium wp-image-30597\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/200-OTGW-07_-400x300.jpg 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/200-OTGW-07_-100x75.jpg 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/200-OTGW-07_-768x576.jpg 768w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/200-OTGW-07_.jpg 1008w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>On the outside of the case there are 4 LEDs, which can be programmed. I chose four different colors: yellow, blue, green and red, and gave them the following meanings:<br \/>\nYellow: central heating active<br \/>\nBlue: Domestic hot water heating active<br \/>\nGreen: Thermostat override<br \/>\nRed: Error<\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/210-OTGW-10-Thermostat_.jpg\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/210-OTGW-10-Thermostat_-400x333.jpg\" alt=\"\" width=\"400\" height=\"333\" class=\"alignnone size-medium wp-image-30598\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/210-OTGW-10-Thermostat_-400x333.jpg 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/210-OTGW-10-Thermostat_-100x83.jpg 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/210-OTGW-10-Thermostat_-768x639.jpg 768w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/210-OTGW-10-Thermostat_.jpg 962w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><br \/>\n<a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/220-OTGW-10-OTGW_.jpg\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/220-OTGW-10-OTGW_-400x300.jpg\" alt=\"\" width=\"400\" height=\"300\" class=\"alignnone size-medium wp-image-30599\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/220-OTGW-10-OTGW_-400x300.jpg 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/220-OTGW-10-OTGW_-100x75.jpg 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/220-OTGW-10-OTGW_-768x576.jpg 768w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/220-OTGW-10-OTGW_.jpg 1008w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>Last but not least I created a flow in Node-RED using the wireless data of the OTGW, which resulted in the following interface that allows me to (remotely) monitor and control the temperature at home:<\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/230-OTGW-UI.png\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/230-OTGW-UI-400x394.png\" alt=\"\" width=\"400\" height=\"394\" class=\"alignnone size-medium wp-image-30600\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/230-OTGW-UI.png 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/230-OTGW-UI-100x100.png 100w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>Security<\/h2>\n<p>First I used the Node-RED dashboard only within my local network. But to be able to use it remotely, security needs to be in place. That means an encrypted connection via HTTPS is needed. For this encryption you need a certificate, which I found at this provider for free:<br \/>\n<a href=\"https:\/\/letsencrypt.org\/\" rel=\"noopener\" target=\"_blank\">Let\u2019s encrypt<\/a><br \/>\nThen you need a domain that links to your home, and check if your hope IP-address is static or dynamic. The certificate needs to be installed on the server running the dashboard, a strong password in Node-RED needs to be set, and a mechanism to renew the certificate is necessary, because otherwise it will expire after some time. Finally your router needs to be configured to forward the traffic to the correct place.<br \/>\nThis was definitely not easy to implement, but crucial for creating a safe remote interface.<\/p>\n<p>&nbsp;<\/p>\n<h2>Particulate Matter sensor<\/h2>\n<p>On a <a href=\"http:\/\/luftdaten.info\/feinstaubsensor-bauen\/\" rel=\"noopener\" target=\"_blank\">German website<\/a> there is a nice manual of how to build a Particulate Matter sensor yourself for under \u20ac30.<br \/>\nIt can send its data automatically to a <a href=\"https:\/\/maps.luftdaten.info\/#5\/51.091\/1.332\" rel=\"noopener\" target=\"_blank\">public website<\/a>.<br \/>\nBut I also store the data locally, so I can make my own charts.<\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/300-Particulate-Matter-sensor-Installed-01_.jpg\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/300-Particulate-Matter-sensor-Installed-01_-400x352.jpg\" alt=\"\" width=\"400\" height=\"352\" class=\"alignnone size-medium wp-image-30601\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/300-Particulate-Matter-sensor-Installed-01_-400x352.jpg 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/300-Particulate-Matter-sensor-Installed-01_-100x88.jpg 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/300-Particulate-Matter-sensor-Installed-01_.jpg 748w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/310-Node-RED-UI-Particulate-Matter.png\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/310-Node-RED-UI-Particulate-Matter-268x400.png\" alt=\"\" width=\"268\" height=\"400\" class=\"alignnone size-medium wp-image-30602\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/310-Node-RED-UI-Particulate-Matter-268x400.png 268w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/310-Node-RED-UI-Particulate-Matter-67x100.png 67w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/310-Node-RED-UI-Particulate-Matter.png 400w\" sizes=\"(max-width: 268px) 100vw, 268px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>Future<\/h2>\n<h3>Electricity provider with prices per hour<\/h3>\n<p>In the future there are possibilities for having different prices every hour at your home address. Currently there is one provider that offers this:<\/p>\n<p><a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/400-easyEnergy.com-Example.png\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/400-easyEnergy.com-Example-400x331.png\" alt=\"\" width=\"400\" height=\"331\" class=\"alignnone size-medium wp-image-30603\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/400-easyEnergy.com-Example-400x331.png 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/400-easyEnergy.com-Example-100x83.png 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/400-easyEnergy.com-Example-768x635.png 768w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/400-easyEnergy.com-Example.png 924w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>But I think there will be more providers like this in the future to choose from.<br \/>\nAs the prices are available one day upfront, you can automatically charge the car or do other energy-hungry actions when the prices are low, or maybe push excessive energy back into the grid when the prices are high. This will save you money and balance the grid at the same time.<\/p>\n<h3>Home battery and Vehicle to grid<\/h3>\n<p>Currently I can only charge the battery of my car, but I want to be able to get energy out of it too (V2X &#8211; <a href=\"https:\/\/en.wikipedia.org\/wiki\/Vehicle-to-everything\" rel=\"noopener\" target=\"_blank\">Vehicle to everything<\/a>). And when the car is not present, a home battery can be that buffer.<\/p>\n<h3>Heat pump<\/h3>\n<p>Somewhere in the near future I want to get rid of the expensive gas connection to my house. Therefore the current central heating system will be replaced by (most likely) a heat pump system. This will also have an impact on the Opentherm Gateway.<\/p>\n<h3>CO<sub>2<\/sub> controlled ventilation system<\/h3>\n<p>To create a better climate indoors, I want a ventilation system that is controlled by the amount of CO<sub>2<\/sub> in the air. Furthermore it needs a heat exchanger to make it energy efficient.<\/p>\n<p>&nbsp;<\/p>\n<h2>Charts<\/h2>\n<p>Finally I want to present some charts created by Grafana. These give a nice inside of what data is currently collected.<br \/>\n<a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Electricity-Power-usage-chart.png\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Electricity-Power-usage-chart-400x355.png\" alt=\"\" width=\"400\" height=\"355\" class=\"alignnone size-medium wp-image-30617\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Electricity-Power-usage-chart-400x355.png 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Electricity-Power-usage-chart-100x89.png 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Electricity-Power-usage-chart-768x682.png 768w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Electricity-Power-usage-chart.png 945w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>Solar charts:<br \/>\n<a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Solar-charts-1.png\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Solar-charts-1-400x290.png\" alt=\"\" width=\"400\" height=\"290\" class=\"alignnone size-medium wp-image-30619\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Solar-charts-1-400x290.png 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Solar-charts-1-100x73.png 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Solar-charts-1-768x557.png 768w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Solar-charts-1.png 965w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><br \/>\n<a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Solar-charts-2.png\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Solar-charts-2-400x264.png\" alt=\"\" width=\"400\" height=\"264\" class=\"alignnone size-medium wp-image-30620\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Solar-charts-2-400x264.png 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Solar-charts-2-100x66.png 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Solar-charts-2-768x507.png 768w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Solar-charts-2.png 965w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>Charge Power and State of Charge:<br \/>\n<a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Charge-Power-chart.png\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Charge-Power-chart-400x303.png\" alt=\"\" width=\"400\" height=\"303\" class=\"alignnone size-medium wp-image-30616\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Charge-Power-chart-400x303.png 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Charge-Power-chart-100x76.png 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Charge-Power-chart-768x582.png 768w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Charge-Power-chart-1024x776.png 1024w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Charge-Power-chart.png 1171w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>Central heating and Gas usage:<br \/>\n<a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Central-heating-charts.png\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Central-heating-charts-400x334.png\" alt=\"\" width=\"400\" height=\"334\" class=\"alignnone size-medium wp-image-30615\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Central-heating-charts-400x334.png 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Central-heating-charts-100x84.png 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Central-heating-charts-768x641.png 768w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Central-heating-charts-1024x855.png 1024w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Central-heating-charts.png 1055w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>Water usage:<br \/>\n<a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Water-usage-chart.png\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Water-usage-chart-400x181.png\" alt=\"\" width=\"400\" height=\"181\" class=\"alignnone size-medium wp-image-30621\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Water-usage-chart-400x181.png 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Water-usage-chart-100x45.png 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Water-usage-chart-768x347.png 768w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Water-usage-chart.png 965w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>Particulate Matter:<br \/>\n<a href=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Particulate-Matter-chart.png\" class=\"thickbox no_icon\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Particulate-Matter-chart-400x190.png\" alt=\"\" width=\"400\" height=\"190\" class=\"alignnone size-medium wp-image-30618\" srcset=\"https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Particulate-Matter-chart-400x190.png 400w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Particulate-Matter-chart-100x47.png 100w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Particulate-Matter-chart-768x364.png 768w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Particulate-Matter-chart-1024x485.png 1024w, https:\/\/olino.org\/blog\/us\/wp-content\/uploads\/2019\/07\/Particulate-Matter-chart.png 1055w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><br \/>\n(According to European standards for PM10, the upper assessment threshold of a daily average is 35 \u00b5g\/m\u00b3)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Do you want to charge your electric car solar based, or when the electricity tariff is low? Do you want to turn on your central heating before you come home? This article describes how I realized it, and more, at low costs.<\/p>\n","protected":false},"author":22,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[33,26,15],"tags":[],"_links":{"self":[{"href":"https:\/\/olino.org\/blog\/us\/wp-json\/wp\/v2\/posts\/30164"}],"collection":[{"href":"https:\/\/olino.org\/blog\/us\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/olino.org\/blog\/us\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/olino.org\/blog\/us\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/olino.org\/blog\/us\/wp-json\/wp\/v2\/comments?post=30164"}],"version-history":[{"count":23,"href":"https:\/\/olino.org\/blog\/us\/wp-json\/wp\/v2\/posts\/30164\/revisions"}],"predecessor-version":[{"id":30641,"href":"https:\/\/olino.org\/blog\/us\/wp-json\/wp\/v2\/posts\/30164\/revisions\/30641"}],"wp:attachment":[{"href":"https:\/\/olino.org\/blog\/us\/wp-json\/wp\/v2\/media?parent=30164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/olino.org\/blog\/us\/wp-json\/wp\/v2\/categories?post=30164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/olino.org\/blog\/us\/wp-json\/wp\/v2\/tags?post=30164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}