From 8a33ddfd058a839738b102379dd87d442f7b49f7 Mon Sep 17 00:00:00 2001 From: mrWheel Date: Sun, 10 Nov 2019 11:11:11 +0100 Subject: [PATCH] Opmerking over IDE v1.9.x (beta) --- mkdocs/docs/installatieArduinoIDE.md | 12 ++++ mkdocs/site/Has_OLED_SSD1306/index.html | 2 +- mkdocs/site/Opstarten/index.html | 2 +- mkdocs/site/Use_MQTT/index.html | 2 +- mkdocs/site/index.html | 4 +- mkdocs/site/installatieArduinoIDE/index.html | 14 +++- mkdocs/site/integratieHassio/index.html | 2 +- mkdocs/site/overzichtFuncties/index.html | 2 +- mkdocs/site/search/search_index.json | 2 +- mkdocs/site/sitemap.xml | 72 +++++++++---------- mkdocs/site/sitemap.xml.gz | Bin 580 -> 580 bytes mkdocs/site/uploadDataMap_V4/index.html | 2 +- mkdocs/site/uploadFirmware_V4/index.html | 2 +- 13 files changed, 71 insertions(+), 47 deletions(-) diff --git a/mkdocs/docs/installatieArduinoIDE.md b/mkdocs/docs/installatieArduinoIDE.md index 62e291e..6b8f3a9 100644 --- a/mkdocs/docs/installatieArduinoIDE.md +++ b/mkdocs/docs/installatieArduinoIDE.md @@ -14,6 +14,18 @@ hier downloaden. De DSMRloggerWS firmware is getest met de ArduinoIDE v1.8.8, v1.8.9 en v1.8.10 +
+

Let op!

+De Arduino IDE v1.9.x (Beta) is NIET geschikt om deze firmware mee te compileren. +
+Tot v1.9.x zorgt de IDE ervoor dat alle tab-bladen (.ino files) achter elkaar +worden geplakt tot één source file waarna deze aan de compiler (als één file dus) +wordt aangeboden. De Arduino IDE is eigenlijk de enige IDE (voor zover ik weet) +die dit doet en is als zodanig dus een beetje vreemd. +
+v1.9.x (Beta) doet dit in ieder geval (nog). +
+ Na het downloaden moet je het ontvangen bestand uitpakken (unzip of untar) en installeren. Dat installeren is per OS anders maar staat duidelijk op de website van Arduino aangegeven. Eenmaal geïnstalleerd kun je direct met de diff --git a/mkdocs/site/Has_OLED_SSD1306/index.html b/mkdocs/site/Has_OLED_SSD1306/index.html index 52748ab..e36f1be 100644 --- a/mkdocs/site/Has_OLED_SSD1306/index.html +++ b/mkdocs/site/Has_OLED_SSD1306/index.html @@ -329,7 +329,7 @@

#define HAS_OLED_SSD1306


DSMRloggerWS Version 1.0.3 -
Deze pagina is 2019-08-04 voor het laatst bijgewerkt. +
Deze pagina is 2019-10-19 voor het laatst bijgewerkt.
diff --git a/mkdocs/site/Opstarten/index.html b/mkdocs/site/Opstarten/index.html index 3b4fe6c..d6dc150 100644 --- a/mkdocs/site/Opstarten/index.html +++ b/mkdocs/site/Opstarten/index.html @@ -429,7 +429,7 @@



DSMRloggerWS Version 1.0.3 -
Deze pagina is 2019-08-05 voor het laatst bijgewerkt. +
Deze pagina is 2019-10-19 voor het laatst bijgewerkt.
diff --git a/mkdocs/site/Use_MQTT/index.html b/mkdocs/site/Use_MQTT/index.html index eabb4e5..9eff7f9 100644 --- a/mkdocs/site/Use_MQTT/index.html +++ b/mkdocs/site/Use_MQTT/index.html @@ -427,7 +427,7 @@

#define USE_MQTT


DSMRloggerWS Version 1.0.3 -
Deze pagina is 2019-08-05 voor het laatst bijgewerkt. +
Deze pagina is 2019-10-19 voor het laatst bijgewerkt.
diff --git a/mkdocs/site/index.html b/mkdocs/site/index.html index 02857b8..02bd349 100644 --- a/mkdocs/site/index.html +++ b/mkdocs/site/index.html @@ -371,7 +371,7 @@

Inhoudsopgave


DSMRloggerWS Version 1.0.3 -
Deze pagina is 2019-08-04 voor het laatst bijgewerkt. +
Deze pagina is 2019-10-19 voor het laatst bijgewerkt.
@@ -405,5 +405,5 @@

Inhoudsopgave

diff --git a/mkdocs/site/installatieArduinoIDE/index.html b/mkdocs/site/installatieArduinoIDE/index.html index 4a2caf3..b9ebd12 100644 --- a/mkdocs/site/installatieArduinoIDE/index.html +++ b/mkdocs/site/installatieArduinoIDE/index.html @@ -296,6 +296,18 @@

Installatie ArduinoIDE

De DSMRloggerWS firmware is getest met de ArduinoIDE v1.8.8, v1.8.9 en v1.8.10 +
+

Let op!

+De Arduino IDE v1.9.x (Beta) is NIET geschikt om deze firmware mee te compileren. +
+Tot v1.9.x zorgt de IDE ervoor dat alle tab-bladen (.ino files) achter elkaar +worden geplakt tot één source file waarna deze aan de compiler (als één file dus) +wordt aangeboden. De Arduino IDE is eigenlijk de enige IDE (voor zover ik weet) +die dit doet en is als zodanig dus een beetje vreemd. +
+v1.9.x (Beta) doet dit in ieder geval (nog). +
+

Na het downloaden moet je het ontvangen bestand uitpakken (unzip of untar) en installeren. Dat installeren is per OS anders maar staat duidelijk op de website van Arduino aangegeven. Eenmaal geïnstalleerd kun je direct met de @@ -331,7 +343,7 @@

Installatie ArduinoIDE


DSMRloggerWS Version 1.0.3 -
Deze pagina is 2019-05-28 voor het laatst bijgewerkt. +
Deze pagina is 2019-10-19 voor het laatst bijgewerkt.
diff --git a/mkdocs/site/integratieHassio/index.html b/mkdocs/site/integratieHassio/index.html index 51b0f37..16189ea 100644 --- a/mkdocs/site/integratieHassio/index.html +++ b/mkdocs/site/integratieHassio/index.html @@ -476,7 +476,7 @@

Integratie DSMR-logger met Ho
DSMRloggerWS Version 1.0.3 -
Deze pagina is 2019-08-04 voor het laatst bijgewerkt. +
Deze pagina is 2019-10-19 voor het laatst bijgewerkt.
diff --git a/mkdocs/site/overzichtFuncties/index.html b/mkdocs/site/overzichtFuncties/index.html index e616dab..c472a7f 100644 --- a/mkdocs/site/overzichtFuncties/index.html +++ b/mkdocs/site/overzichtFuncties/index.html @@ -418,7 +418,7 @@

Overzicht te selecteren functies


DSMRloggerWS Version 1.0.3 -
Deze pagina is 2019-08-05 voor het laatst bijgewerkt. +
Deze pagina is 2019-10-19 voor het laatst bijgewerkt.
diff --git a/mkdocs/site/search/search_index.json b/mkdocs/site/search/search_index.json index 82866ed..8716c64 100644 --- a/mkdocs/site/search/search_index.json +++ b/mkdocs/site/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"Documentatie DSMRloggerWS Voor de project beschrijving ga naar www.aandewiel.nl Inhoudsopgave Introductie Voorbereiding ArduinoIDE ESP8266 core Data Upload Tool Installeren Bibliotheken Firmware Benodigd Bibliotheken DSMR Firmware van Github Firmware Flashen DSMR-logger V4 board Data Flashen naar DSMR-logger V4 board Firmware Flashen DSMR-logger V3 board Data Flashen naar DSMR-logger V3 board Pr\u00e9 DSMR 4.0 Slimme Meters Selectie Functies DSMR-logger V4 met ESP-12 Over The Air update 0.96\" OLED display 1.3\" OLED display Gebruik MQTT Pr\u00e9 DSMR 4.0 Slimme Meters Network Time SM geeft geen info per Fase Toon wachtwoorden Test mode Hardware DSMR-logger Versie 4 Programmer voor de DSMR-logger V4 DSMR-logger Versie 3 Programmer voor de ESP-01 Overigen (Eerste keer) Opstarten gebruik restAPI Verschillen ESP8266 modules Over The Air (bug?) PUYA flash chip Vragen en Antwoorden Integratie met andere systemen Integratie met Domoticz Integratie met Homey Integratie met Home Assistant [ScreenShot DSMR-Actueel]","title":"Documentatie DSMRloggerWS"},{"location":"#documentatie-dsmrloggerws","text":"Voor de project beschrijving ga naar www.aandewiel.nl","title":"Documentatie DSMRloggerWS"},{"location":"#inhoudsopgave","text":"Introductie Voorbereiding ArduinoIDE ESP8266 core Data Upload Tool Installeren Bibliotheken Firmware Benodigd Bibliotheken DSMR Firmware van Github Firmware Flashen DSMR-logger V4 board Data Flashen naar DSMR-logger V4 board Firmware Flashen DSMR-logger V3 board Data Flashen naar DSMR-logger V3 board Pr\u00e9 DSMR 4.0 Slimme Meters Selectie Functies DSMR-logger V4 met ESP-12 Over The Air update 0.96\" OLED display 1.3\" OLED display Gebruik MQTT Pr\u00e9 DSMR 4.0 Slimme Meters Network Time SM geeft geen info per Fase Toon wachtwoorden Test mode Hardware DSMR-logger Versie 4 Programmer voor de DSMR-logger V4 DSMR-logger Versie 3 Programmer voor de ESP-01 Overigen (Eerste keer) Opstarten gebruik restAPI Verschillen ESP8266 modules Over The Air (bug?) PUYA flash chip Vragen en Antwoorden Integratie met andere systemen Integratie met Domoticz Integratie met Homey Integratie met Home Assistant [ScreenShot DSMR-Actueel]","title":"Inhoudsopgave"},{"location":"Has_No_Meter/","text":"#define HAS_NO_METER Om te testen of de verwerking van de gegevens, die normaal gesproken uit de Slimme Meter komen, goed gaat kun je met deze #define de firmware z\u00f3 maken dat hij z\u00e9lf voor (test) data zorgt. Om de tijd te versnellen zal de testdata eerst de maanden versneld laten voorbij gaan, daarna de dagen en tenslotte de uren. Let op! Alleen om te testen! #define Functie HAS_NO_METER De DSMRloggerWS firmware zorgt zelf voor test-data. Als deze functionaliteit actief is moet de DSMR-logger niet op een Slimme Meter worden aangesloten!","title":"Test mode"},{"location":"Has_No_Meter/#define-has_no_meter","text":"Om te testen of de verwerking van de gegevens, die normaal gesproken uit de Slimme Meter komen, goed gaat kun je met deze #define de firmware z\u00f3 maken dat hij z\u00e9lf voor (test) data zorgt. Om de tijd te versnellen zal de testdata eerst de maanden versneld laten voorbij gaan, daarna de dagen en tenslotte de uren. Let op! Alleen om te testen! #define Functie HAS_NO_METER De DSMRloggerWS firmware zorgt zelf voor test-data. Als deze functionaliteit actief is moet de DSMR-logger niet op een Slimme Meter worden aangesloten!","title":"#define HAS_NO_METER"},{"location":"Has_OLED_SH1106/","text":"#define HAS_OLED_SH1106 Als je een OLED schermpje op J4 van de DSMR-logger V4 hebt aangesloten dan zorgt deze optie ervoor dat het OLED schermpje ook gebruikt wordt door de Firmware. Let op! Alleen voor DSMR-logger V4 Met dank aan Dick Spork . #define Functie USE_OLED_SH1106 Deze define zorgt ervoor dat het 1.3\" OLED schermpje gebruikt wordt om meldingen op te presenteren. Deze define kan niet in combinatie met HAS_OLED_SSD1306 [SH1106_Display (foto Dick Spork)]","title":"1.3\" OLED display"},{"location":"Has_OLED_SH1106/#define-has_oled_sh1106","text":"Als je een OLED schermpje op J4 van de DSMR-logger V4 hebt aangesloten dan zorgt deze optie ervoor dat het OLED schermpje ook gebruikt wordt door de Firmware. Let op! Alleen voor DSMR-logger V4 Met dank aan Dick Spork . #define Functie USE_OLED_SH1106 Deze define zorgt ervoor dat het 1.3\" OLED schermpje gebruikt wordt om meldingen op te presenteren. Deze define kan niet in combinatie met HAS_OLED_SSD1306 [SH1106_Display (foto Dick Spork)]","title":"#define HAS_OLED_SH1106"},{"location":"Has_OLED_SSD1306/","text":"#define HAS_OLED_SSD1306 Als je een OLED schermpje op J4 van de DSMR-logger V4 hebt aangesloten dan zorgt deze optie ervoor dat het OLED schermpje ook gebruikt wordt door de Firmware. Let op! Alleen voor DSMR-logger V4 #define Functie USE_OLED_SSD1306 Deze define zorgt ervoor dat het 0.96\" OLED schermpje gebruikt wordt om meldingen op te presenteren. Deze define kan niet in combinatie met HAS_OLED_SH1106 ! [DSMRlogger AP Mode]","title":"0.96\" OLED display"},{"location":"Has_OLED_SSD1306/#define-has_oled_ssd1306","text":"Als je een OLED schermpje op J4 van de DSMR-logger V4 hebt aangesloten dan zorgt deze optie ervoor dat het OLED schermpje ook gebruikt wordt door de Firmware. Let op! Alleen voor DSMR-logger V4 #define Functie USE_OLED_SSD1306 Deze define zorgt ervoor dat het 0.96\" OLED schermpje gebruikt wordt om meldingen op te presenteren. Deze define kan niet in combinatie met HAS_OLED_SH1106 ! [DSMRlogger AP Mode]","title":"#define HAS_OLED_SSD1306"},{"location":"Is_ESP12/","text":"#define IS_ESP12 Met deze optie zal de DSMR-logger de Data Request pin van de Slimme Meter 'hoog' maken als hij een Telegram kan ontvangen. Na het ontvangen van een volledig Telegram zal de Data Request pin weer 'laag' worden gemaakt waardoor de Slimme Meter stopt met het sturen van Telegrammen. Let op! Alleen voor DSMR-logger V4 Deze functionaliteit werkt alleen in combinatie met een Versie 4 van de DSMR-logger. Met een DSMR-logger V2 of V3 bordje moet je deze optie niet activeren. #define Functie IS_ESP12 Om gebruik te kunnen maken van de Data Request pin van de Slimme Meter.","title":"DSMR-logger V4 met ESP-12"},{"location":"Is_ESP12/#define-is_esp12","text":"Met deze optie zal de DSMR-logger de Data Request pin van de Slimme Meter 'hoog' maken als hij een Telegram kan ontvangen. Na het ontvangen van een volledig Telegram zal de Data Request pin weer 'laag' worden gemaakt waardoor de Slimme Meter stopt met het sturen van Telegrammen. Let op! Alleen voor DSMR-logger V4 Deze functionaliteit werkt alleen in combinatie met een Versie 4 van de DSMR-logger. Met een DSMR-logger V2 of V3 bordje moet je deze optie niet activeren. #define Functie IS_ESP12 Om gebruik te kunnen maken van de Data Request pin van de Slimme Meter.","title":"#define IS_ESP12"},{"location":"MITlicense/","text":"MIT License Copyright \u00a9 2018 - 2019 Willem Aandewiel Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","title":"License"},{"location":"MITlicense/#mit-license","text":"Copyright \u00a9 2018 - 2019 Willem Aandewiel Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","title":"MIT License"},{"location":"Opstarten/","text":"(eerste keer) Opstarten Na het flashen van de firmware en het uploaden van de data -map kun je de DSMR-logger op de P1 poort van de Slimme Meter aansluiten. De DSMR logger zal nu opstarten. Heb je geen OLED-schermpje op je DSMR-logger aangesloten dan kun je, aan de hand ven het gedrag van de blauwe led op de ESP-12 toch zien waar hij zich in het opstart proces bevindt. Status Blauw Led Omschrijving OLED scherm Normale werking 1 Knippert 3x langzaam Initiele start *DSMRloggerWS* Connecting to WiFi 2 Knippert 5x snel Verbonden met WiFi telnet started (23) HTTP server started wacht op Telegram 3 Knippert om de 10 seconden Verwerkt een telegram Status Informatie (fout! na 1 en 2) 3 Blijft aan (of uit) logger wacht op een telegram Controleer aansluitingen! Dit duidt op een probleem! ?? wacht op Telegram ?? Eerste keer opstarten 1 Knippert 3x langzaam Initiele start *DSMRloggerWS* Connecting to WiFi 2 Blijft aan Access Point gestart AP Mode Connect to DSMR-WS- Als de blauwe led blijft branden dan moeten de gegevens van jouw WiFi netwerk nog worden ingevoerd zodat de DSMR-logger daar verbinding mee kan maken. Met je computer/mobiel/tablet, ga je naar Netwerk Instellingen en kijk je welke WiFi Access Points (AP) er allemaal zijn. Als daar een WiFi AP met de naam DSMR-WS xx-yy-zz tussen staat maak je daar verbinding mee. Er kunnen nu twee dingen gebeuren: Er verschijnt een popUp window waar je jouw WiFi netwerk kunt selecteren en het bijbehorende wachtwoord kunt invoeren; Of er gebeurt niets. Ga dan met je browser naar http://192.168.4.1/ waarna er een pagina verschijnt waarin je je WiFi netwerk kunt selecteren en het bijbehorende wachtwoord kunt invoeren. Druk vervolgens op [ Save ]. De logger zal rebooten en verbinding maken met jouw WiFi router (zie: Normale werking ). Zet je computer/mobiel/tablet weer terug op je eigen WiFi netwerk. Als de led, na de eerste drie keer langzaam knipperen blijft branden, dan kon de DSMR-logger geen verbinding met jouw WiFi netwerk maken en start hij weer zijn eigen AP op en zul je de WiFi procedure opnieuw moeten uitvoeren. Als de DSMR-logger normaal is opgestart en de blauwe led knippert zo ongeveer iedere tien seconden, ga dan met je browser naar: http://DSMR-WS.local/ of http:// Als alles goed is gegaan zie je in de browser de hoofd-pagina van de DSMR-logger met daarin de actuele data uit de Slimme Meter. Je kunt met telnet DSMR-WS.local of met telnet inloggen op je DSMR-logger en volgen waar de DSMR-logger mee bezig is. Om te bepalen welk IP is uitgegeven aan de ESP door de DHCP server, kun je in je router kijken, of met bijv. de Fing app of met nmap . Een andere manier om achter het IP-adres van je DSMR-logger te komen is door de ArduinoIDE op te starten. Onder Network Ports staat de DSMR-WS als optie, met daarachter het IP adres (in dit voorbeeld is dat 192.168.12.106 ). Uitzoeken Vanaf versie 0.4.2 van de DSMRloggerWS firmware werkt bovenstaande misschien niet meer! [3D boxje van Allard]","title":"(eerste keer) Opstarten"},{"location":"Opstarten/#eerste-keer-opstarten","text":"Na het flashen van de firmware en het uploaden van de data -map kun je de DSMR-logger op de P1 poort van de Slimme Meter aansluiten. De DSMR logger zal nu opstarten. Heb je geen OLED-schermpje op je DSMR-logger aangesloten dan kun je, aan de hand ven het gedrag van de blauwe led op de ESP-12 toch zien waar hij zich in het opstart proces bevindt. Status Blauw Led Omschrijving OLED scherm Normale werking 1 Knippert 3x langzaam Initiele start *DSMRloggerWS* Connecting to WiFi 2 Knippert 5x snel Verbonden met WiFi telnet started (23) HTTP server started wacht op Telegram 3 Knippert om de 10 seconden Verwerkt een telegram Status Informatie (fout! na 1 en 2) 3 Blijft aan (of uit) logger wacht op een telegram Controleer aansluitingen! Dit duidt op een probleem! ?? wacht op Telegram ?? Eerste keer opstarten 1 Knippert 3x langzaam Initiele start *DSMRloggerWS* Connecting to WiFi 2 Blijft aan Access Point gestart AP Mode Connect to DSMR-WS- Als de blauwe led blijft branden dan moeten de gegevens van jouw WiFi netwerk nog worden ingevoerd zodat de DSMR-logger daar verbinding mee kan maken. Met je computer/mobiel/tablet, ga je naar Netwerk Instellingen en kijk je welke WiFi Access Points (AP) er allemaal zijn. Als daar een WiFi AP met de naam DSMR-WS xx-yy-zz tussen staat maak je daar verbinding mee. Er kunnen nu twee dingen gebeuren: Er verschijnt een popUp window waar je jouw WiFi netwerk kunt selecteren en het bijbehorende wachtwoord kunt invoeren; Of er gebeurt niets. Ga dan met je browser naar http://192.168.4.1/ waarna er een pagina verschijnt waarin je je WiFi netwerk kunt selecteren en het bijbehorende wachtwoord kunt invoeren. Druk vervolgens op [ Save ]. De logger zal rebooten en verbinding maken met jouw WiFi router (zie: Normale werking ). Zet je computer/mobiel/tablet weer terug op je eigen WiFi netwerk. Als de led, na de eerste drie keer langzaam knipperen blijft branden, dan kon de DSMR-logger geen verbinding met jouw WiFi netwerk maken en start hij weer zijn eigen AP op en zul je de WiFi procedure opnieuw moeten uitvoeren. Als de DSMR-logger normaal is opgestart en de blauwe led knippert zo ongeveer iedere tien seconden, ga dan met je browser naar: http://DSMR-WS.local/ of http:// Als alles goed is gegaan zie je in de browser de hoofd-pagina van de DSMR-logger met daarin de actuele data uit de Slimme Meter. Je kunt met telnet DSMR-WS.local of met telnet inloggen op je DSMR-logger en volgen waar de DSMR-logger mee bezig is. Om te bepalen welk IP is uitgegeven aan de ESP door de DHCP server, kun je in je router kijken, of met bijv. de Fing app of met nmap . Een andere manier om achter het IP-adres van je DSMR-logger te komen is door de ArduinoIDE op te starten. Onder Network Ports staat de DSMR-WS als optie, met daarachter het IP adres (in dit voorbeeld is dat 192.168.12.106 ). Uitzoeken Vanaf versie 0.4.2 van de DSMRloggerWS firmware werkt bovenstaande misschien niet meer!","title":"(eerste keer) Opstarten"},{"location":"PUYA_patch/","text":"PUYA Flash Chip (ESP-01) Let op! (alleen voor DSMR-logger Versie 2 of 3) Pim van den Berg heeft uitvoerig onderzoek gedaan naar de firmware op een DSMR-logger Versie 3 bordje met de ESP-01 en dit zijn de bevindingen: Firmware PUYA flash Chip andere Flash Chip DSMRlogger2HTTP Werkt Werkt DSMRloggerWS Werkt NIET Werkt (niet altijd) In het Systeem Info scherm ( DSMRloggerWS ) of het Device Info scherm ( DSMRlogger2HTTP ) kun je bij Chip ID zien of jouw ESP-01 een PUYA Flash chip heeft: .. maar je kunt ook (met een vergrootglas) op de chip z\u00e9lf kijken natuurlijk:","title":"PUYA chips"},{"location":"PUYA_patch/#puya-flash-chip-esp-01","text":"Let op! (alleen voor DSMR-logger Versie 2 of 3) Pim van den Berg heeft uitvoerig onderzoek gedaan naar de firmware op een DSMR-logger Versie 3 bordje met de ESP-01 en dit zijn de bevindingen: Firmware PUYA flash Chip andere Flash Chip DSMRlogger2HTTP Werkt Werkt DSMRloggerWS Werkt NIET Werkt (niet altijd) In het Systeem Info scherm ( DSMRloggerWS ) of het Device Info scherm ( DSMRlogger2HTTP ) kun je bij Chip ID zien of jouw ESP-01 een PUYA Flash chip heeft: .. maar je kunt ook (met een vergrootglas) op de chip z\u00e9lf kijken natuurlijk:","title":"PUYA Flash Chip (ESP-01)"},{"location":"QenA/","text":"Vragen en Antwoorden Niet alles DSMR 4 is DSMR 4 5 Volt Programmer Tactile Switches PUYA Chip Update of Upgrade Slave kanaal Gasmeter Help! wat is pin 1 van mijn 4N35? De rode Led knippert Wat zijn de maten van de DSMR-logger? Wat is het verschil tussen RJ10 en RJ12? Niet alles DSMR 4 is DSMR 4 .. Mijn DSMR-logger doet het niet als ik hem op de Slimme Meter aansluit Er zijn Slimme Meters die 'zeggen' DSMR Versie 4 te volgen maar toch geen 5 volt met voldoende stroom leveren. Bouwers van de DSMR-logger hebben problemen gemeld met de KAIFA MA105A en MA105C en met de KAIFA MA304 . Kijk bijvoorbeeld hier en hier . Dit probleem is op te lossen door de DSMR-logger op een externe (bijvoorbeeld USB) voeding aan te sluiten. 5 Volt Programmer Kan ik met een 5 volt USB to TTL adaptor de DSMR-logger flashen? Als het een type is dat de TX en RX signalen op 3v3 levert (bijvoorbeeld deze ) dan k\u00e1n het wel, maar moet je de 5 Volt output op de 5 Volt pin van de DSMR-logger aansluiten. Je moet hem dan zoals in het plaatje hieronder aansluiten. Tactile Switches Waarom heb ik een tacktile switch met een lange en \u00e9\u00e9n met een korte stift? De tacktile switch met de korte stift is de RESET switch. Eenmaal ingebouwd in een (project) box moet de FLASH switch bereikbaar blijven omdat hij een dubbel functie heeft. Hij dient bij normaal gebruik om het oled-scherm 'wakker' te maken. Vandaar de lange stift! Deze lange stift maakt de switch wel erg kwetsbaar zolang de DSMR-logger niet in een (project) box is ingebouwd. Als je er een niet recht-naar-beneden kracht op uitoefend, dan breekt hij makkelijk af! PUYA Chip Mijn versie 3 bordje met PUYA chip doet het niet Het heeft er alle schijn van dat de DSMRloggerWS firmware niet geschikt is voor een ESP-01 (versie 3 bordje) met een PUYA flash chip. Kijk ook hier . Update of Upgrade? Wanneer moet ik updaten en wanneer upgraden? We doen een update als we de firmware willen vervangen met een nieuwere versie van dezelfde firmware (dus we vervangen DSMRlogger2HTTP door een nieuwere versie van DSMRlogger2HTTP \u00f3f we vervangen de DSMRloggerWS firmware door een nieuwere versie van de DSMRloggerWS firmware) We doen een upgrade als we de ene firmware vervangen door een andere (dus we vervangen bijvoorbeeld DSMRlogger2HTTP door DSMRloggerWS). Update Bij een update zal de lay-out van de data-bestanden niet veranderen en kun je volstaan met het opnieuw flashen van de firmware. Voor de data-map (SPIFFS) kun je twee wegen bewandelen. 1) Je haalt m.b.v. de FSexplorer (of met DSMRlogger2HTTP http://DSMR-ESP01.local/onderhoud ) de .html en .js bestanden op uit de data -map en zet deze in SPIFFS 2) Je haalt met de FSexplorer de PRDxxxx.csv bestanden op en zet deze in de data -map, waarna je met het Data Upload Tool de data -map naar SPIFFS kunt overzetten. Upgrade Bij een upgrade moet je zowel de firmware als de data -map opnieuw naar de DSMR-logger flashen. Uiteraard kun je ook in dit geval \u00e9\u00e9rst de PRDxxxx.csv bestanden uit de DSMR-logger halen en ergens op je computer bewaren. Met wat moeite kun je de inhoud van deze bestanden omzetten in het nieuwe formaat en ze dan weer terug zetten in de DSMR-logger. Slave kanaal Gasmeter Ik zie mijn gas-verbruik niet op de DSMR-logger Eric heeft dit voor ons uitgezocht en als commentaar gepost . Hieronder vind je de inhoud van zijn post. Het kan voorkomen dat de gasmeter niet op slave kanaal 1, maar op 2, 3 of 4 is aangesloten. Dit is op zich geen probleem, alleen gaat de dsmr -library er vanuit dat de gasmeter op kanaal 1 is aangesloten\u2026 Lang verhaal kort, als je de arduino-dsmr library iets aanpast (MBUS instelling) en daarna de DSMRloggerWS firmware opnieuw compileerd en naar de DSMR-logger V4 of de ESP-01 flashed, dan werk het geheel als een trein \ud83d\ude42 Ik heb het volgende gedaan: Login via Telnet op de DSMR-logger Versie 4 Laat een telegram verschijnen op je scherm (zie menu voor de juiste optie) Ga op zoek naar de gasmeting. Een voorbeeld: 0-2:24.1.0(003) 0-2:96.1.0(47303033**************31333137) 0-2:24.2.1(181202194007W)(00283.687*m3) In een gangbare situatie staat hier normaal: 0-1:24.1.0(003) 0-1:96.1.0(47303033**************31333137) 0-1:24.2.1(181202194007W)(00283.687*m3) De 0-2 waarde geeft aan dat je gasmeter is aangesloten op kanaal twee van de slimme meter. Het kan echter ook dat de gasmeter op kanaal 0-3 of 0-4 is aangesloten. Ga naar de arduino-dsmr library op je computer, deze is te vinden in de Arduino sketch directory er vervolgens in de libraries subdirectory. Je bent op zoek naar het bestand fields.h . Ergens rond regel 174 kom je de volgende constanten tegen: const uint8_t GAS_MBUS_ID = 1; const uint8_t WATER_MBUS_ID = 2; const uint8_t THERMAL_MBUS_ID = 3; const uint8_t SLAVE_MBUS_ID = 4; De truc is om het ID achter GAS_MBUS_ID aan te passen naar het kanaal waar je gasmeter op staat. Vervolgens pas je, bijvoorbeeld, de watermeter (WATER_MBUS_ID) aan naar het andere ID. Resultaat bij mij: const uint8_t GAS_MBUS_ID = 2; const uint8_t WATER_MBUS_ID = 1; const uint8_t THERMAL_MBUS_ID = 3; const uint8_t SLAVE_MBUS_ID = 4; Nu nog even de boel opslaan en over the air de firmware update (pure luxe dat dit kan). Vanaf nu kun je genieten van gasmetingen. Althans\u2026 Dat was bij mij het geval. Help! Wat is pin 1 van mijn 4N35? Hoe identificeer ik pin-1 van de optocoupler? Er zijn verschillende varianten van de 4N35 opto-coupler. Hieronder drie afbeeldingen waarmee je kunt identificeren wat pin 1 van de 4N35 is: De rode Led knippert Mijn rode (voedings) Led (D1) knippert en brand niet constant! Dit duidt er meestal op dat de voeding uit de Slimme Meter niet toerijkend is om de DSMR-logger te voeden. Met name Kaifa Slimme Meters hebben hier last van. De oplossing bestaat eruit een externe (USB) voeding te gebruiken. Deze sluit je aan op de GND en +5V pinnen van de DSMR-logger. Volgens deze post (zie punt 4) moet je \u00f3\u00f3k de 5 Volt vanuit de Slimme Meter onderbreken. Op de printplaat is dit vrij lastig (zeker als je hem al in elkaar gesoldeerd hebt). Het makkelijkste is dit in- of op de kabel te doen bijvoorbeeld door een stukje isolatie-tape over pin 1 te plakken. Stop de gehackte RJ12 ( 6P6C ) stekker in de DSMR-logger en niet in de Slimme Meter. Mocht het stukje tape loslaten dan is het eenvoudiger deze uit de DSMR-logger te halen dan uit de Slimme Meter. Het is echter \u00f3\u00f3k mogelijk (en wellicht eenvoudiger) om een RJ10/RJ22 (4P4C) kabeltje (4-polige telefoonkabel) te gebruiken. Deze kun je zowel in de Slimme Meter als in de DSMR-logger stoppen. Hierdoor worden pin 1 (5Volt) en pin 6 (GND) niet aangesloten (omdat pin 3 w\u00e9l wordt doorverbonden blijft GND beschikbaar!). Dick schrijft in dit comment dat voor hem het probleem is opgelost door C3 te verkleinen tot zo'n 100\u00b5F. Wat zijn de maten van de DSMR-logger V4 Wat zijn de maten van de DSMR-logger V4? De buitenmaten zijn 67mm x 51mm. De J4 steekt 8,5mm boven de printplaat. De onderkant van het Oled-schermpje steekt 11mm boven de printplaat. Wat is het verschil tussen RJ10 en RJ12? Wat is het verschil tussen RJ10 en RJ12? Hier bestaat nogal wat verwarring over op het internet. Er niet helemaal duidelijk wat de juiste benaming van deze Registered Jack stekkers is. De meest gehanteerde benamingen zijn: RJ12 (6P6C) RJ11 (6P4C) RJ10 (4P4C) RJ11 en RJ12 zijn even breed en passen in dezelfde female connector, maar bij de eerste maken alleen de 4 binnenste contacten verbinding terwijl bij de RJ12 alle 6 de contacten verbinding maken. Ook de RJ10 stekker past in een RJ12 female connector maar ook dan worden alleen de binnenste 4 contacten met elkaar verbonden. In die gevallen waarbij een externe voeding nodig is omdat de Slimme Meter niet genoeg stroom levert voor de DSMRlogger \u00e9n de Slimme Meter g\u00e9\u00e9n telegrammen verstuurt als er een externe voeding wordt gebruikt, zijn zowel de RJ11 als de RJ10 stekkers de oplossing.","title":"Vragen en Antwoorden"},{"location":"QenA/#vragen-en-antwoorden","text":"Niet alles DSMR 4 is DSMR 4 5 Volt Programmer Tactile Switches PUYA Chip Update of Upgrade Slave kanaal Gasmeter Help! wat is pin 1 van mijn 4N35? De rode Led knippert Wat zijn de maten van de DSMR-logger? Wat is het verschil tussen RJ10 en RJ12?","title":"Vragen en Antwoorden"},{"location":"QenA/#niet-alles-dsmr-4-is-dsmr-4","text":"Mijn DSMR-logger doet het niet als ik hem op de Slimme Meter aansluit Er zijn Slimme Meters die 'zeggen' DSMR Versie 4 te volgen maar toch geen 5 volt met voldoende stroom leveren. Bouwers van de DSMR-logger hebben problemen gemeld met de KAIFA MA105A en MA105C en met de KAIFA MA304 . Kijk bijvoorbeeld hier en hier . Dit probleem is op te lossen door de DSMR-logger op een externe (bijvoorbeeld USB) voeding aan te sluiten.","title":"Niet alles DSMR 4 is DSMR 4 .."},{"location":"QenA/#5-volt-programmer","text":"Kan ik met een 5 volt USB to TTL adaptor de DSMR-logger flashen? Als het een type is dat de TX en RX signalen op 3v3 levert (bijvoorbeeld deze ) dan k\u00e1n het wel, maar moet je de 5 Volt output op de 5 Volt pin van de DSMR-logger aansluiten. Je moet hem dan zoals in het plaatje hieronder aansluiten.","title":"5 Volt Programmer"},{"location":"QenA/#tactile-switches","text":"Waarom heb ik een tacktile switch met een lange en \u00e9\u00e9n met een korte stift? De tacktile switch met de korte stift is de RESET switch. Eenmaal ingebouwd in een (project) box moet de FLASH switch bereikbaar blijven omdat hij een dubbel functie heeft. Hij dient bij normaal gebruik om het oled-scherm 'wakker' te maken. Vandaar de lange stift! Deze lange stift maakt de switch wel erg kwetsbaar zolang de DSMR-logger niet in een (project) box is ingebouwd. Als je er een niet recht-naar-beneden kracht op uitoefend, dan breekt hij makkelijk af!","title":"Tactile Switches"},{"location":"QenA/#puya-chip","text":"Mijn versie 3 bordje met PUYA chip doet het niet Het heeft er alle schijn van dat de DSMRloggerWS firmware niet geschikt is voor een ESP-01 (versie 3 bordje) met een PUYA flash chip. Kijk ook hier .","title":"PUYA Chip"},{"location":"QenA/#update-of-upgrade","text":"Wanneer moet ik updaten en wanneer upgraden? We doen een update als we de firmware willen vervangen met een nieuwere versie van dezelfde firmware (dus we vervangen DSMRlogger2HTTP door een nieuwere versie van DSMRlogger2HTTP \u00f3f we vervangen de DSMRloggerWS firmware door een nieuwere versie van de DSMRloggerWS firmware) We doen een upgrade als we de ene firmware vervangen door een andere (dus we vervangen bijvoorbeeld DSMRlogger2HTTP door DSMRloggerWS).","title":"Update of Upgrade?"},{"location":"QenA/#update","text":"Bij een update zal de lay-out van de data-bestanden niet veranderen en kun je volstaan met het opnieuw flashen van de firmware. Voor de data-map (SPIFFS) kun je twee wegen bewandelen. 1) Je haalt m.b.v. de FSexplorer (of met DSMRlogger2HTTP http://DSMR-ESP01.local/onderhoud ) de .html en .js bestanden op uit de data -map en zet deze in SPIFFS 2) Je haalt met de FSexplorer de PRDxxxx.csv bestanden op en zet deze in de data -map, waarna je met het Data Upload Tool de data -map naar SPIFFS kunt overzetten.","title":"Update"},{"location":"QenA/#upgrade","text":"Bij een upgrade moet je zowel de firmware als de data -map opnieuw naar de DSMR-logger flashen. Uiteraard kun je ook in dit geval \u00e9\u00e9rst de PRDxxxx.csv bestanden uit de DSMR-logger halen en ergens op je computer bewaren. Met wat moeite kun je de inhoud van deze bestanden omzetten in het nieuwe formaat en ze dan weer terug zetten in de DSMR-logger.","title":"Upgrade"},{"location":"QenA/#slave-kanaal-gasmeter","text":"Ik zie mijn gas-verbruik niet op de DSMR-logger Eric heeft dit voor ons uitgezocht en als commentaar gepost . Hieronder vind je de inhoud van zijn post. Het kan voorkomen dat de gasmeter niet op slave kanaal 1, maar op 2, 3 of 4 is aangesloten. Dit is op zich geen probleem, alleen gaat de dsmr -library er vanuit dat de gasmeter op kanaal 1 is aangesloten\u2026 Lang verhaal kort, als je de arduino-dsmr library iets aanpast (MBUS instelling) en daarna de DSMRloggerWS firmware opnieuw compileerd en naar de DSMR-logger V4 of de ESP-01 flashed, dan werk het geheel als een trein \ud83d\ude42 Ik heb het volgende gedaan: Login via Telnet op de DSMR-logger Versie 4 Laat een telegram verschijnen op je scherm (zie menu voor de juiste optie) Ga op zoek naar de gasmeting. Een voorbeeld: 0-2:24.1.0(003) 0-2:96.1.0(47303033**************31333137) 0-2:24.2.1(181202194007W)(00283.687*m3) In een gangbare situatie staat hier normaal: 0-1:24.1.0(003) 0-1:96.1.0(47303033**************31333137) 0-1:24.2.1(181202194007W)(00283.687*m3) De 0-2 waarde geeft aan dat je gasmeter is aangesloten op kanaal twee van de slimme meter. Het kan echter ook dat de gasmeter op kanaal 0-3 of 0-4 is aangesloten. Ga naar de arduino-dsmr library op je computer, deze is te vinden in de Arduino sketch directory er vervolgens in de libraries subdirectory. Je bent op zoek naar het bestand fields.h . Ergens rond regel 174 kom je de volgende constanten tegen: const uint8_t GAS_MBUS_ID = 1; const uint8_t WATER_MBUS_ID = 2; const uint8_t THERMAL_MBUS_ID = 3; const uint8_t SLAVE_MBUS_ID = 4; De truc is om het ID achter GAS_MBUS_ID aan te passen naar het kanaal waar je gasmeter op staat. Vervolgens pas je, bijvoorbeeld, de watermeter (WATER_MBUS_ID) aan naar het andere ID. Resultaat bij mij: const uint8_t GAS_MBUS_ID = 2; const uint8_t WATER_MBUS_ID = 1; const uint8_t THERMAL_MBUS_ID = 3; const uint8_t SLAVE_MBUS_ID = 4; Nu nog even de boel opslaan en over the air de firmware update (pure luxe dat dit kan). Vanaf nu kun je genieten van gasmetingen. Althans\u2026 Dat was bij mij het geval.","title":"Slave kanaal Gasmeter"},{"location":"QenA/#help-wat-is-pin-1-van-mijn-4n35","text":"Hoe identificeer ik pin-1 van de optocoupler? Er zijn verschillende varianten van de 4N35 opto-coupler. Hieronder drie afbeeldingen waarmee je kunt identificeren wat pin 1 van de 4N35 is:","title":"Help! Wat is pin 1 van mijn 4N35?"},{"location":"QenA/#de-rode-led-knippert","text":"Mijn rode (voedings) Led (D1) knippert en brand niet constant! Dit duidt er meestal op dat de voeding uit de Slimme Meter niet toerijkend is om de DSMR-logger te voeden. Met name Kaifa Slimme Meters hebben hier last van. De oplossing bestaat eruit een externe (USB) voeding te gebruiken. Deze sluit je aan op de GND en +5V pinnen van de DSMR-logger. Volgens deze post (zie punt 4) moet je \u00f3\u00f3k de 5 Volt vanuit de Slimme Meter onderbreken. Op de printplaat is dit vrij lastig (zeker als je hem al in elkaar gesoldeerd hebt). Het makkelijkste is dit in- of op de kabel te doen bijvoorbeeld door een stukje isolatie-tape over pin 1 te plakken. Stop de gehackte RJ12 ( 6P6C ) stekker in de DSMR-logger en niet in de Slimme Meter. Mocht het stukje tape loslaten dan is het eenvoudiger deze uit de DSMR-logger te halen dan uit de Slimme Meter. Het is echter \u00f3\u00f3k mogelijk (en wellicht eenvoudiger) om een RJ10/RJ22 (4P4C) kabeltje (4-polige telefoonkabel) te gebruiken. Deze kun je zowel in de Slimme Meter als in de DSMR-logger stoppen. Hierdoor worden pin 1 (5Volt) en pin 6 (GND) niet aangesloten (omdat pin 3 w\u00e9l wordt doorverbonden blijft GND beschikbaar!). Dick schrijft in dit comment dat voor hem het probleem is opgelost door C3 te verkleinen tot zo'n 100\u00b5F.","title":"De rode Led knippert"},{"location":"QenA/#wat-zijn-de-maten-van-de-dsmr-logger-v4","text":"Wat zijn de maten van de DSMR-logger V4? De buitenmaten zijn 67mm x 51mm. De J4 steekt 8,5mm boven de printplaat. De onderkant van het Oled-schermpje steekt 11mm boven de printplaat.","title":"Wat zijn de maten van de DSMR-logger V4"},{"location":"QenA/#wat-is-het-verschil-tussen-rj10-en-rj12","text":"Wat is het verschil tussen RJ10 en RJ12? Hier bestaat nogal wat verwarring over op het internet. Er niet helemaal duidelijk wat de juiste benaming van deze Registered Jack stekkers is. De meest gehanteerde benamingen zijn:","title":"Wat is het verschil tussen RJ10 en RJ12?"},{"location":"SM_Has_No_Fase_Info/","text":"#define SM_HAS_NO_FASE_INFO Sommige (vaak pr\u00e9 DSMR 4.0) meters die geschikt zijn voor \u00e9\u00e9n fase, geven geen Fase Informatie via recordtype \"1-0:x1.7.0\" en \"1-0:x2.7.0\" door, waardoor de DSMRloggerWS firmware geen data voor de \"Actueel\" chart ontvangt. Met deze optie wordt de informatie uit de \"1-0:1.7.0\" en \"1-0:2.7.0\" records in de fase records gestopt. #define Functie SM_HAS_NO_FASE_INFO De velden PowerDelivered_l1 en PowereReceived_l1 worden, respectievelijk, gevuld met de waarden van de PowerDelivered en PowerReceived velden.","title":"SM geeft geen info per Fase"},{"location":"SM_Has_No_Fase_Info/#define-sm_has_no_fase_info","text":"Sommige (vaak pr\u00e9 DSMR 4.0) meters die geschikt zijn voor \u00e9\u00e9n fase, geven geen Fase Informatie via recordtype \"1-0:x1.7.0\" en \"1-0:x2.7.0\" door, waardoor de DSMRloggerWS firmware geen data voor de \"Actueel\" chart ontvangt. Met deze optie wordt de informatie uit de \"1-0:1.7.0\" en \"1-0:2.7.0\" records in de fase records gestopt. #define Functie SM_HAS_NO_FASE_INFO De velden PowerDelivered_l1 en PowereReceived_l1 worden, respectievelijk, gevuld met de waarden van de PowerDelivered en PowerReceived velden.","title":"#define SM_HAS_NO_FASE_INFO"},{"location":"Show_Passwrds/","text":"#define SHOW_PASSWRDS Met deze #define geef je aan of je wilt dat de PSK Key van je WiFi netwerk en het wachtwoord van de gebruikte MQTT Broker zichtbaar worden. Via telnet het opvragen van de Board Info: B - Board Info . . . ================================================================== Board type [ESP8266_GENERIC] SSID [A@nd@W@F@] PSK key [**********] IP Address [192.168.1.108] Hostname [DSMR-WS] Last reset reason: [Exception] upTime [32(d):02:01] ================================================================== en de Settings: S - list Settings . . . ==== MQTT settings ============================================== MQTT broker URL/IP : hassio.local MQTT user : hassUser1 MQTT password : ************* MQTT send Interval : 120 MQTT top Topic : DSMR-WS Define Functie SHOW_PASSWRDS In de System Info tab wordt, als deze #define actief is de PSK Key van het WiFi netwerk getoont. Bij de B - Board Info uitvoer wordt met deze deze #define de PSK Key zichtbaar en bij S - list Settings het wachtwoord van de MQTT Broker. [System Info]","title":"Toon wachtwoorden"},{"location":"Show_Passwrds/#define-show_passwrds","text":"Met deze #define geef je aan of je wilt dat de PSK Key van je WiFi netwerk en het wachtwoord van de gebruikte MQTT Broker zichtbaar worden. Via telnet het opvragen van de Board Info: B - Board Info . . . ================================================================== Board type [ESP8266_GENERIC] SSID [A@nd@W@F@] PSK key [**********] IP Address [192.168.1.108] Hostname [DSMR-WS] Last reset reason: [Exception] upTime [32(d):02:01] ================================================================== en de Settings: S - list Settings . . . ==== MQTT settings ============================================== MQTT broker URL/IP : hassio.local MQTT user : hassUser1 MQTT password : ************* MQTT send Interval : 120 MQTT top Topic : DSMR-WS Define Functie SHOW_PASSWRDS In de System Info tab wordt, als deze #define actief is de PSK Key van het WiFi netwerk getoont. Bij de B - Board Info uitvoer wordt met deze deze #define de PSK Key zichtbaar en bij S - list Settings het wachtwoord van de MQTT Broker. [System Info]","title":"#define SHOW_PASSWRDS"},{"location":"Use_MQTT/","text":"#define USE_MQTT Met deze optie wordt de functionaliteit om data naar een MQTT Broker te sturen geactiveerd. Via FSexplorer -> Edit instellingen -> Settings kun je gegevens over de te gebruiken MQTT Broker invullen: Rubriek Functie MQTT broker URL/IP Vul hier de URL of het IP adres van de MQTT broker in eventueel gevolgd door een ' : ' en poort-nummer. Voorbeeld: \" test.mosquitto.org:1883 \" Hou er wel rekening mee dat de ESP8266 geen encryptie aan kan! MQTT Username Vul hier de naam in van de gebruiker van de MQTT broker. MQTT Password Als de MQTT broker gebruiker een wachtwoord nodig heeft vul die dan hier in. MQTT Interval (sec.) De Interval geeft aan om de hoeveel seconden de DSMR-logger gegevens naar de MQTT broker moet sturen. Maak deze Interval niet te klein (30 seconden is een minimale waarde waarbij de DSMR-logger normaal blijft functioneren). MQTT TopTopic Dit is het topic waaronder alle andere gegevens worden gepubliceerd. Standaard is dit \"DSMR-WS\". Let op! (DSMR-logger V3) Het gebruik van de Editor lijkt op een DSMR-logger V3 bordje teveel van het goede. In veel gevallen crashed de DSMR-logger. Oplossing 1: download het DSMRsettings.ini bestand naar je computer, doe de aanpassingen die je nodig hebt en upload het bestand weer naar de DSMR-logger. Niet vergeten daarna de DSMR-logger te re-booten! Oplossing 2: Upgrade naar een versie 4 bordje of vervang de 1MB Flash Chip door een 4MB W25Q32FVSIG 32Mbit flash chip! De DSMR-logger zal iedere MQTT Interval seconden de volgende berichten naar de MQTT Broker sturen: DSMR-WS/JSON/identification {\"identification\":\"XMX5LGBBLB2410065887\"} DSMR-WS/JSON/p1_version {\"p1_version\":\"50\"} DSMR-WS/JSON/timestamp {\"timestamp\":\"140223173001S\"} DSMR-WS/JSON/equipment_id {\"equipment_id\":\"4530303336303000000000000000000040\"} DSMR-WS/JSON/energy_delivered_tariff1 {\"energy_delivered_tariff1\":170.899,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_delivered_tariff2 {\"energy_delivered_tariff2\":163.798,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_delivered {\"energy_delivered\":334.697,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_returned_tariff1 {\"energy_returned_tariff1\":113.378,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_returned_tariff2 {\"energy_returned_tariff2\":76.650,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_returned {\"energy_returned\":190.028,\"unit\":\"kWh\"} DSMR-WS/JSON/electricity_tariff {\"electricity_tariff\":0001} DSMR-WS/JSON/power_delivered {\"power_delivered\":1.230,\"unit\":\"kW\"} DSMR-WS/JSON/power_returned {\"power_returned\":1.770,\"unit\":\"kW\"} DSMR-WS/JSON/voltage_l1 {\"voltage_l1\":237.0,\"unit\":\"volt\"} DSMR-WS/JSON/voltage_l2 {\"voltage_l2\":238.0,\"unit\":\"volt\"} DSMR-WS/JSON/voltage_l3 {\"voltage_l3\":235.0,\"unit\":\"volt\"} DSMR-WS/JSON/current_l1 {\"current_l1\":2,\"unit\":\"ampere\"} DSMR-WS/JSON/current_l2 {\"current_l2\":2,\"unit\":\"ampere\"} DSMR-WS/JSON/current_l3 {\"current_l3\":0,\"unit\":\"ampere\"} DSMR-WS/JSON/power_delivered_l1 {\"power_delivered_l1\":874,\"unit\":\"Watt\"} DSMR-WS/JSON/power_delivered_l2 {\"power_delivered_l2\":336,\"unit\":\"Watt\"} DSMR-WS/JSON/power_delivered_l3 {\"power_delivered_l3\":17,\"unit\":\"Watt\"} DSMR-WS/JSON/power_returned_l1 {\"power_returned_l1\":1066,\"unit\":\"Watt\"} DSMR-WS/JSON/power_returned_l2 {\"power_returned_l2\":274,\"unit\":\"Watt\"} DSMR-WS/JSON/power_returned_l3 {\"power_returned_l3\":427,\"unit\":\"Watt\"} DSMR-WS/JSON/gas_device_type {\"gas_device_type\":\"3\"} DSMR-WS/JSON/gas_equipment_id {\"gas_equipment_id\":\"4730303339303031363532303530323136\"} DSMR-WS/JSON/gas_delivered {\"gas_delivered\":119.69,\"unit\":\"m3\"} DSMR-WS/JSON/Energy {\"DT\":\"2014-02-23 17:30:01\",\"ED\":334.697,\"ER\":190.028,\"GD\":119.69} DSMR-WS/JSON/Power {\"PDt\":1.230,\"PRt\":1.770,\"PDl1\":874,\"PDl2\":336,\"PDl3\":17,\"PRl1\":1066,\"PRl2\":274,\"PRl3\":427} Voor de Mosquitto client kun je de berichten volgen met het volgende commando: mosquitto_sub -h test.mosquitto.org -v -t 'DSMR-WS/#' of, als je een username/password hebt ingesteld met dit commando: mosquitto_sub -h test.mosquitto.org -u -P -v -t 'DSMR-WS/#' Let op! De standaard PubSubClient library kan berichten publiceren van maximaal 128 characters. Vandaar de (korte) cryptische benaming van de verschillende velden in de JSON Energy en Power boodschappen. Mocht je langere, meer betekenisvolle, namen willen gebruiken dan moet je in PubSubClient.h de #define van MQTT_MAX_PACKET_SIZE aanpassen. De Energy en Power publicaties zullen in een volgende versie van de DSMRloggerWS firmware vervallen. #define Functie USE_MQTT Deze define zorgt ervoor dat de Firmware data uit de Slimme Meter naar een MQTT Broker stuurt.","title":"Gebruik MQTT"},{"location":"Use_MQTT/#define-use_mqtt","text":"Met deze optie wordt de functionaliteit om data naar een MQTT Broker te sturen geactiveerd. Via FSexplorer -> Edit instellingen -> Settings kun je gegevens over de te gebruiken MQTT Broker invullen: Rubriek Functie MQTT broker URL/IP Vul hier de URL of het IP adres van de MQTT broker in eventueel gevolgd door een ' : ' en poort-nummer. Voorbeeld: \" test.mosquitto.org:1883 \" Hou er wel rekening mee dat de ESP8266 geen encryptie aan kan! MQTT Username Vul hier de naam in van de gebruiker van de MQTT broker. MQTT Password Als de MQTT broker gebruiker een wachtwoord nodig heeft vul die dan hier in. MQTT Interval (sec.) De Interval geeft aan om de hoeveel seconden de DSMR-logger gegevens naar de MQTT broker moet sturen. Maak deze Interval niet te klein (30 seconden is een minimale waarde waarbij de DSMR-logger normaal blijft functioneren). MQTT TopTopic Dit is het topic waaronder alle andere gegevens worden gepubliceerd. Standaard is dit \"DSMR-WS\". Let op! (DSMR-logger V3) Het gebruik van de Editor lijkt op een DSMR-logger V3 bordje teveel van het goede. In veel gevallen crashed de DSMR-logger. Oplossing 1: download het DSMRsettings.ini bestand naar je computer, doe de aanpassingen die je nodig hebt en upload het bestand weer naar de DSMR-logger. Niet vergeten daarna de DSMR-logger te re-booten! Oplossing 2: Upgrade naar een versie 4 bordje of vervang de 1MB Flash Chip door een 4MB W25Q32FVSIG 32Mbit flash chip! De DSMR-logger zal iedere MQTT Interval seconden de volgende berichten naar de MQTT Broker sturen: DSMR-WS/JSON/identification {\"identification\":\"XMX5LGBBLB2410065887\"} DSMR-WS/JSON/p1_version {\"p1_version\":\"50\"} DSMR-WS/JSON/timestamp {\"timestamp\":\"140223173001S\"} DSMR-WS/JSON/equipment_id {\"equipment_id\":\"4530303336303000000000000000000040\"} DSMR-WS/JSON/energy_delivered_tariff1 {\"energy_delivered_tariff1\":170.899,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_delivered_tariff2 {\"energy_delivered_tariff2\":163.798,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_delivered {\"energy_delivered\":334.697,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_returned_tariff1 {\"energy_returned_tariff1\":113.378,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_returned_tariff2 {\"energy_returned_tariff2\":76.650,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_returned {\"energy_returned\":190.028,\"unit\":\"kWh\"} DSMR-WS/JSON/electricity_tariff {\"electricity_tariff\":0001} DSMR-WS/JSON/power_delivered {\"power_delivered\":1.230,\"unit\":\"kW\"} DSMR-WS/JSON/power_returned {\"power_returned\":1.770,\"unit\":\"kW\"} DSMR-WS/JSON/voltage_l1 {\"voltage_l1\":237.0,\"unit\":\"volt\"} DSMR-WS/JSON/voltage_l2 {\"voltage_l2\":238.0,\"unit\":\"volt\"} DSMR-WS/JSON/voltage_l3 {\"voltage_l3\":235.0,\"unit\":\"volt\"} DSMR-WS/JSON/current_l1 {\"current_l1\":2,\"unit\":\"ampere\"} DSMR-WS/JSON/current_l2 {\"current_l2\":2,\"unit\":\"ampere\"} DSMR-WS/JSON/current_l3 {\"current_l3\":0,\"unit\":\"ampere\"} DSMR-WS/JSON/power_delivered_l1 {\"power_delivered_l1\":874,\"unit\":\"Watt\"} DSMR-WS/JSON/power_delivered_l2 {\"power_delivered_l2\":336,\"unit\":\"Watt\"} DSMR-WS/JSON/power_delivered_l3 {\"power_delivered_l3\":17,\"unit\":\"Watt\"} DSMR-WS/JSON/power_returned_l1 {\"power_returned_l1\":1066,\"unit\":\"Watt\"} DSMR-WS/JSON/power_returned_l2 {\"power_returned_l2\":274,\"unit\":\"Watt\"} DSMR-WS/JSON/power_returned_l3 {\"power_returned_l3\":427,\"unit\":\"Watt\"} DSMR-WS/JSON/gas_device_type {\"gas_device_type\":\"3\"} DSMR-WS/JSON/gas_equipment_id {\"gas_equipment_id\":\"4730303339303031363532303530323136\"} DSMR-WS/JSON/gas_delivered {\"gas_delivered\":119.69,\"unit\":\"m3\"} DSMR-WS/JSON/Energy {\"DT\":\"2014-02-23 17:30:01\",\"ED\":334.697,\"ER\":190.028,\"GD\":119.69} DSMR-WS/JSON/Power {\"PDt\":1.230,\"PRt\":1.770,\"PDl1\":874,\"PDl2\":336,\"PDl3\":17,\"PRl1\":1066,\"PRl2\":274,\"PRl3\":427} Voor de Mosquitto client kun je de berichten volgen met het volgende commando: mosquitto_sub -h test.mosquitto.org -v -t 'DSMR-WS/#' of, als je een username/password hebt ingesteld met dit commando: mosquitto_sub -h test.mosquitto.org -u -P -v -t 'DSMR-WS/#' Let op! De standaard PubSubClient library kan berichten publiceren van maximaal 128 characters. Vandaar de (korte) cryptische benaming van de verschillende velden in de JSON Energy en Power boodschappen. Mocht je langere, meer betekenisvolle, namen willen gebruiken dan moet je in PubSubClient.h de #define van MQTT_MAX_PACKET_SIZE aanpassen. De Energy en Power publicaties zullen in een volgende versie van de DSMRloggerWS firmware vervallen. #define Functie USE_MQTT Deze define zorgt ervoor dat de Firmware data uit de Slimme Meter naar een MQTT Broker stuurt.","title":"#define USE_MQTT"},{"location":"Use_NTP_Time/","text":"#define USE_NTP_TIME Met deze #define zorg je ervoor dat de Firmware gebruik maakt van het Network Time Protocol om te bepalen wanneer een Telegram binnen is gekomen. Normaal geeft de Slimme Meter de datum en tijd bij ieder Telegram mee (in recordtype \"0-0:1.0.0\"), maar sommige Slimme Meters doen dat niet (bijvoorbeeld sommige pr\u00e9 DSMR 4.0 meters). Deze optie zorgt er dan voor dat alle Telegrammen goed verwerkt worden. #define Functie USE_NTP_TIME Ieder Telegram wordt gemarkeerd met een via NTP verkregen Timestamp.","title":"Network Time"},{"location":"Use_NTP_Time/#define-use_ntp_time","text":"Met deze #define zorg je ervoor dat de Firmware gebruik maakt van het Network Time Protocol om te bepalen wanneer een Telegram binnen is gekomen. Normaal geeft de Slimme Meter de datum en tijd bij ieder Telegram mee (in recordtype \"0-0:1.0.0\"), maar sommige Slimme Meters doen dat niet (bijvoorbeeld sommige pr\u00e9 DSMR 4.0 meters). Deze optie zorgt er dan voor dat alle Telegrammen goed verwerkt worden. #define Functie USE_NTP_TIME Ieder Telegram wordt gemarkeerd met een via NTP verkregen Timestamp.","title":"#define USE_NTP_TIME"},{"location":"Use_Pre40_Protocol/","text":"#define USE_PRE40_PROTOCOL Vanaf versie 0.4.5 kan de DSMRloggerWS firmware ook overweg met Slimme Meters die nog niet aan de DSMR 4.0 standaard voldoen. Let op! Deze functionaliteit is slechts beperkt getest! Met dank aan Jordy voor het testen met een DSMR 2.2 meter! Mocht je meer informatie kunnen geven over eventuele problemen neem dan contact met mij op (plaats een comment op mijn website) Om de DSMRloggerWS firmware geschikt te maken voor een pr\u00e9 DSMR 4.0 Slimme Meter zijn er een aantal opties mogelijk (zie de #define tabel hieronder) die mogelijk van toepassing zijn op pr\u00e9 DSMR 4.0 Slimme Meters. Om deze functionaliteit te kunnen gebruiken moet je ook de speciaal gehackte arduino-dsmr30 bibliotheek installeren! #define Functie USE_PRE40_PROTOCOL Deze define zorgt ervoor dat de instellingen voor de seri\u00eble poort goed worden gezet (9600, SERIAL_7E1). tevens wordt een speciaal gehackte 'arduino-dsmr' bibliotheek gebruikt omdat het pr\u00e9 DSMR 4.0 protocol geen checksum heeft. USE_NTP_TIME Het pr\u00e9 DSMR 4.0 protocol geeft niet altijd een timestamp (0-0:1.0.0). Doet jouw Slimme Meter dat ook niet, dan wordt met deze define de tijd via het NTP protocol gebruikt. Vooralsnog alleen Winter Tijd! SM_HAS_NO_FASE_INFO Heb je een Slimme Meter die geen verbruik per fase (1-0:x1.7.0 enz.) door geeft, dan kun je met deze optie er toch voor zorgen dat de Actuele chart informatie geeft over je verbruik","title":"Pr\u00e9 DSMR 4.0 Slimme Meters"},{"location":"Use_Pre40_Protocol/#define-use_pre40_protocol","text":"Vanaf versie 0.4.5 kan de DSMRloggerWS firmware ook overweg met Slimme Meters die nog niet aan de DSMR 4.0 standaard voldoen. Let op! Deze functionaliteit is slechts beperkt getest! Met dank aan Jordy voor het testen met een DSMR 2.2 meter! Mocht je meer informatie kunnen geven over eventuele problemen neem dan contact met mij op (plaats een comment op mijn website) Om de DSMRloggerWS firmware geschikt te maken voor een pr\u00e9 DSMR 4.0 Slimme Meter zijn er een aantal opties mogelijk (zie de #define tabel hieronder) die mogelijk van toepassing zijn op pr\u00e9 DSMR 4.0 Slimme Meters. Om deze functionaliteit te kunnen gebruiken moet je ook de speciaal gehackte arduino-dsmr30 bibliotheek installeren! #define Functie USE_PRE40_PROTOCOL Deze define zorgt ervoor dat de instellingen voor de seri\u00eble poort goed worden gezet (9600, SERIAL_7E1). tevens wordt een speciaal gehackte 'arduino-dsmr' bibliotheek gebruikt omdat het pr\u00e9 DSMR 4.0 protocol geen checksum heeft. USE_NTP_TIME Het pr\u00e9 DSMR 4.0 protocol geeft niet altijd een timestamp (0-0:1.0.0). Doet jouw Slimme Meter dat ook niet, dan wordt met deze define de tijd via het NTP protocol gebruikt. Vooralsnog alleen Winter Tijd! SM_HAS_NO_FASE_INFO Heb je een Slimme Meter die geen verbruik per fase (1-0:x1.7.0 enz.) door geeft, dan kun je met deze optie er toch voor zorgen dat de Actuele chart informatie geeft over je verbruik","title":"#define USE_PRE40_PROTOCOL"},{"location":"Use_Update_Server/","text":"#define USE_UPDATE_SERVER Met deze optie wordt het mogelijk om nieuwe Firmware naar de DSMR-logger te flashen door in de FSexplorer op de knop [Select Firmware] te klikken en vervolgens in de Flash Utility .. .. op [ChooseFile] te klikken en daarna op [Flash Firmware] Let op! Alleen voor ESP-12 Deze functionaliteit werkt alleen als je 4MB flash geheugen hebt. Standaard heeft iedere ESP-12 dat. Je kunt een ESP-01 eventueel upgraden naar 4MB door de aanwezige flash chip te vervangen door een W25Q32FVSIG 32Mbit flash chip. #define Functie USE_UPDATE_SERVER Om gebruik te kunnen maken van zgn. \"Over The Air\" (OTA) updates van de firmware en het SPIFFS file systeem moet je deze optie activeren. Dit kan alleen met een ESP-12 of een, met 4MB chip ge-upgrade ESP-01 bordjes! ' Normale ' (1MB) ESP-01 bordjes hebben hier niet genoeg flash-geheugen voor.","title":"Over The Air update"},{"location":"Use_Update_Server/#define-use_update_server","text":"Met deze optie wordt het mogelijk om nieuwe Firmware naar de DSMR-logger te flashen door in de FSexplorer op de knop [Select Firmware] te klikken en vervolgens in de Flash Utility .. .. op [ChooseFile] te klikken en daarna op [Flash Firmware] Let op! Alleen voor ESP-12 Deze functionaliteit werkt alleen als je 4MB flash geheugen hebt. Standaard heeft iedere ESP-12 dat. Je kunt een ESP-01 eventueel upgraden naar 4MB door de aanwezige flash chip te vervangen door een W25Q32FVSIG 32Mbit flash chip. #define Functie USE_UPDATE_SERVER Om gebruik te kunnen maken van zgn. \"Over The Air\" (OTA) updates van de firmware en het SPIFFS file systeem moet je deze optie activeren. Dit kan alleen met een ESP-12 of een, met 4MB chip ge-upgrade ESP-01 bordjes! ' Normale ' (1MB) ESP-01 bordjes hebben hier niet genoeg flash-geheugen voor.","title":"#define USE_UPDATE_SERVER"},{"location":"benodigdeBibliotheken/","text":"Benodigde Bibliotheken Voor de DSMRloggerWS firmware zijn de volgende bibliotheken nodig: dsmr Deze library is ontwikkeld door Matthijs Kooijman en vormt het hart van de DSMR-logger. Je kunt de bibliotheek hier https://github.com/matthijskooijman/arduino-dsmr downloaden. De firmware is getest met Version 0.1 - Commit f79c906 on 18 Sep 2018 maar nieuwere versies zullen waarschijnlijk ook werken. TimeLib Deze is door Paul Stoffregen ontwikkeld. Je kunt hem hier https://github.com/PaulStoffregen/Time downloaden. WiFiManager Je kunt de, door Tzapu ontwikkelde, bibliotheek hier https://github.com/tzapu/WiFiManager downloaden. De DSMR-logger firmware is getest met version 0.14.0 van deze bibliotheek maar nieuwere versies zullen waarschijnlijk ook werken. TelnetStream Deze bibliotheek is door Jan Drassy ontwikkeld. Je kunt deze bibliotheek hier https://github.com/jandrassy/TelnetStream downloaden. De firmware is getest met version 0.0.1 maar nieuwere versies zullen waarschijnlijk ook werken. Let op: De installatie van deze bibliotheek gaat net als de andere bibliotheken. Een update kan echter pas ge\u00efnstalleerd worden als \u00e9\u00e9rst de map TelnetStream-master uit de map Libraries wordt verwijderd! WebSocketsServer Deze bibliotheek is ontwikkeld door Markus Sattler en je kunt hem hier https://github.com/Links2004/arduinoWebSockets downloaden. De DSMR-logger firmware is getest met Version 20.05.2015 - commit 72731be on 16 Jan 2019 maar nieuwere versies zullen waarschijnlijk ook werken. SSD1306Ascii William Greiman heeft deze bibliotheek ontwikkeld met in het achterhoofd minimaal gebruik van resources (dus: een bibliotheek die weinig geheugen gebruikt). Je kunt de bibliotheek hier https://github.com/greiman/SSD1306Ascii downloaden. De DSMR-logger Firmware is getest met Version 1.2.x - Commit 97a05cd on 24 Mar 2019 maar nieuwere versies zullen waarcshijnlijk ook werken. PubSubClient Nick O'Leary (knolleary) heeft deze bibliotheek ontwikkeld. Je kunt de bibliotheek hier https://github.com/knolleary/pubsubclient downloaden. dsmr30 Let op! Deze functionaliteit is slechts beperkt getest! Heb je een pr\u00e9 DSMR 4.0 Slimme Meter dan kun je deze toch aansluiten op de DSMR-logger maar moet je een aantal define 's in het eerste tab-blad aanpassen \u00e9n je moet deze library installeren. Kijk ook hier . Overige libraries Onderstaande libraries zijn onderdeel van de ESP8266 Core en moeten dus niet handmatig ge\u00efnstalleerd worden ! * ESP8266WiFi * ESP8266WebServer * WiFiUdp * ESP8266mDNS * FS * ArduinoOTA [DSMR-Chart Dag]","title":"Benodigd Bibliotheken"},{"location":"benodigdeBibliotheken/#benodigde-bibliotheken","text":"Voor de DSMRloggerWS firmware zijn de volgende bibliotheken nodig:","title":"Benodigde Bibliotheken"},{"location":"benodigdeBibliotheken/#dsmr","text":"Deze library is ontwikkeld door Matthijs Kooijman en vormt het hart van de DSMR-logger. Je kunt de bibliotheek hier https://github.com/matthijskooijman/arduino-dsmr downloaden. De firmware is getest met Version 0.1 - Commit f79c906 on 18 Sep 2018 maar nieuwere versies zullen waarschijnlijk ook werken.","title":"dsmr"},{"location":"benodigdeBibliotheken/#timelib","text":"Deze is door Paul Stoffregen ontwikkeld. Je kunt hem hier https://github.com/PaulStoffregen/Time downloaden.","title":"TimeLib"},{"location":"benodigdeBibliotheken/#wifimanager","text":"Je kunt de, door Tzapu ontwikkelde, bibliotheek hier https://github.com/tzapu/WiFiManager downloaden. De DSMR-logger firmware is getest met version 0.14.0 van deze bibliotheek maar nieuwere versies zullen waarschijnlijk ook werken.","title":"WiFiManager"},{"location":"benodigdeBibliotheken/#telnetstream","text":"Deze bibliotheek is door Jan Drassy ontwikkeld. Je kunt deze bibliotheek hier https://github.com/jandrassy/TelnetStream downloaden. De firmware is getest met version 0.0.1 maar nieuwere versies zullen waarschijnlijk ook werken. Let op: De installatie van deze bibliotheek gaat net als de andere bibliotheken. Een update kan echter pas ge\u00efnstalleerd worden als \u00e9\u00e9rst de map TelnetStream-master uit de map Libraries wordt verwijderd!","title":"TelnetStream"},{"location":"benodigdeBibliotheken/#websocketsserver","text":"Deze bibliotheek is ontwikkeld door Markus Sattler en je kunt hem hier https://github.com/Links2004/arduinoWebSockets downloaden. De DSMR-logger firmware is getest met Version 20.05.2015 - commit 72731be on 16 Jan 2019 maar nieuwere versies zullen waarschijnlijk ook werken.","title":"WebSocketsServer"},{"location":"benodigdeBibliotheken/#ssd1306ascii","text":"William Greiman heeft deze bibliotheek ontwikkeld met in het achterhoofd minimaal gebruik van resources (dus: een bibliotheek die weinig geheugen gebruikt). Je kunt de bibliotheek hier https://github.com/greiman/SSD1306Ascii downloaden. De DSMR-logger Firmware is getest met Version 1.2.x - Commit 97a05cd on 24 Mar 2019 maar nieuwere versies zullen waarcshijnlijk ook werken.","title":"SSD1306Ascii"},{"location":"benodigdeBibliotheken/#pubsubclient","text":"Nick O'Leary (knolleary) heeft deze bibliotheek ontwikkeld. Je kunt de bibliotheek hier https://github.com/knolleary/pubsubclient downloaden.","title":"PubSubClient"},{"location":"benodigdeBibliotheken/#dsmr30","text":"Let op! Deze functionaliteit is slechts beperkt getest! Heb je een pr\u00e9 DSMR 4.0 Slimme Meter dan kun je deze toch aansluiten op de DSMR-logger maar moet je een aantal define 's in het eerste tab-blad aanpassen \u00e9n je moet deze library installeren. Kijk ook hier .","title":"dsmr30"},{"location":"benodigdeBibliotheken/#overige-libraries","text":"Onderstaande libraries zijn onderdeel van de ESP8266 Core en moeten dus niet handmatig ge\u00efnstalleerd worden ! * ESP8266WiFi * ESP8266WebServer * WiFiUdp * ESP8266mDNS * FS * ArduinoOTA [DSMR-Chart Dag]","title":"Overige libraries"},{"location":"clonenFirmware/","text":"Clonen Firmware De DSMRloggerWS firmware staat hier https://github.com/mrWheel/DSMRloggerWS . Er zijn twee manieren om de firmware te clonen. download de repository als een .zip file gebruik git Als je niet handig bent met git raad ik je aan de repository als een .zip file te downloaden. Download .zip file Klik op de groene knop [Clone or Download] .. .. en selecteer [Download ZIP] Er volgt een scherm als dit: Bewaar het .zip bestand op een plek op je computer waar je hem terug kunt vinden. Unzip het DSMRloggerWS-master.zip bestand in de ArduinoIDE Sketchbook Location . Rename de map DSMRloggerWS-master naar DSMRloggerWS (dus zonder -master ) Ga verder naar DSMRloggerWS Sketch openen git clone Om de repository met git te kunnen clonen moet je er \u00e9\u00e9rst voor zorgen dat je git op je systeem hebt staan. Hoe je dat moet doen valt buiten de scope van deze documentatie maar hier kun je alles vinden over hoe je dit, voor jouw systeem, moet doen. Voor nu ga ik ervan uit dat je git op je systeem hebt staan en dat je weet hoe je ermee moet werken. Ga naar de Arduino Sketchbook location (de map waar al je Sketches in staan, kijk hier ) en toets het volgende commando in: git clone https://github.com/mrWheel/DSMRloggerWS.git That's it! In Sketchbook location staat hierna een nieuwe map met de naam DSMRloggerWS . DSMRloggerWS Sketch openen Start de ArduinoIDE opnieuw op en klik op het open icoon . Selecteer in het drop-down menu .. .. de sketch DSMRloggerWS Er verschijnt een nieuw editor window met de firmware van de DSMRlogger! [DSMR-Settings]","title":"DSMRloggerWS firmware"},{"location":"clonenFirmware/#clonen-firmware","text":"De DSMRloggerWS firmware staat hier https://github.com/mrWheel/DSMRloggerWS . Er zijn twee manieren om de firmware te clonen. download de repository als een .zip file gebruik git Als je niet handig bent met git raad ik je aan de repository als een .zip file te downloaden.","title":"Clonen Firmware"},{"location":"clonenFirmware/#download-zip-file","text":"Klik op de groene knop [Clone or Download] .. .. en selecteer [Download ZIP] Er volgt een scherm als dit: Bewaar het .zip bestand op een plek op je computer waar je hem terug kunt vinden. Unzip het DSMRloggerWS-master.zip bestand in de ArduinoIDE Sketchbook Location . Rename de map DSMRloggerWS-master naar DSMRloggerWS (dus zonder -master ) Ga verder naar DSMRloggerWS Sketch openen","title":"Download .zip file"},{"location":"clonenFirmware/#git-clone","text":"Om de repository met git te kunnen clonen moet je er \u00e9\u00e9rst voor zorgen dat je git op je systeem hebt staan. Hoe je dat moet doen valt buiten de scope van deze documentatie maar hier kun je alles vinden over hoe je dit, voor jouw systeem, moet doen. Voor nu ga ik ervan uit dat je git op je systeem hebt staan en dat je weet hoe je ermee moet werken. Ga naar de Arduino Sketchbook location (de map waar al je Sketches in staan, kijk hier ) en toets het volgende commando in: git clone https://github.com/mrWheel/DSMRloggerWS.git That's it! In Sketchbook location staat hierna een nieuwe map met de naam DSMRloggerWS .","title":"git clone"},{"location":"clonenFirmware/#dsmrloggerws-sketch-openen","text":"Start de ArduinoIDE opnieuw op en klik op het open icoon . Selecteer in het drop-down menu .. .. de sketch DSMRloggerWS Er verschijnt een nieuw editor window met de firmware van de DSMRlogger! [DSMR-Settings]","title":"DSMRloggerWS Sketch openen"},{"location":"esp8266FS/","text":"Arduino ESP8266 filesystem uploader Arduino plugin which packs sketch data folder into SPIFFS filesystem image, and uploads the image to ESP8266 flash memory. Tested with the following Arduino IDE versions: 1.6.5-r2, 1.6.6 Installation Make sure you use one of the supported versions of Arduino IDE and have ESP8266 core installed. Download the tool archive from releases page . In your Arduino sketchbook directory, create tools directory if it doesn't exist yet. You can find the location of your sketchbook directory in the Arduino IDE at File > Preferences > Sketchbook location . Unpack the tool into tools directory (the path will look like /tools/ESP8266FS/tool/esp8266fs.jar) . Restart Arduino IDE. Usage Open a sketch (or create a new one and save it). Go to sketch directory (choose Sketch > Show Sketch Folder). Create a directory named data and any files you want in the file system there. Make sure you have selected a board, port, and closed Serial Monitor. Select Tools > ESP8266 Sketch Data Upload menu item. This should start uploading the files into ESP8266 flash file system. When done, IDE status bar will display SPIFFS Image Uploaded message. Might take a few minutes for large file system sizes. Credits and license Copyright (c) 2015 Hristo Gochkov (ficeto at ficeto dot com) Licensed under GPL v2 ( text ) Maintained by Ivan Grokhotkov (ivan at esp8266 dot com) Issues and suggestions File issues here on github, or ask your questions on the esp8266.com forum .","title":"Arduino ESP8266 filesystem uploader [![Build Status](https://travis-ci.org/esp8266/arduino-esp8266fs-plugin.svg?branch=master)](https://travis-ci.org/esp8266/arduino-esp8266fs-plugin)"},{"location":"esp8266FS/#arduino-esp8266-filesystem-uploader","text":"Arduino plugin which packs sketch data folder into SPIFFS filesystem image, and uploads the image to ESP8266 flash memory. Tested with the following Arduino IDE versions: 1.6.5-r2, 1.6.6","title":"Arduino ESP8266 filesystem uploader"},{"location":"esp8266FS/#installation","text":"Make sure you use one of the supported versions of Arduino IDE and have ESP8266 core installed. Download the tool archive from releases page . In your Arduino sketchbook directory, create tools directory if it doesn't exist yet. You can find the location of your sketchbook directory in the Arduino IDE at File > Preferences > Sketchbook location . Unpack the tool into tools directory (the path will look like /tools/ESP8266FS/tool/esp8266fs.jar) . Restart Arduino IDE.","title":"Installation"},{"location":"esp8266FS/#usage","text":"Open a sketch (or create a new one and save it). Go to sketch directory (choose Sketch > Show Sketch Folder). Create a directory named data and any files you want in the file system there. Make sure you have selected a board, port, and closed Serial Monitor. Select Tools > ESP8266 Sketch Data Upload menu item. This should start uploading the files into ESP8266 flash file system. When done, IDE status bar will display SPIFFS Image Uploaded message. Might take a few minutes for large file system sizes.","title":"Usage"},{"location":"esp8266FS/#credits-and-license","text":"Copyright (c) 2015 Hristo Gochkov (ficeto at ficeto dot com) Licensed under GPL v2 ( text ) Maintained by Ivan Grokhotkov (ivan at esp8266 dot com)","title":"Credits and license"},{"location":"esp8266FS/#issues-and-suggestions","text":"File issues here on github, or ask your questions on the esp8266.com forum .","title":"Issues and suggestions"},{"location":"gh-pages/","text":"Github pages onderhouden Voer, in een command window, de volgende commando's in: cd git clone https://github.com/mrWheel/DSMRloggerWS.git cd DSMRloggerHTTP git checkout gh-pages cd mkdocs In de mkdocs map zit een map docs met daarin alle .md bestanden. Pas deze naar hartelust aan. Je kunt vervolgens lokaal een server starten met het commando: mkdocs serve Ga vervolgens met een browser naar http://127.0.0.1:8000 om je werk te bekijken. Als je tevreden bent dan moet je de aangepaste sources naar github pushen: mkdocs build cd /DSMRloggerWS git add -A git commit -am \"reden van deze commit\" git push mkdocs gh-deploy Klaar!","title":"Github pages onderhouden"},{"location":"gh-pages/#github-pages-onderhouden","text":"Voer, in een command window, de volgende commando's in: cd git clone https://github.com/mrWheel/DSMRloggerWS.git cd DSMRloggerHTTP git checkout gh-pages cd mkdocs In de mkdocs map zit een map docs met daarin alle .md bestanden. Pas deze naar hartelust aan. Je kunt vervolgens lokaal een server starten met het commando: mkdocs serve Ga vervolgens met een browser naar http://127.0.0.1:8000 om je werk te bekijken. Als je tevreden bent dan moet je de aangepaste sources naar github pushen: mkdocs build cd /DSMRloggerWS git add -A git commit -am \"reden van deze commit\" git push mkdocs gh-deploy Klaar!","title":"Github pages onderhouden"},{"location":"hardware_V3/","text":"DSMR-logger Versie 3 Hoe je een DSMRlogger Versie 2 kunt bouwen staat hier uitvoerig beschreven. Versie 3 is gelijk aan Versie 2 met dit verschil dat de transistor en voltage regulator eenvoudiger zijn te solderen omdat de pad's verder uit elkaar staan. Versie 3 heeft ook een RJ12 connector waardoor de draadbreuken die met Versie 2 nog wel eens voorkwamen verleden tijd zijn. Een kitje voor Versie 3 kun je hier bestellen. [DSMRlogger Versie 3]","title":"DSMR-logger v3"},{"location":"hardware_V3/#dsmr-logger-versie-3","text":"Hoe je een DSMRlogger Versie 2 kunt bouwen staat hier uitvoerig beschreven. Versie 3 is gelijk aan Versie 2 met dit verschil dat de transistor en voltage regulator eenvoudiger zijn te solderen omdat de pad's verder uit elkaar staan. Versie 3 heeft ook een RJ12 connector waardoor de draadbreuken die met Versie 2 nog wel eens voorkwamen verleden tijd zijn. Een kitje voor Versie 3 kun je hier bestellen.","title":"DSMR-logger Versie 3"},{"location":"hardware_V3_Programmer/","text":"Programmer voor de ESP-01 Je kunt op www.aandewiel.nl een post vinden met instructies hoe je eenvoudige een programmer voor de ESP-01 kunt maken. [TabelMaand]","title":"Programmer DSMR-logger v3"},{"location":"hardware_V3_Programmer/#programmer-voor-de-esp-01","text":"Je kunt op www.aandewiel.nl een post vinden met instructies hoe je eenvoudige een programmer voor de ESP-01 kunt maken. [TabelMaand]","title":"Programmer voor de ESP-01"},{"location":"hardware_V4/","text":"DSMR-logger Versie 4 Bouwen Het bouwen van de DSMR-logger Versie 4 is vrij Recht Toe, Recht Aan . Bill Of Material Je hebt de volgende componenten nodig: Reference Value Footprint C1 1uF Elco Radial D5.0mm P2.00mm (max. 7mm height) C2 2.2uF Elco Radial D5.0mm P2.00mm C3 470-1000uF Elco Radial D8.0mm P5.00mm C4 100nF Cap. Disc D5.0mm W2.5mm P5.00mm C5 100nF Cap. Disc D5.0mm W2.5mm P5.00mm R5 10R DIN0207 L6.3mm D2.5mm P7.62mm R1 220R DIN0207 L6.3mm D2.5mm P7.62mm R4 220R DIN0207 L6.3mm D2.5mm P7.62mm R7 1k DIN0207 L6.3mm D2.5mm P7.62mm R14 4k7 DIN0207 L6.3mm D2.5mm P7.62mm R15 4k7 DIN0207 L6.3mm D2.5mm P7.62mm R6 4k7 DIN0207 L6.3mm D2.5mm P7.62mm R10 10k DIN0207 L6.3mm D2.5mm P7.62mm R11 10k DIN0207 L6.3mm D2.5mm P7.62mm R2 10k DIN0207 L6.3mm D2.5mm P7.62mm R3 10k DIN0207 L6.3mm D2.5mm P7.62mm R8 10k DIN0207 L6.3mm D2.5mm P7.62mm R9 10k DIN0207 L6.3mm D2.5mm P7.62mm D1 PWR LED LED D3.0mm THT TO-92 Inline U1 LM2937xMP SMD SOT-223-3 TabPin2 U2 4N35 DIP-6 W7.62mm U3 ESP-12 ESP-12E/F Q1 BC547 TO-92 Inline J1 RJ12 female Amphenol 54601 J4 I2C conn PinSocket 1x04 P2.54mm Vertical J5 Programmer PinHeader 1x05 P2.54mm Vertical SW1 RESET THT SW PUSH 6mm H7.3mm SW2 FLASH THT SW PUSH 6mm H20mm-25mm (long shaft) Optioneel R12 12k DIN0207 L6.3mm D2.5mm P7.62mm (E24 \u2013 5% or better) R13 3k DIN0207 L6.3mm D2.5mm P7.62mm (E24 \u2013 5% or better) J9 ADC 0-5v PinHeader 1x02 P2.54mm Vertical oled display 11171 Je kunt hier een compleet bouwpakket van de DSMR-logger Versie 4 kopen. Spanningsdeler ADC R12 en R13 zijn optioneel en afhankelijk van welke spanning je wilt kunnen meten. R12 R14 Maximale spanning op J9 4k7 4k7 0 - 2 volt 8k2 3k3 0 - 3.3 volt 12k 3k 0 - 5 volt 10k 1k2 0 - 10 volt Bouwen Zoals altijd is het het eenvoudigst om eerst de laagste componenten op de printplaat te solderen en dan de steeds hogere componenten. De laagste componenten zijn de SMD voltage regulator (U1, LM2937-3v3) en de processor (U3, ESP-12). Beide zijn zgn. SMD componenten die eigenlijk niet bedoeld zijn om met de hand te solderen, maar het is toch vrij eenvoudig en goed te doen. Begin met het aanbrengen van een druppeltje soldeer op \u00e9\u00e9n van de pads van de LM2937-3v3 (U1): Plaats nu U1 op zijn plek en verwarm de pad plus U1 met de soldeer druppel nogmaals met de soldeerbout .. Als het soldeer is uitgehard zit U1 op zijn plaats en kun je deze aan de overige pads solderen. Voor U3 (ESP-12) geldt hetzelfde principe .. .. alleen zijn er v\u00e9\u00e9l meer pads te solderen. Hieronder staat een video waarin je het hele bouw-proces kunt volgen:","title":"DSMR-logger v4"},{"location":"hardware_V4/#dsmr-logger-versie-4-bouwen","text":"Het bouwen van de DSMR-logger Versie 4 is vrij Recht Toe, Recht Aan .","title":"DSMR-logger Versie 4 Bouwen"},{"location":"hardware_V4/#bill-of-material","text":"Je hebt de volgende componenten nodig: Reference Value Footprint C1 1uF Elco Radial D5.0mm P2.00mm (max. 7mm height) C2 2.2uF Elco Radial D5.0mm P2.00mm C3 470-1000uF Elco Radial D8.0mm P5.00mm C4 100nF Cap. Disc D5.0mm W2.5mm P5.00mm C5 100nF Cap. Disc D5.0mm W2.5mm P5.00mm R5 10R DIN0207 L6.3mm D2.5mm P7.62mm R1 220R DIN0207 L6.3mm D2.5mm P7.62mm R4 220R DIN0207 L6.3mm D2.5mm P7.62mm R7 1k DIN0207 L6.3mm D2.5mm P7.62mm R14 4k7 DIN0207 L6.3mm D2.5mm P7.62mm R15 4k7 DIN0207 L6.3mm D2.5mm P7.62mm R6 4k7 DIN0207 L6.3mm D2.5mm P7.62mm R10 10k DIN0207 L6.3mm D2.5mm P7.62mm R11 10k DIN0207 L6.3mm D2.5mm P7.62mm R2 10k DIN0207 L6.3mm D2.5mm P7.62mm R3 10k DIN0207 L6.3mm D2.5mm P7.62mm R8 10k DIN0207 L6.3mm D2.5mm P7.62mm R9 10k DIN0207 L6.3mm D2.5mm P7.62mm D1 PWR LED LED D3.0mm THT TO-92 Inline U1 LM2937xMP SMD SOT-223-3 TabPin2 U2 4N35 DIP-6 W7.62mm U3 ESP-12 ESP-12E/F Q1 BC547 TO-92 Inline J1 RJ12 female Amphenol 54601 J4 I2C conn PinSocket 1x04 P2.54mm Vertical J5 Programmer PinHeader 1x05 P2.54mm Vertical SW1 RESET THT SW PUSH 6mm H7.3mm SW2 FLASH THT SW PUSH 6mm H20mm-25mm (long shaft) Optioneel R12 12k DIN0207 L6.3mm D2.5mm P7.62mm (E24 \u2013 5% or better) R13 3k DIN0207 L6.3mm D2.5mm P7.62mm (E24 \u2013 5% or better) J9 ADC 0-5v PinHeader 1x02 P2.54mm Vertical oled display 11171 Je kunt hier een compleet bouwpakket van de DSMR-logger Versie 4 kopen.","title":"Bill Of Material"},{"location":"hardware_V4/#spanningsdeler-adc","text":"R12 en R13 zijn optioneel en afhankelijk van welke spanning je wilt kunnen meten. R12 R14 Maximale spanning op J9 4k7 4k7 0 - 2 volt 8k2 3k3 0 - 3.3 volt 12k 3k 0 - 5 volt 10k 1k2 0 - 10 volt","title":"Spanningsdeler ADC"},{"location":"hardware_V4/#bouwen","text":"Zoals altijd is het het eenvoudigst om eerst de laagste componenten op de printplaat te solderen en dan de steeds hogere componenten. De laagste componenten zijn de SMD voltage regulator (U1, LM2937-3v3) en de processor (U3, ESP-12). Beide zijn zgn. SMD componenten die eigenlijk niet bedoeld zijn om met de hand te solderen, maar het is toch vrij eenvoudig en goed te doen. Begin met het aanbrengen van een druppeltje soldeer op \u00e9\u00e9n van de pads van de LM2937-3v3 (U1): Plaats nu U1 op zijn plek en verwarm de pad plus U1 met de soldeer druppel nogmaals met de soldeerbout .. Als het soldeer is uitgehard zit U1 op zijn plaats en kun je deze aan de overige pads solderen. Voor U3 (ESP-12) geldt hetzelfde principe .. .. alleen zijn er v\u00e9\u00e9l meer pads te solderen. Hieronder staat een video waarin je het hele bouw-proces kunt volgen:","title":"Bouwen"},{"location":"hardware_V4_Programmer/","text":"Programmer voor de DSMR-logger V4 Er zijn verschillende manieren om de DSMR-logger van (nieuwe) firmware te voorzien. Dit gaat het eenvoudigst Over The Air (OTA) maar de eerste keer zal dit altijd bedraad moeten. FTDI-adapter USB to Serial adaptor bordje USB to TTL adaptor kabel Flashen (programmeren) FTDI-adapter Verreweg de betrouwbaarste oplossing is om gebruik te maken van een FTDI adaptor zoals de FTDI-basic van Adafruit. Hou er rekening mee dat de USB-connector op de FTDI-basic geen micro -USB is maar de iets grotere mini -USB variant! Standaard wordt deze als 5Volt adaptor geleverd, maar aan de achterkant kun je, door het spoor tussen de middelste pad en de 5V pad te onderbreken en een soldeer brug aan te brengen tussen de middelste pad en de 3.3V pad, de adaptor geschikt maken voor 3v3. Je moet de volgende verbindingen maken: FTDI-basic DSMR-logger Opmerking 5V 3v3 LET OP! 3v3 GND GND TXO RxD RXI TxD USB to Serial adaptor bordje Ook een USB-to-Serial adapter is eenvoudig als programmer te gebruiken door met vier draadjes verbinding tussen de USB-to-Serial Adapter en de DSMR-logger v4 te maken volgens onderstaand schema: Let op! Het heeft er alle schijn van dat dit bordje niet meer ' gezien ' wordt onder MacOS 10.14 ! USB to TTL Serial adaptor kabel Ook deze USB-to-Serial kabel is eenvoudig als programmer te gebruiken alleen moet je er rekening mee houden dat de geleverde spanning 5 volt is en je deze dus niet op de programming poort van de DSMR-logger V4 mag aansluiten. Sluit de USB-to-Serial kabel op deze manier aan om zonder problemen de DSMR-logger V4 te kunnen programmeren. Flashen (programmeren) Omdat de DSMR-logger V4 geen aansluitingen voor specifieke controle signalen heeft moet je in de ArduinoIDE aangeven dat je bij het uploaden van firmware of de data -map geen speciaal protocol gebruikt. In het Tools -menu geef je bij Reset Method None op. Om nu de firmware of de data -map naar de DSMR-logger v4 te flashen moet je de DSMR-logger v4 eerst in Flash-mode zetten. Let op! Koppel, v\u00f3\u00f3rdat je de programmer op de DSMR-logger v4 aansluit, \u00e9\u00e9rst de Slimme Meter los! Dit doe je door achtereenvolgens deze handelingen uit te voeren: Druk op de FLASH knop en houdt deze ingedrukt Druk vervolgens op de RESET knop Laat de RESET knop los Laat als laatste de FLASH knop los De DSMR-logger staat nu in Flash-mode en blijft in die mode tot er firmware of de inhoud van de data -map wordt ge-upload (of tot je nog een keer op de RESET knop drukt). Hierna hoort de DSMR-logger normaal op te starten. Mocht dit niet het geval zijn druk dan 1x op de RESET knop.. Zie ook Vraag en Antwoord [ChartActueel]","title":"Programmer DSMR-logger v4"},{"location":"hardware_V4_Programmer/#programmer-voor-de-dsmr-logger-v4","text":"Er zijn verschillende manieren om de DSMR-logger van (nieuwe) firmware te voorzien. Dit gaat het eenvoudigst Over The Air (OTA) maar de eerste keer zal dit altijd bedraad moeten. FTDI-adapter USB to Serial adaptor bordje USB to TTL adaptor kabel Flashen (programmeren)","title":"Programmer voor de DSMR-logger V4"},{"location":"hardware_V4_Programmer/#ftdi-adapter","text":"Verreweg de betrouwbaarste oplossing is om gebruik te maken van een FTDI adaptor zoals de FTDI-basic van Adafruit. Hou er rekening mee dat de USB-connector op de FTDI-basic geen micro -USB is maar de iets grotere mini -USB variant! Standaard wordt deze als 5Volt adaptor geleverd, maar aan de achterkant kun je, door het spoor tussen de middelste pad en de 5V pad te onderbreken en een soldeer brug aan te brengen tussen de middelste pad en de 3.3V pad, de adaptor geschikt maken voor 3v3. Je moet de volgende verbindingen maken: FTDI-basic DSMR-logger Opmerking 5V 3v3 LET OP! 3v3 GND GND TXO RxD RXI TxD","title":"FTDI-adapter"},{"location":"hardware_V4_Programmer/#usb-to-serial-adaptor-bordje","text":"Ook een USB-to-Serial adapter is eenvoudig als programmer te gebruiken door met vier draadjes verbinding tussen de USB-to-Serial Adapter en de DSMR-logger v4 te maken volgens onderstaand schema: Let op! Het heeft er alle schijn van dat dit bordje niet meer ' gezien ' wordt onder MacOS 10.14 !","title":"USB to Serial adaptor bordje"},{"location":"hardware_V4_Programmer/#usb-to-ttl-serial-adaptor-kabel","text":"Ook deze USB-to-Serial kabel is eenvoudig als programmer te gebruiken alleen moet je er rekening mee houden dat de geleverde spanning 5 volt is en je deze dus niet op de programming poort van de DSMR-logger V4 mag aansluiten. Sluit de USB-to-Serial kabel op deze manier aan om zonder problemen de DSMR-logger V4 te kunnen programmeren.","title":"USB to TTL Serial adaptor kabel"},{"location":"hardware_V4_Programmer/#flashen-programmeren","text":"Omdat de DSMR-logger V4 geen aansluitingen voor specifieke controle signalen heeft moet je in de ArduinoIDE aangeven dat je bij het uploaden van firmware of de data -map geen speciaal protocol gebruikt. In het Tools -menu geef je bij Reset Method None op. Om nu de firmware of de data -map naar de DSMR-logger v4 te flashen moet je de DSMR-logger v4 eerst in Flash-mode zetten. Let op! Koppel, v\u00f3\u00f3rdat je de programmer op de DSMR-logger v4 aansluit, \u00e9\u00e9rst de Slimme Meter los! Dit doe je door achtereenvolgens deze handelingen uit te voeren: Druk op de FLASH knop en houdt deze ingedrukt Druk vervolgens op de RESET knop Laat de RESET knop los Laat als laatste de FLASH knop los De DSMR-logger staat nu in Flash-mode en blijft in die mode tot er firmware of de inhoud van de data -map wordt ge-upload (of tot je nog een keer op de RESET knop drukt). Hierna hoort de DSMR-logger normaal op te starten. Mocht dit niet het geval zijn druk dan 1x op de RESET knop.. Zie ook Vraag en Antwoord [ChartActueel]","title":"Flashen (programmeren)"},{"location":"installatieArduinoIDE/","text":"Installatie ArduinoIDE Download en installeer de Arduino Integrated Development Environment (IDE) voor het Operating Systeem (OS) waar jouw Desktop of Laptop computer (er zijn versies voor Windows, Linux en Mac) mee werkt. Je kunt de Software hier downloaden. Let op! De DSMRloggerWS firmware is getest met de ArduinoIDE v1.8.8, v1.8.9 en v1.8.10 Na het downloaden moet je het ontvangen bestand uitpakken (unzip of untar) en installeren. Dat installeren is per OS anders maar staat duidelijk op de website van Arduino aangegeven. Eenmaal ge\u00efnstalleerd kun je direct met de Arduino IDE aan de slag. Om de IDE met de ESP8266 microprocessor te kunnen gebruiken moeten we nog wat stappen uitvoeren. [DSMR-Chart Financieel]","title":"ArduinoIDE"},{"location":"installatieArduinoIDE/#installatie-arduinoide","text":"Download en installeer de Arduino Integrated Development Environment (IDE) voor het Operating Systeem (OS) waar jouw Desktop of Laptop computer (er zijn versies voor Windows, Linux en Mac) mee werkt. Je kunt de Software hier downloaden. Let op! De DSMRloggerWS firmware is getest met de ArduinoIDE v1.8.8, v1.8.9 en v1.8.10 Na het downloaden moet je het ontvangen bestand uitpakken (unzip of untar) en installeren. Dat installeren is per OS anders maar staat duidelijk op de website van Arduino aangegeven. Eenmaal ge\u00efnstalleerd kun je direct met de Arduino IDE aan de slag. Om de IDE met de ESP8266 microprocessor te kunnen gebruiken moeten we nog wat stappen uitvoeren. [DSMR-Chart Financieel]","title":"Installatie ArduinoIDE"},{"location":"installatieBibliotheken/","text":"Installatie Bibliotheken Nu je een ArduinoIDE hebt waarmee je ESP8266\u2019s kunt programmeren (flashen) zul je ontdekken dat er door briljante mensen software is ontwikkeld die je kunt gebruiken om complexe projecten te realiseren, zonder dat je zelf het wiel hoeft uit te vinden. Deze software wordt veelal in de vorm van een bibliotheek aangeboden en je hoeft zo\u2019n bibliotheek alleen maar te installeren om er gebruik van te kunnen maken. Hier vind je de offici\u00eble instructies voor het installeren van bibliotheken met de ArduinoIDE. Stel je wilt je ESP8266 benaderen met een telnet client zodat je vanaf je Desktop of Laptop op de ESP8266 kunt inloggen. Je hebt op de ESP8266 dan een telnet server nodig. Met wat Googelen naar \" ESP8266 telnet \" blijken hier een aantal bibliotheken voor te bestaan. Als voorbeeld nemen we TelnetStream van Jan Drassy . Zijn telnet implementatie kun je vanaf deze https://github.com/jandrassy/TelnetStream/ github pagina als bibliotheek downloaden. Om de bibliotheek te installeren klik je op de groene [Clone or download] knop en selecteer je [Download ZIP] . Onthou waar je het zip-file bewaard! Ga nu naar de ArduinoIDE en selecteer: [ Sketch ] => [ Include Library ] => [ Add .ZIP Library ] Er verschijnt een selectie window waar je het zojuist ge-download-de bestand selecteert. Klik op [Choose] . De bibliotheek is nu ge\u00efnstalleerd en klaar om gebruikt te worden. De meeste bibliotheken komen met een aantal voorbeeld programma\u2019s waarmee je kunt leren hoe je de bibliotheek kunt gebruiken. Jan Drassy is erg summier met zijn uitleg maar gelukkig is er een map met voorbeelden (nou ja, \u00e9\u00e9n voorbeeld). (sorry, het plaatje is een beetje verknipt) Klik je nu op [ TelnetStreamTest ] dan wordt dit voorbeeld programma in de ArduinoIDE geladen. Installeer op dezelfde manier de bibliotheken die voor de DSMRloggerWS firmware nodig zijn (zie het volgende hoofdstuk ). [DSMR-Dag]","title":"Installeren Bibliotheken"},{"location":"installatieBibliotheken/#installatie-bibliotheken","text":"Nu je een ArduinoIDE hebt waarmee je ESP8266\u2019s kunt programmeren (flashen) zul je ontdekken dat er door briljante mensen software is ontwikkeld die je kunt gebruiken om complexe projecten te realiseren, zonder dat je zelf het wiel hoeft uit te vinden. Deze software wordt veelal in de vorm van een bibliotheek aangeboden en je hoeft zo\u2019n bibliotheek alleen maar te installeren om er gebruik van te kunnen maken. Hier vind je de offici\u00eble instructies voor het installeren van bibliotheken met de ArduinoIDE. Stel je wilt je ESP8266 benaderen met een telnet client zodat je vanaf je Desktop of Laptop op de ESP8266 kunt inloggen. Je hebt op de ESP8266 dan een telnet server nodig. Met wat Googelen naar \" ESP8266 telnet \" blijken hier een aantal bibliotheken voor te bestaan. Als voorbeeld nemen we TelnetStream van Jan Drassy . Zijn telnet implementatie kun je vanaf deze https://github.com/jandrassy/TelnetStream/ github pagina als bibliotheek downloaden. Om de bibliotheek te installeren klik je op de groene [Clone or download] knop en selecteer je [Download ZIP] . Onthou waar je het zip-file bewaard! Ga nu naar de ArduinoIDE en selecteer: [ Sketch ] => [ Include Library ] => [ Add .ZIP Library ] Er verschijnt een selectie window waar je het zojuist ge-download-de bestand selecteert. Klik op [Choose] . De bibliotheek is nu ge\u00efnstalleerd en klaar om gebruikt te worden. De meeste bibliotheken komen met een aantal voorbeeld programma\u2019s waarmee je kunt leren hoe je de bibliotheek kunt gebruiken. Jan Drassy is erg summier met zijn uitleg maar gelukkig is er een map met voorbeelden (nou ja, \u00e9\u00e9n voorbeeld). (sorry, het plaatje is een beetje verknipt) Klik je nu op [ TelnetStreamTest ] dan wordt dit voorbeeld programma in de ArduinoIDE geladen. Installeer op dezelfde manier de bibliotheken die voor de DSMRloggerWS firmware nodig zijn (zie het volgende hoofdstuk ). [DSMR-Dag]","title":"Installatie Bibliotheken"},{"location":"installatieDataUploadTool/","text":"Installatie Data Upload Tool E\u00e9n van de mooie eigenschappen van de ESP8266 is dat er flash geheugen in zit. Flash geheugen is geheugen dat zijn inhoud ook zonder spanning behoud. Vergelijk het met een SD-kaart. Het flash geheugen is, afhankelijk van het bordje, 512kB tot 16MB(!) groot. Een deel van dit flash geheugen wordt gebruikt om jouw programma in op te slaan. Wat er over blijft kan als bestand-systeem worden ingericht (het zgn. SPI Flash File Systeem \u2011SPIFFS\u2011). Je kunt in je programma dit bestand-systeem niet alleen gebruiken om (bijvoorbeeld meet-) gegevens maar ook om de inhoud van een web-pagina ( index.html ) of een configuratie-bestand in op te slaan. Om het SPI Flash File Systeem voor dit soort bestanden te kunnen gebruiken moet je een plug-in in je Arduino Projecten map installeren. De plug-in haal je hier vandaan. Ga naar deze github pagina en klik op rood omcirkelde bestand .. Download vervolgens het ESP8266FS-0.4.0.zip bestand door er op te klikken. En bewaar het bestand op een plek die voor jou handig is. Ga nu naar je Sketchbook Location map en maak daarin een nieuwe map tools aan (als deze nog niet bestaat). Pak het zojuist ge-download-de zip bestand uit in deze tools map. Er wordt nu een aantal nieuwe mappen aangemaakt waar de plug-in wordt neergezet. Het pad ziet er ongeveer zo uit: /tools/ESP8266FS/tool/esp8266fs.jar Start de Arduino IDE opnieuw op. Op de menu-balk zie je nu onder [ Tools ] een nieuwe optie: ESP8266 Sketch Data Upload . Als er onder de map van je Sketch \u00f3\u00f3k een map data staat, dan kun je de bestanden die in deze data -map staan met het Sketch Data Upload tool naar het SPIFFS van de ESP8266 flashen. De bestands-tree van de DSMRloggerWS firmware ziet er zo uit: Het ESP8266 Sketch Data Upload tool zal alle bestanden die in de data -map zitten naar het SPIFFS van de aangesloten ESP8266 uploaden. Ga naar: [ tools ] -> [ ESP8266 Sketch Data Upload ] Randvoorwaarde is natuurlijk dat het SPIFFS groot genoeg is! In de selectie van je board moet je, behalve het juiste type board ook aangeven hoeveel ruimte van je Flash geheugen je wilt gebruiken voor het bestand-systeem (v\u00f3\u00f3rdat je je programma naar de ESP8266 upload!). Normaliter zou je dit zo groot mogelijk willen maken, maar als je \u201cOver The Air\u201d programma\u2019s op je ESP8266 wilt zetten (dus zonder fysieke verbinding maar via WiFi) dan moet je er rekening mee houden dat je twee maal de grootte van je programma nodig hebt om dit te kunnen doen. Wat er overblijft kun je als bestand-systeem gebruiken. [ChartFinancieel]","title":"Data Upload Tool"},{"location":"installatieDataUploadTool/#installatie-data-upload-tool","text":"E\u00e9n van de mooie eigenschappen van de ESP8266 is dat er flash geheugen in zit. Flash geheugen is geheugen dat zijn inhoud ook zonder spanning behoud. Vergelijk het met een SD-kaart. Het flash geheugen is, afhankelijk van het bordje, 512kB tot 16MB(!) groot. Een deel van dit flash geheugen wordt gebruikt om jouw programma in op te slaan. Wat er over blijft kan als bestand-systeem worden ingericht (het zgn. SPI Flash File Systeem \u2011SPIFFS\u2011). Je kunt in je programma dit bestand-systeem niet alleen gebruiken om (bijvoorbeeld meet-) gegevens maar ook om de inhoud van een web-pagina ( index.html ) of een configuratie-bestand in op te slaan. Om het SPI Flash File Systeem voor dit soort bestanden te kunnen gebruiken moet je een plug-in in je Arduino Projecten map installeren. De plug-in haal je hier vandaan. Ga naar deze github pagina en klik op rood omcirkelde bestand .. Download vervolgens het ESP8266FS-0.4.0.zip bestand door er op te klikken. En bewaar het bestand op een plek die voor jou handig is. Ga nu naar je Sketchbook Location map en maak daarin een nieuwe map tools aan (als deze nog niet bestaat). Pak het zojuist ge-download-de zip bestand uit in deze tools map. Er wordt nu een aantal nieuwe mappen aangemaakt waar de plug-in wordt neergezet. Het pad ziet er ongeveer zo uit: /tools/ESP8266FS/tool/esp8266fs.jar Start de Arduino IDE opnieuw op. Op de menu-balk zie je nu onder [ Tools ] een nieuwe optie: ESP8266 Sketch Data Upload . Als er onder de map van je Sketch \u00f3\u00f3k een map data staat, dan kun je de bestanden die in deze data -map staan met het Sketch Data Upload tool naar het SPIFFS van de ESP8266 flashen. De bestands-tree van de DSMRloggerWS firmware ziet er zo uit: Het ESP8266 Sketch Data Upload tool zal alle bestanden die in de data -map zitten naar het SPIFFS van de aangesloten ESP8266 uploaden. Ga naar: [ tools ] -> [ ESP8266 Sketch Data Upload ] Randvoorwaarde is natuurlijk dat het SPIFFS groot genoeg is! In de selectie van je board moet je, behalve het juiste type board ook aangeven hoeveel ruimte van je Flash geheugen je wilt gebruiken voor het bestand-systeem (v\u00f3\u00f3rdat je je programma naar de ESP8266 upload!). Normaliter zou je dit zo groot mogelijk willen maken, maar als je \u201cOver The Air\u201d programma\u2019s op je ESP8266 wilt zetten (dus zonder fysieke verbinding maar via WiFi) dan moet je er rekening mee houden dat je twee maal de grootte van je programma nodig hebt om dit te kunnen doen. Wat er overblijft kun je als bestand-systeem gebruiken. [ChartFinancieel]","title":"Installatie Data Upload Tool"},{"location":"installatieESP8266core/","text":"Installatie ESP8266 core In de Arduino IDE moet bij \u201cInstellingen\u201d de volgende URL worden ingevoerd achter \u201c Additional Boards Manager URL\u2019s: \u201d (zie rood omlijnde kader) https://arduino.esp8266.com/stable/package_esp8266com_index.json Lees vooral de uitleg in het README.md bestand en de uitgebreide documentatie op hun website! Er kunnen meer additional board manager URL\u2019s worden ingevuld. Je moet ze dan achter elkaar zetten en scheiden door een komma ( , ). Eventueel kun je ook het pad waar je projecten staan (de Sketchbook Location ) aanpassen. Standaard verwijst deze naar je Documenten map: C:\\Users\\\\Documents\\arduino\\ .. en dat is een prima plek! De andere instellingen kun je naar behoefte aanpassen. Hierboven staan de instellingen die ik prettig vind. Na het maken van aanpassingen klik je op [OK]. Ga nu via de ArduinoIDE menu-balk naar [ Tools ] -> [ Board ] -> [ Boards Manager ]. Voer bij filter \u201cesp8266\u201d in. Selecteer de versie die je wilt gaan gebruiken en klik op [ Install ]. Let op! De DSMRloggerWS firmware is getest met versie 2.5.0 en met versie 2.5.2 . [DSMR-Uur]","title":"ESP8266 Core"},{"location":"installatieESP8266core/#installatie-esp8266-core","text":"In de Arduino IDE moet bij \u201cInstellingen\u201d de volgende URL worden ingevoerd achter \u201c Additional Boards Manager URL\u2019s: \u201d (zie rood omlijnde kader) https://arduino.esp8266.com/stable/package_esp8266com_index.json Lees vooral de uitleg in het README.md bestand en de uitgebreide documentatie op hun website! Er kunnen meer additional board manager URL\u2019s worden ingevuld. Je moet ze dan achter elkaar zetten en scheiden door een komma ( , ). Eventueel kun je ook het pad waar je projecten staan (de Sketchbook Location ) aanpassen. Standaard verwijst deze naar je Documenten map: C:\\Users\\\\Documents\\arduino\\ .. en dat is een prima plek! De andere instellingen kun je naar behoefte aanpassen. Hierboven staan de instellingen die ik prettig vind. Na het maken van aanpassingen klik je op [OK]. Ga nu via de ArduinoIDE menu-balk naar [ Tools ] -> [ Board ] -> [ Boards Manager ]. Voer bij filter \u201cesp8266\u201d in. Selecteer de versie die je wilt gaan gebruiken en klik op [ Install ]. Let op! De DSMRloggerWS firmware is getest met versie 2.5.0 en met versie 2.5.2 . [DSMR-Uur]","title":"Installatie ESP8266 core"},{"location":"integratieDomoticz/","text":"Integratie DSMR-logger met Domoticz Michel Groen heeft een script voor Domoticz geschreven waarmee data uit de DSMR-logger in Domoticz kan worden weergegeven. Je kunt het script vinden in de DSMRloggerWS repository op github, in de sub-map Domoticz . [Domoticz]","title":"Integratie Domoticz"},{"location":"integratieDomoticz/#integratie-dsmr-logger-met-domoticz","text":"Michel Groen heeft een script voor Domoticz geschreven waarmee data uit de DSMR-logger in Domoticz kan worden weergegeven. Je kunt het script vinden in de DSMRloggerWS repository op github, in de sub-map Domoticz .","title":"Integratie DSMR-logger met Domoticz"},{"location":"integratieHassio/","text":"Integratie DSMR-logger met Home Assistant De data uit de DSMR-logger kan op verschillende manieren met Home Assistant gedeeld worden. Verreweg het makkelijkste is dat door gebruik te maken van een MQTT Broker. De DSMR-logger publiceert de gegevens uit de Slimme Meter in een bepaald topic. Home Assistant moet dan een subscription op dat zelfde topic hebben om zo de gegevens in te lezen en te presenteren. Vaak draait Home Assistant thuis op een server (Raspberry Pi of anderszins) en is het eenvoudig om op die server ook een (Mosquitto) MQTT broker te installeren (veel installaties van Home Assistant hebben dat al standaard gedaan). Om de intergratie voor elkaar te krijgen moet in het configuratie.yaml bestand van Home Assistant onder andere deze instellingen komen te staan: group: !include_dir_merge_named groups/ script: !include scripts.yaml sensor: !include_dir_merge_list sensors/ switch: !include_dir_merge_list switches/ light: !include_dir_merge_list lights/ camera: !include_dir_merge_list cameras/ mqtt: broker: port: 1883 client_id: HassIO keepalive: 60 username: password: Hierdoor zal Home Assistant alle (yaml) bestanden die in de sub-map groups/ staan inlezen. Hetzelfde geldt voor de sub-mappen sensors/ , switches/ , lights/ en cameras/ . Voor de koppeling met de DSMR-logger zijn alleen de sub-mappen groups/ en sensors/ van belang en natuurlijk de settings voor de MQTT broker ! In de sub-map groups/ komt een bestand DSMR-Actueel.yaml met de volgende inhoud: ###group: ### ###VIEWS### Energie: name: Energie view: yes entities: - group.Energie_Verbruik - group.Energie_Teruglevering - group.DSMR_Last_Update - group.Energy_Graph1 - group.LastUpdate ###CARDS### DSMR_Last_Update: name: DSMR Last Update entities: - sensor.LastUpdate Energie_Verbruik: name: Energie Verbruik (actueel) entities: - sensor.Energy_Delivered - sensor.Power_Delivered - sensor.Power_Delivered_l1 - sensor.Power_Delivered_l2 - sensor.Power_Delivered_l3 - sensor.Gas_Delivered Energie_Teruglevering: name: Energie Teruglevering (actueel) entities: - sensor.Energy_Returned - sensor.Power_Returned - sensor.Power_Returned_l3 en in de sub-map sensors/ komt een bestand DSMR-Actueel.yaml met deze inhoud: ### sensor: ### ### DSMR-WS ### - platform: mqtt name: \"LastUpdate\" friendly_name: \"Last update\" state_topic: \"DSMR-WS/JSON/timestamp\" unit_of_measurement: \"\" value_template: \"[[ value_json.timestamp ]]\" - platform: mqtt name: \"Energy Delivered\" state_topic: \"DSMR-WS/JSON/energy_delivered\" unit_of_measurement: \"kWh\" value_template: '[[ value_json.energy_delivered | round(3) ]]' - platform: mqtt name: \"Energy Returned\" state_topic: \"DSMR-WS/JSON/energy_returned\" unit_of_measurement: \"kWh\" value_template: '[[ value_json.energy_returned | round(3) ]]' - platform: mqtt name: \"Power Delivered\" state_topic: \"DSMR-WS/JSON/power_delivered\" unit_of_measurement: \"kW\" value_template: '[[ value_json.power_delivered | round(3) ]]' - platform: mqtt name: \"Power Returned\" state_topic: \"DSMR-WS/JSON/power_returned\" unit_of_measurement: \"kW\" value_template: '[[ value_json.power_returned | round(3) ]]' - platform: mqtt name: \"Power Delivered l1\" state_topic: \"DSMR-WS/JSON/power_delivered_l1\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_delivered_l1 | round(1) ]]' - platform: mqtt name: \"Power Delivered l2\" state_topic: \"DSMR-WS/JSON/power_delivered_l2\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_delivered_l2 | round(1) ]]' - platform: mqtt name: \"Power Delivered l3\" state_topic: \"DSMR-WS/JSON/power_delivered_l3\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_delivered_l3 | round(1) ]]' - platform: mqtt name: \"Power Returned l1\" state_topic: \"DSMR-WS/JSON/power_returned_l1\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_returned_l1 | round(1) ]]' - platform: mqtt name: \"Power Returned l2\" state_topic: \"DSMR-WS/JSON/power_returned_l2\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_returned_l2 | round(1) ]]' - platform: mqtt name: \"Power Returned l3\" state_topic: \"DSMR-WS/JSON/power_returned_l3\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_returned_l3 | round(1) ]]' - platform: mqtt name: \"Gas_Delivered\" state_topic: \"DSMR-WS/JSON/gas_delivered\" unit_of_measurement: \"m3\" value_template: '[[ value_json.gas_delivered | round(2) ]]' Let op! github pages kan niet tegen dubbele ' { ' tekens omdat hij dan denkt dat er een variabele moet worden gesubstitueerd. Daarom heb ik in bovenstaande source bij de value_template 's dubbele ' [ ' en ' ] ' gezet waar dit dus dubbele ' { ' en ' } ' moeten zijn!!!","title":"Integratie Home Assistant"},{"location":"integratieHassio/#integratie-dsmr-logger-met-home-assistant","text":"De data uit de DSMR-logger kan op verschillende manieren met Home Assistant gedeeld worden. Verreweg het makkelijkste is dat door gebruik te maken van een MQTT Broker. De DSMR-logger publiceert de gegevens uit de Slimme Meter in een bepaald topic. Home Assistant moet dan een subscription op dat zelfde topic hebben om zo de gegevens in te lezen en te presenteren. Vaak draait Home Assistant thuis op een server (Raspberry Pi of anderszins) en is het eenvoudig om op die server ook een (Mosquitto) MQTT broker te installeren (veel installaties van Home Assistant hebben dat al standaard gedaan). Om de intergratie voor elkaar te krijgen moet in het configuratie.yaml bestand van Home Assistant onder andere deze instellingen komen te staan: group: !include_dir_merge_named groups/ script: !include scripts.yaml sensor: !include_dir_merge_list sensors/ switch: !include_dir_merge_list switches/ light: !include_dir_merge_list lights/ camera: !include_dir_merge_list cameras/ mqtt: broker: port: 1883 client_id: HassIO keepalive: 60 username: password: Hierdoor zal Home Assistant alle (yaml) bestanden die in de sub-map groups/ staan inlezen. Hetzelfde geldt voor de sub-mappen sensors/ , switches/ , lights/ en cameras/ . Voor de koppeling met de DSMR-logger zijn alleen de sub-mappen groups/ en sensors/ van belang en natuurlijk de settings voor de MQTT broker ! In de sub-map groups/ komt een bestand DSMR-Actueel.yaml met de volgende inhoud: ###group: ### ###VIEWS### Energie: name: Energie view: yes entities: - group.Energie_Verbruik - group.Energie_Teruglevering - group.DSMR_Last_Update - group.Energy_Graph1 - group.LastUpdate ###CARDS### DSMR_Last_Update: name: DSMR Last Update entities: - sensor.LastUpdate Energie_Verbruik: name: Energie Verbruik (actueel) entities: - sensor.Energy_Delivered - sensor.Power_Delivered - sensor.Power_Delivered_l1 - sensor.Power_Delivered_l2 - sensor.Power_Delivered_l3 - sensor.Gas_Delivered Energie_Teruglevering: name: Energie Teruglevering (actueel) entities: - sensor.Energy_Returned - sensor.Power_Returned - sensor.Power_Returned_l3 en in de sub-map sensors/ komt een bestand DSMR-Actueel.yaml met deze inhoud: ### sensor: ### ### DSMR-WS ### - platform: mqtt name: \"LastUpdate\" friendly_name: \"Last update\" state_topic: \"DSMR-WS/JSON/timestamp\" unit_of_measurement: \"\" value_template: \"[[ value_json.timestamp ]]\" - platform: mqtt name: \"Energy Delivered\" state_topic: \"DSMR-WS/JSON/energy_delivered\" unit_of_measurement: \"kWh\" value_template: '[[ value_json.energy_delivered | round(3) ]]' - platform: mqtt name: \"Energy Returned\" state_topic: \"DSMR-WS/JSON/energy_returned\" unit_of_measurement: \"kWh\" value_template: '[[ value_json.energy_returned | round(3) ]]' - platform: mqtt name: \"Power Delivered\" state_topic: \"DSMR-WS/JSON/power_delivered\" unit_of_measurement: \"kW\" value_template: '[[ value_json.power_delivered | round(3) ]]' - platform: mqtt name: \"Power Returned\" state_topic: \"DSMR-WS/JSON/power_returned\" unit_of_measurement: \"kW\" value_template: '[[ value_json.power_returned | round(3) ]]' - platform: mqtt name: \"Power Delivered l1\" state_topic: \"DSMR-WS/JSON/power_delivered_l1\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_delivered_l1 | round(1) ]]' - platform: mqtt name: \"Power Delivered l2\" state_topic: \"DSMR-WS/JSON/power_delivered_l2\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_delivered_l2 | round(1) ]]' - platform: mqtt name: \"Power Delivered l3\" state_topic: \"DSMR-WS/JSON/power_delivered_l3\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_delivered_l3 | round(1) ]]' - platform: mqtt name: \"Power Returned l1\" state_topic: \"DSMR-WS/JSON/power_returned_l1\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_returned_l1 | round(1) ]]' - platform: mqtt name: \"Power Returned l2\" state_topic: \"DSMR-WS/JSON/power_returned_l2\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_returned_l2 | round(1) ]]' - platform: mqtt name: \"Power Returned l3\" state_topic: \"DSMR-WS/JSON/power_returned_l3\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_returned_l3 | round(1) ]]' - platform: mqtt name: \"Gas_Delivered\" state_topic: \"DSMR-WS/JSON/gas_delivered\" unit_of_measurement: \"m3\" value_template: '[[ value_json.gas_delivered | round(2) ]]' Let op! github pages kan niet tegen dubbele ' { ' tekens omdat hij dan denkt dat er een variabele moet worden gesubstitueerd. Daarom heb ik in bovenstaande source bij de value_template 's dubbele ' [ ' en ' ] ' gezet waar dit dus dubbele ' { ' en ' } ' moeten zijn!!!","title":"Integratie DSMR-logger met Home Assistant"},{"location":"integratieHomey/","text":"Integratie DSMR-logger met Homey Tycho Schenkeveld heeft een interface tussen de DSMR-logger en Homey gemaakt en deze op github geplaatst!","title":"Integratie Homey"},{"location":"integratieHomey/#integratie-dsmr-logger-met-homey","text":"Tycho Schenkeveld heeft een interface tussen de DSMR-logger en Homey gemaakt en deze op github geplaatst!","title":"Integratie DSMR-logger met Homey"},{"location":"introductie/","text":"Introductie Je vindt hier de documentatie voor het project DSMR-logger (Versie 4). De DSMR-logger is een hardware en software systeem waarmee de Slimme Meter (vanaf DSMR versie 4.0) kan worden uitgelezen. De uitgelezen data (telegrammen) worden in de DSMR-logger opgeslagen en kunnen in de vorm van tabellen en charts, via WiFi, op een computer of tablet worden weergegeven. Begrippen In dit document worden de volgende begrippen gebruikt: Begrip Omschrijving DSMR Dutch Smart Meter Requirements De DSMR-specificatie is een afgeleide van de NTA 8130-normering. De DSMR-logger (V3 en V4) is ontworpen voor de DSMR versie 4.0 of hoger. Versie 4 geeft aan dat de Slimme Meter op de P1-poort 5 volt bij 250mA moet kunnen leveren (zie pagina 8 en 9 van de specificatie). Deze spanning wordt door de DSMR-logger gebruikt om de elektronica te voeden. DSMR-logger de Hardware DSMR-logger v2 (of Versie 2) Versie 2 van de Hardware Dit is de hardware van de DSMR-logger die is uitgerust met een ESP-01 (Black/S) bordje. Voor deze versie is de firmware DSMRlogger2HTTP bedoeld maar DSMRloggerWS is, met beperkte functionaliteit, ook geschikt te maken voor deze versie van de hardware. DSMR-logger v3 (of Versie 3) Versie 3 van de Hardware Verder gelijk aan Versie 2. DSMR-logger v4 (of Versie 4) Versie 4 van de Hardware Deze hardware is de basis voor dit project DSMRloggerWS De firmware voor de DSMR-logger v4 ESP-12 Een bordje met een ESP8266 processor en 4MB Flash Geheugen Dit bordje wordt gebruikt in de DSMR-logger v4 ESP-01 (Black) Een ESP-01 met 1MB flash geheugen Dit bordje heeft een rode Power Led en een blauwe Led op GPIO-01 ESP-01S Een ESP-01 met 1MB flash geheugen Dit bordje heeft alleen een blauwe Led op GPIO-02 ESP-01(Black/S) Als een ' ESP-01 Black ' of ' ESP-01S ' wordt bedoelt maar niet een ' ESP-01 '. DSMR-logger v2 en v3 maken gebruik van dit bordje ESP-01 Een bordje met een ESP8266 processor en 512KB flash geheugen Dit bordje is niet geschikt voor dit project PUYA PUYA is een fabrikant van flash chips die op verschillende soorten ESP-01 bordjes wordt gebruikt. Deze chips voldoen niet aan de eisen en hebben voor veel problemen gezorgd. Er is wel een compiler-optie die het gebruik van deze chip mogelijk maakt maar dit werkt helaas niet in alle gevallen. Het wordt afgeraden deze flash chip met DSMRloggerWS te gebruiken. Een volledige beschrijving van dit project kun je hier vinden. [DSMRlogger v4]","title":"Introductie"},{"location":"introductie/#introductie","text":"Je vindt hier de documentatie voor het project DSMR-logger (Versie 4). De DSMR-logger is een hardware en software systeem waarmee de Slimme Meter (vanaf DSMR versie 4.0) kan worden uitgelezen. De uitgelezen data (telegrammen) worden in de DSMR-logger opgeslagen en kunnen in de vorm van tabellen en charts, via WiFi, op een computer of tablet worden weergegeven. Begrippen In dit document worden de volgende begrippen gebruikt: Begrip Omschrijving DSMR Dutch Smart Meter Requirements De DSMR-specificatie is een afgeleide van de NTA 8130-normering. De DSMR-logger (V3 en V4) is ontworpen voor de DSMR versie 4.0 of hoger. Versie 4 geeft aan dat de Slimme Meter op de P1-poort 5 volt bij 250mA moet kunnen leveren (zie pagina 8 en 9 van de specificatie). Deze spanning wordt door de DSMR-logger gebruikt om de elektronica te voeden. DSMR-logger de Hardware DSMR-logger v2 (of Versie 2) Versie 2 van de Hardware Dit is de hardware van de DSMR-logger die is uitgerust met een ESP-01 (Black/S) bordje. Voor deze versie is de firmware DSMRlogger2HTTP bedoeld maar DSMRloggerWS is, met beperkte functionaliteit, ook geschikt te maken voor deze versie van de hardware. DSMR-logger v3 (of Versie 3) Versie 3 van de Hardware Verder gelijk aan Versie 2. DSMR-logger v4 (of Versie 4) Versie 4 van de Hardware Deze hardware is de basis voor dit project DSMRloggerWS De firmware voor de DSMR-logger v4 ESP-12 Een bordje met een ESP8266 processor en 4MB Flash Geheugen Dit bordje wordt gebruikt in de DSMR-logger v4 ESP-01 (Black) Een ESP-01 met 1MB flash geheugen Dit bordje heeft een rode Power Led en een blauwe Led op GPIO-01 ESP-01S Een ESP-01 met 1MB flash geheugen Dit bordje heeft alleen een blauwe Led op GPIO-02 ESP-01(Black/S) Als een ' ESP-01 Black ' of ' ESP-01S ' wordt bedoelt maar niet een ' ESP-01 '. DSMR-logger v2 en v3 maken gebruik van dit bordje ESP-01 Een bordje met een ESP8266 processor en 512KB flash geheugen Dit bordje is niet geschikt voor dit project PUYA PUYA is een fabrikant van flash chips die op verschillende soorten ESP-01 bordjes wordt gebruikt. Deze chips voldoen niet aan de eisen en hebben voor veel problemen gezorgd. Er is wel een compiler-optie die het gebruik van deze chip mogelijk maakt maar dit werkt helaas niet in alle gevallen. Het wordt afgeraden deze flash chip met DSMRloggerWS te gebruiken. Een volledige beschrijving van dit project kun je hier vinden. [DSMRlogger v4]","title":"Introductie"},{"location":"overzichtFuncties/","text":"Overzicht te selecteren functies Tijdens het compileren van de firmware kun je bepaalde functionaliteit in- en uit-schakelen door de #defines w\u00e9l of n\u00edet door twee slashes (\"//\") vooraf te laten gaan. In onderstaande tabel kun je zien of een bepaalde functionaliteit beschikbaar is voor de verschillende versies van de DSMR-logger. #define Functie Versie 4 Versie 3 IS_ESP12 Geeft aan of je de firmware voor een ESP12 of andere (ESP-01) processor compileren JA (moet) NEE USE_UPDATE_SERVER Met de Update Server kun je vanuit de FSexplorer updates van de firmware installeren JA NEE HAS_OLED_SSD1306 Functionaliteit om (status) meldingen naar een OLED scherm (0.96\" type SSD1306) te sturen JA NEE HAS_OLED_SH1106 Functionaliteit om (status) meldingen naar een OLED scherm (1.3\" type SH1106) te sturen JA NEE USE_PRE40_PROTOCOL Voor \"oude\" Slimme Meters JA JA USE_NTP_TIME Gebruik de tijd van een NTP server i.p.v. die van de Slimme Meter JA JA SM_HAS_NO_FASE_INFO Sommige \u00e9\u00e9n fase Slimme Meter's geven geen info per fase af JA JA USE_MQTT Deze optie zorgt ervoor dat de functionaliteit voor het versturen van gegevens naar een MQTT broker wordt ingebouwd JA JA SHOW_PASSWORDS Of je de gebruikte passwords in het Systeem Info scherm en via telnet wilt tonen JA JA HAS_NO_METER Als je geen Slimme Meter op de DSMR-logger hebt aangesloten JA JA /******************** compiler options ********************************************/ #define IS_ESP12 // define if it's a 'bare' ESP-12 (no reset/flash functionality on board) #define USE_UPDATE_SERVER // define if there is enough memory and updateServer to be used #define HAS_OLED_SSD1306 // define if an OLED display is present // #define USE_PRE40_PROTOCOL // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0) // #define USE_NTP_TIME // define to generate Timestamp from NTP (Only Winter Time for now) // #define SM_HAS_NO_FASE_INFO // if your SM does not give fase info use total delevered/returned #define USE_MQTT // define if you want to use MQTT // #define SHOW_PASSWRDS // well .. show the PSK key and MQTT password, what else? // #define HAS_NO_METER // define if No \"Slimme Meter\" is attached (*TESTING*) /******************** don't change anything below this comment **********************/","title":"Overzicht"},{"location":"overzichtFuncties/#overzicht-te-selecteren-functies","text":"Tijdens het compileren van de firmware kun je bepaalde functionaliteit in- en uit-schakelen door de #defines w\u00e9l of n\u00edet door twee slashes (\"//\") vooraf te laten gaan. In onderstaande tabel kun je zien of een bepaalde functionaliteit beschikbaar is voor de verschillende versies van de DSMR-logger. #define Functie Versie 4 Versie 3 IS_ESP12 Geeft aan of je de firmware voor een ESP12 of andere (ESP-01) processor compileren JA (moet) NEE USE_UPDATE_SERVER Met de Update Server kun je vanuit de FSexplorer updates van de firmware installeren JA NEE HAS_OLED_SSD1306 Functionaliteit om (status) meldingen naar een OLED scherm (0.96\" type SSD1306) te sturen JA NEE HAS_OLED_SH1106 Functionaliteit om (status) meldingen naar een OLED scherm (1.3\" type SH1106) te sturen JA NEE USE_PRE40_PROTOCOL Voor \"oude\" Slimme Meters JA JA USE_NTP_TIME Gebruik de tijd van een NTP server i.p.v. die van de Slimme Meter JA JA SM_HAS_NO_FASE_INFO Sommige \u00e9\u00e9n fase Slimme Meter's geven geen info per fase af JA JA USE_MQTT Deze optie zorgt ervoor dat de functionaliteit voor het versturen van gegevens naar een MQTT broker wordt ingebouwd JA JA SHOW_PASSWORDS Of je de gebruikte passwords in het Systeem Info scherm en via telnet wilt tonen JA JA HAS_NO_METER Als je geen Slimme Meter op de DSMR-logger hebt aangesloten JA JA /******************** compiler options ********************************************/ #define IS_ESP12 // define if it's a 'bare' ESP-12 (no reset/flash functionality on board) #define USE_UPDATE_SERVER // define if there is enough memory and updateServer to be used #define HAS_OLED_SSD1306 // define if an OLED display is present // #define USE_PRE40_PROTOCOL // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0) // #define USE_NTP_TIME // define to generate Timestamp from NTP (Only Winter Time for now) // #define SM_HAS_NO_FASE_INFO // if your SM does not give fase info use total delevered/returned #define USE_MQTT // define if you want to use MQTT // #define SHOW_PASSWRDS // well .. show the PSK key and MQTT password, what else? // #define HAS_NO_METER // define if No \"Slimme Meter\" is attached (*TESTING*) /******************** don't change anything below this comment **********************/","title":"Overzicht te selecteren functies"},{"location":"preferencesIDE/","text":"ArduinoIDE preferences Om het Over The Air updaten van de firmware eenvoudig(er) te maken is het handig om altijd precies te weten waar de nieuw gecompileerde firmware door de IDE wordt neergezet. Het standaard door de ArduinoIDE gebruikte build-path is min-of-meer random, maar in ieder geval is het standaard een steeds veranderende plek op je computer. Gelukkig k\u00fan je het build-path ook op een door jou bepaalde vaste plek configureren. Ga, in de ArduinoIDE, naar Instellingen of Preferences . Onder in het popUp scherm dat nu verschijnt staat het pad naar een tekst bestand waarin de ArduinoIDE allerlei gegevens bijhoudt. Het gaat nu om de plek waar het preferences.txt bestand staat. Sluit de ArduinoIDE af en open het preferences.txt bestand met een tekst-editor ( niet met een tekst-verwerker! ). Ergens in het preferences.txt bestand staan deze instellingen die aangeven hoe je binaries worden ge-build en waar ze worden neergezet. . build.path=/Users/(YourLoginName)/Documenten/arduinoBuild build.verbose=true build.warn_data_percentage=75 . . Het gaat om de variabele build.path . Als deze niet in het preferences.txt bestand staat, raad ik je aan hem toe te voegen met een pad waar je makkelijk bij kunt komen zodat je Sketches altijd op dezelfde plek gecompileerd worden. Het maakt het leven een stukje eenvoudiger ;-) Let op! Pas het preferences.txt bestand alleen aan als de ArduinoIDE is afgesloten! De ArduinoIDE heeft deze preferences in zijn geheugen staan en overschrijft het preferences.txt bestand bij het afsluiten.","title":"preferencesIDE"},{"location":"preferencesIDE/#arduinoide-preferences","text":"Om het Over The Air updaten van de firmware eenvoudig(er) te maken is het handig om altijd precies te weten waar de nieuw gecompileerde firmware door de IDE wordt neergezet. Het standaard door de ArduinoIDE gebruikte build-path is min-of-meer random, maar in ieder geval is het standaard een steeds veranderende plek op je computer. Gelukkig k\u00fan je het build-path ook op een door jou bepaalde vaste plek configureren. Ga, in de ArduinoIDE, naar Instellingen of Preferences . Onder in het popUp scherm dat nu verschijnt staat het pad naar een tekst bestand waarin de ArduinoIDE allerlei gegevens bijhoudt. Het gaat nu om de plek waar het preferences.txt bestand staat. Sluit de ArduinoIDE af en open het preferences.txt bestand met een tekst-editor ( niet met een tekst-verwerker! ). Ergens in het preferences.txt bestand staan deze instellingen die aangeven hoe je binaries worden ge-build en waar ze worden neergezet. . build.path=/Users/(YourLoginName)/Documenten/arduinoBuild build.verbose=true build.warn_data_percentage=75 . . Het gaat om de variabele build.path . Als deze niet in het preferences.txt bestand staat, raad ik je aan hem toe te voegen met een pad waar je makkelijk bij kunt komen zodat je Sketches altijd op dezelfde plek gecompileerd worden. Het maakt het leven een stukje eenvoudiger ;-) Let op! Pas het preferences.txt bestand alleen aan als de ArduinoIDE is afgesloten! De ArduinoIDE heeft deze preferences in zijn geheugen staan en overschrijft het preferences.txt bestand bij het afsluiten.","title":"ArduinoIDE preferences"},{"location":"restAPI/","text":"restAPI Via de restAPI is het mogelijk om vanaf een extern systeem data uit de DSMRlogger op te halen. Deze data wordt in json formaat afgeleverd. De syntax is: http://dsmr-ws.local/restAPI?get={ Actueel | Actual | DevInfo } In plaats van dsmr-ws.local kun je ook het IPadres van de DSMR-logger gebruiken. Let op! restAPI is case-sensitive en moet precies z\u00f3 geschreven worden of helemaal in lower-case ( restapi ). De overige argumenten zijn niet case-sensitive ( Get of gEt en Actual of aCtUaL zijn gelijk). Voorbeeld 1 Om de actuele data uit de Slimme Meter op te halen gebruik je: http://dsmr-ws.local/restAPI?get=Actueel Waarna je de volgende json string terug krijgt: { \"Timestamp\":\"160717102501S\" ,\"Energy_Delivered\":\"96966.094\" ,\"Energy_Returned\":\"69198.641\" ,\"Gas_Delivered\":\"4756.10\" ,\"Energy_Delivered_Tariff1\":\"54210.770\" ,\"Energy_Delivered_Tariff2\":\"42755.324\" ,\"Energy_Returned_Tariff1\":\"27365.799\" ,\"Energy_Returned_Tariff2\":\"41832.840\" ,\"Power_Delivered\":\"4680\" ,\"Power_Returned\":\"1740\" ,\"Voltage_l1\":\"241.0\" ,\"Current_l1\":\"0\" ,\"Voltage_l2\":\"237.0\" ,\"Current_l2\":\"2\" ,\"Voltage_l3\":\"236.0\" ,\"Current_l3\":\"0\" ,\"Power_Delivered_l1\":\"2964\" ,\"Power_Returned_l1\":\"136\" ,\"Power_Delivered_l2\":\"1180\" ,\"Power_Returned_l2\":\"1696\" ,\"Power_Delivered_l3\":\"1536\" ,\"Power_Returned_l3\":\"70\" } In plaats van Actueel kun je ook Actual gebruiken. Voorbeeld 2 Om de Device Informatie van de Slimme Meter en de DSMR-logger op te halen gebruik je het volgende commando: http://192.168.12.63/restapi?GET=DEVInfo Waarna je de volgende json string terug krijgt: { \"Identification\":\"XMX5LGBBLB1234567890\" ,\"P1_Version\":\"50\" ,\"Equipment_Id\":\"453030xxxxxxxxxxxxxxxxxxxxxxxx3136\" ,\"Electricity_Tariff\":\"0002\" ,\"Gas_Device_Type\":\"3\" ,\"Gas_Equipment_Id\":\"47303xxxxxxxxxxxxxxxxxxxxxxxx23136\" ,\"Author\":\"Willem Aandewiel (www.aandewiel.nl)\" ,\"FwVersion\":\"v0.4.2 (May 5 2019)\" ,\"Compiled\":\"May 5 2019 19:31:28\" ,\"FreeHeap\":\"12528\" ,\"ChipID\":\"41e189\" ,\"CoreVersion\":\"2_5_0\" ,\"SdkVersion\":\"3.0.0-dev(c0f7b44)\" ,\"CpuFreqMHz\":\"80\" ,\"SketchSize\":\"511.203kB\" ,\"FreeSketchSpace\":\"236.000kB\" ,\"FlashChipID\":\"0014405E\" ,\"FlashChipSize\":\"1.000MB\" ,\"FlashChipRealSize\":\"1.000MB\" ,\"FlashChipSpeed\":\"40.00MHz\" ,\"FlashChipMode\":\"DOUT\" ,\"BoardType\":\"ESP8266_GENERIC\" ,\"SSID\":\"thisWiFi\" ,\"IpAddress\":\"192.168.12.63\" ,\"WiFiRSSI\":\"-51\" ,\"Hostname\":\"DSMR-WS\" ,\"upTime\":\"9(d):20:57\" ,\"TelegramCount\":\"162180\" ,\"TelegramErrors\":\"7\" ,\"lastReset\":\"External System\" }","title":"restAPI"},{"location":"restAPI/#restapi","text":"Via de restAPI is het mogelijk om vanaf een extern systeem data uit de DSMRlogger op te halen. Deze data wordt in json formaat afgeleverd. De syntax is: http://dsmr-ws.local/restAPI?get={ Actueel | Actual | DevInfo } In plaats van dsmr-ws.local kun je ook het IPadres van de DSMR-logger gebruiken. Let op! restAPI is case-sensitive en moet precies z\u00f3 geschreven worden of helemaal in lower-case ( restapi ). De overige argumenten zijn niet case-sensitive ( Get of gEt en Actual of aCtUaL zijn gelijk).","title":"restAPI"},{"location":"restAPI/#voorbeeld-1","text":"Om de actuele data uit de Slimme Meter op te halen gebruik je: http://dsmr-ws.local/restAPI?get=Actueel Waarna je de volgende json string terug krijgt: { \"Timestamp\":\"160717102501S\" ,\"Energy_Delivered\":\"96966.094\" ,\"Energy_Returned\":\"69198.641\" ,\"Gas_Delivered\":\"4756.10\" ,\"Energy_Delivered_Tariff1\":\"54210.770\" ,\"Energy_Delivered_Tariff2\":\"42755.324\" ,\"Energy_Returned_Tariff1\":\"27365.799\" ,\"Energy_Returned_Tariff2\":\"41832.840\" ,\"Power_Delivered\":\"4680\" ,\"Power_Returned\":\"1740\" ,\"Voltage_l1\":\"241.0\" ,\"Current_l1\":\"0\" ,\"Voltage_l2\":\"237.0\" ,\"Current_l2\":\"2\" ,\"Voltage_l3\":\"236.0\" ,\"Current_l3\":\"0\" ,\"Power_Delivered_l1\":\"2964\" ,\"Power_Returned_l1\":\"136\" ,\"Power_Delivered_l2\":\"1180\" ,\"Power_Returned_l2\":\"1696\" ,\"Power_Delivered_l3\":\"1536\" ,\"Power_Returned_l3\":\"70\" } In plaats van Actueel kun je ook Actual gebruiken.","title":"Voorbeeld 1"},{"location":"restAPI/#voorbeeld-2","text":"Om de Device Informatie van de Slimme Meter en de DSMR-logger op te halen gebruik je het volgende commando: http://192.168.12.63/restapi?GET=DEVInfo Waarna je de volgende json string terug krijgt: { \"Identification\":\"XMX5LGBBLB1234567890\" ,\"P1_Version\":\"50\" ,\"Equipment_Id\":\"453030xxxxxxxxxxxxxxxxxxxxxxxx3136\" ,\"Electricity_Tariff\":\"0002\" ,\"Gas_Device_Type\":\"3\" ,\"Gas_Equipment_Id\":\"47303xxxxxxxxxxxxxxxxxxxxxxxx23136\" ,\"Author\":\"Willem Aandewiel (www.aandewiel.nl)\" ,\"FwVersion\":\"v0.4.2 (May 5 2019)\" ,\"Compiled\":\"May 5 2019 19:31:28\" ,\"FreeHeap\":\"12528\" ,\"ChipID\":\"41e189\" ,\"CoreVersion\":\"2_5_0\" ,\"SdkVersion\":\"3.0.0-dev(c0f7b44)\" ,\"CpuFreqMHz\":\"80\" ,\"SketchSize\":\"511.203kB\" ,\"FreeSketchSpace\":\"236.000kB\" ,\"FlashChipID\":\"0014405E\" ,\"FlashChipSize\":\"1.000MB\" ,\"FlashChipRealSize\":\"1.000MB\" ,\"FlashChipSpeed\":\"40.00MHz\" ,\"FlashChipMode\":\"DOUT\" ,\"BoardType\":\"ESP8266_GENERIC\" ,\"SSID\":\"thisWiFi\" ,\"IpAddress\":\"192.168.12.63\" ,\"WiFiRSSI\":\"-51\" ,\"Hostname\":\"DSMR-WS\" ,\"upTime\":\"9(d):20:57\" ,\"TelegramCount\":\"162180\" ,\"TelegramErrors\":\"7\" ,\"lastReset\":\"External System\" }","title":"Voorbeeld 2"},{"location":"uploadDataMap_V3/","text":"upload Data map naar DSMR-logger v3 De data -map van de DSMRloggerWS firmware kan alleen via een programmer naar de ESP-01 worden overgezet (omdat de DSMRloggerWS firmware op de ESP-01 geen OTA functionaliteit heeft). Je kunt hier een uitvoerige post vinden over hoe je zelf een eenvoudige programmer voor de ESP-01 kunt maken en hoe je die vervolgens moet gebruiken om de firmware en de DSMRloggerWS data -map naar de ESP-01 te uploaden. Uiteraard kun je hiervoor ook iedere andere geschikte programmer gebruiken! Als je de ESP-01 op de programmer hebt aangesloten en deze staat in \"Flash-Mode\" ga dan in de Arduino IDE naar Tools -> ESP8266 Sketch Data Upload Let op! De lay-out van de .csv bestanden van de DSMRloggerWS firmware is niet compatibel met die van de DSMRlogger2HTTP firmware. Mocht je de, met de DSMRlogger2HTTP firmware opgebouwde, history willen bewaren, dan moet je deze bestanden \u00e9\u00e9rst naar je computer uploaden (dat kan via de /onderhoud pagina). SPIFFS wordt nu leeg gemaakt en alle bestanden in de data -map worden naar het SPIFFS overgezet. Hierna zal de DSMR-logger normaal opstarten, maar met de nieuw SPIFFS inhoud. Let op! Hou er rekening mee dat eventuele data-bestanden die al op SPIFFS stonden nu weg zijn! Als je ze niet kwijt wil moet je er eerst een kopie van maken op je computer en deze, na het flashen van SPIFFS weer terug zetten (dat kan met de DSMRlogger2HTTP firmware met behulp van de /onderhoud pagina en bij de DSMRloggerWS firmware met de FSexplorer )! [ChartJaar]","title":"Data Flashen DSMR-logger v3"},{"location":"uploadDataMap_V3/#upload-data-map-naar-dsmr-logger-v3","text":"De data -map van de DSMRloggerWS firmware kan alleen via een programmer naar de ESP-01 worden overgezet (omdat de DSMRloggerWS firmware op de ESP-01 geen OTA functionaliteit heeft). Je kunt hier een uitvoerige post vinden over hoe je zelf een eenvoudige programmer voor de ESP-01 kunt maken en hoe je die vervolgens moet gebruiken om de firmware en de DSMRloggerWS data -map naar de ESP-01 te uploaden. Uiteraard kun je hiervoor ook iedere andere geschikte programmer gebruiken! Als je de ESP-01 op de programmer hebt aangesloten en deze staat in \"Flash-Mode\" ga dan in de Arduino IDE naar Tools -> ESP8266 Sketch Data Upload Let op! De lay-out van de .csv bestanden van de DSMRloggerWS firmware is niet compatibel met die van de DSMRlogger2HTTP firmware. Mocht je de, met de DSMRlogger2HTTP firmware opgebouwde, history willen bewaren, dan moet je deze bestanden \u00e9\u00e9rst naar je computer uploaden (dat kan via de /onderhoud pagina). SPIFFS wordt nu leeg gemaakt en alle bestanden in de data -map worden naar het SPIFFS overgezet. Hierna zal de DSMR-logger normaal opstarten, maar met de nieuw SPIFFS inhoud. Let op! Hou er rekening mee dat eventuele data-bestanden die al op SPIFFS stonden nu weg zijn! Als je ze niet kwijt wil moet je er eerst een kopie van maken op je computer en deze, na het flashen van SPIFFS weer terug zetten (dat kan met de DSMRlogger2HTTP firmware met behulp van de /onderhoud pagina en bij de DSMRloggerWS firmware met de FSexplorer )! [ChartJaar]","title":"upload Data map naar DSMR-logger v3"},{"location":"uploadDataMap_V4/","text":"upload Data map naar DSMR-logger V4 board In de data -map van de DSMRloggerWS firmware staan bestanden die nodig zijn voor het functioneren van de firmware. Deze bestanden moeten dan ook overgezet worden naar de DSMR-logger. Dat 'overzetten' kan op twee manieren: ' Bedraad ' en ' Over The Air ' Bedraad Let op! Zorg dat de Serial Monitor is afgesloten! Pas op! Koppel de DSMR-logger los van de Slimme Meter v\u00f3\u00f3rdat je de DSMR-logger op de programmer aansluit!! Sluit de programmer aan op de DSMR-logger v4 . Druk op de FLASH knop en houdt deze ingedrukt. Druk vervolgens de RESET knop in en laat deze weer los. Laat nu ook de FLASH knop los. De DSMR-logger v4 staat nu in \"Flash-mode\" en wacht (geduldig) tot de inhoud van de data map wordt opgestuurd. Ga in de Arduino IDE naar Tools -> ESP8266 Sketch Data Upload SPIFFS wordt nu leeg gemaakt en alle bestanden in de data map worden naar het SPIFFS overgezet. Hierna zal de DSMR-logger normaal opstarten, maar met de nieuw SPIFFS inhoud. Let op! Hou er rekening mee dat eventuele data-bestanden die al op SPIFFS stonden nu weg zijn! Als je ze niet kwijt wil moet je er eerst een kopie van maken op je computer en deze, na het flashen van SPIFFS weer terug zetten (dat kan met de DSMR-logger FSexplorer )! Over The Air Bij het Over The Air uploaden van de bestanden uit de data -map kan de DSMRlogger v4 gewoon aan de Slimme Meter gekoppeld blijven. Alle Board gegevens blijven gelijk alleen selecteer je een Serial Port die nergens op is aangesloten ! Start vervolgens het ESP8266 Sketch Data Upload -tool Omdat je een Serial Port hebt geselecteerd waar niets op is aangesloten zal deze opdracht met een foutmelding eindigen. Ondertussen is er w\u00e9l een .spiffs.bin bestand in het build-path neergezet. Let op! Hou er rekening mee dat eventuele data-bestanden die al op SPIFFS stonden nu weg zijn! Als je ze niet kwijt wil moet je er eerst een kopie van maken op je computer en deze, na het flashen van SPIFFS weer terug zetten (dat kan met de DSMR-logger FSexplorer )! Klik nu op de DSMR-logger pagina op het icoontje. In de FSexplorer klik je op de knop select Firmware Er verschijnt nu een scherm waarin je een SPIFFS bestand (de naam eindigt op .spiffs.bin ) kunt kiezen door op de onderste knop Choose File te klikken. Selecteer uit het popUp scherm dat nu verschijnt het binary file dat je wilt uploaden .. .. klik op [Choose] en daarna op de knop flash Spiffs Na enige tijd krijg je de melding dat de upload is geslaagd en dat de DSMR-logger opnieuw opstart. Let op! Het komt regelmatig voor dat het scherm niet automatisch ge-refreshed wordt (dit lijkt te maken te hebben met de omvang van de firmware die je upload). Klik in dat geval, na ongeveer 3 minuten, op de tekst Als het lijkt of er niets gebeurd, wacht dan ongeveer drie minuten en klik daarna hier . Als de verbinding met de server v\u00f3\u00f3r die tijd verbroken wordt klik dan op de `back` knop van de browser waarna de tekst alsnog (weer) verschijnt. Klik nu op **hier** om de DSMRloggerWS hoofd pagina opnieuw te laden. [PCB V4]","title":"Data Flashen DSMR-logger v4"},{"location":"uploadDataMap_V4/#upload-data-map-naar-dsmr-logger-v4-board","text":"In de data -map van de DSMRloggerWS firmware staan bestanden die nodig zijn voor het functioneren van de firmware. Deze bestanden moeten dan ook overgezet worden naar de DSMR-logger. Dat 'overzetten' kan op twee manieren: ' Bedraad ' en ' Over The Air '","title":"upload Data map naar DSMR-logger V4 board"},{"location":"uploadDataMap_V4/#bedraad","text":"Let op! Zorg dat de Serial Monitor is afgesloten! Pas op! Koppel de DSMR-logger los van de Slimme Meter v\u00f3\u00f3rdat je de DSMR-logger op de programmer aansluit!! Sluit de programmer aan op de DSMR-logger v4 . Druk op de FLASH knop en houdt deze ingedrukt. Druk vervolgens de RESET knop in en laat deze weer los. Laat nu ook de FLASH knop los. De DSMR-logger v4 staat nu in \"Flash-mode\" en wacht (geduldig) tot de inhoud van de data map wordt opgestuurd. Ga in de Arduino IDE naar Tools -> ESP8266 Sketch Data Upload SPIFFS wordt nu leeg gemaakt en alle bestanden in de data map worden naar het SPIFFS overgezet. Hierna zal de DSMR-logger normaal opstarten, maar met de nieuw SPIFFS inhoud. Let op! Hou er rekening mee dat eventuele data-bestanden die al op SPIFFS stonden nu weg zijn! Als je ze niet kwijt wil moet je er eerst een kopie van maken op je computer en deze, na het flashen van SPIFFS weer terug zetten (dat kan met de DSMR-logger FSexplorer )!","title":"Bedraad"},{"location":"uploadDataMap_V4/#over-the-air","text":"Bij het Over The Air uploaden van de bestanden uit de data -map kan de DSMRlogger v4 gewoon aan de Slimme Meter gekoppeld blijven. Alle Board gegevens blijven gelijk alleen selecteer je een Serial Port die nergens op is aangesloten ! Start vervolgens het ESP8266 Sketch Data Upload -tool Omdat je een Serial Port hebt geselecteerd waar niets op is aangesloten zal deze opdracht met een foutmelding eindigen. Ondertussen is er w\u00e9l een .spiffs.bin bestand in het build-path neergezet. Let op! Hou er rekening mee dat eventuele data-bestanden die al op SPIFFS stonden nu weg zijn! Als je ze niet kwijt wil moet je er eerst een kopie van maken op je computer en deze, na het flashen van SPIFFS weer terug zetten (dat kan met de DSMR-logger FSexplorer )! Klik nu op de DSMR-logger pagina op het icoontje. In de FSexplorer klik je op de knop select Firmware Er verschijnt nu een scherm waarin je een SPIFFS bestand (de naam eindigt op .spiffs.bin ) kunt kiezen door op de onderste knop Choose File te klikken. Selecteer uit het popUp scherm dat nu verschijnt het binary file dat je wilt uploaden .. .. klik op [Choose] en daarna op de knop flash Spiffs Na enige tijd krijg je de melding dat de upload is geslaagd en dat de DSMR-logger opnieuw opstart. Let op! Het komt regelmatig voor dat het scherm niet automatisch ge-refreshed wordt (dit lijkt te maken te hebben met de omvang van de firmware die je upload). Klik in dat geval, na ongeveer 3 minuten, op de tekst Als het lijkt of er niets gebeurd, wacht dan ongeveer drie minuten en klik daarna hier . Als de verbinding met de server v\u00f3\u00f3r die tijd verbroken wordt klik dan op de `back` knop van de browser waarna de tekst alsnog (weer) verschijnt. Klik nu op **hier** om de DSMRloggerWS hoofd pagina opnieuw te laden. [PCB V4]","title":"Over The Air"},{"location":"uploadFirmware_V3/","text":"Firmware naar DSMR-logger v3 Flashen Let op! De DSMR-logger Versie 3 maakt gebruik van een ESP-01 bordje met 1MB flash geheugen. Vanwege de omvang van de DSMRloggerWS firmware is deze alleen met beperkte functionaliteit geschikt om naar een ESP-01 te worden ge-upload. Met een ESP-01(Black/S) is het niet mogelijk om Over The Air updates van de firmware of SPIFFS te doen. Ook de RTS hardware en de I2C interface (oled-scherm) zijn voor de ESP-01 niet beschikbaar. Om de firmware naar de ESP-01 (Black/S) te kunnen flashen moet deze eerst voor de ESP-01 geschikt worden gemaakt. Dit doe je door v\u00f3\u00f3r de #define 's twee slashes ( // ) te zetten. In de ArduinoIDE zien de regels na /*** compiler options ***/ er dan z\u00f3 uit: /******************** compiler options ********************************************/ // #define IS_ESP12 // define if it's an ESP-12 // #define USE_UPDATE_SERVER // define if updateServer to be used and there is enough memory // #define HAS_OLED_SSD1306 // define if an OLED display is present // #define SM_GIVES_NO_TIMESTAMP // define to generate Timestamp from NTP (Only Winter Time) // #define SHOW_PSK_KEY // well .. show the PSK key, what else? // #define HAS_NO_METER // define if No \"Slimme Meter\" is attached (*TESTING*) /******************** don't change anything below this comment **********************/ Let op! Mocht je een ESP-01 bordje met een PUYA flash chip hebben, dan moet je nog wat doen om SPIFFS met deze PUYA chip te laten werken. Kijk hier wat je moet doen. Vervolgens moeten de [ Boards ] settings als volgt worden ingevuld: Instelling Waarde Board \"Generic ESP8266 Module\" Upload Speed \"115200\" CPU Frequency \"80MHz\" Flash Frequency \"40MHz\" Flash Mode \"DOUT (compatible)\" Flash Size \"1M (256K SPIFFS)\" Crystal Frequency \"26MHz\" Reset Method \"None\" (afhankelijk van de gebruikte programmer) Debug Port \"Disabled\" Debug Level \"None\" IwIP Variant \"v2 Lower Memory\" VTables \"Flash\" Exeptions \"Disabled\" Builtin Led ESP-01 (Black): \"1\" ESP-01S: \"2\" Erase Flash \"Only Sketch\" (First Time \"All Flash Contents\") Port Bedraad: \"Serial Port\" Stop de ESP-01 in de programmer ( hier vind je een post over hoe je van een USB to ESP-01 Adapter zelf eenvoudig een programmer kunt maken) en sluit deze aan op je computer. Vergeet niet de juiste Port te selecteren en druk op het Compile and Upload icoon . [DSMR-Editor]","title":"Firmware Flashen DSMR-logger v3"},{"location":"uploadFirmware_V3/#firmware-naar-dsmr-logger-v3-flashen","text":"Let op! De DSMR-logger Versie 3 maakt gebruik van een ESP-01 bordje met 1MB flash geheugen. Vanwege de omvang van de DSMRloggerWS firmware is deze alleen met beperkte functionaliteit geschikt om naar een ESP-01 te worden ge-upload. Met een ESP-01(Black/S) is het niet mogelijk om Over The Air updates van de firmware of SPIFFS te doen. Ook de RTS hardware en de I2C interface (oled-scherm) zijn voor de ESP-01 niet beschikbaar. Om de firmware naar de ESP-01 (Black/S) te kunnen flashen moet deze eerst voor de ESP-01 geschikt worden gemaakt. Dit doe je door v\u00f3\u00f3r de #define 's twee slashes ( // ) te zetten. In de ArduinoIDE zien de regels na /*** compiler options ***/ er dan z\u00f3 uit: /******************** compiler options ********************************************/ // #define IS_ESP12 // define if it's an ESP-12 // #define USE_UPDATE_SERVER // define if updateServer to be used and there is enough memory // #define HAS_OLED_SSD1306 // define if an OLED display is present // #define SM_GIVES_NO_TIMESTAMP // define to generate Timestamp from NTP (Only Winter Time) // #define SHOW_PSK_KEY // well .. show the PSK key, what else? // #define HAS_NO_METER // define if No \"Slimme Meter\" is attached (*TESTING*) /******************** don't change anything below this comment **********************/ Let op! Mocht je een ESP-01 bordje met een PUYA flash chip hebben, dan moet je nog wat doen om SPIFFS met deze PUYA chip te laten werken. Kijk hier wat je moet doen. Vervolgens moeten de [ Boards ] settings als volgt worden ingevuld: Instelling Waarde Board \"Generic ESP8266 Module\" Upload Speed \"115200\" CPU Frequency \"80MHz\" Flash Frequency \"40MHz\" Flash Mode \"DOUT (compatible)\" Flash Size \"1M (256K SPIFFS)\" Crystal Frequency \"26MHz\" Reset Method \"None\" (afhankelijk van de gebruikte programmer) Debug Port \"Disabled\" Debug Level \"None\" IwIP Variant \"v2 Lower Memory\" VTables \"Flash\" Exeptions \"Disabled\" Builtin Led ESP-01 (Black): \"1\" ESP-01S: \"2\" Erase Flash \"Only Sketch\" (First Time \"All Flash Contents\") Port Bedraad: \"Serial Port\" Stop de ESP-01 in de programmer ( hier vind je een post over hoe je van een USB to ESP-01 Adapter zelf eenvoudig een programmer kunt maken) en sluit deze aan op je computer. Vergeet niet de juiste Port te selecteren en druk op het Compile and Upload icoon . [DSMR-Editor]","title":"Firmware naar DSMR-logger v3 Flashen"},{"location":"uploadFirmware_V4/","text":"Firmware Flashen naar DSMR-logger V4 board Versie 4 van de DSMR-logger hardware maakt gebruik van een ESP-12 processor. Deze processor zit op de printplaat van de DSMR-logger gesoldeerd en moet dus, op de printplaat, geflashed worden. Om de firmware naar de DSMRlogger Versie 4 te kunnen flashen moet deze eerst voor de ESP-12 geschikt worden gemaakt. Dit doe je door in de ArduinoIDE de #define 's in het eerste tab-blad aan te passen. Heb je g\u00e9\u00e9n Oled-display (let op de twee slashes voor alle #define 's behalve de eerste twee!): /******************** compiler options ********************************************/ #define IS_ESP12 // define if it's a 'bare' ESP-12 (no reset/flash functionality on board) #define USE_UPDATE_SERVER // define if updateServer to be used and there is enough memory // #define HAS_OLED_SSD1306 // define if a 0.96\" OLED display is present // #define HAS_OLED_SH1106 // define if a 1.3\" OLED display is present // #define USE_PRE40_PROTOCOL // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0) // #define USE_NTP_TIME // define to generate Timestamp from NTP (Only Winter Time for now) // #define SM_HAS_NO_FASE_INFO // if your SM does not give fase info use total delevered/returned // #define SHOW_PSK_KEY // well .. show the PSK key, what else? // #define HAS_NO_METER // define if No \"Slimme Meter\" is attached (*TESTING*) /******************** don't change anything below this comment **********************/ Heb je wel een Oled-display op de DSMR-logger aangesloten dan moeten de compiler options als volgt worden aangepast (twee slashes voor alle, behalve de eerste drie #define 's!): /******************** compiler options ********************************************/ #define IS_ESP12 // define if it's a 'bare' ESP-12 (no reset/flash functionality on board) #define USE_UPDATE_SERVER // define if updateServer to be used and there is enough memory #define HAS_OLED_SSD1306 // define if an OLED display is present // #define HAS_OLED_SH1106 // define if a 1.3\" OLED display is present // #define USE_PRE40_PROTOCOL // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0) // #define USE_NTP_TIME // define to generate Timestamp from NTP (Only Winter Time for now) // #define SM_HAS_NO_FASE_INFO // if your SM does not give fase info use total delevered/returned // #define SHOW_PSK_KEY // well .. show the PSK key, what else? // #define HAS_NO_METER // define if No \"Slimme Meter\" is attached (*TESTING*) /******************** don't change anything below this comment **********************/ Vervolgens moeten de Boards settings als volgt worden ingevuld: Instelling Waarde Board \"Generic ESP8266 Module\" Upload Speed \"115200\" CPU Frequency \"80MHz\" Flash Frequency \"40MHz\" Flash Mode \"DIO\" of \"DOUT (compatible)\" Flash Size \"4M (1M SPIFFS)\" Crystal Frequency \"26MHz\" Reset Method \"None\" Debug Port \"Disabled\" Debug Level \"None\" IwIP Variant \"v2 Lower Memory\" VTables \"Flash\" Exeptions \"Disabled\" Builtin Led \"2\" Erase Flash \"Only Sketch\" (First Time: \"All Flash Contents\") Port Bedraad: \"Serial Port\" Pas op! Als je de Flash Mode veranderd t.o.v. wat je gebruikt hebt voor de firmware die nu in de DSMR-logger zit, dan kun je de firmware niet OTA uploaden!!! Firmware Bedraad Flashen Pas op! Koppel de DSMR-logger los van de Slimme Meter v\u00f3\u00f3rdat je de DSMR-logger op de programmer aansluit!! Sluit de USB->ESP12 programmer aan op de Program -header van de DSMR-logger v4 Druk de FLASH knop in en houd deze ingedrukt Druk op de RESET knop Laat de RESET knop los Laat de FLASH knop los De DSMR-logger v4 staat nu in Flash-mode en blijft in die mode tot er gegevens vanaf de programmer naar de DSMR-logger zijn overgebracht \u00f3f tot je nog een keer op de RESET knop drukt. Vergeet niet in de ArduinoIDE de Port te selecteren waarop je de USB->ESP12 programmer hebt aangesloten en druk op het Compile and Upload icoon. Firmware Over The Air Flashen Bij het Over The Air flashen van de firmware of data -map kan de DSMR-logger v4 gewoon op de Slimme Meter aangesloten blijven. Alle instellingen voor de DSMRloggerWS firmware blijven gelijk aan de bedraade methode van flashen. Vervolgens moet je niet op het Compile & Upload -Icoon klikken maar in het [ Sketch ] drop-down menu de keuze Upload Compiled Binary selecteren. De firmware wordt nu gecompileerd en in de Arduino Sketch map waar de DSMRloggerWS firmware ook staat neergezet. Het bestand heeft de extentie .bin . Als de firmware gecompileerd is klik je op de DSMR-logger pagina op het icoontje. In de FSexplorer klik je op de knop select Firmware Er verschijnt nu een scherm waarin je een firmware bestand (de naam eindigt op .bin met ergens in de naam ook .ino. ) kunt kiezen door op de bovenste knop Choose File te klikken. Selecteer uit het popUp scherm dat nu verschijnt het binary file dat je wilt uploaden .. .. klik op [Choose] en daarna op de knop flash Firmware Na enige tijd krijg je de melding dat de upload is geslaagd en dat de DSMR-logger opnieuw opstart. Let op! Het komt regelmatig voor dat het scherm niet automatisch ge-refreshed wordt (dit lijkt te maken te hebben met de omvang van de firmware). Klik in dat geval, na ongeveer 3 minuten, op de tekst Als het lijkt of er niets gebeurd, wacht dan ongeveer drie minuten en klik daarna hier . Als de verbinding met de server v\u00f3\u00f3r die tijd verbroken wordt klik dan op de `back` knop van de browser waarna de tekst alsnog (weer) verschijnt. Klik nu op **hier** om de DSMRloggerWS hoofd pagina opnieuw te laden. [DSMR-PCB]","title":"Firmware Flashen DSMR-logger v4"},{"location":"uploadFirmware_V4/#firmware-flashen-naar-dsmr-logger-v4-board","text":"Versie 4 van de DSMR-logger hardware maakt gebruik van een ESP-12 processor. Deze processor zit op de printplaat van de DSMR-logger gesoldeerd en moet dus, op de printplaat, geflashed worden. Om de firmware naar de DSMRlogger Versie 4 te kunnen flashen moet deze eerst voor de ESP-12 geschikt worden gemaakt. Dit doe je door in de ArduinoIDE de #define 's in het eerste tab-blad aan te passen. Heb je g\u00e9\u00e9n Oled-display (let op de twee slashes voor alle #define 's behalve de eerste twee!): /******************** compiler options ********************************************/ #define IS_ESP12 // define if it's a 'bare' ESP-12 (no reset/flash functionality on board) #define USE_UPDATE_SERVER // define if updateServer to be used and there is enough memory // #define HAS_OLED_SSD1306 // define if a 0.96\" OLED display is present // #define HAS_OLED_SH1106 // define if a 1.3\" OLED display is present // #define USE_PRE40_PROTOCOL // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0) // #define USE_NTP_TIME // define to generate Timestamp from NTP (Only Winter Time for now) // #define SM_HAS_NO_FASE_INFO // if your SM does not give fase info use total delevered/returned // #define SHOW_PSK_KEY // well .. show the PSK key, what else? // #define HAS_NO_METER // define if No \"Slimme Meter\" is attached (*TESTING*) /******************** don't change anything below this comment **********************/ Heb je wel een Oled-display op de DSMR-logger aangesloten dan moeten de compiler options als volgt worden aangepast (twee slashes voor alle, behalve de eerste drie #define 's!): /******************** compiler options ********************************************/ #define IS_ESP12 // define if it's a 'bare' ESP-12 (no reset/flash functionality on board) #define USE_UPDATE_SERVER // define if updateServer to be used and there is enough memory #define HAS_OLED_SSD1306 // define if an OLED display is present // #define HAS_OLED_SH1106 // define if a 1.3\" OLED display is present // #define USE_PRE40_PROTOCOL // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0) // #define USE_NTP_TIME // define to generate Timestamp from NTP (Only Winter Time for now) // #define SM_HAS_NO_FASE_INFO // if your SM does not give fase info use total delevered/returned // #define SHOW_PSK_KEY // well .. show the PSK key, what else? // #define HAS_NO_METER // define if No \"Slimme Meter\" is attached (*TESTING*) /******************** don't change anything below this comment **********************/ Vervolgens moeten de Boards settings als volgt worden ingevuld: Instelling Waarde Board \"Generic ESP8266 Module\" Upload Speed \"115200\" CPU Frequency \"80MHz\" Flash Frequency \"40MHz\" Flash Mode \"DIO\" of \"DOUT (compatible)\" Flash Size \"4M (1M SPIFFS)\" Crystal Frequency \"26MHz\" Reset Method \"None\" Debug Port \"Disabled\" Debug Level \"None\" IwIP Variant \"v2 Lower Memory\" VTables \"Flash\" Exeptions \"Disabled\" Builtin Led \"2\" Erase Flash \"Only Sketch\" (First Time: \"All Flash Contents\") Port Bedraad: \"Serial Port\" Pas op! Als je de Flash Mode veranderd t.o.v. wat je gebruikt hebt voor de firmware die nu in de DSMR-logger zit, dan kun je de firmware niet OTA uploaden!!!","title":"Firmware Flashen naar DSMR-logger V4 board"},{"location":"uploadFirmware_V4/#firmware-bedraad-flashen","text":"Pas op! Koppel de DSMR-logger los van de Slimme Meter v\u00f3\u00f3rdat je de DSMR-logger op de programmer aansluit!! Sluit de USB->ESP12 programmer aan op de Program -header van de DSMR-logger v4 Druk de FLASH knop in en houd deze ingedrukt Druk op de RESET knop Laat de RESET knop los Laat de FLASH knop los De DSMR-logger v4 staat nu in Flash-mode en blijft in die mode tot er gegevens vanaf de programmer naar de DSMR-logger zijn overgebracht \u00f3f tot je nog een keer op de RESET knop drukt. Vergeet niet in de ArduinoIDE de Port te selecteren waarop je de USB->ESP12 programmer hebt aangesloten en druk op het Compile and Upload icoon.","title":"Firmware Bedraad Flashen"},{"location":"uploadFirmware_V4/#firmware-over-the-air-flashen","text":"Bij het Over The Air flashen van de firmware of data -map kan de DSMR-logger v4 gewoon op de Slimme Meter aangesloten blijven. Alle instellingen voor de DSMRloggerWS firmware blijven gelijk aan de bedraade methode van flashen. Vervolgens moet je niet op het Compile & Upload -Icoon klikken maar in het [ Sketch ] drop-down menu de keuze Upload Compiled Binary selecteren. De firmware wordt nu gecompileerd en in de Arduino Sketch map waar de DSMRloggerWS firmware ook staat neergezet. Het bestand heeft de extentie .bin . Als de firmware gecompileerd is klik je op de DSMR-logger pagina op het icoontje. In de FSexplorer klik je op de knop select Firmware Er verschijnt nu een scherm waarin je een firmware bestand (de naam eindigt op .bin met ergens in de naam ook .ino. ) kunt kiezen door op de bovenste knop Choose File te klikken. Selecteer uit het popUp scherm dat nu verschijnt het binary file dat je wilt uploaden .. .. klik op [Choose] en daarna op de knop flash Firmware Na enige tijd krijg je de melding dat de upload is geslaagd en dat de DSMR-logger opnieuw opstart. Let op! Het komt regelmatig voor dat het scherm niet automatisch ge-refreshed wordt (dit lijkt te maken te hebben met de omvang van de firmware). Klik in dat geval, na ongeveer 3 minuten, op de tekst Als het lijkt of er niets gebeurd, wacht dan ongeveer drie minuten en klik daarna hier . Als de verbinding met de server v\u00f3\u00f3r die tijd verbroken wordt klik dan op de `back` knop van de browser waarna de tekst alsnog (weer) verschijnt. Klik nu op **hier** om de DSMRloggerWS hoofd pagina opnieuw te laden. [DSMR-PCB]","title":"Firmware Over The Air Flashen"},{"location":"uploadOTA-bug/","text":"Upload Over The Air (bug?) Let op! Deze pagina is niet meer relavant omdat de DSMRloggerWS firmware vanaf versie 0.4.2 gebruik maakt van een upload pagina in de firmware zelf! Voor je eigen gemak raad ik je aan het deel over het vaste ` build pad ` wel te lezen en uit te voeren zodat je altijd makkelijk weet waar je nieuw gecompileerde firmware staat! Het lijkt erop dat er een bug zit in de toolchain van de ArduinoIDE voor wat betreft het Over The Air uploaden van omvangrijke Firmware. Als je probeert om de DSMRloggerWS firmware via de ArduinoIDE te uploaden krijg je consequent een popUp window te zien waarin gevraagd wordt een password in te voeren: Waarna, wat je ook klikt of invult , je de volgende foutmelding in de ArduinoIDE te zien krijgt: .. en het verhaal stopt. Het popUp window is een bekend fenomeen in de Arduino wereld omdat het in verschillende situaties voor kan komen. Helaas wordt er nergens een \u00e9chte oplossing gegeven. Maar gelukkig is er voor d\u00edt probleem een Work Around ! Het blijkt, dat als je de instructie om de firmware te uploaden naar de ESP8266 op de command line, handmatig invoert de OTA upload w\u00e9l goed gaat! Als je op het Compile & Upload icon klikt, verschijnt er onderin de ArduinoIDE in het log venster op enig moment de volgende regel: C:\\Users\\(YourLoginName)\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0\\tools\\espota.py \\ -i -p 8266 --auth= \\ -f C:\\Users\\(YourLoginName)\\AppData\\Local\\Temp\\arduino_build_\\DSMRloggerWS.ino.bin (voor de duidelijkheid heb ik de regel opgesplits). Als je deze regel eenvoudig kopieerd ( Ctrl-C ) en in een terminal/command window paste ( Ctrl-V ) dan werkt de Over The Air upload w\u00e9l. Let op! Als je alleen sporadisch Firmware die niet (meer) direct via de ArduinoIDE Over The Air ge-upload kan worden wil flashen, dan is bovenstaande voldoende om dit te kunnen doen. De rest van deze pagina kun je dan overslaan. Een OTA upload programma voor de ontwikkelaars Voor gebruikers die zelf de DSMRloggerWS firmware verder willen ontwikkelen - en die dus vaker de Firmware (Over The Air) moeten uploaden - heb ik in de utils directory van de repository twee Python programma's gezet (\u00e9\u00e9n voor Windows en \u00e9\u00e9n voor unix-achtige OS'n) die dit iets eenvoudiger maakt. Om, voor de vervolg stappen, de goede informatie in het log-venster van de ArduinIDE tezien te krijgen moet in de Preferences/Voorkeuren de Show Verbose Output During: upload zijn aangevinkt: Inplaats van op het Compile & Upload icon te klikken kun je voortaan in de IDE op het Verify icon klikken en het otaUpload programma gebruiken om de firmware naar de ESP8266 te flashen.. Gebruikers die werken met unix of macOS kunnen hier verder lezen. otaUpload programma (Windows) Je roept het programma als volgt aan: python otaUpload.py > otaUpload.py 192.168.12.161 otaUpload : [ 1 ] [ DSMRloggerWS.ino.bin ] otaUpload : bin File Found DSMRloggerWS.ino.bin otaUpload : Last Modified Tue Apr 23 14:37:13 2019 ---------------------------------------------------------------------------- otaUpload : espota -i 192.168.12.161 -f DSMRloggerWS.ino.bin Uploading................................................................ ......................................................................... ......................................................................... Done .. > Om het programma in jouw omgeving te laten werken moet je drie regels aanpassen. 15 #=========================================================== 16 #------ do not change anything above this line! ------------ 17 # 18 #------ location of python --------------------------------- 19 # You can find this by entering the following commands in a 20 # terminal/command window: 21 # 1 > python 22 # 2 >>> import sys 23 # 3 >>> sys.executable 24 # 4 'C:\\\\aa\\python.exe' 25 # 5 >>> quit() 26 # 27 # copy/paste the string from line 4 between os.path.join() 28 # 29 PYTHON = os.path.join(\"C:/Users/(YourLoginName)/AppData/Local/Programs/Python/Python3/python.exe\") 30 ## print(\"> PYTHON [\" + PYTHON + \"]\") 31 # 32 #------ this is the Sketch Location (see preferences.txt) -- 33 BUILDPATH = os.path.join(\"C:/Users/(YourLoginName)/Documenten/arduinoBuild\") 34 ## print('>BUILDPATH [' + BUILDPATH + ']') 35 # 36 #------ Edit this ESPOTAPY to point to the location -------- 37 #------ where your espota.py file is on your system -------- 38 ESPOTAPY = os.path.join(\"C:/Users/(YourLoginName)/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py\") 39 ## print('> ESPOTAPY [' + ESPOTAPY + ']') 40 # 41 #------ do not change anything below this line! ------------ 42 #=========================================================== De meeste regels zijn commentaar (\"#\"). Het gaat dan ook alleen om de variabelen die in de regels 29, 33 en 38 een waarde krijgen. Let op! Windows gebruikers zijn gewend om een \" \\ \" ( BackSlash ) in paden te gebruiken. De functie os.path.join() gaat er echter vanuit dat hiervoor de \" / \" ( ForwardSlash ) wordt gebruikt. Op alle pad-aanduidingen die tussen os.path.join() staan moeten enkele \" \\ \" of dubbele \" \\\\ \" BackSlashes worden vervangen door \u00e9\u00e9n enkele \" / \" ForwardSlash . PYTHON (Windows) Om erachter te komen waar python op jouw systeem is ge\u00efnstalleerd kun je de volgende instructies in een command window intoetsen: C:> C:> python Python 2.7.16 (v2.7.16:413a49145e, Mar 4 2019, 01:30:55) Type \"help\", \"copyright\", \"credits\" or \"license\" for more i >>> import sys >>> sys.executable 'C:\\\\Users\\\\YourLoginName)\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python3\\\\python.exe' >>> quit() De uitvoer onder de regel sys.executable neem je over waarbij je dubbele Backslashes ( \\\\ ) veranderd in \u00e9\u00e9n Slash ( / ). PYTHON = os.path.join('C:/Users/(YourLoginName)/AppData/Local/Programs/Python/Python3/python.exe') BUILDPATH (Windows) BUILDPATH is de variabele die aangeeft waar in jouw setup van de ArduinoIDE de gecompileerde firmware wordt neergezet. Je kunt erachter komen wat het build-pad bij jouw computer is door een simpele Sketch bedraad te uploaden. Je ziet dan zoiets als dit onderin het log-venster verschijnen (voor de duidelijkheid heb ik de regel waar het omgaat in stukjes geknipt): De schets gebruikt 306788 bytes (29%) programma-opslagruimte. Maximum is 1044464 bytes. Globale variabelen gebruiken 28384 bytes (34%) van het dynamisch geheugen. Resteren 53536 bytes voor lokale variabelen. Maximum is 81920 bytes. C:\\Documents and Settings\\(YourLoginName)\\Local Settings\\Application Data\\Arduino15\\packages\\esp8266\\tools\\esptool\\2.5.0-3-20ed2b9/esptool.exe \\ -vv -cd ck -cb 115200 -cp COM3 -ca 0x00000 \\ -cf C:\\Users\\(YourLoginName)\\AppData\\Local\\Temp\\arduino_build_65432/BasicOTA.ino.bin Achter -cf staat het pad waar het om gaat. In dit voorbeeld is dat dit blijkbaar: C:\\Users\\(YourLoginName)\\AppData\\Local\\Temp\\arduino_build_65432 waarbij je er rekening mee moet houden dat arduino_build_65432 slechts een tijdelijke map is die, na het opnieuw opstarten van de ArduinoIDE, een ander nummer zal hebben! Om het otaUpload.py programma goed te laten lopen is het noodzakelijk om in de ArduinoIDE preferences.txt het build.path op een vaste lokatie te zetten. Je moet daartoe in de Preferences/Voorkeuren van de ArduinoIDE kijken waar dit bestand op jouw computer te vinden is. Kijk hier wat je dit bestand moet aanpassen. Sluit de ArduinoIDE af (dat is \u00e9cht noodzakelijk!). Open het preferences.txt bestand in je favoriete editor .. .. en voeg deze regel ergens in het begin van het preferences.txt bestand toe: build.path=C:\\Users\\(YourLoginName)\\Documenten\\arduinoBuild Sla het bestand op en start de ArduinoIDE. Neem het pad dat je in preferences.txt hebt opgegeven over in otaUpload.py waarbij je de (\" \\ \") BackSlashes veranderd in (\" / \") ForwardSlashes . #------ this is the Sketch Location (see preferences.txt) -- BUILDPATH = os.path.join(\"C:/Users/(YourLoginName)/Documenten/arduinoBuild\") # Let op! Ik ben geen Windowz kenner en om mij volkomen onduidelijke redenen heet de map \" documenten \" soms opeens \" documents \" .. of omgekeerd. Hou daar rekening mee bij het opgeven van een vast build.path ! ESPOTAPY (Windows) De variabele ESPOTAPY geeft aan waar op jouw systeem het espota.py programma staat. Als je de Sketch BasicOTA Over The Air upload naar een ESP8266 dan zie je in het log-venster onderin de ArduinoIDE een regel verschijnen die espota.py aanroept. De schets gebruikt 306788 bytes (29%) programma-opslagruimte. Maximum is 1044464 bytes. Globale variabelen gebruiken 28384 bytes (34%) van het dynamisch geheugen. Resteren 53536 bytes voor lokale variabelen. Maximum is 81920 bytes. python.exe C:\\Users\\(YourLoginName)\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0/tools/espota.py \\ -i 192.168.12.161 -p 8266 --auth= \\ -f C:\\Documents and Settings\\(YourLoginName)\\Local Settings\\Temp\\Build/BasicOTA.ino.bin Uploading............................................................................................ ..................................................................................................... ..................... Dit deel van de regel C:\\Users\\(YourLoginName)\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0/tools/espota.py moet je achter ESPOTAPY invullen tussen de haakjes van os.path.join() waarbij je alle enkele (\" \\ \") of dubbele BackSlashes (\" \\\\ \") moet vervangen door \u00e9\u00e9n enkele ForwardSlash (\" / \"). #------ Edit this ESPOTAPY to point to the location -------- #------ where your espota.py file is located -------- ESPOTAPY = os.path.join(\"C:/Users/(YourLoginName)AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py\") # Tenslotte moet je het otaUpload.py programma in een map/directory zetten die in de PATH variabele voorkomt of je moet het programma steeds aanroepen met de volledige pad-naam waar het programma staat (bijvoorbeeld \\otaUpload.py ). otaUpload programma (Unix OS'n) Je roept het programma als volgt aan: otaUpload $ otaUpload 192.168.12.161 otaUpload : [ 1 ] [ DSMRloggerWS.ino.bin ] otaUpload : bin File Found DSMRloggerWS.ino.bin otaUpload : Last Modified Tue Apr 23 14:37:13 2019 ---------------------------------------------------------------------------- otaUpload : espota -i 192.168.12.161 -f DSMRloggerWS.ino.bin Uploading................................................................ ......................................................................... ......................................................................... Done .. $ Om het programma in jouw omgeving te laten werken moet je drie regels aanpassen. 15 #=========================================================== 16 #------ do not change anything above this line! ------------ 17 # 18 #------ where pyton is located ----------------------------- 19 # You can find this by entering the following commands in a 20 # terminal/command window: 21 # 1 > python 22 # 2 >>> import sys 23 # 3 >>> sys.executable 24 # 4 '/usr/local/bin/python' 25 # 5 >>> quit() 26 # 27 # copy/paste the string from line 4 between os.path.join() 28 # 29 PYTHON = os.path.join('/usr/local/bin/python') 30 ## print(\"> PYTHON [\" + PYTHON + \"]\") 31 # 32 #------ this is the Sketch Location (see preferences.txt) -- 33 BUILDPATH = os.path.join(\"/Users/(YourLoginName)/Documenten/arduinoBuild\") 34 ## print('>BUILDPATH [' + BUILDPATH + ']') 35 # 36 #------ Edit this ESPOTAPY to point to the location -------- 37 #------ where your espota.py file is located -------- 38 ESPOTAPY = os.path.join(\"/Users/(YourLoginName)/Library/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py\") 39 ## print('> ESPOTAPY [' + ESPOTAPY + ']') 40 # 41 #------ do not change anything below this line! ------------ 42 #=========================================================== De meeste regels zijn commentaar (\"#\"). Het gaat dan ook alleen om de variabelen die in de regels 29, 33 en 38 een waarde krijgen. PYTHON (Unix-Os) Voor unix achtige OS'n moet hier het volledige pad naar de python binary staan. Je kunt achterhalen waar op jouw computer python is ge\u00efnstalleerd door het volgende in een terminal window in te toetsen: $ which python /usr/local/bin/python $ De reply van het which commando voer je bij de PYTHON variabele in. PYTHON = os.path.join('/usr/local/bin/python') BUILDPATH (Unix-Os) BUILDPATH is de variabele die aangeeft waar in jouw setup van de ArduinoIDE de gecompileerde firmware wordt neergezet. Je kunt erachter komen wat het build-pad bij jouw computer is door een simpele Sketch bedraad te uploaden. Je ziet dan zoiets als dit onderin het log-venster verschijnen (voor de duidelijkheid heb ik de regel waar het omgaat in stukjes geknipt): Sketch uses 307352 bytes (29%) of program storage space. Maximum is 1044464 bytes. Global variables use 28424 bytes (34%) of dynamic memory, leaving 53496 bytes for local variables. Maximum is 81920 bytes. /Users/(YourLoginName)/Library/Arduino15/packages/esp8266/tools/esptool/2.5.0-3-20ed2b9/esptool \\ -vv \\ -cd none -cb 115200 -cp /dev/cu.usbserial-A501B8OQ \\ -ca 0x00000 \\ -cf /var/folders/lt/twpr82k512n1y9dwlck19hp40000gn/T/arduino_build_654814/BasicOTA.ino.bin Achter -cf staat het pad waar het om gaat. Op mijn computer is dit blijkbaar /var/folders/lt/twpr82k512n1y9dwlck19hp40000gn/T/arduino_build_654814/ waarbij zowel het deel achter /lt/ en het nummer 654814 achter arduino_build tijdelijke verwijzingen zijn die steeds een andere waarde zullen hebben. Daarom is het noodzakelijk voor het otaUpload programma om het build-pad een vaste naam te geven die we ook altijd makkelijk kunnen vinden. Om het otaUpload programma goed te laten lopen moet je in de instellingen van de ArduinoIDE een aanpassing aanbrengen. De instellingen staan in preferences.txt en het gaat dan specifiek om de instelling build.path . Je moet daartoe in de Preferences/Voorkeuren van de ArduinoIDE kijken waar dit bestand op jouw computer te vinden is. Sluit de ArduinoIDE af (dat is \u00e9cht noodzakelijk!). Open het preferences.txt bestand in je favoriete editor (zie ook ) .. .. en voeg deze regel ergens in het begin van het preferences.txt bestand toe: build.path=/Users/(YourLoginName)/Documenten/arduinoBuild Sla het bestand op en start de ArduinoIDE. Ik heb het build-pad zo genoemd: /Users/(YourLoginName)/Documenten/arduinoBuild . Neem dit pad over voor de BUILDPATH variabele van het otaUpload programma. #------ this is the Sketch Location (see preferences.txt) -- BUILDPATH = os.path.join(\"/Users/(YourLoginName)/Documenten/arduinoBuild\") Kijk hier hoe je het preferences.txt kunt aanpassen. ESPOTAPY (Unix-Os) De variabele ESPOTAPY geeft aan waar op jouw systeem het espota.py programma staat. Als je de Sketch BasicOTA Over The Air upload naar een ESP8266 dan zie je in het log-venster onderin de ArduinoIDE een regel verschijnen die espota.py aanroept. Sketch uses 307352 bytes (29%) of program storage space. Maximum is 1044464 bytes. Global variables use 28424 bytes (34%) of dynamic memory, leaving 53496 bytes for local variables. Maximum is 81920 bytes. python /Users/(YourLoginName)/Library/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py \\ -i 192.168.12.161 -p 8266 --auth= \\ -f /var/folders/lt/twpr82k512n1y9dwlck19hp40000gn/T/arduino_build_654814/BasicOTA.ino.bin Uploading................................................................................ ......................................................................................... ............................................. Het deel van de regel achter python vanaf /Users/ tot en met /espota.py moet je achter ESPOTAPY invullen. #------ Edit this ESPOTAPY to point to the location -------- #------ where your espota.py file is located -------- ESPOTAPY = os.path.join(\"/Users/(YourLoginName)/Library/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py\") Tenslotte moet je het otaUpload programma in een map/directory zetten die in de PATH variabele voorkomt (bijvoorbeeld /usr/local/bin ) of je moet het programma steeds aanroepen met de volledige pad-naam waar het programma staat (bijvoorbeeld \\otaUpload ). preferences.txt Ergens in het preference.txt bestand staan deze instellingen die aangeven hoe je binaries worden ge-build en waar ze worden neergezet. . build.path=/Users/(YourLoginName)/Documenten/arduinoBuild build.verbose=true build.warn_data_percentage=75 . . Het gaat om de variabele build.path . Als deze niet in het preferences.txt bestand staat, raad ik je aan hem toe te voegen met een pad waar je makkelijk bij kunt komen zodat je Sketches altijd op dezelfde plek gecompileerd worden. Het maakt het leven een stukje eenvoudiger ;-) Let op! Pas het preferences.txt bestand alleen aan als de ArduinoIDE is afgesloten! De ArduinoIDE heeft deze preferences in zijn geheugen staan en overschrijft het preferences.txt bestand bij het afsluiten. Dit commentaar vond ik op github m.b.t. de build.path variabele: # temporary build path, normally this goes into the default # \"temp\" folder for that platform (as defined by java) # but this can be used to set a specific file in case of problems #build.path=build Als de variabel niet ge-set wordt (er staat een # voor of hij ontbreekt in het preferences.txt bestand) dan wordt de standaard, door java bepaalde, temp directory gebruikt. java.io.tmpdir The default value is typically \"/tmp\", or \"/var/tmp\" on Unix-like platforms. On Microsoft Windows systems the java.io.tmpdir property is typically \"C:\\\\WINNT\\\\TEMP\". .. or .. at Windows 10 it seems to be \"AppData\\Local\\Temp\\\" or \"\\Users\\\\(YourLoginName)\\AppData\\Local\\Temp\\\"","title":"uploadOTA bug"},{"location":"uploadOTA-bug/#upload-over-the-air-bug","text":"Let op! Deze pagina is niet meer relavant omdat de DSMRloggerWS firmware vanaf versie 0.4.2 gebruik maakt van een upload pagina in de firmware zelf! Voor je eigen gemak raad ik je aan het deel over het vaste ` build pad ` wel te lezen en uit te voeren zodat je altijd makkelijk weet waar je nieuw gecompileerde firmware staat! Het lijkt erop dat er een bug zit in de toolchain van de ArduinoIDE voor wat betreft het Over The Air uploaden van omvangrijke Firmware. Als je probeert om de DSMRloggerWS firmware via de ArduinoIDE te uploaden krijg je consequent een popUp window te zien waarin gevraagd wordt een password in te voeren: Waarna, wat je ook klikt of invult , je de volgende foutmelding in de ArduinoIDE te zien krijgt: .. en het verhaal stopt. Het popUp window is een bekend fenomeen in de Arduino wereld omdat het in verschillende situaties voor kan komen. Helaas wordt er nergens een \u00e9chte oplossing gegeven. Maar gelukkig is er voor d\u00edt probleem een Work Around ! Het blijkt, dat als je de instructie om de firmware te uploaden naar de ESP8266 op de command line, handmatig invoert de OTA upload w\u00e9l goed gaat! Als je op het Compile & Upload icon klikt, verschijnt er onderin de ArduinoIDE in het log venster op enig moment de volgende regel: C:\\Users\\(YourLoginName)\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0\\tools\\espota.py \\ -i -p 8266 --auth= \\ -f C:\\Users\\(YourLoginName)\\AppData\\Local\\Temp\\arduino_build_\\DSMRloggerWS.ino.bin (voor de duidelijkheid heb ik de regel opgesplits). Als je deze regel eenvoudig kopieerd ( Ctrl-C ) en in een terminal/command window paste ( Ctrl-V ) dan werkt de Over The Air upload w\u00e9l. Let op! Als je alleen sporadisch Firmware die niet (meer) direct via de ArduinoIDE Over The Air ge-upload kan worden wil flashen, dan is bovenstaande voldoende om dit te kunnen doen. De rest van deze pagina kun je dan overslaan.","title":"Upload Over The Air (bug?)"},{"location":"uploadOTA-bug/#een-ota-upload-programma-voor-de-ontwikkelaars","text":"Voor gebruikers die zelf de DSMRloggerWS firmware verder willen ontwikkelen - en die dus vaker de Firmware (Over The Air) moeten uploaden - heb ik in de utils directory van de repository twee Python programma's gezet (\u00e9\u00e9n voor Windows en \u00e9\u00e9n voor unix-achtige OS'n) die dit iets eenvoudiger maakt. Om, voor de vervolg stappen, de goede informatie in het log-venster van de ArduinIDE tezien te krijgen moet in de Preferences/Voorkeuren de Show Verbose Output During: upload zijn aangevinkt: Inplaats van op het Compile & Upload icon te klikken kun je voortaan in de IDE op het Verify icon klikken en het otaUpload programma gebruiken om de firmware naar de ESP8266 te flashen.. Gebruikers die werken met unix of macOS kunnen hier verder lezen.","title":"Een OTA upload programma voor de ontwikkelaars"},{"location":"uploadOTA-bug/#otaupload-programma-windows","text":"Je roept het programma als volgt aan: python otaUpload.py > otaUpload.py 192.168.12.161 otaUpload : [ 1 ] [ DSMRloggerWS.ino.bin ] otaUpload : bin File Found DSMRloggerWS.ino.bin otaUpload : Last Modified Tue Apr 23 14:37:13 2019 ---------------------------------------------------------------------------- otaUpload : espota -i 192.168.12.161 -f DSMRloggerWS.ino.bin Uploading................................................................ ......................................................................... ......................................................................... Done .. > Om het programma in jouw omgeving te laten werken moet je drie regels aanpassen. 15 #=========================================================== 16 #------ do not change anything above this line! ------------ 17 # 18 #------ location of python --------------------------------- 19 # You can find this by entering the following commands in a 20 # terminal/command window: 21 # 1 > python 22 # 2 >>> import sys 23 # 3 >>> sys.executable 24 # 4 'C:\\\\aa\\python.exe' 25 # 5 >>> quit() 26 # 27 # copy/paste the string from line 4 between os.path.join() 28 # 29 PYTHON = os.path.join(\"C:/Users/(YourLoginName)/AppData/Local/Programs/Python/Python3/python.exe\") 30 ## print(\"> PYTHON [\" + PYTHON + \"]\") 31 # 32 #------ this is the Sketch Location (see preferences.txt) -- 33 BUILDPATH = os.path.join(\"C:/Users/(YourLoginName)/Documenten/arduinoBuild\") 34 ## print('>BUILDPATH [' + BUILDPATH + ']') 35 # 36 #------ Edit this ESPOTAPY to point to the location -------- 37 #------ where your espota.py file is on your system -------- 38 ESPOTAPY = os.path.join(\"C:/Users/(YourLoginName)/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py\") 39 ## print('> ESPOTAPY [' + ESPOTAPY + ']') 40 # 41 #------ do not change anything below this line! ------------ 42 #=========================================================== De meeste regels zijn commentaar (\"#\"). Het gaat dan ook alleen om de variabelen die in de regels 29, 33 en 38 een waarde krijgen. Let op! Windows gebruikers zijn gewend om een \" \\ \" ( BackSlash ) in paden te gebruiken. De functie os.path.join() gaat er echter vanuit dat hiervoor de \" / \" ( ForwardSlash ) wordt gebruikt. Op alle pad-aanduidingen die tussen os.path.join() staan moeten enkele \" \\ \" of dubbele \" \\\\ \" BackSlashes worden vervangen door \u00e9\u00e9n enkele \" / \" ForwardSlash .","title":"otaUpload programma (Windows)"},{"location":"uploadOTA-bug/#python-windows","text":"Om erachter te komen waar python op jouw systeem is ge\u00efnstalleerd kun je de volgende instructies in een command window intoetsen: C:> C:> python Python 2.7.16 (v2.7.16:413a49145e, Mar 4 2019, 01:30:55) Type \"help\", \"copyright\", \"credits\" or \"license\" for more i >>> import sys >>> sys.executable 'C:\\\\Users\\\\YourLoginName)\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python3\\\\python.exe' >>> quit() De uitvoer onder de regel sys.executable neem je over waarbij je dubbele Backslashes ( \\\\ ) veranderd in \u00e9\u00e9n Slash ( / ). PYTHON = os.path.join('C:/Users/(YourLoginName)/AppData/Local/Programs/Python/Python3/python.exe')","title":"PYTHON (Windows)"},{"location":"uploadOTA-bug/#buildpath-windows","text":"BUILDPATH is de variabele die aangeeft waar in jouw setup van de ArduinoIDE de gecompileerde firmware wordt neergezet. Je kunt erachter komen wat het build-pad bij jouw computer is door een simpele Sketch bedraad te uploaden. Je ziet dan zoiets als dit onderin het log-venster verschijnen (voor de duidelijkheid heb ik de regel waar het omgaat in stukjes geknipt): De schets gebruikt 306788 bytes (29%) programma-opslagruimte. Maximum is 1044464 bytes. Globale variabelen gebruiken 28384 bytes (34%) van het dynamisch geheugen. Resteren 53536 bytes voor lokale variabelen. Maximum is 81920 bytes. C:\\Documents and Settings\\(YourLoginName)\\Local Settings\\Application Data\\Arduino15\\packages\\esp8266\\tools\\esptool\\2.5.0-3-20ed2b9/esptool.exe \\ -vv -cd ck -cb 115200 -cp COM3 -ca 0x00000 \\ -cf C:\\Users\\(YourLoginName)\\AppData\\Local\\Temp\\arduino_build_65432/BasicOTA.ino.bin Achter -cf staat het pad waar het om gaat. In dit voorbeeld is dat dit blijkbaar: C:\\Users\\(YourLoginName)\\AppData\\Local\\Temp\\arduino_build_65432 waarbij je er rekening mee moet houden dat arduino_build_65432 slechts een tijdelijke map is die, na het opnieuw opstarten van de ArduinoIDE, een ander nummer zal hebben! Om het otaUpload.py programma goed te laten lopen is het noodzakelijk om in de ArduinoIDE preferences.txt het build.path op een vaste lokatie te zetten. Je moet daartoe in de Preferences/Voorkeuren van de ArduinoIDE kijken waar dit bestand op jouw computer te vinden is. Kijk hier wat je dit bestand moet aanpassen. Sluit de ArduinoIDE af (dat is \u00e9cht noodzakelijk!). Open het preferences.txt bestand in je favoriete editor .. .. en voeg deze regel ergens in het begin van het preferences.txt bestand toe: build.path=C:\\Users\\(YourLoginName)\\Documenten\\arduinoBuild Sla het bestand op en start de ArduinoIDE. Neem het pad dat je in preferences.txt hebt opgegeven over in otaUpload.py waarbij je de (\" \\ \") BackSlashes veranderd in (\" / \") ForwardSlashes . #------ this is the Sketch Location (see preferences.txt) -- BUILDPATH = os.path.join(\"C:/Users/(YourLoginName)/Documenten/arduinoBuild\") # Let op! Ik ben geen Windowz kenner en om mij volkomen onduidelijke redenen heet de map \" documenten \" soms opeens \" documents \" .. of omgekeerd. Hou daar rekening mee bij het opgeven van een vast build.path !","title":"BUILDPATH (Windows)"},{"location":"uploadOTA-bug/#espotapy-windows","text":"De variabele ESPOTAPY geeft aan waar op jouw systeem het espota.py programma staat. Als je de Sketch BasicOTA Over The Air upload naar een ESP8266 dan zie je in het log-venster onderin de ArduinoIDE een regel verschijnen die espota.py aanroept. De schets gebruikt 306788 bytes (29%) programma-opslagruimte. Maximum is 1044464 bytes. Globale variabelen gebruiken 28384 bytes (34%) van het dynamisch geheugen. Resteren 53536 bytes voor lokale variabelen. Maximum is 81920 bytes. python.exe C:\\Users\\(YourLoginName)\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0/tools/espota.py \\ -i 192.168.12.161 -p 8266 --auth= \\ -f C:\\Documents and Settings\\(YourLoginName)\\Local Settings\\Temp\\Build/BasicOTA.ino.bin Uploading............................................................................................ ..................................................................................................... ..................... Dit deel van de regel C:\\Users\\(YourLoginName)\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0/tools/espota.py moet je achter ESPOTAPY invullen tussen de haakjes van os.path.join() waarbij je alle enkele (\" \\ \") of dubbele BackSlashes (\" \\\\ \") moet vervangen door \u00e9\u00e9n enkele ForwardSlash (\" / \"). #------ Edit this ESPOTAPY to point to the location -------- #------ where your espota.py file is located -------- ESPOTAPY = os.path.join(\"C:/Users/(YourLoginName)AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py\") # Tenslotte moet je het otaUpload.py programma in een map/directory zetten die in de PATH variabele voorkomt of je moet het programma steeds aanroepen met de volledige pad-naam waar het programma staat (bijvoorbeeld \\otaUpload.py ).","title":"ESPOTAPY (Windows)"},{"location":"uploadOTA-bug/#otaupload-programma-unix-osn","text":"Je roept het programma als volgt aan: otaUpload $ otaUpload 192.168.12.161 otaUpload : [ 1 ] [ DSMRloggerWS.ino.bin ] otaUpload : bin File Found DSMRloggerWS.ino.bin otaUpload : Last Modified Tue Apr 23 14:37:13 2019 ---------------------------------------------------------------------------- otaUpload : espota -i 192.168.12.161 -f DSMRloggerWS.ino.bin Uploading................................................................ ......................................................................... ......................................................................... Done .. $ Om het programma in jouw omgeving te laten werken moet je drie regels aanpassen. 15 #=========================================================== 16 #------ do not change anything above this line! ------------ 17 # 18 #------ where pyton is located ----------------------------- 19 # You can find this by entering the following commands in a 20 # terminal/command window: 21 # 1 > python 22 # 2 >>> import sys 23 # 3 >>> sys.executable 24 # 4 '/usr/local/bin/python' 25 # 5 >>> quit() 26 # 27 # copy/paste the string from line 4 between os.path.join() 28 # 29 PYTHON = os.path.join('/usr/local/bin/python') 30 ## print(\"> PYTHON [\" + PYTHON + \"]\") 31 # 32 #------ this is the Sketch Location (see preferences.txt) -- 33 BUILDPATH = os.path.join(\"/Users/(YourLoginName)/Documenten/arduinoBuild\") 34 ## print('>BUILDPATH [' + BUILDPATH + ']') 35 # 36 #------ Edit this ESPOTAPY to point to the location -------- 37 #------ where your espota.py file is located -------- 38 ESPOTAPY = os.path.join(\"/Users/(YourLoginName)/Library/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py\") 39 ## print('> ESPOTAPY [' + ESPOTAPY + ']') 40 # 41 #------ do not change anything below this line! ------------ 42 #=========================================================== De meeste regels zijn commentaar (\"#\"). Het gaat dan ook alleen om de variabelen die in de regels 29, 33 en 38 een waarde krijgen.","title":"otaUpload programma (Unix OS'n)"},{"location":"uploadOTA-bug/#python-unix-os","text":"Voor unix achtige OS'n moet hier het volledige pad naar de python binary staan. Je kunt achterhalen waar op jouw computer python is ge\u00efnstalleerd door het volgende in een terminal window in te toetsen: $ which python /usr/local/bin/python $ De reply van het which commando voer je bij de PYTHON variabele in. PYTHON = os.path.join('/usr/local/bin/python')","title":"PYTHON (Unix-Os)"},{"location":"uploadOTA-bug/#buildpath-unix-os","text":"BUILDPATH is de variabele die aangeeft waar in jouw setup van de ArduinoIDE de gecompileerde firmware wordt neergezet. Je kunt erachter komen wat het build-pad bij jouw computer is door een simpele Sketch bedraad te uploaden. Je ziet dan zoiets als dit onderin het log-venster verschijnen (voor de duidelijkheid heb ik de regel waar het omgaat in stukjes geknipt): Sketch uses 307352 bytes (29%) of program storage space. Maximum is 1044464 bytes. Global variables use 28424 bytes (34%) of dynamic memory, leaving 53496 bytes for local variables. Maximum is 81920 bytes. /Users/(YourLoginName)/Library/Arduino15/packages/esp8266/tools/esptool/2.5.0-3-20ed2b9/esptool \\ -vv \\ -cd none -cb 115200 -cp /dev/cu.usbserial-A501B8OQ \\ -ca 0x00000 \\ -cf /var/folders/lt/twpr82k512n1y9dwlck19hp40000gn/T/arduino_build_654814/BasicOTA.ino.bin Achter -cf staat het pad waar het om gaat. Op mijn computer is dit blijkbaar /var/folders/lt/twpr82k512n1y9dwlck19hp40000gn/T/arduino_build_654814/ waarbij zowel het deel achter /lt/ en het nummer 654814 achter arduino_build tijdelijke verwijzingen zijn die steeds een andere waarde zullen hebben. Daarom is het noodzakelijk voor het otaUpload programma om het build-pad een vaste naam te geven die we ook altijd makkelijk kunnen vinden. Om het otaUpload programma goed te laten lopen moet je in de instellingen van de ArduinoIDE een aanpassing aanbrengen. De instellingen staan in preferences.txt en het gaat dan specifiek om de instelling build.path . Je moet daartoe in de Preferences/Voorkeuren van de ArduinoIDE kijken waar dit bestand op jouw computer te vinden is. Sluit de ArduinoIDE af (dat is \u00e9cht noodzakelijk!). Open het preferences.txt bestand in je favoriete editor (zie ook ) .. .. en voeg deze regel ergens in het begin van het preferences.txt bestand toe: build.path=/Users/(YourLoginName)/Documenten/arduinoBuild Sla het bestand op en start de ArduinoIDE. Ik heb het build-pad zo genoemd: /Users/(YourLoginName)/Documenten/arduinoBuild . Neem dit pad over voor de BUILDPATH variabele van het otaUpload programma. #------ this is the Sketch Location (see preferences.txt) -- BUILDPATH = os.path.join(\"/Users/(YourLoginName)/Documenten/arduinoBuild\") Kijk hier hoe je het preferences.txt kunt aanpassen.","title":"BUILDPATH (Unix-Os)"},{"location":"uploadOTA-bug/#espotapy-unix-os","text":"De variabele ESPOTAPY geeft aan waar op jouw systeem het espota.py programma staat. Als je de Sketch BasicOTA Over The Air upload naar een ESP8266 dan zie je in het log-venster onderin de ArduinoIDE een regel verschijnen die espota.py aanroept. Sketch uses 307352 bytes (29%) of program storage space. Maximum is 1044464 bytes. Global variables use 28424 bytes (34%) of dynamic memory, leaving 53496 bytes for local variables. Maximum is 81920 bytes. python /Users/(YourLoginName)/Library/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py \\ -i 192.168.12.161 -p 8266 --auth= \\ -f /var/folders/lt/twpr82k512n1y9dwlck19hp40000gn/T/arduino_build_654814/BasicOTA.ino.bin Uploading................................................................................ ......................................................................................... ............................................. Het deel van de regel achter python vanaf /Users/ tot en met /espota.py moet je achter ESPOTAPY invullen. #------ Edit this ESPOTAPY to point to the location -------- #------ where your espota.py file is located -------- ESPOTAPY = os.path.join(\"/Users/(YourLoginName)/Library/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py\") Tenslotte moet je het otaUpload programma in een map/directory zetten die in de PATH variabele voorkomt (bijvoorbeeld /usr/local/bin ) of je moet het programma steeds aanroepen met de volledige pad-naam waar het programma staat (bijvoorbeeld \\otaUpload ).","title":"ESPOTAPY (Unix-Os)"},{"location":"uploadOTA-bug/#preferencestxt","text":"Ergens in het preference.txt bestand staan deze instellingen die aangeven hoe je binaries worden ge-build en waar ze worden neergezet. . build.path=/Users/(YourLoginName)/Documenten/arduinoBuild build.verbose=true build.warn_data_percentage=75 . . Het gaat om de variabele build.path . Als deze niet in het preferences.txt bestand staat, raad ik je aan hem toe te voegen met een pad waar je makkelijk bij kunt komen zodat je Sketches altijd op dezelfde plek gecompileerd worden. Het maakt het leven een stukje eenvoudiger ;-) Let op! Pas het preferences.txt bestand alleen aan als de ArduinoIDE is afgesloten! De ArduinoIDE heeft deze preferences in zijn geheugen staan en overschrijft het preferences.txt bestand bij het afsluiten. Dit commentaar vond ik op github m.b.t. de build.path variabele: # temporary build path, normally this goes into the default # \"temp\" folder for that platform (as defined by java) # but this can be used to set a specific file in case of problems #build.path=build Als de variabel niet ge-set wordt (er staat een # voor of hij ontbreekt in het preferences.txt bestand) dan wordt de standaard, door java bepaalde, temp directory gebruikt. java.io.tmpdir The default value is typically \"/tmp\", or \"/var/tmp\" on Unix-like platforms. On Microsoft Windows systems the java.io.tmpdir property is typically \"C:\\\\WINNT\\\\TEMP\". .. or .. at Windows 10 it seems to be \"AppData\\Local\\Temp\\\" or \"\\Users\\\\(YourLoginName)\\AppData\\Local\\Temp\\\"","title":"preferences.txt"},{"location":"verschillenESP8266/","text":"verschillen ESP8266 ESP-12 ESP-01 ESP-01 (Black Edition) ESP-01S ESP-12 Deze ESP8266 heeft 4MB flash geheugen. Een blauwe led is aangesloten op GPIO-02. Daarnaast heeft de ESP-12 12 GPIO pinnen waarvan de meeste vrij te gebruiken zijn. Versie 4 van de DSMR-logger is ontworpen rond de ESP-12. ESP-01 De ESP-01 heeft slechts 512MB flash geheugen en is niet geschikt voor de DSMRloggerWS firmware! ESP-01 (Black Edition) Dit is de versie van de ESP8266 waar de DSMR-logger Versie 3 voor is ontwikkeld. Deze ESP-01 is, met beperkte functionaliteit, geschikt voor de DSMRloggerWS firmware. Hij heeft 1MB flash geheugen, een rode power led en een blauwe led die op GPIO-01 is aangesloten. ESP-01S Oorspronkelijk had deze ESP-01 ook slecht 512MB flash geheugen. De versie die nu meestal verkocht wordt heeft echter 1MB geheugen. Het is dus wel zaak op te letten wat voor versie je koopt! De ESP-01S heeft geen power led en de blauwe led is niet op GPIO-01 maar op GPIO-02 aangesloten (pas dit aan in de boards setting!). Deze versie van de ESP-01 is, met beperkte functionaliteit, geschikt voor de DSMRloggerWS firmware. [DSMR-SystemInfo]","title":"Verschillen ESP8266 modules"},{"location":"verschillenESP8266/#verschillen-esp8266","text":"ESP-12 ESP-01 ESP-01 (Black Edition) ESP-01S","title":"verschillen ESP8266"},{"location":"verschillenESP8266/#esp-12","text":"Deze ESP8266 heeft 4MB flash geheugen. Een blauwe led is aangesloten op GPIO-02. Daarnaast heeft de ESP-12 12 GPIO pinnen waarvan de meeste vrij te gebruiken zijn. Versie 4 van de DSMR-logger is ontworpen rond de ESP-12.","title":"ESP-12"},{"location":"verschillenESP8266/#esp-01","text":"De ESP-01 heeft slechts 512MB flash geheugen en is niet geschikt voor de DSMRloggerWS firmware!","title":"ESP-01"},{"location":"verschillenESP8266/#esp-01-black-edition","text":"Dit is de versie van de ESP8266 waar de DSMR-logger Versie 3 voor is ontwikkeld. Deze ESP-01 is, met beperkte functionaliteit, geschikt voor de DSMRloggerWS firmware. Hij heeft 1MB flash geheugen, een rode power led en een blauwe led die op GPIO-01 is aangesloten.","title":"ESP-01 (Black Edition)"},{"location":"verschillenESP8266/#esp-01s","text":"Oorspronkelijk had deze ESP-01 ook slecht 512MB flash geheugen. De versie die nu meestal verkocht wordt heeft echter 1MB geheugen. Het is dus wel zaak op te letten wat voor versie je koopt! De ESP-01S heeft geen power led en de blauwe led is niet op GPIO-01 maar op GPIO-02 aangesloten (pas dit aan in de boards setting!). Deze versie van de ESP-01 is, met beperkte functionaliteit, geschikt voor de DSMRloggerWS firmware. [DSMR-SystemInfo]","title":"ESP-01S"}]} \ No newline at end of file +{"config":{"lang":["en"],"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"Documentatie DSMRloggerWS Voor de project beschrijving ga naar www.aandewiel.nl Inhoudsopgave Introductie Voorbereiding ArduinoIDE ESP8266 core Data Upload Tool Installeren Bibliotheken Firmware Benodigd Bibliotheken DSMR Firmware van Github Firmware Flashen DSMR-logger V4 board Data Flashen naar DSMR-logger V4 board Firmware Flashen DSMR-logger V3 board Data Flashen naar DSMR-logger V3 board Pr\u00e9 DSMR 4.0 Slimme Meters Selectie Functies DSMR-logger V4 met ESP-12 Over The Air update 0.96\" OLED display 1.3\" OLED display Gebruik MQTT Pr\u00e9 DSMR 4.0 Slimme Meters Network Time SM geeft geen info per Fase Toon wachtwoorden Test mode Hardware DSMR-logger Versie 4 Programmer voor de DSMR-logger V4 DSMR-logger Versie 3 Programmer voor de ESP-01 Overigen (Eerste keer) Opstarten gebruik restAPI Verschillen ESP8266 modules Over The Air (bug?) PUYA flash chip Vragen en Antwoorden Integratie met andere systemen Integratie met Domoticz Integratie met Homey Integratie met Home Assistant [ScreenShot DSMR-Actueel]","title":"Documentatie DSMRloggerWS"},{"location":"#documentatie-dsmrloggerws","text":"Voor de project beschrijving ga naar www.aandewiel.nl","title":"Documentatie DSMRloggerWS"},{"location":"#inhoudsopgave","text":"Introductie Voorbereiding ArduinoIDE ESP8266 core Data Upload Tool Installeren Bibliotheken Firmware Benodigd Bibliotheken DSMR Firmware van Github Firmware Flashen DSMR-logger V4 board Data Flashen naar DSMR-logger V4 board Firmware Flashen DSMR-logger V3 board Data Flashen naar DSMR-logger V3 board Pr\u00e9 DSMR 4.0 Slimme Meters Selectie Functies DSMR-logger V4 met ESP-12 Over The Air update 0.96\" OLED display 1.3\" OLED display Gebruik MQTT Pr\u00e9 DSMR 4.0 Slimme Meters Network Time SM geeft geen info per Fase Toon wachtwoorden Test mode Hardware DSMR-logger Versie 4 Programmer voor de DSMR-logger V4 DSMR-logger Versie 3 Programmer voor de ESP-01 Overigen (Eerste keer) Opstarten gebruik restAPI Verschillen ESP8266 modules Over The Air (bug?) PUYA flash chip Vragen en Antwoorden Integratie met andere systemen Integratie met Domoticz Integratie met Homey Integratie met Home Assistant [ScreenShot DSMR-Actueel]","title":"Inhoudsopgave"},{"location":"Has_No_Meter/","text":"#define HAS_NO_METER Om te testen of de verwerking van de gegevens, die normaal gesproken uit de Slimme Meter komen, goed gaat kun je met deze #define de firmware z\u00f3 maken dat hij z\u00e9lf voor (test) data zorgt. Om de tijd te versnellen zal de testdata eerst de maanden versneld laten voorbij gaan, daarna de dagen en tenslotte de uren. Let op! Alleen om te testen! #define Functie HAS_NO_METER De DSMRloggerWS firmware zorgt zelf voor test-data. Als deze functionaliteit actief is moet de DSMR-logger niet op een Slimme Meter worden aangesloten!","title":"Test mode"},{"location":"Has_No_Meter/#define-has_no_meter","text":"Om te testen of de verwerking van de gegevens, die normaal gesproken uit de Slimme Meter komen, goed gaat kun je met deze #define de firmware z\u00f3 maken dat hij z\u00e9lf voor (test) data zorgt. Om de tijd te versnellen zal de testdata eerst de maanden versneld laten voorbij gaan, daarna de dagen en tenslotte de uren. Let op! Alleen om te testen! #define Functie HAS_NO_METER De DSMRloggerWS firmware zorgt zelf voor test-data. Als deze functionaliteit actief is moet de DSMR-logger niet op een Slimme Meter worden aangesloten!","title":"#define HAS_NO_METER"},{"location":"Has_OLED_SH1106/","text":"#define HAS_OLED_SH1106 Als je een OLED schermpje op J4 van de DSMR-logger V4 hebt aangesloten dan zorgt deze optie ervoor dat het OLED schermpje ook gebruikt wordt door de Firmware. Let op! Alleen voor DSMR-logger V4 Met dank aan Dick Spork . #define Functie USE_OLED_SH1106 Deze define zorgt ervoor dat het 1.3\" OLED schermpje gebruikt wordt om meldingen op te presenteren. Deze define kan niet in combinatie met HAS_OLED_SSD1306 [SH1106_Display (foto Dick Spork)]","title":"1.3\" OLED display"},{"location":"Has_OLED_SH1106/#define-has_oled_sh1106","text":"Als je een OLED schermpje op J4 van de DSMR-logger V4 hebt aangesloten dan zorgt deze optie ervoor dat het OLED schermpje ook gebruikt wordt door de Firmware. Let op! Alleen voor DSMR-logger V4 Met dank aan Dick Spork . #define Functie USE_OLED_SH1106 Deze define zorgt ervoor dat het 1.3\" OLED schermpje gebruikt wordt om meldingen op te presenteren. Deze define kan niet in combinatie met HAS_OLED_SSD1306 [SH1106_Display (foto Dick Spork)]","title":"#define HAS_OLED_SH1106"},{"location":"Has_OLED_SSD1306/","text":"#define HAS_OLED_SSD1306 Als je een OLED schermpje op J4 van de DSMR-logger V4 hebt aangesloten dan zorgt deze optie ervoor dat het OLED schermpje ook gebruikt wordt door de Firmware. Let op! Alleen voor DSMR-logger V4 #define Functie USE_OLED_SSD1306 Deze define zorgt ervoor dat het 0.96\" OLED schermpje gebruikt wordt om meldingen op te presenteren. Deze define kan niet in combinatie met HAS_OLED_SH1106 ! [DSMRlogger AP Mode]","title":"0.96\" OLED display"},{"location":"Has_OLED_SSD1306/#define-has_oled_ssd1306","text":"Als je een OLED schermpje op J4 van de DSMR-logger V4 hebt aangesloten dan zorgt deze optie ervoor dat het OLED schermpje ook gebruikt wordt door de Firmware. Let op! Alleen voor DSMR-logger V4 #define Functie USE_OLED_SSD1306 Deze define zorgt ervoor dat het 0.96\" OLED schermpje gebruikt wordt om meldingen op te presenteren. Deze define kan niet in combinatie met HAS_OLED_SH1106 ! [DSMRlogger AP Mode]","title":"#define HAS_OLED_SSD1306"},{"location":"Is_ESP12/","text":"#define IS_ESP12 Met deze optie zal de DSMR-logger de Data Request pin van de Slimme Meter 'hoog' maken als hij een Telegram kan ontvangen. Na het ontvangen van een volledig Telegram zal de Data Request pin weer 'laag' worden gemaakt waardoor de Slimme Meter stopt met het sturen van Telegrammen. Let op! Alleen voor DSMR-logger V4 Deze functionaliteit werkt alleen in combinatie met een Versie 4 van de DSMR-logger. Met een DSMR-logger V2 of V3 bordje moet je deze optie niet activeren. #define Functie IS_ESP12 Om gebruik te kunnen maken van de Data Request pin van de Slimme Meter.","title":"DSMR-logger V4 met ESP-12"},{"location":"Is_ESP12/#define-is_esp12","text":"Met deze optie zal de DSMR-logger de Data Request pin van de Slimme Meter 'hoog' maken als hij een Telegram kan ontvangen. Na het ontvangen van een volledig Telegram zal de Data Request pin weer 'laag' worden gemaakt waardoor de Slimme Meter stopt met het sturen van Telegrammen. Let op! Alleen voor DSMR-logger V4 Deze functionaliteit werkt alleen in combinatie met een Versie 4 van de DSMR-logger. Met een DSMR-logger V2 of V3 bordje moet je deze optie niet activeren. #define Functie IS_ESP12 Om gebruik te kunnen maken van de Data Request pin van de Slimme Meter.","title":"#define IS_ESP12"},{"location":"MITlicense/","text":"MIT License Copyright \u00a9 2018 - 2019 Willem Aandewiel Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","title":"License"},{"location":"MITlicense/#mit-license","text":"Copyright \u00a9 2018 - 2019 Willem Aandewiel Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.","title":"MIT License"},{"location":"Opstarten/","text":"(eerste keer) Opstarten Na het flashen van de firmware en het uploaden van de data -map kun je de DSMR-logger op de P1 poort van de Slimme Meter aansluiten. De DSMR logger zal nu opstarten. Heb je geen OLED-schermpje op je DSMR-logger aangesloten dan kun je, aan de hand ven het gedrag van de blauwe led op de ESP-12 toch zien waar hij zich in het opstart proces bevindt. Status Blauw Led Omschrijving OLED scherm Normale werking 1 Knippert 3x langzaam Initiele start *DSMRloggerWS* Connecting to WiFi 2 Knippert 5x snel Verbonden met WiFi telnet started (23) HTTP server started wacht op Telegram 3 Knippert om de 10 seconden Verwerkt een telegram Status Informatie (fout! na 1 en 2) 3 Blijft aan (of uit) logger wacht op een telegram Controleer aansluitingen! Dit duidt op een probleem! ?? wacht op Telegram ?? Eerste keer opstarten 1 Knippert 3x langzaam Initiele start *DSMRloggerWS* Connecting to WiFi 2 Blijft aan Access Point gestart AP Mode Connect to DSMR-WS- Als de blauwe led blijft branden dan moeten de gegevens van jouw WiFi netwerk nog worden ingevoerd zodat de DSMR-logger daar verbinding mee kan maken. Met je computer/mobiel/tablet, ga je naar Netwerk Instellingen en kijk je welke WiFi Access Points (AP) er allemaal zijn. Als daar een WiFi AP met de naam DSMR-WS xx-yy-zz tussen staat maak je daar verbinding mee. Er kunnen nu twee dingen gebeuren: Er verschijnt een popUp window waar je jouw WiFi netwerk kunt selecteren en het bijbehorende wachtwoord kunt invoeren; Of er gebeurt niets. Ga dan met je browser naar http://192.168.4.1/ waarna er een pagina verschijnt waarin je je WiFi netwerk kunt selecteren en het bijbehorende wachtwoord kunt invoeren. Druk vervolgens op [ Save ]. De logger zal rebooten en verbinding maken met jouw WiFi router (zie: Normale werking ). Zet je computer/mobiel/tablet weer terug op je eigen WiFi netwerk. Als de led, na de eerste drie keer langzaam knipperen blijft branden, dan kon de DSMR-logger geen verbinding met jouw WiFi netwerk maken en start hij weer zijn eigen AP op en zul je de WiFi procedure opnieuw moeten uitvoeren. Als de DSMR-logger normaal is opgestart en de blauwe led knippert zo ongeveer iedere tien seconden, ga dan met je browser naar: http://DSMR-WS.local/ of http:// Als alles goed is gegaan zie je in de browser de hoofd-pagina van de DSMR-logger met daarin de actuele data uit de Slimme Meter. Je kunt met telnet DSMR-WS.local of met telnet inloggen op je DSMR-logger en volgen waar de DSMR-logger mee bezig is. Om te bepalen welk IP is uitgegeven aan de ESP door de DHCP server, kun je in je router kijken, of met bijv. de Fing app of met nmap . Een andere manier om achter het IP-adres van je DSMR-logger te komen is door de ArduinoIDE op te starten. Onder Network Ports staat de DSMR-WS als optie, met daarachter het IP adres (in dit voorbeeld is dat 192.168.12.106 ). Uitzoeken Vanaf versie 0.4.2 van de DSMRloggerWS firmware werkt bovenstaande misschien niet meer! [3D boxje van Allard]","title":"(eerste keer) Opstarten"},{"location":"Opstarten/#eerste-keer-opstarten","text":"Na het flashen van de firmware en het uploaden van de data -map kun je de DSMR-logger op de P1 poort van de Slimme Meter aansluiten. De DSMR logger zal nu opstarten. Heb je geen OLED-schermpje op je DSMR-logger aangesloten dan kun je, aan de hand ven het gedrag van de blauwe led op de ESP-12 toch zien waar hij zich in het opstart proces bevindt. Status Blauw Led Omschrijving OLED scherm Normale werking 1 Knippert 3x langzaam Initiele start *DSMRloggerWS* Connecting to WiFi 2 Knippert 5x snel Verbonden met WiFi telnet started (23) HTTP server started wacht op Telegram 3 Knippert om de 10 seconden Verwerkt een telegram Status Informatie (fout! na 1 en 2) 3 Blijft aan (of uit) logger wacht op een telegram Controleer aansluitingen! Dit duidt op een probleem! ?? wacht op Telegram ?? Eerste keer opstarten 1 Knippert 3x langzaam Initiele start *DSMRloggerWS* Connecting to WiFi 2 Blijft aan Access Point gestart AP Mode Connect to DSMR-WS- Als de blauwe led blijft branden dan moeten de gegevens van jouw WiFi netwerk nog worden ingevoerd zodat de DSMR-logger daar verbinding mee kan maken. Met je computer/mobiel/tablet, ga je naar Netwerk Instellingen en kijk je welke WiFi Access Points (AP) er allemaal zijn. Als daar een WiFi AP met de naam DSMR-WS xx-yy-zz tussen staat maak je daar verbinding mee. Er kunnen nu twee dingen gebeuren: Er verschijnt een popUp window waar je jouw WiFi netwerk kunt selecteren en het bijbehorende wachtwoord kunt invoeren; Of er gebeurt niets. Ga dan met je browser naar http://192.168.4.1/ waarna er een pagina verschijnt waarin je je WiFi netwerk kunt selecteren en het bijbehorende wachtwoord kunt invoeren. Druk vervolgens op [ Save ]. De logger zal rebooten en verbinding maken met jouw WiFi router (zie: Normale werking ). Zet je computer/mobiel/tablet weer terug op je eigen WiFi netwerk. Als de led, na de eerste drie keer langzaam knipperen blijft branden, dan kon de DSMR-logger geen verbinding met jouw WiFi netwerk maken en start hij weer zijn eigen AP op en zul je de WiFi procedure opnieuw moeten uitvoeren. Als de DSMR-logger normaal is opgestart en de blauwe led knippert zo ongeveer iedere tien seconden, ga dan met je browser naar: http://DSMR-WS.local/ of http:// Als alles goed is gegaan zie je in de browser de hoofd-pagina van de DSMR-logger met daarin de actuele data uit de Slimme Meter. Je kunt met telnet DSMR-WS.local of met telnet inloggen op je DSMR-logger en volgen waar de DSMR-logger mee bezig is. Om te bepalen welk IP is uitgegeven aan de ESP door de DHCP server, kun je in je router kijken, of met bijv. de Fing app of met nmap . Een andere manier om achter het IP-adres van je DSMR-logger te komen is door de ArduinoIDE op te starten. Onder Network Ports staat de DSMR-WS als optie, met daarachter het IP adres (in dit voorbeeld is dat 192.168.12.106 ). Uitzoeken Vanaf versie 0.4.2 van de DSMRloggerWS firmware werkt bovenstaande misschien niet meer!","title":"(eerste keer) Opstarten"},{"location":"PUYA_patch/","text":"PUYA Flash Chip (ESP-01) Let op! (alleen voor DSMR-logger Versie 2 of 3) Pim van den Berg heeft uitvoerig onderzoek gedaan naar de firmware op een DSMR-logger Versie 3 bordje met de ESP-01 en dit zijn de bevindingen: Firmware PUYA flash Chip andere Flash Chip DSMRlogger2HTTP Werkt Werkt DSMRloggerWS Werkt NIET Werkt (niet altijd) In het Systeem Info scherm ( DSMRloggerWS ) of het Device Info scherm ( DSMRlogger2HTTP ) kun je bij Chip ID zien of jouw ESP-01 een PUYA Flash chip heeft: .. maar je kunt ook (met een vergrootglas) op de chip z\u00e9lf kijken natuurlijk:","title":"PUYA chips"},{"location":"PUYA_patch/#puya-flash-chip-esp-01","text":"Let op! (alleen voor DSMR-logger Versie 2 of 3) Pim van den Berg heeft uitvoerig onderzoek gedaan naar de firmware op een DSMR-logger Versie 3 bordje met de ESP-01 en dit zijn de bevindingen: Firmware PUYA flash Chip andere Flash Chip DSMRlogger2HTTP Werkt Werkt DSMRloggerWS Werkt NIET Werkt (niet altijd) In het Systeem Info scherm ( DSMRloggerWS ) of het Device Info scherm ( DSMRlogger2HTTP ) kun je bij Chip ID zien of jouw ESP-01 een PUYA Flash chip heeft: .. maar je kunt ook (met een vergrootglas) op de chip z\u00e9lf kijken natuurlijk:","title":"PUYA Flash Chip (ESP-01)"},{"location":"QenA/","text":"Vragen en Antwoorden Niet alles DSMR 4 is DSMR 4 5 Volt Programmer Tactile Switches PUYA Chip Update of Upgrade Slave kanaal Gasmeter Help! wat is pin 1 van mijn 4N35? De rode Led knippert Wat zijn de maten van de DSMR-logger? Wat is het verschil tussen RJ10 en RJ12? Niet alles DSMR 4 is DSMR 4 .. Mijn DSMR-logger doet het niet als ik hem op de Slimme Meter aansluit Er zijn Slimme Meters die 'zeggen' DSMR Versie 4 te volgen maar toch geen 5 volt met voldoende stroom leveren. Bouwers van de DSMR-logger hebben problemen gemeld met de KAIFA MA105A en MA105C en met de KAIFA MA304 . Kijk bijvoorbeeld hier en hier . Dit probleem is op te lossen door de DSMR-logger op een externe (bijvoorbeeld USB) voeding aan te sluiten. 5 Volt Programmer Kan ik met een 5 volt USB to TTL adaptor de DSMR-logger flashen? Als het een type is dat de TX en RX signalen op 3v3 levert (bijvoorbeeld deze ) dan k\u00e1n het wel, maar moet je de 5 Volt output op de 5 Volt pin van de DSMR-logger aansluiten. Je moet hem dan zoals in het plaatje hieronder aansluiten. Tactile Switches Waarom heb ik een tacktile switch met een lange en \u00e9\u00e9n met een korte stift? De tacktile switch met de korte stift is de RESET switch. Eenmaal ingebouwd in een (project) box moet de FLASH switch bereikbaar blijven omdat hij een dubbel functie heeft. Hij dient bij normaal gebruik om het oled-scherm 'wakker' te maken. Vandaar de lange stift! Deze lange stift maakt de switch wel erg kwetsbaar zolang de DSMR-logger niet in een (project) box is ingebouwd. Als je er een niet recht-naar-beneden kracht op uitoefend, dan breekt hij makkelijk af! PUYA Chip Mijn versie 3 bordje met PUYA chip doet het niet Het heeft er alle schijn van dat de DSMRloggerWS firmware niet geschikt is voor een ESP-01 (versie 3 bordje) met een PUYA flash chip. Kijk ook hier . Update of Upgrade? Wanneer moet ik updaten en wanneer upgraden? We doen een update als we de firmware willen vervangen met een nieuwere versie van dezelfde firmware (dus we vervangen DSMRlogger2HTTP door een nieuwere versie van DSMRlogger2HTTP \u00f3f we vervangen de DSMRloggerWS firmware door een nieuwere versie van de DSMRloggerWS firmware) We doen een upgrade als we de ene firmware vervangen door een andere (dus we vervangen bijvoorbeeld DSMRlogger2HTTP door DSMRloggerWS). Update Bij een update zal de lay-out van de data-bestanden niet veranderen en kun je volstaan met het opnieuw flashen van de firmware. Voor de data-map (SPIFFS) kun je twee wegen bewandelen. 1) Je haalt m.b.v. de FSexplorer (of met DSMRlogger2HTTP http://DSMR-ESP01.local/onderhoud ) de .html en .js bestanden op uit de data -map en zet deze in SPIFFS 2) Je haalt met de FSexplorer de PRDxxxx.csv bestanden op en zet deze in de data -map, waarna je met het Data Upload Tool de data -map naar SPIFFS kunt overzetten. Upgrade Bij een upgrade moet je zowel de firmware als de data -map opnieuw naar de DSMR-logger flashen. Uiteraard kun je ook in dit geval \u00e9\u00e9rst de PRDxxxx.csv bestanden uit de DSMR-logger halen en ergens op je computer bewaren. Met wat moeite kun je de inhoud van deze bestanden omzetten in het nieuwe formaat en ze dan weer terug zetten in de DSMR-logger. Slave kanaal Gasmeter Ik zie mijn gas-verbruik niet op de DSMR-logger Eric heeft dit voor ons uitgezocht en als commentaar gepost . Hieronder vind je de inhoud van zijn post. Het kan voorkomen dat de gasmeter niet op slave kanaal 1, maar op 2, 3 of 4 is aangesloten. Dit is op zich geen probleem, alleen gaat de dsmr -library er vanuit dat de gasmeter op kanaal 1 is aangesloten\u2026 Lang verhaal kort, als je de arduino-dsmr library iets aanpast (MBUS instelling) en daarna de DSMRloggerWS firmware opnieuw compileerd en naar de DSMR-logger V4 of de ESP-01 flashed, dan werk het geheel als een trein \ud83d\ude42 Ik heb het volgende gedaan: Login via Telnet op de DSMR-logger Versie 4 Laat een telegram verschijnen op je scherm (zie menu voor de juiste optie) Ga op zoek naar de gasmeting. Een voorbeeld: 0-2:24.1.0(003) 0-2:96.1.0(47303033**************31333137) 0-2:24.2.1(181202194007W)(00283.687*m3) In een gangbare situatie staat hier normaal: 0-1:24.1.0(003) 0-1:96.1.0(47303033**************31333137) 0-1:24.2.1(181202194007W)(00283.687*m3) De 0-2 waarde geeft aan dat je gasmeter is aangesloten op kanaal twee van de slimme meter. Het kan echter ook dat de gasmeter op kanaal 0-3 of 0-4 is aangesloten. Ga naar de arduino-dsmr library op je computer, deze is te vinden in de Arduino sketch directory er vervolgens in de libraries subdirectory. Je bent op zoek naar het bestand fields.h . Ergens rond regel 174 kom je de volgende constanten tegen: const uint8_t GAS_MBUS_ID = 1; const uint8_t WATER_MBUS_ID = 2; const uint8_t THERMAL_MBUS_ID = 3; const uint8_t SLAVE_MBUS_ID = 4; De truc is om het ID achter GAS_MBUS_ID aan te passen naar het kanaal waar je gasmeter op staat. Vervolgens pas je, bijvoorbeeld, de watermeter (WATER_MBUS_ID) aan naar het andere ID. Resultaat bij mij: const uint8_t GAS_MBUS_ID = 2; const uint8_t WATER_MBUS_ID = 1; const uint8_t THERMAL_MBUS_ID = 3; const uint8_t SLAVE_MBUS_ID = 4; Nu nog even de boel opslaan en over the air de firmware update (pure luxe dat dit kan). Vanaf nu kun je genieten van gasmetingen. Althans\u2026 Dat was bij mij het geval. Help! Wat is pin 1 van mijn 4N35? Hoe identificeer ik pin-1 van de optocoupler? Er zijn verschillende varianten van de 4N35 opto-coupler. Hieronder drie afbeeldingen waarmee je kunt identificeren wat pin 1 van de 4N35 is: De rode Led knippert Mijn rode (voedings) Led (D1) knippert en brand niet constant! Dit duidt er meestal op dat de voeding uit de Slimme Meter niet toerijkend is om de DSMR-logger te voeden. Met name Kaifa Slimme Meters hebben hier last van. De oplossing bestaat eruit een externe (USB) voeding te gebruiken. Deze sluit je aan op de GND en +5V pinnen van de DSMR-logger. Volgens deze post (zie punt 4) moet je \u00f3\u00f3k de 5 Volt vanuit de Slimme Meter onderbreken. Op de printplaat is dit vrij lastig (zeker als je hem al in elkaar gesoldeerd hebt). Het makkelijkste is dit in- of op de kabel te doen bijvoorbeeld door een stukje isolatie-tape over pin 1 te plakken. Stop de gehackte RJ12 ( 6P6C ) stekker in de DSMR-logger en niet in de Slimme Meter. Mocht het stukje tape loslaten dan is het eenvoudiger deze uit de DSMR-logger te halen dan uit de Slimme Meter. Het is echter \u00f3\u00f3k mogelijk (en wellicht eenvoudiger) om een RJ10/RJ22 (4P4C) kabeltje (4-polige telefoonkabel) te gebruiken. Deze kun je zowel in de Slimme Meter als in de DSMR-logger stoppen. Hierdoor worden pin 1 (5Volt) en pin 6 (GND) niet aangesloten (omdat pin 3 w\u00e9l wordt doorverbonden blijft GND beschikbaar!). Dick schrijft in dit comment dat voor hem het probleem is opgelost door C3 te verkleinen tot zo'n 100\u00b5F. Wat zijn de maten van de DSMR-logger V4 Wat zijn de maten van de DSMR-logger V4? De buitenmaten zijn 67mm x 51mm. De J4 steekt 8,5mm boven de printplaat. De onderkant van het Oled-schermpje steekt 11mm boven de printplaat. Wat is het verschil tussen RJ10 en RJ12? Wat is het verschil tussen RJ10 en RJ12? Hier bestaat nogal wat verwarring over op het internet. Er niet helemaal duidelijk wat de juiste benaming van deze Registered Jack stekkers is. De meest gehanteerde benamingen zijn: RJ12 (6P6C) RJ11 (6P4C) RJ10 (4P4C) RJ11 en RJ12 zijn even breed en passen in dezelfde female connector, maar bij de eerste maken alleen de 4 binnenste contacten verbinding terwijl bij de RJ12 alle 6 de contacten verbinding maken. Ook de RJ10 stekker past in een RJ12 female connector maar ook dan worden alleen de binnenste 4 contacten met elkaar verbonden. In die gevallen waarbij een externe voeding nodig is omdat de Slimme Meter niet genoeg stroom levert voor de DSMRlogger \u00e9n de Slimme Meter g\u00e9\u00e9n telegrammen verstuurt als er een externe voeding wordt gebruikt, zijn zowel de RJ11 als de RJ10 stekkers de oplossing.","title":"Vragen en Antwoorden"},{"location":"QenA/#vragen-en-antwoorden","text":"Niet alles DSMR 4 is DSMR 4 5 Volt Programmer Tactile Switches PUYA Chip Update of Upgrade Slave kanaal Gasmeter Help! wat is pin 1 van mijn 4N35? De rode Led knippert Wat zijn de maten van de DSMR-logger? Wat is het verschil tussen RJ10 en RJ12?","title":"Vragen en Antwoorden"},{"location":"QenA/#niet-alles-dsmr-4-is-dsmr-4","text":"Mijn DSMR-logger doet het niet als ik hem op de Slimme Meter aansluit Er zijn Slimme Meters die 'zeggen' DSMR Versie 4 te volgen maar toch geen 5 volt met voldoende stroom leveren. Bouwers van de DSMR-logger hebben problemen gemeld met de KAIFA MA105A en MA105C en met de KAIFA MA304 . Kijk bijvoorbeeld hier en hier . Dit probleem is op te lossen door de DSMR-logger op een externe (bijvoorbeeld USB) voeding aan te sluiten.","title":"Niet alles DSMR 4 is DSMR 4 .."},{"location":"QenA/#5-volt-programmer","text":"Kan ik met een 5 volt USB to TTL adaptor de DSMR-logger flashen? Als het een type is dat de TX en RX signalen op 3v3 levert (bijvoorbeeld deze ) dan k\u00e1n het wel, maar moet je de 5 Volt output op de 5 Volt pin van de DSMR-logger aansluiten. Je moet hem dan zoals in het plaatje hieronder aansluiten.","title":"5 Volt Programmer"},{"location":"QenA/#tactile-switches","text":"Waarom heb ik een tacktile switch met een lange en \u00e9\u00e9n met een korte stift? De tacktile switch met de korte stift is de RESET switch. Eenmaal ingebouwd in een (project) box moet de FLASH switch bereikbaar blijven omdat hij een dubbel functie heeft. Hij dient bij normaal gebruik om het oled-scherm 'wakker' te maken. Vandaar de lange stift! Deze lange stift maakt de switch wel erg kwetsbaar zolang de DSMR-logger niet in een (project) box is ingebouwd. Als je er een niet recht-naar-beneden kracht op uitoefend, dan breekt hij makkelijk af!","title":"Tactile Switches"},{"location":"QenA/#puya-chip","text":"Mijn versie 3 bordje met PUYA chip doet het niet Het heeft er alle schijn van dat de DSMRloggerWS firmware niet geschikt is voor een ESP-01 (versie 3 bordje) met een PUYA flash chip. Kijk ook hier .","title":"PUYA Chip"},{"location":"QenA/#update-of-upgrade","text":"Wanneer moet ik updaten en wanneer upgraden? We doen een update als we de firmware willen vervangen met een nieuwere versie van dezelfde firmware (dus we vervangen DSMRlogger2HTTP door een nieuwere versie van DSMRlogger2HTTP \u00f3f we vervangen de DSMRloggerWS firmware door een nieuwere versie van de DSMRloggerWS firmware) We doen een upgrade als we de ene firmware vervangen door een andere (dus we vervangen bijvoorbeeld DSMRlogger2HTTP door DSMRloggerWS).","title":"Update of Upgrade?"},{"location":"QenA/#update","text":"Bij een update zal de lay-out van de data-bestanden niet veranderen en kun je volstaan met het opnieuw flashen van de firmware. Voor de data-map (SPIFFS) kun je twee wegen bewandelen. 1) Je haalt m.b.v. de FSexplorer (of met DSMRlogger2HTTP http://DSMR-ESP01.local/onderhoud ) de .html en .js bestanden op uit de data -map en zet deze in SPIFFS 2) Je haalt met de FSexplorer de PRDxxxx.csv bestanden op en zet deze in de data -map, waarna je met het Data Upload Tool de data -map naar SPIFFS kunt overzetten.","title":"Update"},{"location":"QenA/#upgrade","text":"Bij een upgrade moet je zowel de firmware als de data -map opnieuw naar de DSMR-logger flashen. Uiteraard kun je ook in dit geval \u00e9\u00e9rst de PRDxxxx.csv bestanden uit de DSMR-logger halen en ergens op je computer bewaren. Met wat moeite kun je de inhoud van deze bestanden omzetten in het nieuwe formaat en ze dan weer terug zetten in de DSMR-logger.","title":"Upgrade"},{"location":"QenA/#slave-kanaal-gasmeter","text":"Ik zie mijn gas-verbruik niet op de DSMR-logger Eric heeft dit voor ons uitgezocht en als commentaar gepost . Hieronder vind je de inhoud van zijn post. Het kan voorkomen dat de gasmeter niet op slave kanaal 1, maar op 2, 3 of 4 is aangesloten. Dit is op zich geen probleem, alleen gaat de dsmr -library er vanuit dat de gasmeter op kanaal 1 is aangesloten\u2026 Lang verhaal kort, als je de arduino-dsmr library iets aanpast (MBUS instelling) en daarna de DSMRloggerWS firmware opnieuw compileerd en naar de DSMR-logger V4 of de ESP-01 flashed, dan werk het geheel als een trein \ud83d\ude42 Ik heb het volgende gedaan: Login via Telnet op de DSMR-logger Versie 4 Laat een telegram verschijnen op je scherm (zie menu voor de juiste optie) Ga op zoek naar de gasmeting. Een voorbeeld: 0-2:24.1.0(003) 0-2:96.1.0(47303033**************31333137) 0-2:24.2.1(181202194007W)(00283.687*m3) In een gangbare situatie staat hier normaal: 0-1:24.1.0(003) 0-1:96.1.0(47303033**************31333137) 0-1:24.2.1(181202194007W)(00283.687*m3) De 0-2 waarde geeft aan dat je gasmeter is aangesloten op kanaal twee van de slimme meter. Het kan echter ook dat de gasmeter op kanaal 0-3 of 0-4 is aangesloten. Ga naar de arduino-dsmr library op je computer, deze is te vinden in de Arduino sketch directory er vervolgens in de libraries subdirectory. Je bent op zoek naar het bestand fields.h . Ergens rond regel 174 kom je de volgende constanten tegen: const uint8_t GAS_MBUS_ID = 1; const uint8_t WATER_MBUS_ID = 2; const uint8_t THERMAL_MBUS_ID = 3; const uint8_t SLAVE_MBUS_ID = 4; De truc is om het ID achter GAS_MBUS_ID aan te passen naar het kanaal waar je gasmeter op staat. Vervolgens pas je, bijvoorbeeld, de watermeter (WATER_MBUS_ID) aan naar het andere ID. Resultaat bij mij: const uint8_t GAS_MBUS_ID = 2; const uint8_t WATER_MBUS_ID = 1; const uint8_t THERMAL_MBUS_ID = 3; const uint8_t SLAVE_MBUS_ID = 4; Nu nog even de boel opslaan en over the air de firmware update (pure luxe dat dit kan). Vanaf nu kun je genieten van gasmetingen. Althans\u2026 Dat was bij mij het geval.","title":"Slave kanaal Gasmeter"},{"location":"QenA/#help-wat-is-pin-1-van-mijn-4n35","text":"Hoe identificeer ik pin-1 van de optocoupler? Er zijn verschillende varianten van de 4N35 opto-coupler. Hieronder drie afbeeldingen waarmee je kunt identificeren wat pin 1 van de 4N35 is:","title":"Help! Wat is pin 1 van mijn 4N35?"},{"location":"QenA/#de-rode-led-knippert","text":"Mijn rode (voedings) Led (D1) knippert en brand niet constant! Dit duidt er meestal op dat de voeding uit de Slimme Meter niet toerijkend is om de DSMR-logger te voeden. Met name Kaifa Slimme Meters hebben hier last van. De oplossing bestaat eruit een externe (USB) voeding te gebruiken. Deze sluit je aan op de GND en +5V pinnen van de DSMR-logger. Volgens deze post (zie punt 4) moet je \u00f3\u00f3k de 5 Volt vanuit de Slimme Meter onderbreken. Op de printplaat is dit vrij lastig (zeker als je hem al in elkaar gesoldeerd hebt). Het makkelijkste is dit in- of op de kabel te doen bijvoorbeeld door een stukje isolatie-tape over pin 1 te plakken. Stop de gehackte RJ12 ( 6P6C ) stekker in de DSMR-logger en niet in de Slimme Meter. Mocht het stukje tape loslaten dan is het eenvoudiger deze uit de DSMR-logger te halen dan uit de Slimme Meter. Het is echter \u00f3\u00f3k mogelijk (en wellicht eenvoudiger) om een RJ10/RJ22 (4P4C) kabeltje (4-polige telefoonkabel) te gebruiken. Deze kun je zowel in de Slimme Meter als in de DSMR-logger stoppen. Hierdoor worden pin 1 (5Volt) en pin 6 (GND) niet aangesloten (omdat pin 3 w\u00e9l wordt doorverbonden blijft GND beschikbaar!). Dick schrijft in dit comment dat voor hem het probleem is opgelost door C3 te verkleinen tot zo'n 100\u00b5F.","title":"De rode Led knippert"},{"location":"QenA/#wat-zijn-de-maten-van-de-dsmr-logger-v4","text":"Wat zijn de maten van de DSMR-logger V4? De buitenmaten zijn 67mm x 51mm. De J4 steekt 8,5mm boven de printplaat. De onderkant van het Oled-schermpje steekt 11mm boven de printplaat.","title":"Wat zijn de maten van de DSMR-logger V4"},{"location":"QenA/#wat-is-het-verschil-tussen-rj10-en-rj12","text":"Wat is het verschil tussen RJ10 en RJ12? Hier bestaat nogal wat verwarring over op het internet. Er niet helemaal duidelijk wat de juiste benaming van deze Registered Jack stekkers is. De meest gehanteerde benamingen zijn:","title":"Wat is het verschil tussen RJ10 en RJ12?"},{"location":"SM_Has_No_Fase_Info/","text":"#define SM_HAS_NO_FASE_INFO Sommige (vaak pr\u00e9 DSMR 4.0) meters die geschikt zijn voor \u00e9\u00e9n fase, geven geen Fase Informatie via recordtype \"1-0:x1.7.0\" en \"1-0:x2.7.0\" door, waardoor de DSMRloggerWS firmware geen data voor de \"Actueel\" chart ontvangt. Met deze optie wordt de informatie uit de \"1-0:1.7.0\" en \"1-0:2.7.0\" records in de fase records gestopt. #define Functie SM_HAS_NO_FASE_INFO De velden PowerDelivered_l1 en PowereReceived_l1 worden, respectievelijk, gevuld met de waarden van de PowerDelivered en PowerReceived velden.","title":"SM geeft geen info per Fase"},{"location":"SM_Has_No_Fase_Info/#define-sm_has_no_fase_info","text":"Sommige (vaak pr\u00e9 DSMR 4.0) meters die geschikt zijn voor \u00e9\u00e9n fase, geven geen Fase Informatie via recordtype \"1-0:x1.7.0\" en \"1-0:x2.7.0\" door, waardoor de DSMRloggerWS firmware geen data voor de \"Actueel\" chart ontvangt. Met deze optie wordt de informatie uit de \"1-0:1.7.0\" en \"1-0:2.7.0\" records in de fase records gestopt. #define Functie SM_HAS_NO_FASE_INFO De velden PowerDelivered_l1 en PowereReceived_l1 worden, respectievelijk, gevuld met de waarden van de PowerDelivered en PowerReceived velden.","title":"#define SM_HAS_NO_FASE_INFO"},{"location":"Show_Passwrds/","text":"#define SHOW_PASSWRDS Met deze #define geef je aan of je wilt dat de PSK Key van je WiFi netwerk en het wachtwoord van de gebruikte MQTT Broker zichtbaar worden. Via telnet het opvragen van de Board Info: B - Board Info . . . ================================================================== Board type [ESP8266_GENERIC] SSID [A@nd@W@F@] PSK key [**********] IP Address [192.168.1.108] Hostname [DSMR-WS] Last reset reason: [Exception] upTime [32(d):02:01] ================================================================== en de Settings: S - list Settings . . . ==== MQTT settings ============================================== MQTT broker URL/IP : hassio.local MQTT user : hassUser1 MQTT password : ************* MQTT send Interval : 120 MQTT top Topic : DSMR-WS Define Functie SHOW_PASSWRDS In de System Info tab wordt, als deze #define actief is de PSK Key van het WiFi netwerk getoont. Bij de B - Board Info uitvoer wordt met deze deze #define de PSK Key zichtbaar en bij S - list Settings het wachtwoord van de MQTT Broker. [System Info]","title":"Toon wachtwoorden"},{"location":"Show_Passwrds/#define-show_passwrds","text":"Met deze #define geef je aan of je wilt dat de PSK Key van je WiFi netwerk en het wachtwoord van de gebruikte MQTT Broker zichtbaar worden. Via telnet het opvragen van de Board Info: B - Board Info . . . ================================================================== Board type [ESP8266_GENERIC] SSID [A@nd@W@F@] PSK key [**********] IP Address [192.168.1.108] Hostname [DSMR-WS] Last reset reason: [Exception] upTime [32(d):02:01] ================================================================== en de Settings: S - list Settings . . . ==== MQTT settings ============================================== MQTT broker URL/IP : hassio.local MQTT user : hassUser1 MQTT password : ************* MQTT send Interval : 120 MQTT top Topic : DSMR-WS Define Functie SHOW_PASSWRDS In de System Info tab wordt, als deze #define actief is de PSK Key van het WiFi netwerk getoont. Bij de B - Board Info uitvoer wordt met deze deze #define de PSK Key zichtbaar en bij S - list Settings het wachtwoord van de MQTT Broker. [System Info]","title":"#define SHOW_PASSWRDS"},{"location":"Use_MQTT/","text":"#define USE_MQTT Met deze optie wordt de functionaliteit om data naar een MQTT Broker te sturen geactiveerd. Via FSexplorer -> Edit instellingen -> Settings kun je gegevens over de te gebruiken MQTT Broker invullen: Rubriek Functie MQTT broker URL/IP Vul hier de URL of het IP adres van de MQTT broker in eventueel gevolgd door een ' : ' en poort-nummer. Voorbeeld: \" test.mosquitto.org:1883 \" Hou er wel rekening mee dat de ESP8266 geen encryptie aan kan! MQTT Username Vul hier de naam in van de gebruiker van de MQTT broker. MQTT Password Als de MQTT broker gebruiker een wachtwoord nodig heeft vul die dan hier in. MQTT Interval (sec.) De Interval geeft aan om de hoeveel seconden de DSMR-logger gegevens naar de MQTT broker moet sturen. Maak deze Interval niet te klein (30 seconden is een minimale waarde waarbij de DSMR-logger normaal blijft functioneren). MQTT TopTopic Dit is het topic waaronder alle andere gegevens worden gepubliceerd. Standaard is dit \"DSMR-WS\". Let op! (DSMR-logger V3) Het gebruik van de Editor lijkt op een DSMR-logger V3 bordje teveel van het goede. In veel gevallen crashed de DSMR-logger. Oplossing 1: download het DSMRsettings.ini bestand naar je computer, doe de aanpassingen die je nodig hebt en upload het bestand weer naar de DSMR-logger. Niet vergeten daarna de DSMR-logger te re-booten! Oplossing 2: Upgrade naar een versie 4 bordje of vervang de 1MB Flash Chip door een 4MB W25Q32FVSIG 32Mbit flash chip! De DSMR-logger zal iedere MQTT Interval seconden de volgende berichten naar de MQTT Broker sturen: DSMR-WS/JSON/identification {\"identification\":\"XMX5LGBBLB2410065887\"} DSMR-WS/JSON/p1_version {\"p1_version\":\"50\"} DSMR-WS/JSON/timestamp {\"timestamp\":\"140223173001S\"} DSMR-WS/JSON/equipment_id {\"equipment_id\":\"4530303336303000000000000000000040\"} DSMR-WS/JSON/energy_delivered_tariff1 {\"energy_delivered_tariff1\":170.899,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_delivered_tariff2 {\"energy_delivered_tariff2\":163.798,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_delivered {\"energy_delivered\":334.697,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_returned_tariff1 {\"energy_returned_tariff1\":113.378,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_returned_tariff2 {\"energy_returned_tariff2\":76.650,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_returned {\"energy_returned\":190.028,\"unit\":\"kWh\"} DSMR-WS/JSON/electricity_tariff {\"electricity_tariff\":0001} DSMR-WS/JSON/power_delivered {\"power_delivered\":1.230,\"unit\":\"kW\"} DSMR-WS/JSON/power_returned {\"power_returned\":1.770,\"unit\":\"kW\"} DSMR-WS/JSON/voltage_l1 {\"voltage_l1\":237.0,\"unit\":\"volt\"} DSMR-WS/JSON/voltage_l2 {\"voltage_l2\":238.0,\"unit\":\"volt\"} DSMR-WS/JSON/voltage_l3 {\"voltage_l3\":235.0,\"unit\":\"volt\"} DSMR-WS/JSON/current_l1 {\"current_l1\":2,\"unit\":\"ampere\"} DSMR-WS/JSON/current_l2 {\"current_l2\":2,\"unit\":\"ampere\"} DSMR-WS/JSON/current_l3 {\"current_l3\":0,\"unit\":\"ampere\"} DSMR-WS/JSON/power_delivered_l1 {\"power_delivered_l1\":874,\"unit\":\"Watt\"} DSMR-WS/JSON/power_delivered_l2 {\"power_delivered_l2\":336,\"unit\":\"Watt\"} DSMR-WS/JSON/power_delivered_l3 {\"power_delivered_l3\":17,\"unit\":\"Watt\"} DSMR-WS/JSON/power_returned_l1 {\"power_returned_l1\":1066,\"unit\":\"Watt\"} DSMR-WS/JSON/power_returned_l2 {\"power_returned_l2\":274,\"unit\":\"Watt\"} DSMR-WS/JSON/power_returned_l3 {\"power_returned_l3\":427,\"unit\":\"Watt\"} DSMR-WS/JSON/gas_device_type {\"gas_device_type\":\"3\"} DSMR-WS/JSON/gas_equipment_id {\"gas_equipment_id\":\"4730303339303031363532303530323136\"} DSMR-WS/JSON/gas_delivered {\"gas_delivered\":119.69,\"unit\":\"m3\"} DSMR-WS/JSON/Energy {\"DT\":\"2014-02-23 17:30:01\",\"ED\":334.697,\"ER\":190.028,\"GD\":119.69} DSMR-WS/JSON/Power {\"PDt\":1.230,\"PRt\":1.770,\"PDl1\":874,\"PDl2\":336,\"PDl3\":17,\"PRl1\":1066,\"PRl2\":274,\"PRl3\":427} Voor de Mosquitto client kun je de berichten volgen met het volgende commando: mosquitto_sub -h test.mosquitto.org -v -t 'DSMR-WS/#' of, als je een username/password hebt ingesteld met dit commando: mosquitto_sub -h test.mosquitto.org -u -P -v -t 'DSMR-WS/#' Let op! De standaard PubSubClient library kan berichten publiceren van maximaal 128 characters. Vandaar de (korte) cryptische benaming van de verschillende velden in de JSON Energy en Power boodschappen. Mocht je langere, meer betekenisvolle, namen willen gebruiken dan moet je in PubSubClient.h de #define van MQTT_MAX_PACKET_SIZE aanpassen. De Energy en Power publicaties zullen in een volgende versie van de DSMRloggerWS firmware vervallen. #define Functie USE_MQTT Deze define zorgt ervoor dat de Firmware data uit de Slimme Meter naar een MQTT Broker stuurt.","title":"Gebruik MQTT"},{"location":"Use_MQTT/#define-use_mqtt","text":"Met deze optie wordt de functionaliteit om data naar een MQTT Broker te sturen geactiveerd. Via FSexplorer -> Edit instellingen -> Settings kun je gegevens over de te gebruiken MQTT Broker invullen: Rubriek Functie MQTT broker URL/IP Vul hier de URL of het IP adres van de MQTT broker in eventueel gevolgd door een ' : ' en poort-nummer. Voorbeeld: \" test.mosquitto.org:1883 \" Hou er wel rekening mee dat de ESP8266 geen encryptie aan kan! MQTT Username Vul hier de naam in van de gebruiker van de MQTT broker. MQTT Password Als de MQTT broker gebruiker een wachtwoord nodig heeft vul die dan hier in. MQTT Interval (sec.) De Interval geeft aan om de hoeveel seconden de DSMR-logger gegevens naar de MQTT broker moet sturen. Maak deze Interval niet te klein (30 seconden is een minimale waarde waarbij de DSMR-logger normaal blijft functioneren). MQTT TopTopic Dit is het topic waaronder alle andere gegevens worden gepubliceerd. Standaard is dit \"DSMR-WS\". Let op! (DSMR-logger V3) Het gebruik van de Editor lijkt op een DSMR-logger V3 bordje teveel van het goede. In veel gevallen crashed de DSMR-logger. Oplossing 1: download het DSMRsettings.ini bestand naar je computer, doe de aanpassingen die je nodig hebt en upload het bestand weer naar de DSMR-logger. Niet vergeten daarna de DSMR-logger te re-booten! Oplossing 2: Upgrade naar een versie 4 bordje of vervang de 1MB Flash Chip door een 4MB W25Q32FVSIG 32Mbit flash chip! De DSMR-logger zal iedere MQTT Interval seconden de volgende berichten naar de MQTT Broker sturen: DSMR-WS/JSON/identification {\"identification\":\"XMX5LGBBLB2410065887\"} DSMR-WS/JSON/p1_version {\"p1_version\":\"50\"} DSMR-WS/JSON/timestamp {\"timestamp\":\"140223173001S\"} DSMR-WS/JSON/equipment_id {\"equipment_id\":\"4530303336303000000000000000000040\"} DSMR-WS/JSON/energy_delivered_tariff1 {\"energy_delivered_tariff1\":170.899,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_delivered_tariff2 {\"energy_delivered_tariff2\":163.798,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_delivered {\"energy_delivered\":334.697,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_returned_tariff1 {\"energy_returned_tariff1\":113.378,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_returned_tariff2 {\"energy_returned_tariff2\":76.650,\"unit\":\"kWh\"} DSMR-WS/JSON/energy_returned {\"energy_returned\":190.028,\"unit\":\"kWh\"} DSMR-WS/JSON/electricity_tariff {\"electricity_tariff\":0001} DSMR-WS/JSON/power_delivered {\"power_delivered\":1.230,\"unit\":\"kW\"} DSMR-WS/JSON/power_returned {\"power_returned\":1.770,\"unit\":\"kW\"} DSMR-WS/JSON/voltage_l1 {\"voltage_l1\":237.0,\"unit\":\"volt\"} DSMR-WS/JSON/voltage_l2 {\"voltage_l2\":238.0,\"unit\":\"volt\"} DSMR-WS/JSON/voltage_l3 {\"voltage_l3\":235.0,\"unit\":\"volt\"} DSMR-WS/JSON/current_l1 {\"current_l1\":2,\"unit\":\"ampere\"} DSMR-WS/JSON/current_l2 {\"current_l2\":2,\"unit\":\"ampere\"} DSMR-WS/JSON/current_l3 {\"current_l3\":0,\"unit\":\"ampere\"} DSMR-WS/JSON/power_delivered_l1 {\"power_delivered_l1\":874,\"unit\":\"Watt\"} DSMR-WS/JSON/power_delivered_l2 {\"power_delivered_l2\":336,\"unit\":\"Watt\"} DSMR-WS/JSON/power_delivered_l3 {\"power_delivered_l3\":17,\"unit\":\"Watt\"} DSMR-WS/JSON/power_returned_l1 {\"power_returned_l1\":1066,\"unit\":\"Watt\"} DSMR-WS/JSON/power_returned_l2 {\"power_returned_l2\":274,\"unit\":\"Watt\"} DSMR-WS/JSON/power_returned_l3 {\"power_returned_l3\":427,\"unit\":\"Watt\"} DSMR-WS/JSON/gas_device_type {\"gas_device_type\":\"3\"} DSMR-WS/JSON/gas_equipment_id {\"gas_equipment_id\":\"4730303339303031363532303530323136\"} DSMR-WS/JSON/gas_delivered {\"gas_delivered\":119.69,\"unit\":\"m3\"} DSMR-WS/JSON/Energy {\"DT\":\"2014-02-23 17:30:01\",\"ED\":334.697,\"ER\":190.028,\"GD\":119.69} DSMR-WS/JSON/Power {\"PDt\":1.230,\"PRt\":1.770,\"PDl1\":874,\"PDl2\":336,\"PDl3\":17,\"PRl1\":1066,\"PRl2\":274,\"PRl3\":427} Voor de Mosquitto client kun je de berichten volgen met het volgende commando: mosquitto_sub -h test.mosquitto.org -v -t 'DSMR-WS/#' of, als je een username/password hebt ingesteld met dit commando: mosquitto_sub -h test.mosquitto.org -u -P -v -t 'DSMR-WS/#' Let op! De standaard PubSubClient library kan berichten publiceren van maximaal 128 characters. Vandaar de (korte) cryptische benaming van de verschillende velden in de JSON Energy en Power boodschappen. Mocht je langere, meer betekenisvolle, namen willen gebruiken dan moet je in PubSubClient.h de #define van MQTT_MAX_PACKET_SIZE aanpassen. De Energy en Power publicaties zullen in een volgende versie van de DSMRloggerWS firmware vervallen. #define Functie USE_MQTT Deze define zorgt ervoor dat de Firmware data uit de Slimme Meter naar een MQTT Broker stuurt.","title":"#define USE_MQTT"},{"location":"Use_NTP_Time/","text":"#define USE_NTP_TIME Met deze #define zorg je ervoor dat de Firmware gebruik maakt van het Network Time Protocol om te bepalen wanneer een Telegram binnen is gekomen. Normaal geeft de Slimme Meter de datum en tijd bij ieder Telegram mee (in recordtype \"0-0:1.0.0\"), maar sommige Slimme Meters doen dat niet (bijvoorbeeld sommige pr\u00e9 DSMR 4.0 meters). Deze optie zorgt er dan voor dat alle Telegrammen goed verwerkt worden. #define Functie USE_NTP_TIME Ieder Telegram wordt gemarkeerd met een via NTP verkregen Timestamp.","title":"Network Time"},{"location":"Use_NTP_Time/#define-use_ntp_time","text":"Met deze #define zorg je ervoor dat de Firmware gebruik maakt van het Network Time Protocol om te bepalen wanneer een Telegram binnen is gekomen. Normaal geeft de Slimme Meter de datum en tijd bij ieder Telegram mee (in recordtype \"0-0:1.0.0\"), maar sommige Slimme Meters doen dat niet (bijvoorbeeld sommige pr\u00e9 DSMR 4.0 meters). Deze optie zorgt er dan voor dat alle Telegrammen goed verwerkt worden. #define Functie USE_NTP_TIME Ieder Telegram wordt gemarkeerd met een via NTP verkregen Timestamp.","title":"#define USE_NTP_TIME"},{"location":"Use_Pre40_Protocol/","text":"#define USE_PRE40_PROTOCOL Vanaf versie 0.4.5 kan de DSMRloggerWS firmware ook overweg met Slimme Meters die nog niet aan de DSMR 4.0 standaard voldoen. Let op! Deze functionaliteit is slechts beperkt getest! Met dank aan Jordy voor het testen met een DSMR 2.2 meter! Mocht je meer informatie kunnen geven over eventuele problemen neem dan contact met mij op (plaats een comment op mijn website) Om de DSMRloggerWS firmware geschikt te maken voor een pr\u00e9 DSMR 4.0 Slimme Meter zijn er een aantal opties mogelijk (zie de #define tabel hieronder) die mogelijk van toepassing zijn op pr\u00e9 DSMR 4.0 Slimme Meters. Om deze functionaliteit te kunnen gebruiken moet je ook de speciaal gehackte arduino-dsmr30 bibliotheek installeren! #define Functie USE_PRE40_PROTOCOL Deze define zorgt ervoor dat de instellingen voor de seri\u00eble poort goed worden gezet (9600, SERIAL_7E1). tevens wordt een speciaal gehackte 'arduino-dsmr' bibliotheek gebruikt omdat het pr\u00e9 DSMR 4.0 protocol geen checksum heeft. USE_NTP_TIME Het pr\u00e9 DSMR 4.0 protocol geeft niet altijd een timestamp (0-0:1.0.0). Doet jouw Slimme Meter dat ook niet, dan wordt met deze define de tijd via het NTP protocol gebruikt. Vooralsnog alleen Winter Tijd! SM_HAS_NO_FASE_INFO Heb je een Slimme Meter die geen verbruik per fase (1-0:x1.7.0 enz.) door geeft, dan kun je met deze optie er toch voor zorgen dat de Actuele chart informatie geeft over je verbruik","title":"Pr\u00e9 DSMR 4.0 Slimme Meters"},{"location":"Use_Pre40_Protocol/#define-use_pre40_protocol","text":"Vanaf versie 0.4.5 kan de DSMRloggerWS firmware ook overweg met Slimme Meters die nog niet aan de DSMR 4.0 standaard voldoen. Let op! Deze functionaliteit is slechts beperkt getest! Met dank aan Jordy voor het testen met een DSMR 2.2 meter! Mocht je meer informatie kunnen geven over eventuele problemen neem dan contact met mij op (plaats een comment op mijn website) Om de DSMRloggerWS firmware geschikt te maken voor een pr\u00e9 DSMR 4.0 Slimme Meter zijn er een aantal opties mogelijk (zie de #define tabel hieronder) die mogelijk van toepassing zijn op pr\u00e9 DSMR 4.0 Slimme Meters. Om deze functionaliteit te kunnen gebruiken moet je ook de speciaal gehackte arduino-dsmr30 bibliotheek installeren! #define Functie USE_PRE40_PROTOCOL Deze define zorgt ervoor dat de instellingen voor de seri\u00eble poort goed worden gezet (9600, SERIAL_7E1). tevens wordt een speciaal gehackte 'arduino-dsmr' bibliotheek gebruikt omdat het pr\u00e9 DSMR 4.0 protocol geen checksum heeft. USE_NTP_TIME Het pr\u00e9 DSMR 4.0 protocol geeft niet altijd een timestamp (0-0:1.0.0). Doet jouw Slimme Meter dat ook niet, dan wordt met deze define de tijd via het NTP protocol gebruikt. Vooralsnog alleen Winter Tijd! SM_HAS_NO_FASE_INFO Heb je een Slimme Meter die geen verbruik per fase (1-0:x1.7.0 enz.) door geeft, dan kun je met deze optie er toch voor zorgen dat de Actuele chart informatie geeft over je verbruik","title":"#define USE_PRE40_PROTOCOL"},{"location":"Use_Update_Server/","text":"#define USE_UPDATE_SERVER Met deze optie wordt het mogelijk om nieuwe Firmware naar de DSMR-logger te flashen door in de FSexplorer op de knop [Select Firmware] te klikken en vervolgens in de Flash Utility .. .. op [ChooseFile] te klikken en daarna op [Flash Firmware] Let op! Alleen voor ESP-12 Deze functionaliteit werkt alleen als je 4MB flash geheugen hebt. Standaard heeft iedere ESP-12 dat. Je kunt een ESP-01 eventueel upgraden naar 4MB door de aanwezige flash chip te vervangen door een W25Q32FVSIG 32Mbit flash chip. #define Functie USE_UPDATE_SERVER Om gebruik te kunnen maken van zgn. \"Over The Air\" (OTA) updates van de firmware en het SPIFFS file systeem moet je deze optie activeren. Dit kan alleen met een ESP-12 of een, met 4MB chip ge-upgrade ESP-01 bordjes! ' Normale ' (1MB) ESP-01 bordjes hebben hier niet genoeg flash-geheugen voor.","title":"Over The Air update"},{"location":"Use_Update_Server/#define-use_update_server","text":"Met deze optie wordt het mogelijk om nieuwe Firmware naar de DSMR-logger te flashen door in de FSexplorer op de knop [Select Firmware] te klikken en vervolgens in de Flash Utility .. .. op [ChooseFile] te klikken en daarna op [Flash Firmware] Let op! Alleen voor ESP-12 Deze functionaliteit werkt alleen als je 4MB flash geheugen hebt. Standaard heeft iedere ESP-12 dat. Je kunt een ESP-01 eventueel upgraden naar 4MB door de aanwezige flash chip te vervangen door een W25Q32FVSIG 32Mbit flash chip. #define Functie USE_UPDATE_SERVER Om gebruik te kunnen maken van zgn. \"Over The Air\" (OTA) updates van de firmware en het SPIFFS file systeem moet je deze optie activeren. Dit kan alleen met een ESP-12 of een, met 4MB chip ge-upgrade ESP-01 bordjes! ' Normale ' (1MB) ESP-01 bordjes hebben hier niet genoeg flash-geheugen voor.","title":"#define USE_UPDATE_SERVER"},{"location":"benodigdeBibliotheken/","text":"Benodigde Bibliotheken Voor de DSMRloggerWS firmware zijn de volgende bibliotheken nodig: dsmr Deze library is ontwikkeld door Matthijs Kooijman en vormt het hart van de DSMR-logger. Je kunt de bibliotheek hier https://github.com/matthijskooijman/arduino-dsmr downloaden. De firmware is getest met Version 0.1 - Commit f79c906 on 18 Sep 2018 maar nieuwere versies zullen waarschijnlijk ook werken. TimeLib Deze is door Paul Stoffregen ontwikkeld. Je kunt hem hier https://github.com/PaulStoffregen/Time downloaden. WiFiManager Je kunt de, door Tzapu ontwikkelde, bibliotheek hier https://github.com/tzapu/WiFiManager downloaden. De DSMR-logger firmware is getest met version 0.14.0 van deze bibliotheek maar nieuwere versies zullen waarschijnlijk ook werken. TelnetStream Deze bibliotheek is door Jan Drassy ontwikkeld. Je kunt deze bibliotheek hier https://github.com/jandrassy/TelnetStream downloaden. De firmware is getest met version 0.0.1 maar nieuwere versies zullen waarschijnlijk ook werken. Let op: De installatie van deze bibliotheek gaat net als de andere bibliotheken. Een update kan echter pas ge\u00efnstalleerd worden als \u00e9\u00e9rst de map TelnetStream-master uit de map Libraries wordt verwijderd! WebSocketsServer Deze bibliotheek is ontwikkeld door Markus Sattler en je kunt hem hier https://github.com/Links2004/arduinoWebSockets downloaden. De DSMR-logger firmware is getest met Version 20.05.2015 - commit 72731be on 16 Jan 2019 maar nieuwere versies zullen waarschijnlijk ook werken. SSD1306Ascii William Greiman heeft deze bibliotheek ontwikkeld met in het achterhoofd minimaal gebruik van resources (dus: een bibliotheek die weinig geheugen gebruikt). Je kunt de bibliotheek hier https://github.com/greiman/SSD1306Ascii downloaden. De DSMR-logger Firmware is getest met Version 1.2.x - Commit 97a05cd on 24 Mar 2019 maar nieuwere versies zullen waarcshijnlijk ook werken. PubSubClient Nick O'Leary (knolleary) heeft deze bibliotheek ontwikkeld. Je kunt de bibliotheek hier https://github.com/knolleary/pubsubclient downloaden. dsmr30 Let op! Deze functionaliteit is slechts beperkt getest! Heb je een pr\u00e9 DSMR 4.0 Slimme Meter dan kun je deze toch aansluiten op de DSMR-logger maar moet je een aantal define 's in het eerste tab-blad aanpassen \u00e9n je moet deze library installeren. Kijk ook hier . Overige libraries Onderstaande libraries zijn onderdeel van de ESP8266 Core en moeten dus niet handmatig ge\u00efnstalleerd worden ! * ESP8266WiFi * ESP8266WebServer * WiFiUdp * ESP8266mDNS * FS * ArduinoOTA [DSMR-Chart Dag]","title":"Benodigd Bibliotheken"},{"location":"benodigdeBibliotheken/#benodigde-bibliotheken","text":"Voor de DSMRloggerWS firmware zijn de volgende bibliotheken nodig:","title":"Benodigde Bibliotheken"},{"location":"benodigdeBibliotheken/#dsmr","text":"Deze library is ontwikkeld door Matthijs Kooijman en vormt het hart van de DSMR-logger. Je kunt de bibliotheek hier https://github.com/matthijskooijman/arduino-dsmr downloaden. De firmware is getest met Version 0.1 - Commit f79c906 on 18 Sep 2018 maar nieuwere versies zullen waarschijnlijk ook werken.","title":"dsmr"},{"location":"benodigdeBibliotheken/#timelib","text":"Deze is door Paul Stoffregen ontwikkeld. Je kunt hem hier https://github.com/PaulStoffregen/Time downloaden.","title":"TimeLib"},{"location":"benodigdeBibliotheken/#wifimanager","text":"Je kunt de, door Tzapu ontwikkelde, bibliotheek hier https://github.com/tzapu/WiFiManager downloaden. De DSMR-logger firmware is getest met version 0.14.0 van deze bibliotheek maar nieuwere versies zullen waarschijnlijk ook werken.","title":"WiFiManager"},{"location":"benodigdeBibliotheken/#telnetstream","text":"Deze bibliotheek is door Jan Drassy ontwikkeld. Je kunt deze bibliotheek hier https://github.com/jandrassy/TelnetStream downloaden. De firmware is getest met version 0.0.1 maar nieuwere versies zullen waarschijnlijk ook werken. Let op: De installatie van deze bibliotheek gaat net als de andere bibliotheken. Een update kan echter pas ge\u00efnstalleerd worden als \u00e9\u00e9rst de map TelnetStream-master uit de map Libraries wordt verwijderd!","title":"TelnetStream"},{"location":"benodigdeBibliotheken/#websocketsserver","text":"Deze bibliotheek is ontwikkeld door Markus Sattler en je kunt hem hier https://github.com/Links2004/arduinoWebSockets downloaden. De DSMR-logger firmware is getest met Version 20.05.2015 - commit 72731be on 16 Jan 2019 maar nieuwere versies zullen waarschijnlijk ook werken.","title":"WebSocketsServer"},{"location":"benodigdeBibliotheken/#ssd1306ascii","text":"William Greiman heeft deze bibliotheek ontwikkeld met in het achterhoofd minimaal gebruik van resources (dus: een bibliotheek die weinig geheugen gebruikt). Je kunt de bibliotheek hier https://github.com/greiman/SSD1306Ascii downloaden. De DSMR-logger Firmware is getest met Version 1.2.x - Commit 97a05cd on 24 Mar 2019 maar nieuwere versies zullen waarcshijnlijk ook werken.","title":"SSD1306Ascii"},{"location":"benodigdeBibliotheken/#pubsubclient","text":"Nick O'Leary (knolleary) heeft deze bibliotheek ontwikkeld. Je kunt de bibliotheek hier https://github.com/knolleary/pubsubclient downloaden.","title":"PubSubClient"},{"location":"benodigdeBibliotheken/#dsmr30","text":"Let op! Deze functionaliteit is slechts beperkt getest! Heb je een pr\u00e9 DSMR 4.0 Slimme Meter dan kun je deze toch aansluiten op de DSMR-logger maar moet je een aantal define 's in het eerste tab-blad aanpassen \u00e9n je moet deze library installeren. Kijk ook hier .","title":"dsmr30"},{"location":"benodigdeBibliotheken/#overige-libraries","text":"Onderstaande libraries zijn onderdeel van de ESP8266 Core en moeten dus niet handmatig ge\u00efnstalleerd worden ! * ESP8266WiFi * ESP8266WebServer * WiFiUdp * ESP8266mDNS * FS * ArduinoOTA [DSMR-Chart Dag]","title":"Overige libraries"},{"location":"clonenFirmware/","text":"Clonen Firmware De DSMRloggerWS firmware staat hier https://github.com/mrWheel/DSMRloggerWS . Er zijn twee manieren om de firmware te clonen. download de repository als een .zip file gebruik git Als je niet handig bent met git raad ik je aan de repository als een .zip file te downloaden. Download .zip file Klik op de groene knop [Clone or Download] .. .. en selecteer [Download ZIP] Er volgt een scherm als dit: Bewaar het .zip bestand op een plek op je computer waar je hem terug kunt vinden. Unzip het DSMRloggerWS-master.zip bestand in de ArduinoIDE Sketchbook Location . Rename de map DSMRloggerWS-master naar DSMRloggerWS (dus zonder -master ) Ga verder naar DSMRloggerWS Sketch openen git clone Om de repository met git te kunnen clonen moet je er \u00e9\u00e9rst voor zorgen dat je git op je systeem hebt staan. Hoe je dat moet doen valt buiten de scope van deze documentatie maar hier kun je alles vinden over hoe je dit, voor jouw systeem, moet doen. Voor nu ga ik ervan uit dat je git op je systeem hebt staan en dat je weet hoe je ermee moet werken. Ga naar de Arduino Sketchbook location (de map waar al je Sketches in staan, kijk hier ) en toets het volgende commando in: git clone https://github.com/mrWheel/DSMRloggerWS.git That's it! In Sketchbook location staat hierna een nieuwe map met de naam DSMRloggerWS . DSMRloggerWS Sketch openen Start de ArduinoIDE opnieuw op en klik op het open icoon . Selecteer in het drop-down menu .. .. de sketch DSMRloggerWS Er verschijnt een nieuw editor window met de firmware van de DSMRlogger! [DSMR-Settings]","title":"DSMRloggerWS firmware"},{"location":"clonenFirmware/#clonen-firmware","text":"De DSMRloggerWS firmware staat hier https://github.com/mrWheel/DSMRloggerWS . Er zijn twee manieren om de firmware te clonen. download de repository als een .zip file gebruik git Als je niet handig bent met git raad ik je aan de repository als een .zip file te downloaden.","title":"Clonen Firmware"},{"location":"clonenFirmware/#download-zip-file","text":"Klik op de groene knop [Clone or Download] .. .. en selecteer [Download ZIP] Er volgt een scherm als dit: Bewaar het .zip bestand op een plek op je computer waar je hem terug kunt vinden. Unzip het DSMRloggerWS-master.zip bestand in de ArduinoIDE Sketchbook Location . Rename de map DSMRloggerWS-master naar DSMRloggerWS (dus zonder -master ) Ga verder naar DSMRloggerWS Sketch openen","title":"Download .zip file"},{"location":"clonenFirmware/#git-clone","text":"Om de repository met git te kunnen clonen moet je er \u00e9\u00e9rst voor zorgen dat je git op je systeem hebt staan. Hoe je dat moet doen valt buiten de scope van deze documentatie maar hier kun je alles vinden over hoe je dit, voor jouw systeem, moet doen. Voor nu ga ik ervan uit dat je git op je systeem hebt staan en dat je weet hoe je ermee moet werken. Ga naar de Arduino Sketchbook location (de map waar al je Sketches in staan, kijk hier ) en toets het volgende commando in: git clone https://github.com/mrWheel/DSMRloggerWS.git That's it! In Sketchbook location staat hierna een nieuwe map met de naam DSMRloggerWS .","title":"git clone"},{"location":"clonenFirmware/#dsmrloggerws-sketch-openen","text":"Start de ArduinoIDE opnieuw op en klik op het open icoon . Selecteer in het drop-down menu .. .. de sketch DSMRloggerWS Er verschijnt een nieuw editor window met de firmware van de DSMRlogger! [DSMR-Settings]","title":"DSMRloggerWS Sketch openen"},{"location":"esp8266FS/","text":"Arduino ESP8266 filesystem uploader Arduino plugin which packs sketch data folder into SPIFFS filesystem image, and uploads the image to ESP8266 flash memory. Tested with the following Arduino IDE versions: 1.6.5-r2, 1.6.6 Installation Make sure you use one of the supported versions of Arduino IDE and have ESP8266 core installed. Download the tool archive from releases page . In your Arduino sketchbook directory, create tools directory if it doesn't exist yet. You can find the location of your sketchbook directory in the Arduino IDE at File > Preferences > Sketchbook location . Unpack the tool into tools directory (the path will look like /tools/ESP8266FS/tool/esp8266fs.jar) . Restart Arduino IDE. Usage Open a sketch (or create a new one and save it). Go to sketch directory (choose Sketch > Show Sketch Folder). Create a directory named data and any files you want in the file system there. Make sure you have selected a board, port, and closed Serial Monitor. Select Tools > ESP8266 Sketch Data Upload menu item. This should start uploading the files into ESP8266 flash file system. When done, IDE status bar will display SPIFFS Image Uploaded message. Might take a few minutes for large file system sizes. Credits and license Copyright (c) 2015 Hristo Gochkov (ficeto at ficeto dot com) Licensed under GPL v2 ( text ) Maintained by Ivan Grokhotkov (ivan at esp8266 dot com) Issues and suggestions File issues here on github, or ask your questions on the esp8266.com forum .","title":"Arduino ESP8266 filesystem uploader [![Build Status](https://travis-ci.org/esp8266/arduino-esp8266fs-plugin.svg?branch=master)](https://travis-ci.org/esp8266/arduino-esp8266fs-plugin)"},{"location":"esp8266FS/#arduino-esp8266-filesystem-uploader","text":"Arduino plugin which packs sketch data folder into SPIFFS filesystem image, and uploads the image to ESP8266 flash memory. Tested with the following Arduino IDE versions: 1.6.5-r2, 1.6.6","title":"Arduino ESP8266 filesystem uploader"},{"location":"esp8266FS/#installation","text":"Make sure you use one of the supported versions of Arduino IDE and have ESP8266 core installed. Download the tool archive from releases page . In your Arduino sketchbook directory, create tools directory if it doesn't exist yet. You can find the location of your sketchbook directory in the Arduino IDE at File > Preferences > Sketchbook location . Unpack the tool into tools directory (the path will look like /tools/ESP8266FS/tool/esp8266fs.jar) . Restart Arduino IDE.","title":"Installation"},{"location":"esp8266FS/#usage","text":"Open a sketch (or create a new one and save it). Go to sketch directory (choose Sketch > Show Sketch Folder). Create a directory named data and any files you want in the file system there. Make sure you have selected a board, port, and closed Serial Monitor. Select Tools > ESP8266 Sketch Data Upload menu item. This should start uploading the files into ESP8266 flash file system. When done, IDE status bar will display SPIFFS Image Uploaded message. Might take a few minutes for large file system sizes.","title":"Usage"},{"location":"esp8266FS/#credits-and-license","text":"Copyright (c) 2015 Hristo Gochkov (ficeto at ficeto dot com) Licensed under GPL v2 ( text ) Maintained by Ivan Grokhotkov (ivan at esp8266 dot com)","title":"Credits and license"},{"location":"esp8266FS/#issues-and-suggestions","text":"File issues here on github, or ask your questions on the esp8266.com forum .","title":"Issues and suggestions"},{"location":"gh-pages/","text":"Github pages onderhouden Voer, in een command window, de volgende commando's in: cd git clone https://github.com/mrWheel/DSMRloggerWS.git cd DSMRloggerHTTP git checkout gh-pages cd mkdocs In de mkdocs map zit een map docs met daarin alle .md bestanden. Pas deze naar hartelust aan. Je kunt vervolgens lokaal een server starten met het commando: mkdocs serve Ga vervolgens met een browser naar http://127.0.0.1:8000 om je werk te bekijken. Als je tevreden bent dan moet je de aangepaste sources naar github pushen: mkdocs build cd /DSMRloggerWS git add -A git commit -am \"reden van deze commit\" git push mkdocs gh-deploy Klaar!","title":"Github pages onderhouden"},{"location":"gh-pages/#github-pages-onderhouden","text":"Voer, in een command window, de volgende commando's in: cd git clone https://github.com/mrWheel/DSMRloggerWS.git cd DSMRloggerHTTP git checkout gh-pages cd mkdocs In de mkdocs map zit een map docs met daarin alle .md bestanden. Pas deze naar hartelust aan. Je kunt vervolgens lokaal een server starten met het commando: mkdocs serve Ga vervolgens met een browser naar http://127.0.0.1:8000 om je werk te bekijken. Als je tevreden bent dan moet je de aangepaste sources naar github pushen: mkdocs build cd /DSMRloggerWS git add -A git commit -am \"reden van deze commit\" git push mkdocs gh-deploy Klaar!","title":"Github pages onderhouden"},{"location":"hardware_V3/","text":"DSMR-logger Versie 3 Hoe je een DSMRlogger Versie 2 kunt bouwen staat hier uitvoerig beschreven. Versie 3 is gelijk aan Versie 2 met dit verschil dat de transistor en voltage regulator eenvoudiger zijn te solderen omdat de pad's verder uit elkaar staan. Versie 3 heeft ook een RJ12 connector waardoor de draadbreuken die met Versie 2 nog wel eens voorkwamen verleden tijd zijn. Een kitje voor Versie 3 kun je hier bestellen. [DSMRlogger Versie 3]","title":"DSMR-logger v3"},{"location":"hardware_V3/#dsmr-logger-versie-3","text":"Hoe je een DSMRlogger Versie 2 kunt bouwen staat hier uitvoerig beschreven. Versie 3 is gelijk aan Versie 2 met dit verschil dat de transistor en voltage regulator eenvoudiger zijn te solderen omdat de pad's verder uit elkaar staan. Versie 3 heeft ook een RJ12 connector waardoor de draadbreuken die met Versie 2 nog wel eens voorkwamen verleden tijd zijn. Een kitje voor Versie 3 kun je hier bestellen.","title":"DSMR-logger Versie 3"},{"location":"hardware_V3_Programmer/","text":"Programmer voor de ESP-01 Je kunt op www.aandewiel.nl een post vinden met instructies hoe je eenvoudige een programmer voor de ESP-01 kunt maken. [TabelMaand]","title":"Programmer DSMR-logger v3"},{"location":"hardware_V3_Programmer/#programmer-voor-de-esp-01","text":"Je kunt op www.aandewiel.nl een post vinden met instructies hoe je eenvoudige een programmer voor de ESP-01 kunt maken. [TabelMaand]","title":"Programmer voor de ESP-01"},{"location":"hardware_V4/","text":"DSMR-logger Versie 4 Bouwen Het bouwen van de DSMR-logger Versie 4 is vrij Recht Toe, Recht Aan . Bill Of Material Je hebt de volgende componenten nodig: Reference Value Footprint C1 1uF Elco Radial D5.0mm P2.00mm (max. 7mm height) C2 2.2uF Elco Radial D5.0mm P2.00mm C3 470-1000uF Elco Radial D8.0mm P5.00mm C4 100nF Cap. Disc D5.0mm W2.5mm P5.00mm C5 100nF Cap. Disc D5.0mm W2.5mm P5.00mm R5 10R DIN0207 L6.3mm D2.5mm P7.62mm R1 220R DIN0207 L6.3mm D2.5mm P7.62mm R4 220R DIN0207 L6.3mm D2.5mm P7.62mm R7 1k DIN0207 L6.3mm D2.5mm P7.62mm R14 4k7 DIN0207 L6.3mm D2.5mm P7.62mm R15 4k7 DIN0207 L6.3mm D2.5mm P7.62mm R6 4k7 DIN0207 L6.3mm D2.5mm P7.62mm R10 10k DIN0207 L6.3mm D2.5mm P7.62mm R11 10k DIN0207 L6.3mm D2.5mm P7.62mm R2 10k DIN0207 L6.3mm D2.5mm P7.62mm R3 10k DIN0207 L6.3mm D2.5mm P7.62mm R8 10k DIN0207 L6.3mm D2.5mm P7.62mm R9 10k DIN0207 L6.3mm D2.5mm P7.62mm D1 PWR LED LED D3.0mm THT TO-92 Inline U1 LM2937xMP SMD SOT-223-3 TabPin2 U2 4N35 DIP-6 W7.62mm U3 ESP-12 ESP-12E/F Q1 BC547 TO-92 Inline J1 RJ12 female Amphenol 54601 J4 I2C conn PinSocket 1x04 P2.54mm Vertical J5 Programmer PinHeader 1x05 P2.54mm Vertical SW1 RESET THT SW PUSH 6mm H7.3mm SW2 FLASH THT SW PUSH 6mm H20mm-25mm (long shaft) Optioneel R12 12k DIN0207 L6.3mm D2.5mm P7.62mm (E24 \u2013 5% or better) R13 3k DIN0207 L6.3mm D2.5mm P7.62mm (E24 \u2013 5% or better) J9 ADC 0-5v PinHeader 1x02 P2.54mm Vertical oled display 11171 Je kunt hier een compleet bouwpakket van de DSMR-logger Versie 4 kopen. Spanningsdeler ADC R12 en R13 zijn optioneel en afhankelijk van welke spanning je wilt kunnen meten. R12 R14 Maximale spanning op J9 4k7 4k7 0 - 2 volt 8k2 3k3 0 - 3.3 volt 12k 3k 0 - 5 volt 10k 1k2 0 - 10 volt Bouwen Zoals altijd is het het eenvoudigst om eerst de laagste componenten op de printplaat te solderen en dan de steeds hogere componenten. De laagste componenten zijn de SMD voltage regulator (U1, LM2937-3v3) en de processor (U3, ESP-12). Beide zijn zgn. SMD componenten die eigenlijk niet bedoeld zijn om met de hand te solderen, maar het is toch vrij eenvoudig en goed te doen. Begin met het aanbrengen van een druppeltje soldeer op \u00e9\u00e9n van de pads van de LM2937-3v3 (U1): Plaats nu U1 op zijn plek en verwarm de pad plus U1 met de soldeer druppel nogmaals met de soldeerbout .. Als het soldeer is uitgehard zit U1 op zijn plaats en kun je deze aan de overige pads solderen. Voor U3 (ESP-12) geldt hetzelfde principe .. .. alleen zijn er v\u00e9\u00e9l meer pads te solderen. Hieronder staat een video waarin je het hele bouw-proces kunt volgen:","title":"DSMR-logger v4"},{"location":"hardware_V4/#dsmr-logger-versie-4-bouwen","text":"Het bouwen van de DSMR-logger Versie 4 is vrij Recht Toe, Recht Aan .","title":"DSMR-logger Versie 4 Bouwen"},{"location":"hardware_V4/#bill-of-material","text":"Je hebt de volgende componenten nodig: Reference Value Footprint C1 1uF Elco Radial D5.0mm P2.00mm (max. 7mm height) C2 2.2uF Elco Radial D5.0mm P2.00mm C3 470-1000uF Elco Radial D8.0mm P5.00mm C4 100nF Cap. Disc D5.0mm W2.5mm P5.00mm C5 100nF Cap. Disc D5.0mm W2.5mm P5.00mm R5 10R DIN0207 L6.3mm D2.5mm P7.62mm R1 220R DIN0207 L6.3mm D2.5mm P7.62mm R4 220R DIN0207 L6.3mm D2.5mm P7.62mm R7 1k DIN0207 L6.3mm D2.5mm P7.62mm R14 4k7 DIN0207 L6.3mm D2.5mm P7.62mm R15 4k7 DIN0207 L6.3mm D2.5mm P7.62mm R6 4k7 DIN0207 L6.3mm D2.5mm P7.62mm R10 10k DIN0207 L6.3mm D2.5mm P7.62mm R11 10k DIN0207 L6.3mm D2.5mm P7.62mm R2 10k DIN0207 L6.3mm D2.5mm P7.62mm R3 10k DIN0207 L6.3mm D2.5mm P7.62mm R8 10k DIN0207 L6.3mm D2.5mm P7.62mm R9 10k DIN0207 L6.3mm D2.5mm P7.62mm D1 PWR LED LED D3.0mm THT TO-92 Inline U1 LM2937xMP SMD SOT-223-3 TabPin2 U2 4N35 DIP-6 W7.62mm U3 ESP-12 ESP-12E/F Q1 BC547 TO-92 Inline J1 RJ12 female Amphenol 54601 J4 I2C conn PinSocket 1x04 P2.54mm Vertical J5 Programmer PinHeader 1x05 P2.54mm Vertical SW1 RESET THT SW PUSH 6mm H7.3mm SW2 FLASH THT SW PUSH 6mm H20mm-25mm (long shaft) Optioneel R12 12k DIN0207 L6.3mm D2.5mm P7.62mm (E24 \u2013 5% or better) R13 3k DIN0207 L6.3mm D2.5mm P7.62mm (E24 \u2013 5% or better) J9 ADC 0-5v PinHeader 1x02 P2.54mm Vertical oled display 11171 Je kunt hier een compleet bouwpakket van de DSMR-logger Versie 4 kopen.","title":"Bill Of Material"},{"location":"hardware_V4/#spanningsdeler-adc","text":"R12 en R13 zijn optioneel en afhankelijk van welke spanning je wilt kunnen meten. R12 R14 Maximale spanning op J9 4k7 4k7 0 - 2 volt 8k2 3k3 0 - 3.3 volt 12k 3k 0 - 5 volt 10k 1k2 0 - 10 volt","title":"Spanningsdeler ADC"},{"location":"hardware_V4/#bouwen","text":"Zoals altijd is het het eenvoudigst om eerst de laagste componenten op de printplaat te solderen en dan de steeds hogere componenten. De laagste componenten zijn de SMD voltage regulator (U1, LM2937-3v3) en de processor (U3, ESP-12). Beide zijn zgn. SMD componenten die eigenlijk niet bedoeld zijn om met de hand te solderen, maar het is toch vrij eenvoudig en goed te doen. Begin met het aanbrengen van een druppeltje soldeer op \u00e9\u00e9n van de pads van de LM2937-3v3 (U1): Plaats nu U1 op zijn plek en verwarm de pad plus U1 met de soldeer druppel nogmaals met de soldeerbout .. Als het soldeer is uitgehard zit U1 op zijn plaats en kun je deze aan de overige pads solderen. Voor U3 (ESP-12) geldt hetzelfde principe .. .. alleen zijn er v\u00e9\u00e9l meer pads te solderen. Hieronder staat een video waarin je het hele bouw-proces kunt volgen:","title":"Bouwen"},{"location":"hardware_V4_Programmer/","text":"Programmer voor de DSMR-logger V4 Er zijn verschillende manieren om de DSMR-logger van (nieuwe) firmware te voorzien. Dit gaat het eenvoudigst Over The Air (OTA) maar de eerste keer zal dit altijd bedraad moeten. FTDI-adapter USB to Serial adaptor bordje USB to TTL adaptor kabel Flashen (programmeren) FTDI-adapter Verreweg de betrouwbaarste oplossing is om gebruik te maken van een FTDI adaptor zoals de FTDI-basic van Adafruit. Hou er rekening mee dat de USB-connector op de FTDI-basic geen micro -USB is maar de iets grotere mini -USB variant! Standaard wordt deze als 5Volt adaptor geleverd, maar aan de achterkant kun je, door het spoor tussen de middelste pad en de 5V pad te onderbreken en een soldeer brug aan te brengen tussen de middelste pad en de 3.3V pad, de adaptor geschikt maken voor 3v3. Je moet de volgende verbindingen maken: FTDI-basic DSMR-logger Opmerking 5V 3v3 LET OP! 3v3 GND GND TXO RxD RXI TxD USB to Serial adaptor bordje Ook een USB-to-Serial adapter is eenvoudig als programmer te gebruiken door met vier draadjes verbinding tussen de USB-to-Serial Adapter en de DSMR-logger v4 te maken volgens onderstaand schema: Let op! Het heeft er alle schijn van dat dit bordje niet meer ' gezien ' wordt onder MacOS 10.14 ! USB to TTL Serial adaptor kabel Ook deze USB-to-Serial kabel is eenvoudig als programmer te gebruiken alleen moet je er rekening mee houden dat de geleverde spanning 5 volt is en je deze dus niet op de programming poort van de DSMR-logger V4 mag aansluiten. Sluit de USB-to-Serial kabel op deze manier aan om zonder problemen de DSMR-logger V4 te kunnen programmeren. Flashen (programmeren) Omdat de DSMR-logger V4 geen aansluitingen voor specifieke controle signalen heeft moet je in de ArduinoIDE aangeven dat je bij het uploaden van firmware of de data -map geen speciaal protocol gebruikt. In het Tools -menu geef je bij Reset Method None op. Om nu de firmware of de data -map naar de DSMR-logger v4 te flashen moet je de DSMR-logger v4 eerst in Flash-mode zetten. Let op! Koppel, v\u00f3\u00f3rdat je de programmer op de DSMR-logger v4 aansluit, \u00e9\u00e9rst de Slimme Meter los! Dit doe je door achtereenvolgens deze handelingen uit te voeren: Druk op de FLASH knop en houdt deze ingedrukt Druk vervolgens op de RESET knop Laat de RESET knop los Laat als laatste de FLASH knop los De DSMR-logger staat nu in Flash-mode en blijft in die mode tot er firmware of de inhoud van de data -map wordt ge-upload (of tot je nog een keer op de RESET knop drukt). Hierna hoort de DSMR-logger normaal op te starten. Mocht dit niet het geval zijn druk dan 1x op de RESET knop.. Zie ook Vraag en Antwoord [ChartActueel]","title":"Programmer DSMR-logger v4"},{"location":"hardware_V4_Programmer/#programmer-voor-de-dsmr-logger-v4","text":"Er zijn verschillende manieren om de DSMR-logger van (nieuwe) firmware te voorzien. Dit gaat het eenvoudigst Over The Air (OTA) maar de eerste keer zal dit altijd bedraad moeten. FTDI-adapter USB to Serial adaptor bordje USB to TTL adaptor kabel Flashen (programmeren)","title":"Programmer voor de DSMR-logger V4"},{"location":"hardware_V4_Programmer/#ftdi-adapter","text":"Verreweg de betrouwbaarste oplossing is om gebruik te maken van een FTDI adaptor zoals de FTDI-basic van Adafruit. Hou er rekening mee dat de USB-connector op de FTDI-basic geen micro -USB is maar de iets grotere mini -USB variant! Standaard wordt deze als 5Volt adaptor geleverd, maar aan de achterkant kun je, door het spoor tussen de middelste pad en de 5V pad te onderbreken en een soldeer brug aan te brengen tussen de middelste pad en de 3.3V pad, de adaptor geschikt maken voor 3v3. Je moet de volgende verbindingen maken: FTDI-basic DSMR-logger Opmerking 5V 3v3 LET OP! 3v3 GND GND TXO RxD RXI TxD","title":"FTDI-adapter"},{"location":"hardware_V4_Programmer/#usb-to-serial-adaptor-bordje","text":"Ook een USB-to-Serial adapter is eenvoudig als programmer te gebruiken door met vier draadjes verbinding tussen de USB-to-Serial Adapter en de DSMR-logger v4 te maken volgens onderstaand schema: Let op! Het heeft er alle schijn van dat dit bordje niet meer ' gezien ' wordt onder MacOS 10.14 !","title":"USB to Serial adaptor bordje"},{"location":"hardware_V4_Programmer/#usb-to-ttl-serial-adaptor-kabel","text":"Ook deze USB-to-Serial kabel is eenvoudig als programmer te gebruiken alleen moet je er rekening mee houden dat de geleverde spanning 5 volt is en je deze dus niet op de programming poort van de DSMR-logger V4 mag aansluiten. Sluit de USB-to-Serial kabel op deze manier aan om zonder problemen de DSMR-logger V4 te kunnen programmeren.","title":"USB to TTL Serial adaptor kabel"},{"location":"hardware_V4_Programmer/#flashen-programmeren","text":"Omdat de DSMR-logger V4 geen aansluitingen voor specifieke controle signalen heeft moet je in de ArduinoIDE aangeven dat je bij het uploaden van firmware of de data -map geen speciaal protocol gebruikt. In het Tools -menu geef je bij Reset Method None op. Om nu de firmware of de data -map naar de DSMR-logger v4 te flashen moet je de DSMR-logger v4 eerst in Flash-mode zetten. Let op! Koppel, v\u00f3\u00f3rdat je de programmer op de DSMR-logger v4 aansluit, \u00e9\u00e9rst de Slimme Meter los! Dit doe je door achtereenvolgens deze handelingen uit te voeren: Druk op de FLASH knop en houdt deze ingedrukt Druk vervolgens op de RESET knop Laat de RESET knop los Laat als laatste de FLASH knop los De DSMR-logger staat nu in Flash-mode en blijft in die mode tot er firmware of de inhoud van de data -map wordt ge-upload (of tot je nog een keer op de RESET knop drukt). Hierna hoort de DSMR-logger normaal op te starten. Mocht dit niet het geval zijn druk dan 1x op de RESET knop.. Zie ook Vraag en Antwoord [ChartActueel]","title":"Flashen (programmeren)"},{"location":"installatieArduinoIDE/","text":"Installatie ArduinoIDE Download en installeer de Arduino Integrated Development Environment (IDE) voor het Operating Systeem (OS) waar jouw Desktop of Laptop computer (er zijn versies voor Windows, Linux en Mac) mee werkt. Je kunt de Software hier downloaden. Let op! De DSMRloggerWS firmware is getest met de ArduinoIDE v1.8.8, v1.8.9 en v1.8.10 Let op! De Arduino IDE v1.9.x (Beta) is NIET geschikt om deze firmware mee te compileren. Tot v1.9.x zorgt de IDE ervoor dat alle tab-bladen ( .ino files) achter elkaar worden geplakt tot \u00e9\u00e9n source file waarna deze aan de compiler (als \u00e9\u00e9n file dus) wordt aangeboden. De Arduino IDE is eigenlijk de enige IDE (voor zover ik weet) die dit doet en is als zodanig dus een beetje vreemd . v1.9.x (Beta) doet dit in ieder geval (nog). Na het downloaden moet je het ontvangen bestand uitpakken (unzip of untar) en installeren. Dat installeren is per OS anders maar staat duidelijk op de website van Arduino aangegeven. Eenmaal ge\u00efnstalleerd kun je direct met de Arduino IDE aan de slag. Om de IDE met de ESP8266 microprocessor te kunnen gebruiken moeten we nog wat stappen uitvoeren. [DSMR-Chart Financieel]","title":"ArduinoIDE"},{"location":"installatieArduinoIDE/#installatie-arduinoide","text":"Download en installeer de Arduino Integrated Development Environment (IDE) voor het Operating Systeem (OS) waar jouw Desktop of Laptop computer (er zijn versies voor Windows, Linux en Mac) mee werkt. Je kunt de Software hier downloaden. Let op! De DSMRloggerWS firmware is getest met de ArduinoIDE v1.8.8, v1.8.9 en v1.8.10 Let op! De Arduino IDE v1.9.x (Beta) is NIET geschikt om deze firmware mee te compileren. Tot v1.9.x zorgt de IDE ervoor dat alle tab-bladen ( .ino files) achter elkaar worden geplakt tot \u00e9\u00e9n source file waarna deze aan de compiler (als \u00e9\u00e9n file dus) wordt aangeboden. De Arduino IDE is eigenlijk de enige IDE (voor zover ik weet) die dit doet en is als zodanig dus een beetje vreemd . v1.9.x (Beta) doet dit in ieder geval (nog). Na het downloaden moet je het ontvangen bestand uitpakken (unzip of untar) en installeren. Dat installeren is per OS anders maar staat duidelijk op de website van Arduino aangegeven. Eenmaal ge\u00efnstalleerd kun je direct met de Arduino IDE aan de slag. Om de IDE met de ESP8266 microprocessor te kunnen gebruiken moeten we nog wat stappen uitvoeren. [DSMR-Chart Financieel]","title":"Installatie ArduinoIDE"},{"location":"installatieBibliotheken/","text":"Installatie Bibliotheken Nu je een ArduinoIDE hebt waarmee je ESP8266\u2019s kunt programmeren (flashen) zul je ontdekken dat er door briljante mensen software is ontwikkeld die je kunt gebruiken om complexe projecten te realiseren, zonder dat je zelf het wiel hoeft uit te vinden. Deze software wordt veelal in de vorm van een bibliotheek aangeboden en je hoeft zo\u2019n bibliotheek alleen maar te installeren om er gebruik van te kunnen maken. Hier vind je de offici\u00eble instructies voor het installeren van bibliotheken met de ArduinoIDE. Stel je wilt je ESP8266 benaderen met een telnet client zodat je vanaf je Desktop of Laptop op de ESP8266 kunt inloggen. Je hebt op de ESP8266 dan een telnet server nodig. Met wat Googelen naar \" ESP8266 telnet \" blijken hier een aantal bibliotheken voor te bestaan. Als voorbeeld nemen we TelnetStream van Jan Drassy . Zijn telnet implementatie kun je vanaf deze https://github.com/jandrassy/TelnetStream/ github pagina als bibliotheek downloaden. Om de bibliotheek te installeren klik je op de groene [Clone or download] knop en selecteer je [Download ZIP] . Onthou waar je het zip-file bewaard! Ga nu naar de ArduinoIDE en selecteer: [ Sketch ] => [ Include Library ] => [ Add .ZIP Library ] Er verschijnt een selectie window waar je het zojuist ge-download-de bestand selecteert. Klik op [Choose] . De bibliotheek is nu ge\u00efnstalleerd en klaar om gebruikt te worden. De meeste bibliotheken komen met een aantal voorbeeld programma\u2019s waarmee je kunt leren hoe je de bibliotheek kunt gebruiken. Jan Drassy is erg summier met zijn uitleg maar gelukkig is er een map met voorbeelden (nou ja, \u00e9\u00e9n voorbeeld). (sorry, het plaatje is een beetje verknipt) Klik je nu op [ TelnetStreamTest ] dan wordt dit voorbeeld programma in de ArduinoIDE geladen. Installeer op dezelfde manier de bibliotheken die voor de DSMRloggerWS firmware nodig zijn (zie het volgende hoofdstuk ). [DSMR-Dag]","title":"Installeren Bibliotheken"},{"location":"installatieBibliotheken/#installatie-bibliotheken","text":"Nu je een ArduinoIDE hebt waarmee je ESP8266\u2019s kunt programmeren (flashen) zul je ontdekken dat er door briljante mensen software is ontwikkeld die je kunt gebruiken om complexe projecten te realiseren, zonder dat je zelf het wiel hoeft uit te vinden. Deze software wordt veelal in de vorm van een bibliotheek aangeboden en je hoeft zo\u2019n bibliotheek alleen maar te installeren om er gebruik van te kunnen maken. Hier vind je de offici\u00eble instructies voor het installeren van bibliotheken met de ArduinoIDE. Stel je wilt je ESP8266 benaderen met een telnet client zodat je vanaf je Desktop of Laptop op de ESP8266 kunt inloggen. Je hebt op de ESP8266 dan een telnet server nodig. Met wat Googelen naar \" ESP8266 telnet \" blijken hier een aantal bibliotheken voor te bestaan. Als voorbeeld nemen we TelnetStream van Jan Drassy . Zijn telnet implementatie kun je vanaf deze https://github.com/jandrassy/TelnetStream/ github pagina als bibliotheek downloaden. Om de bibliotheek te installeren klik je op de groene [Clone or download] knop en selecteer je [Download ZIP] . Onthou waar je het zip-file bewaard! Ga nu naar de ArduinoIDE en selecteer: [ Sketch ] => [ Include Library ] => [ Add .ZIP Library ] Er verschijnt een selectie window waar je het zojuist ge-download-de bestand selecteert. Klik op [Choose] . De bibliotheek is nu ge\u00efnstalleerd en klaar om gebruikt te worden. De meeste bibliotheken komen met een aantal voorbeeld programma\u2019s waarmee je kunt leren hoe je de bibliotheek kunt gebruiken. Jan Drassy is erg summier met zijn uitleg maar gelukkig is er een map met voorbeelden (nou ja, \u00e9\u00e9n voorbeeld). (sorry, het plaatje is een beetje verknipt) Klik je nu op [ TelnetStreamTest ] dan wordt dit voorbeeld programma in de ArduinoIDE geladen. Installeer op dezelfde manier de bibliotheken die voor de DSMRloggerWS firmware nodig zijn (zie het volgende hoofdstuk ). [DSMR-Dag]","title":"Installatie Bibliotheken"},{"location":"installatieDataUploadTool/","text":"Installatie Data Upload Tool E\u00e9n van de mooie eigenschappen van de ESP8266 is dat er flash geheugen in zit. Flash geheugen is geheugen dat zijn inhoud ook zonder spanning behoud. Vergelijk het met een SD-kaart. Het flash geheugen is, afhankelijk van het bordje, 512kB tot 16MB(!) groot. Een deel van dit flash geheugen wordt gebruikt om jouw programma in op te slaan. Wat er over blijft kan als bestand-systeem worden ingericht (het zgn. SPI Flash File Systeem \u2011SPIFFS\u2011). Je kunt in je programma dit bestand-systeem niet alleen gebruiken om (bijvoorbeeld meet-) gegevens maar ook om de inhoud van een web-pagina ( index.html ) of een configuratie-bestand in op te slaan. Om het SPI Flash File Systeem voor dit soort bestanden te kunnen gebruiken moet je een plug-in in je Arduino Projecten map installeren. De plug-in haal je hier vandaan. Ga naar deze github pagina en klik op rood omcirkelde bestand .. Download vervolgens het ESP8266FS-0.4.0.zip bestand door er op te klikken. En bewaar het bestand op een plek die voor jou handig is. Ga nu naar je Sketchbook Location map en maak daarin een nieuwe map tools aan (als deze nog niet bestaat). Pak het zojuist ge-download-de zip bestand uit in deze tools map. Er wordt nu een aantal nieuwe mappen aangemaakt waar de plug-in wordt neergezet. Het pad ziet er ongeveer zo uit: /tools/ESP8266FS/tool/esp8266fs.jar Start de Arduino IDE opnieuw op. Op de menu-balk zie je nu onder [ Tools ] een nieuwe optie: ESP8266 Sketch Data Upload . Als er onder de map van je Sketch \u00f3\u00f3k een map data staat, dan kun je de bestanden die in deze data -map staan met het Sketch Data Upload tool naar het SPIFFS van de ESP8266 flashen. De bestands-tree van de DSMRloggerWS firmware ziet er zo uit: Het ESP8266 Sketch Data Upload tool zal alle bestanden die in de data -map zitten naar het SPIFFS van de aangesloten ESP8266 uploaden. Ga naar: [ tools ] -> [ ESP8266 Sketch Data Upload ] Randvoorwaarde is natuurlijk dat het SPIFFS groot genoeg is! In de selectie van je board moet je, behalve het juiste type board ook aangeven hoeveel ruimte van je Flash geheugen je wilt gebruiken voor het bestand-systeem (v\u00f3\u00f3rdat je je programma naar de ESP8266 upload!). Normaliter zou je dit zo groot mogelijk willen maken, maar als je \u201cOver The Air\u201d programma\u2019s op je ESP8266 wilt zetten (dus zonder fysieke verbinding maar via WiFi) dan moet je er rekening mee houden dat je twee maal de grootte van je programma nodig hebt om dit te kunnen doen. Wat er overblijft kun je als bestand-systeem gebruiken. [ChartFinancieel]","title":"Data Upload Tool"},{"location":"installatieDataUploadTool/#installatie-data-upload-tool","text":"E\u00e9n van de mooie eigenschappen van de ESP8266 is dat er flash geheugen in zit. Flash geheugen is geheugen dat zijn inhoud ook zonder spanning behoud. Vergelijk het met een SD-kaart. Het flash geheugen is, afhankelijk van het bordje, 512kB tot 16MB(!) groot. Een deel van dit flash geheugen wordt gebruikt om jouw programma in op te slaan. Wat er over blijft kan als bestand-systeem worden ingericht (het zgn. SPI Flash File Systeem \u2011SPIFFS\u2011). Je kunt in je programma dit bestand-systeem niet alleen gebruiken om (bijvoorbeeld meet-) gegevens maar ook om de inhoud van een web-pagina ( index.html ) of een configuratie-bestand in op te slaan. Om het SPI Flash File Systeem voor dit soort bestanden te kunnen gebruiken moet je een plug-in in je Arduino Projecten map installeren. De plug-in haal je hier vandaan. Ga naar deze github pagina en klik op rood omcirkelde bestand .. Download vervolgens het ESP8266FS-0.4.0.zip bestand door er op te klikken. En bewaar het bestand op een plek die voor jou handig is. Ga nu naar je Sketchbook Location map en maak daarin een nieuwe map tools aan (als deze nog niet bestaat). Pak het zojuist ge-download-de zip bestand uit in deze tools map. Er wordt nu een aantal nieuwe mappen aangemaakt waar de plug-in wordt neergezet. Het pad ziet er ongeveer zo uit: /tools/ESP8266FS/tool/esp8266fs.jar Start de Arduino IDE opnieuw op. Op de menu-balk zie je nu onder [ Tools ] een nieuwe optie: ESP8266 Sketch Data Upload . Als er onder de map van je Sketch \u00f3\u00f3k een map data staat, dan kun je de bestanden die in deze data -map staan met het Sketch Data Upload tool naar het SPIFFS van de ESP8266 flashen. De bestands-tree van de DSMRloggerWS firmware ziet er zo uit: Het ESP8266 Sketch Data Upload tool zal alle bestanden die in de data -map zitten naar het SPIFFS van de aangesloten ESP8266 uploaden. Ga naar: [ tools ] -> [ ESP8266 Sketch Data Upload ] Randvoorwaarde is natuurlijk dat het SPIFFS groot genoeg is! In de selectie van je board moet je, behalve het juiste type board ook aangeven hoeveel ruimte van je Flash geheugen je wilt gebruiken voor het bestand-systeem (v\u00f3\u00f3rdat je je programma naar de ESP8266 upload!). Normaliter zou je dit zo groot mogelijk willen maken, maar als je \u201cOver The Air\u201d programma\u2019s op je ESP8266 wilt zetten (dus zonder fysieke verbinding maar via WiFi) dan moet je er rekening mee houden dat je twee maal de grootte van je programma nodig hebt om dit te kunnen doen. Wat er overblijft kun je als bestand-systeem gebruiken. [ChartFinancieel]","title":"Installatie Data Upload Tool"},{"location":"installatieESP8266core/","text":"Installatie ESP8266 core In de Arduino IDE moet bij \u201cInstellingen\u201d de volgende URL worden ingevoerd achter \u201c Additional Boards Manager URL\u2019s: \u201d (zie rood omlijnde kader) https://arduino.esp8266.com/stable/package_esp8266com_index.json Lees vooral de uitleg in het README.md bestand en de uitgebreide documentatie op hun website! Er kunnen meer additional board manager URL\u2019s worden ingevuld. Je moet ze dan achter elkaar zetten en scheiden door een komma ( , ). Eventueel kun je ook het pad waar je projecten staan (de Sketchbook Location ) aanpassen. Standaard verwijst deze naar je Documenten map: C:\\Users\\\\Documents\\arduino\\ .. en dat is een prima plek! De andere instellingen kun je naar behoefte aanpassen. Hierboven staan de instellingen die ik prettig vind. Na het maken van aanpassingen klik je op [OK]. Ga nu via de ArduinoIDE menu-balk naar [ Tools ] -> [ Board ] -> [ Boards Manager ]. Voer bij filter \u201cesp8266\u201d in. Selecteer de versie die je wilt gaan gebruiken en klik op [ Install ]. Let op! De DSMRloggerWS firmware is getest met versie 2.5.0 en met versie 2.5.2 . [DSMR-Uur]","title":"ESP8266 Core"},{"location":"installatieESP8266core/#installatie-esp8266-core","text":"In de Arduino IDE moet bij \u201cInstellingen\u201d de volgende URL worden ingevoerd achter \u201c Additional Boards Manager URL\u2019s: \u201d (zie rood omlijnde kader) https://arduino.esp8266.com/stable/package_esp8266com_index.json Lees vooral de uitleg in het README.md bestand en de uitgebreide documentatie op hun website! Er kunnen meer additional board manager URL\u2019s worden ingevuld. Je moet ze dan achter elkaar zetten en scheiden door een komma ( , ). Eventueel kun je ook het pad waar je projecten staan (de Sketchbook Location ) aanpassen. Standaard verwijst deze naar je Documenten map: C:\\Users\\\\Documents\\arduino\\ .. en dat is een prima plek! De andere instellingen kun je naar behoefte aanpassen. Hierboven staan de instellingen die ik prettig vind. Na het maken van aanpassingen klik je op [OK]. Ga nu via de ArduinoIDE menu-balk naar [ Tools ] -> [ Board ] -> [ Boards Manager ]. Voer bij filter \u201cesp8266\u201d in. Selecteer de versie die je wilt gaan gebruiken en klik op [ Install ]. Let op! De DSMRloggerWS firmware is getest met versie 2.5.0 en met versie 2.5.2 . [DSMR-Uur]","title":"Installatie ESP8266 core"},{"location":"integratieDomoticz/","text":"Integratie DSMR-logger met Domoticz Michel Groen heeft een script voor Domoticz geschreven waarmee data uit de DSMR-logger in Domoticz kan worden weergegeven. Je kunt het script vinden in de DSMRloggerWS repository op github, in de sub-map Domoticz . [Domoticz]","title":"Integratie Domoticz"},{"location":"integratieDomoticz/#integratie-dsmr-logger-met-domoticz","text":"Michel Groen heeft een script voor Domoticz geschreven waarmee data uit de DSMR-logger in Domoticz kan worden weergegeven. Je kunt het script vinden in de DSMRloggerWS repository op github, in de sub-map Domoticz .","title":"Integratie DSMR-logger met Domoticz"},{"location":"integratieHassio/","text":"Integratie DSMR-logger met Home Assistant De data uit de DSMR-logger kan op verschillende manieren met Home Assistant gedeeld worden. Verreweg het makkelijkste is dat door gebruik te maken van een MQTT Broker. De DSMR-logger publiceert de gegevens uit de Slimme Meter in een bepaald topic. Home Assistant moet dan een subscription op dat zelfde topic hebben om zo de gegevens in te lezen en te presenteren. Vaak draait Home Assistant thuis op een server (Raspberry Pi of anderszins) en is het eenvoudig om op die server ook een (Mosquitto) MQTT broker te installeren (veel installaties van Home Assistant hebben dat al standaard gedaan). Om de intergratie voor elkaar te krijgen moet in het configuratie.yaml bestand van Home Assistant onder andere deze instellingen komen te staan: group: !include_dir_merge_named groups/ script: !include scripts.yaml sensor: !include_dir_merge_list sensors/ switch: !include_dir_merge_list switches/ light: !include_dir_merge_list lights/ camera: !include_dir_merge_list cameras/ mqtt: broker: port: 1883 client_id: HassIO keepalive: 60 username: password: Hierdoor zal Home Assistant alle (yaml) bestanden die in de sub-map groups/ staan inlezen. Hetzelfde geldt voor de sub-mappen sensors/ , switches/ , lights/ en cameras/ . Voor de koppeling met de DSMR-logger zijn alleen de sub-mappen groups/ en sensors/ van belang en natuurlijk de settings voor de MQTT broker ! In de sub-map groups/ komt een bestand DSMR-Actueel.yaml met de volgende inhoud: ###group: ### ###VIEWS### Energie: name: Energie view: yes entities: - group.Energie_Verbruik - group.Energie_Teruglevering - group.DSMR_Last_Update - group.Energy_Graph1 - group.LastUpdate ###CARDS### DSMR_Last_Update: name: DSMR Last Update entities: - sensor.LastUpdate Energie_Verbruik: name: Energie Verbruik (actueel) entities: - sensor.Energy_Delivered - sensor.Power_Delivered - sensor.Power_Delivered_l1 - sensor.Power_Delivered_l2 - sensor.Power_Delivered_l3 - sensor.Gas_Delivered Energie_Teruglevering: name: Energie Teruglevering (actueel) entities: - sensor.Energy_Returned - sensor.Power_Returned - sensor.Power_Returned_l3 en in de sub-map sensors/ komt een bestand DSMR-Actueel.yaml met deze inhoud: ### sensor: ### ### DSMR-WS ### - platform: mqtt name: \"LastUpdate\" friendly_name: \"Last update\" state_topic: \"DSMR-WS/JSON/timestamp\" unit_of_measurement: \"\" value_template: \"[[ value_json.timestamp ]]\" - platform: mqtt name: \"Energy Delivered\" state_topic: \"DSMR-WS/JSON/energy_delivered\" unit_of_measurement: \"kWh\" value_template: '[[ value_json.energy_delivered | round(3) ]]' - platform: mqtt name: \"Energy Returned\" state_topic: \"DSMR-WS/JSON/energy_returned\" unit_of_measurement: \"kWh\" value_template: '[[ value_json.energy_returned | round(3) ]]' - platform: mqtt name: \"Power Delivered\" state_topic: \"DSMR-WS/JSON/power_delivered\" unit_of_measurement: \"kW\" value_template: '[[ value_json.power_delivered | round(3) ]]' - platform: mqtt name: \"Power Returned\" state_topic: \"DSMR-WS/JSON/power_returned\" unit_of_measurement: \"kW\" value_template: '[[ value_json.power_returned | round(3) ]]' - platform: mqtt name: \"Power Delivered l1\" state_topic: \"DSMR-WS/JSON/power_delivered_l1\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_delivered_l1 | round(1) ]]' - platform: mqtt name: \"Power Delivered l2\" state_topic: \"DSMR-WS/JSON/power_delivered_l2\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_delivered_l2 | round(1) ]]' - platform: mqtt name: \"Power Delivered l3\" state_topic: \"DSMR-WS/JSON/power_delivered_l3\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_delivered_l3 | round(1) ]]' - platform: mqtt name: \"Power Returned l1\" state_topic: \"DSMR-WS/JSON/power_returned_l1\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_returned_l1 | round(1) ]]' - platform: mqtt name: \"Power Returned l2\" state_topic: \"DSMR-WS/JSON/power_returned_l2\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_returned_l2 | round(1) ]]' - platform: mqtt name: \"Power Returned l3\" state_topic: \"DSMR-WS/JSON/power_returned_l3\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_returned_l3 | round(1) ]]' - platform: mqtt name: \"Gas_Delivered\" state_topic: \"DSMR-WS/JSON/gas_delivered\" unit_of_measurement: \"m3\" value_template: '[[ value_json.gas_delivered | round(2) ]]' Let op! github pages kan niet tegen dubbele ' { ' tekens omdat hij dan denkt dat er een variabele moet worden gesubstitueerd. Daarom heb ik in bovenstaande source bij de value_template 's dubbele ' [ ' en ' ] ' gezet waar dit dus dubbele ' { ' en ' } ' moeten zijn!!!","title":"Integratie Home Assistant"},{"location":"integratieHassio/#integratie-dsmr-logger-met-home-assistant","text":"De data uit de DSMR-logger kan op verschillende manieren met Home Assistant gedeeld worden. Verreweg het makkelijkste is dat door gebruik te maken van een MQTT Broker. De DSMR-logger publiceert de gegevens uit de Slimme Meter in een bepaald topic. Home Assistant moet dan een subscription op dat zelfde topic hebben om zo de gegevens in te lezen en te presenteren. Vaak draait Home Assistant thuis op een server (Raspberry Pi of anderszins) en is het eenvoudig om op die server ook een (Mosquitto) MQTT broker te installeren (veel installaties van Home Assistant hebben dat al standaard gedaan). Om de intergratie voor elkaar te krijgen moet in het configuratie.yaml bestand van Home Assistant onder andere deze instellingen komen te staan: group: !include_dir_merge_named groups/ script: !include scripts.yaml sensor: !include_dir_merge_list sensors/ switch: !include_dir_merge_list switches/ light: !include_dir_merge_list lights/ camera: !include_dir_merge_list cameras/ mqtt: broker: port: 1883 client_id: HassIO keepalive: 60 username: password: Hierdoor zal Home Assistant alle (yaml) bestanden die in de sub-map groups/ staan inlezen. Hetzelfde geldt voor de sub-mappen sensors/ , switches/ , lights/ en cameras/ . Voor de koppeling met de DSMR-logger zijn alleen de sub-mappen groups/ en sensors/ van belang en natuurlijk de settings voor de MQTT broker ! In de sub-map groups/ komt een bestand DSMR-Actueel.yaml met de volgende inhoud: ###group: ### ###VIEWS### Energie: name: Energie view: yes entities: - group.Energie_Verbruik - group.Energie_Teruglevering - group.DSMR_Last_Update - group.Energy_Graph1 - group.LastUpdate ###CARDS### DSMR_Last_Update: name: DSMR Last Update entities: - sensor.LastUpdate Energie_Verbruik: name: Energie Verbruik (actueel) entities: - sensor.Energy_Delivered - sensor.Power_Delivered - sensor.Power_Delivered_l1 - sensor.Power_Delivered_l2 - sensor.Power_Delivered_l3 - sensor.Gas_Delivered Energie_Teruglevering: name: Energie Teruglevering (actueel) entities: - sensor.Energy_Returned - sensor.Power_Returned - sensor.Power_Returned_l3 en in de sub-map sensors/ komt een bestand DSMR-Actueel.yaml met deze inhoud: ### sensor: ### ### DSMR-WS ### - platform: mqtt name: \"LastUpdate\" friendly_name: \"Last update\" state_topic: \"DSMR-WS/JSON/timestamp\" unit_of_measurement: \"\" value_template: \"[[ value_json.timestamp ]]\" - platform: mqtt name: \"Energy Delivered\" state_topic: \"DSMR-WS/JSON/energy_delivered\" unit_of_measurement: \"kWh\" value_template: '[[ value_json.energy_delivered | round(3) ]]' - platform: mqtt name: \"Energy Returned\" state_topic: \"DSMR-WS/JSON/energy_returned\" unit_of_measurement: \"kWh\" value_template: '[[ value_json.energy_returned | round(3) ]]' - platform: mqtt name: \"Power Delivered\" state_topic: \"DSMR-WS/JSON/power_delivered\" unit_of_measurement: \"kW\" value_template: '[[ value_json.power_delivered | round(3) ]]' - platform: mqtt name: \"Power Returned\" state_topic: \"DSMR-WS/JSON/power_returned\" unit_of_measurement: \"kW\" value_template: '[[ value_json.power_returned | round(3) ]]' - platform: mqtt name: \"Power Delivered l1\" state_topic: \"DSMR-WS/JSON/power_delivered_l1\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_delivered_l1 | round(1) ]]' - platform: mqtt name: \"Power Delivered l2\" state_topic: \"DSMR-WS/JSON/power_delivered_l2\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_delivered_l2 | round(1) ]]' - platform: mqtt name: \"Power Delivered l3\" state_topic: \"DSMR-WS/JSON/power_delivered_l3\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_delivered_l3 | round(1) ]]' - platform: mqtt name: \"Power Returned l1\" state_topic: \"DSMR-WS/JSON/power_returned_l1\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_returned_l1 | round(1) ]]' - platform: mqtt name: \"Power Returned l2\" state_topic: \"DSMR-WS/JSON/power_returned_l2\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_returned_l2 | round(1) ]]' - platform: mqtt name: \"Power Returned l3\" state_topic: \"DSMR-WS/JSON/power_returned_l3\" unit_of_measurement: \"Watt\" value_template: '[[ value_json.power_returned_l3 | round(1) ]]' - platform: mqtt name: \"Gas_Delivered\" state_topic: \"DSMR-WS/JSON/gas_delivered\" unit_of_measurement: \"m3\" value_template: '[[ value_json.gas_delivered | round(2) ]]' Let op! github pages kan niet tegen dubbele ' { ' tekens omdat hij dan denkt dat er een variabele moet worden gesubstitueerd. Daarom heb ik in bovenstaande source bij de value_template 's dubbele ' [ ' en ' ] ' gezet waar dit dus dubbele ' { ' en ' } ' moeten zijn!!!","title":"Integratie DSMR-logger met Home Assistant"},{"location":"integratieHomey/","text":"Integratie DSMR-logger met Homey Tycho Schenkeveld heeft een interface tussen de DSMR-logger en Homey gemaakt en deze op github geplaatst!","title":"Integratie Homey"},{"location":"integratieHomey/#integratie-dsmr-logger-met-homey","text":"Tycho Schenkeveld heeft een interface tussen de DSMR-logger en Homey gemaakt en deze op github geplaatst!","title":"Integratie DSMR-logger met Homey"},{"location":"introductie/","text":"Introductie Je vindt hier de documentatie voor het project DSMR-logger (Versie 4). De DSMR-logger is een hardware en software systeem waarmee de Slimme Meter (vanaf DSMR versie 4.0) kan worden uitgelezen. De uitgelezen data (telegrammen) worden in de DSMR-logger opgeslagen en kunnen in de vorm van tabellen en charts, via WiFi, op een computer of tablet worden weergegeven. Begrippen In dit document worden de volgende begrippen gebruikt: Begrip Omschrijving DSMR Dutch Smart Meter Requirements De DSMR-specificatie is een afgeleide van de NTA 8130-normering. De DSMR-logger (V3 en V4) is ontworpen voor de DSMR versie 4.0 of hoger. Versie 4 geeft aan dat de Slimme Meter op de P1-poort 5 volt bij 250mA moet kunnen leveren (zie pagina 8 en 9 van de specificatie). Deze spanning wordt door de DSMR-logger gebruikt om de elektronica te voeden. DSMR-logger de Hardware DSMR-logger v2 (of Versie 2) Versie 2 van de Hardware Dit is de hardware van de DSMR-logger die is uitgerust met een ESP-01 (Black/S) bordje. Voor deze versie is de firmware DSMRlogger2HTTP bedoeld maar DSMRloggerWS is, met beperkte functionaliteit, ook geschikt te maken voor deze versie van de hardware. DSMR-logger v3 (of Versie 3) Versie 3 van de Hardware Verder gelijk aan Versie 2. DSMR-logger v4 (of Versie 4) Versie 4 van de Hardware Deze hardware is de basis voor dit project DSMRloggerWS De firmware voor de DSMR-logger v4 ESP-12 Een bordje met een ESP8266 processor en 4MB Flash Geheugen Dit bordje wordt gebruikt in de DSMR-logger v4 ESP-01 (Black) Een ESP-01 met 1MB flash geheugen Dit bordje heeft een rode Power Led en een blauwe Led op GPIO-01 ESP-01S Een ESP-01 met 1MB flash geheugen Dit bordje heeft alleen een blauwe Led op GPIO-02 ESP-01(Black/S) Als een ' ESP-01 Black ' of ' ESP-01S ' wordt bedoelt maar niet een ' ESP-01 '. DSMR-logger v2 en v3 maken gebruik van dit bordje ESP-01 Een bordje met een ESP8266 processor en 512KB flash geheugen Dit bordje is niet geschikt voor dit project PUYA PUYA is een fabrikant van flash chips die op verschillende soorten ESP-01 bordjes wordt gebruikt. Deze chips voldoen niet aan de eisen en hebben voor veel problemen gezorgd. Er is wel een compiler-optie die het gebruik van deze chip mogelijk maakt maar dit werkt helaas niet in alle gevallen. Het wordt afgeraden deze flash chip met DSMRloggerWS te gebruiken. Een volledige beschrijving van dit project kun je hier vinden. [DSMRlogger v4]","title":"Introductie"},{"location":"introductie/#introductie","text":"Je vindt hier de documentatie voor het project DSMR-logger (Versie 4). De DSMR-logger is een hardware en software systeem waarmee de Slimme Meter (vanaf DSMR versie 4.0) kan worden uitgelezen. De uitgelezen data (telegrammen) worden in de DSMR-logger opgeslagen en kunnen in de vorm van tabellen en charts, via WiFi, op een computer of tablet worden weergegeven. Begrippen In dit document worden de volgende begrippen gebruikt: Begrip Omschrijving DSMR Dutch Smart Meter Requirements De DSMR-specificatie is een afgeleide van de NTA 8130-normering. De DSMR-logger (V3 en V4) is ontworpen voor de DSMR versie 4.0 of hoger. Versie 4 geeft aan dat de Slimme Meter op de P1-poort 5 volt bij 250mA moet kunnen leveren (zie pagina 8 en 9 van de specificatie). Deze spanning wordt door de DSMR-logger gebruikt om de elektronica te voeden. DSMR-logger de Hardware DSMR-logger v2 (of Versie 2) Versie 2 van de Hardware Dit is de hardware van de DSMR-logger die is uitgerust met een ESP-01 (Black/S) bordje. Voor deze versie is de firmware DSMRlogger2HTTP bedoeld maar DSMRloggerWS is, met beperkte functionaliteit, ook geschikt te maken voor deze versie van de hardware. DSMR-logger v3 (of Versie 3) Versie 3 van de Hardware Verder gelijk aan Versie 2. DSMR-logger v4 (of Versie 4) Versie 4 van de Hardware Deze hardware is de basis voor dit project DSMRloggerWS De firmware voor de DSMR-logger v4 ESP-12 Een bordje met een ESP8266 processor en 4MB Flash Geheugen Dit bordje wordt gebruikt in de DSMR-logger v4 ESP-01 (Black) Een ESP-01 met 1MB flash geheugen Dit bordje heeft een rode Power Led en een blauwe Led op GPIO-01 ESP-01S Een ESP-01 met 1MB flash geheugen Dit bordje heeft alleen een blauwe Led op GPIO-02 ESP-01(Black/S) Als een ' ESP-01 Black ' of ' ESP-01S ' wordt bedoelt maar niet een ' ESP-01 '. DSMR-logger v2 en v3 maken gebruik van dit bordje ESP-01 Een bordje met een ESP8266 processor en 512KB flash geheugen Dit bordje is niet geschikt voor dit project PUYA PUYA is een fabrikant van flash chips die op verschillende soorten ESP-01 bordjes wordt gebruikt. Deze chips voldoen niet aan de eisen en hebben voor veel problemen gezorgd. Er is wel een compiler-optie die het gebruik van deze chip mogelijk maakt maar dit werkt helaas niet in alle gevallen. Het wordt afgeraden deze flash chip met DSMRloggerWS te gebruiken. Een volledige beschrijving van dit project kun je hier vinden. [DSMRlogger v4]","title":"Introductie"},{"location":"overzichtFuncties/","text":"Overzicht te selecteren functies Tijdens het compileren van de firmware kun je bepaalde functionaliteit in- en uit-schakelen door de #defines w\u00e9l of n\u00edet door twee slashes (\"//\") vooraf te laten gaan. In onderstaande tabel kun je zien of een bepaalde functionaliteit beschikbaar is voor de verschillende versies van de DSMR-logger. #define Functie Versie 4 Versie 3 IS_ESP12 Geeft aan of je de firmware voor een ESP12 of andere (ESP-01) processor compileren JA (moet) NEE USE_UPDATE_SERVER Met de Update Server kun je vanuit de FSexplorer updates van de firmware installeren JA NEE HAS_OLED_SSD1306 Functionaliteit om (status) meldingen naar een OLED scherm (0.96\" type SSD1306) te sturen JA NEE HAS_OLED_SH1106 Functionaliteit om (status) meldingen naar een OLED scherm (1.3\" type SH1106) te sturen JA NEE USE_PRE40_PROTOCOL Voor \"oude\" Slimme Meters JA JA USE_NTP_TIME Gebruik de tijd van een NTP server i.p.v. die van de Slimme Meter JA JA SM_HAS_NO_FASE_INFO Sommige \u00e9\u00e9n fase Slimme Meter's geven geen info per fase af JA JA USE_MQTT Deze optie zorgt ervoor dat de functionaliteit voor het versturen van gegevens naar een MQTT broker wordt ingebouwd JA JA SHOW_PASSWORDS Of je de gebruikte passwords in het Systeem Info scherm en via telnet wilt tonen JA JA HAS_NO_METER Als je geen Slimme Meter op de DSMR-logger hebt aangesloten JA JA /******************** compiler options ********************************************/ #define IS_ESP12 // define if it's a 'bare' ESP-12 (no reset/flash functionality on board) #define USE_UPDATE_SERVER // define if there is enough memory and updateServer to be used #define HAS_OLED_SSD1306 // define if an OLED display is present // #define USE_PRE40_PROTOCOL // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0) // #define USE_NTP_TIME // define to generate Timestamp from NTP (Only Winter Time for now) // #define SM_HAS_NO_FASE_INFO // if your SM does not give fase info use total delevered/returned #define USE_MQTT // define if you want to use MQTT // #define SHOW_PASSWRDS // well .. show the PSK key and MQTT password, what else? // #define HAS_NO_METER // define if No \"Slimme Meter\" is attached (*TESTING*) /******************** don't change anything below this comment **********************/","title":"Overzicht"},{"location":"overzichtFuncties/#overzicht-te-selecteren-functies","text":"Tijdens het compileren van de firmware kun je bepaalde functionaliteit in- en uit-schakelen door de #defines w\u00e9l of n\u00edet door twee slashes (\"//\") vooraf te laten gaan. In onderstaande tabel kun je zien of een bepaalde functionaliteit beschikbaar is voor de verschillende versies van de DSMR-logger. #define Functie Versie 4 Versie 3 IS_ESP12 Geeft aan of je de firmware voor een ESP12 of andere (ESP-01) processor compileren JA (moet) NEE USE_UPDATE_SERVER Met de Update Server kun je vanuit de FSexplorer updates van de firmware installeren JA NEE HAS_OLED_SSD1306 Functionaliteit om (status) meldingen naar een OLED scherm (0.96\" type SSD1306) te sturen JA NEE HAS_OLED_SH1106 Functionaliteit om (status) meldingen naar een OLED scherm (1.3\" type SH1106) te sturen JA NEE USE_PRE40_PROTOCOL Voor \"oude\" Slimme Meters JA JA USE_NTP_TIME Gebruik de tijd van een NTP server i.p.v. die van de Slimme Meter JA JA SM_HAS_NO_FASE_INFO Sommige \u00e9\u00e9n fase Slimme Meter's geven geen info per fase af JA JA USE_MQTT Deze optie zorgt ervoor dat de functionaliteit voor het versturen van gegevens naar een MQTT broker wordt ingebouwd JA JA SHOW_PASSWORDS Of je de gebruikte passwords in het Systeem Info scherm en via telnet wilt tonen JA JA HAS_NO_METER Als je geen Slimme Meter op de DSMR-logger hebt aangesloten JA JA /******************** compiler options ********************************************/ #define IS_ESP12 // define if it's a 'bare' ESP-12 (no reset/flash functionality on board) #define USE_UPDATE_SERVER // define if there is enough memory and updateServer to be used #define HAS_OLED_SSD1306 // define if an OLED display is present // #define USE_PRE40_PROTOCOL // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0) // #define USE_NTP_TIME // define to generate Timestamp from NTP (Only Winter Time for now) // #define SM_HAS_NO_FASE_INFO // if your SM does not give fase info use total delevered/returned #define USE_MQTT // define if you want to use MQTT // #define SHOW_PASSWRDS // well .. show the PSK key and MQTT password, what else? // #define HAS_NO_METER // define if No \"Slimme Meter\" is attached (*TESTING*) /******************** don't change anything below this comment **********************/","title":"Overzicht te selecteren functies"},{"location":"preferencesIDE/","text":"ArduinoIDE preferences Om het Over The Air updaten van de firmware eenvoudig(er) te maken is het handig om altijd precies te weten waar de nieuw gecompileerde firmware door de IDE wordt neergezet. Het standaard door de ArduinoIDE gebruikte build-path is min-of-meer random, maar in ieder geval is het standaard een steeds veranderende plek op je computer. Gelukkig k\u00fan je het build-path ook op een door jou bepaalde vaste plek configureren. Ga, in de ArduinoIDE, naar Instellingen of Preferences . Onder in het popUp scherm dat nu verschijnt staat het pad naar een tekst bestand waarin de ArduinoIDE allerlei gegevens bijhoudt. Het gaat nu om de plek waar het preferences.txt bestand staat. Sluit de ArduinoIDE af en open het preferences.txt bestand met een tekst-editor ( niet met een tekst-verwerker! ). Ergens in het preferences.txt bestand staan deze instellingen die aangeven hoe je binaries worden ge-build en waar ze worden neergezet. . build.path=/Users/(YourLoginName)/Documenten/arduinoBuild build.verbose=true build.warn_data_percentage=75 . . Het gaat om de variabele build.path . Als deze niet in het preferences.txt bestand staat, raad ik je aan hem toe te voegen met een pad waar je makkelijk bij kunt komen zodat je Sketches altijd op dezelfde plek gecompileerd worden. Het maakt het leven een stukje eenvoudiger ;-) Let op! Pas het preferences.txt bestand alleen aan als de ArduinoIDE is afgesloten! De ArduinoIDE heeft deze preferences in zijn geheugen staan en overschrijft het preferences.txt bestand bij het afsluiten.","title":"preferencesIDE"},{"location":"preferencesIDE/#arduinoide-preferences","text":"Om het Over The Air updaten van de firmware eenvoudig(er) te maken is het handig om altijd precies te weten waar de nieuw gecompileerde firmware door de IDE wordt neergezet. Het standaard door de ArduinoIDE gebruikte build-path is min-of-meer random, maar in ieder geval is het standaard een steeds veranderende plek op je computer. Gelukkig k\u00fan je het build-path ook op een door jou bepaalde vaste plek configureren. Ga, in de ArduinoIDE, naar Instellingen of Preferences . Onder in het popUp scherm dat nu verschijnt staat het pad naar een tekst bestand waarin de ArduinoIDE allerlei gegevens bijhoudt. Het gaat nu om de plek waar het preferences.txt bestand staat. Sluit de ArduinoIDE af en open het preferences.txt bestand met een tekst-editor ( niet met een tekst-verwerker! ). Ergens in het preferences.txt bestand staan deze instellingen die aangeven hoe je binaries worden ge-build en waar ze worden neergezet. . build.path=/Users/(YourLoginName)/Documenten/arduinoBuild build.verbose=true build.warn_data_percentage=75 . . Het gaat om de variabele build.path . Als deze niet in het preferences.txt bestand staat, raad ik je aan hem toe te voegen met een pad waar je makkelijk bij kunt komen zodat je Sketches altijd op dezelfde plek gecompileerd worden. Het maakt het leven een stukje eenvoudiger ;-) Let op! Pas het preferences.txt bestand alleen aan als de ArduinoIDE is afgesloten! De ArduinoIDE heeft deze preferences in zijn geheugen staan en overschrijft het preferences.txt bestand bij het afsluiten.","title":"ArduinoIDE preferences"},{"location":"restAPI/","text":"restAPI Via de restAPI is het mogelijk om vanaf een extern systeem data uit de DSMRlogger op te halen. Deze data wordt in json formaat afgeleverd. De syntax is: http://dsmr-ws.local/restAPI?get={ Actueel | Actual | DevInfo } In plaats van dsmr-ws.local kun je ook het IPadres van de DSMR-logger gebruiken. Let op! restAPI is case-sensitive en moet precies z\u00f3 geschreven worden of helemaal in lower-case ( restapi ). De overige argumenten zijn niet case-sensitive ( Get of gEt en Actual of aCtUaL zijn gelijk). Voorbeeld 1 Om de actuele data uit de Slimme Meter op te halen gebruik je: http://dsmr-ws.local/restAPI?get=Actueel Waarna je de volgende json string terug krijgt: { \"Timestamp\":\"160717102501S\" ,\"Energy_Delivered\":\"96966.094\" ,\"Energy_Returned\":\"69198.641\" ,\"Gas_Delivered\":\"4756.10\" ,\"Energy_Delivered_Tariff1\":\"54210.770\" ,\"Energy_Delivered_Tariff2\":\"42755.324\" ,\"Energy_Returned_Tariff1\":\"27365.799\" ,\"Energy_Returned_Tariff2\":\"41832.840\" ,\"Power_Delivered\":\"4680\" ,\"Power_Returned\":\"1740\" ,\"Voltage_l1\":\"241.0\" ,\"Current_l1\":\"0\" ,\"Voltage_l2\":\"237.0\" ,\"Current_l2\":\"2\" ,\"Voltage_l3\":\"236.0\" ,\"Current_l3\":\"0\" ,\"Power_Delivered_l1\":\"2964\" ,\"Power_Returned_l1\":\"136\" ,\"Power_Delivered_l2\":\"1180\" ,\"Power_Returned_l2\":\"1696\" ,\"Power_Delivered_l3\":\"1536\" ,\"Power_Returned_l3\":\"70\" } In plaats van Actueel kun je ook Actual gebruiken. Voorbeeld 2 Om de Device Informatie van de Slimme Meter en de DSMR-logger op te halen gebruik je het volgende commando: http://192.168.12.63/restapi?GET=DEVInfo Waarna je de volgende json string terug krijgt: { \"Identification\":\"XMX5LGBBLB1234567890\" ,\"P1_Version\":\"50\" ,\"Equipment_Id\":\"453030xxxxxxxxxxxxxxxxxxxxxxxx3136\" ,\"Electricity_Tariff\":\"0002\" ,\"Gas_Device_Type\":\"3\" ,\"Gas_Equipment_Id\":\"47303xxxxxxxxxxxxxxxxxxxxxxxx23136\" ,\"Author\":\"Willem Aandewiel (www.aandewiel.nl)\" ,\"FwVersion\":\"v0.4.2 (May 5 2019)\" ,\"Compiled\":\"May 5 2019 19:31:28\" ,\"FreeHeap\":\"12528\" ,\"ChipID\":\"41e189\" ,\"CoreVersion\":\"2_5_0\" ,\"SdkVersion\":\"3.0.0-dev(c0f7b44)\" ,\"CpuFreqMHz\":\"80\" ,\"SketchSize\":\"511.203kB\" ,\"FreeSketchSpace\":\"236.000kB\" ,\"FlashChipID\":\"0014405E\" ,\"FlashChipSize\":\"1.000MB\" ,\"FlashChipRealSize\":\"1.000MB\" ,\"FlashChipSpeed\":\"40.00MHz\" ,\"FlashChipMode\":\"DOUT\" ,\"BoardType\":\"ESP8266_GENERIC\" ,\"SSID\":\"thisWiFi\" ,\"IpAddress\":\"192.168.12.63\" ,\"WiFiRSSI\":\"-51\" ,\"Hostname\":\"DSMR-WS\" ,\"upTime\":\"9(d):20:57\" ,\"TelegramCount\":\"162180\" ,\"TelegramErrors\":\"7\" ,\"lastReset\":\"External System\" }","title":"restAPI"},{"location":"restAPI/#restapi","text":"Via de restAPI is het mogelijk om vanaf een extern systeem data uit de DSMRlogger op te halen. Deze data wordt in json formaat afgeleverd. De syntax is: http://dsmr-ws.local/restAPI?get={ Actueel | Actual | DevInfo } In plaats van dsmr-ws.local kun je ook het IPadres van de DSMR-logger gebruiken. Let op! restAPI is case-sensitive en moet precies z\u00f3 geschreven worden of helemaal in lower-case ( restapi ). De overige argumenten zijn niet case-sensitive ( Get of gEt en Actual of aCtUaL zijn gelijk).","title":"restAPI"},{"location":"restAPI/#voorbeeld-1","text":"Om de actuele data uit de Slimme Meter op te halen gebruik je: http://dsmr-ws.local/restAPI?get=Actueel Waarna je de volgende json string terug krijgt: { \"Timestamp\":\"160717102501S\" ,\"Energy_Delivered\":\"96966.094\" ,\"Energy_Returned\":\"69198.641\" ,\"Gas_Delivered\":\"4756.10\" ,\"Energy_Delivered_Tariff1\":\"54210.770\" ,\"Energy_Delivered_Tariff2\":\"42755.324\" ,\"Energy_Returned_Tariff1\":\"27365.799\" ,\"Energy_Returned_Tariff2\":\"41832.840\" ,\"Power_Delivered\":\"4680\" ,\"Power_Returned\":\"1740\" ,\"Voltage_l1\":\"241.0\" ,\"Current_l1\":\"0\" ,\"Voltage_l2\":\"237.0\" ,\"Current_l2\":\"2\" ,\"Voltage_l3\":\"236.0\" ,\"Current_l3\":\"0\" ,\"Power_Delivered_l1\":\"2964\" ,\"Power_Returned_l1\":\"136\" ,\"Power_Delivered_l2\":\"1180\" ,\"Power_Returned_l2\":\"1696\" ,\"Power_Delivered_l3\":\"1536\" ,\"Power_Returned_l3\":\"70\" } In plaats van Actueel kun je ook Actual gebruiken.","title":"Voorbeeld 1"},{"location":"restAPI/#voorbeeld-2","text":"Om de Device Informatie van de Slimme Meter en de DSMR-logger op te halen gebruik je het volgende commando: http://192.168.12.63/restapi?GET=DEVInfo Waarna je de volgende json string terug krijgt: { \"Identification\":\"XMX5LGBBLB1234567890\" ,\"P1_Version\":\"50\" ,\"Equipment_Id\":\"453030xxxxxxxxxxxxxxxxxxxxxxxx3136\" ,\"Electricity_Tariff\":\"0002\" ,\"Gas_Device_Type\":\"3\" ,\"Gas_Equipment_Id\":\"47303xxxxxxxxxxxxxxxxxxxxxxxx23136\" ,\"Author\":\"Willem Aandewiel (www.aandewiel.nl)\" ,\"FwVersion\":\"v0.4.2 (May 5 2019)\" ,\"Compiled\":\"May 5 2019 19:31:28\" ,\"FreeHeap\":\"12528\" ,\"ChipID\":\"41e189\" ,\"CoreVersion\":\"2_5_0\" ,\"SdkVersion\":\"3.0.0-dev(c0f7b44)\" ,\"CpuFreqMHz\":\"80\" ,\"SketchSize\":\"511.203kB\" ,\"FreeSketchSpace\":\"236.000kB\" ,\"FlashChipID\":\"0014405E\" ,\"FlashChipSize\":\"1.000MB\" ,\"FlashChipRealSize\":\"1.000MB\" ,\"FlashChipSpeed\":\"40.00MHz\" ,\"FlashChipMode\":\"DOUT\" ,\"BoardType\":\"ESP8266_GENERIC\" ,\"SSID\":\"thisWiFi\" ,\"IpAddress\":\"192.168.12.63\" ,\"WiFiRSSI\":\"-51\" ,\"Hostname\":\"DSMR-WS\" ,\"upTime\":\"9(d):20:57\" ,\"TelegramCount\":\"162180\" ,\"TelegramErrors\":\"7\" ,\"lastReset\":\"External System\" }","title":"Voorbeeld 2"},{"location":"uploadDataMap_V3/","text":"upload Data map naar DSMR-logger v3 De data -map van de DSMRloggerWS firmware kan alleen via een programmer naar de ESP-01 worden overgezet (omdat de DSMRloggerWS firmware op de ESP-01 geen OTA functionaliteit heeft). Je kunt hier een uitvoerige post vinden over hoe je zelf een eenvoudige programmer voor de ESP-01 kunt maken en hoe je die vervolgens moet gebruiken om de firmware en de DSMRloggerWS data -map naar de ESP-01 te uploaden. Uiteraard kun je hiervoor ook iedere andere geschikte programmer gebruiken! Als je de ESP-01 op de programmer hebt aangesloten en deze staat in \"Flash-Mode\" ga dan in de Arduino IDE naar Tools -> ESP8266 Sketch Data Upload Let op! De lay-out van de .csv bestanden van de DSMRloggerWS firmware is niet compatibel met die van de DSMRlogger2HTTP firmware. Mocht je de, met de DSMRlogger2HTTP firmware opgebouwde, history willen bewaren, dan moet je deze bestanden \u00e9\u00e9rst naar je computer uploaden (dat kan via de /onderhoud pagina). SPIFFS wordt nu leeg gemaakt en alle bestanden in de data -map worden naar het SPIFFS overgezet. Hierna zal de DSMR-logger normaal opstarten, maar met de nieuw SPIFFS inhoud. Let op! Hou er rekening mee dat eventuele data-bestanden die al op SPIFFS stonden nu weg zijn! Als je ze niet kwijt wil moet je er eerst een kopie van maken op je computer en deze, na het flashen van SPIFFS weer terug zetten (dat kan met de DSMRlogger2HTTP firmware met behulp van de /onderhoud pagina en bij de DSMRloggerWS firmware met de FSexplorer )! [ChartJaar]","title":"Data Flashen DSMR-logger v3"},{"location":"uploadDataMap_V3/#upload-data-map-naar-dsmr-logger-v3","text":"De data -map van de DSMRloggerWS firmware kan alleen via een programmer naar de ESP-01 worden overgezet (omdat de DSMRloggerWS firmware op de ESP-01 geen OTA functionaliteit heeft). Je kunt hier een uitvoerige post vinden over hoe je zelf een eenvoudige programmer voor de ESP-01 kunt maken en hoe je die vervolgens moet gebruiken om de firmware en de DSMRloggerWS data -map naar de ESP-01 te uploaden. Uiteraard kun je hiervoor ook iedere andere geschikte programmer gebruiken! Als je de ESP-01 op de programmer hebt aangesloten en deze staat in \"Flash-Mode\" ga dan in de Arduino IDE naar Tools -> ESP8266 Sketch Data Upload Let op! De lay-out van de .csv bestanden van de DSMRloggerWS firmware is niet compatibel met die van de DSMRlogger2HTTP firmware. Mocht je de, met de DSMRlogger2HTTP firmware opgebouwde, history willen bewaren, dan moet je deze bestanden \u00e9\u00e9rst naar je computer uploaden (dat kan via de /onderhoud pagina). SPIFFS wordt nu leeg gemaakt en alle bestanden in de data -map worden naar het SPIFFS overgezet. Hierna zal de DSMR-logger normaal opstarten, maar met de nieuw SPIFFS inhoud. Let op! Hou er rekening mee dat eventuele data-bestanden die al op SPIFFS stonden nu weg zijn! Als je ze niet kwijt wil moet je er eerst een kopie van maken op je computer en deze, na het flashen van SPIFFS weer terug zetten (dat kan met de DSMRlogger2HTTP firmware met behulp van de /onderhoud pagina en bij de DSMRloggerWS firmware met de FSexplorer )! [ChartJaar]","title":"upload Data map naar DSMR-logger v3"},{"location":"uploadDataMap_V4/","text":"upload Data map naar DSMR-logger V4 board In de data -map van de DSMRloggerWS firmware staan bestanden die nodig zijn voor het functioneren van de firmware. Deze bestanden moeten dan ook overgezet worden naar de DSMR-logger. Dat 'overzetten' kan op twee manieren: ' Bedraad ' en ' Over The Air ' Bedraad Let op! Zorg dat de Serial Monitor is afgesloten! Pas op! Koppel de DSMR-logger los van de Slimme Meter v\u00f3\u00f3rdat je de DSMR-logger op de programmer aansluit!! Sluit de programmer aan op de DSMR-logger v4 . Druk op de FLASH knop en houdt deze ingedrukt. Druk vervolgens de RESET knop in en laat deze weer los. Laat nu ook de FLASH knop los. De DSMR-logger v4 staat nu in \"Flash-mode\" en wacht (geduldig) tot de inhoud van de data map wordt opgestuurd. Ga in de Arduino IDE naar Tools -> ESP8266 Sketch Data Upload SPIFFS wordt nu leeg gemaakt en alle bestanden in de data map worden naar het SPIFFS overgezet. Hierna zal de DSMR-logger normaal opstarten, maar met de nieuw SPIFFS inhoud. Let op! Hou er rekening mee dat eventuele data-bestanden die al op SPIFFS stonden nu weg zijn! Als je ze niet kwijt wil moet je er eerst een kopie van maken op je computer en deze, na het flashen van SPIFFS weer terug zetten (dat kan met de DSMR-logger FSexplorer )! Over The Air Bij het Over The Air uploaden van de bestanden uit de data -map kan de DSMRlogger v4 gewoon aan de Slimme Meter gekoppeld blijven. Alle Board gegevens blijven gelijk alleen selecteer je een Serial Port die nergens op is aangesloten ! Start vervolgens het ESP8266 Sketch Data Upload -tool Omdat je een Serial Port hebt geselecteerd waar niets op is aangesloten zal deze opdracht met een foutmelding eindigen. Ondertussen is er w\u00e9l een .spiffs.bin bestand in het build-path neergezet. Let op! Hou er rekening mee dat eventuele data-bestanden die al op SPIFFS stonden nu weg zijn! Als je ze niet kwijt wil moet je er eerst een kopie van maken op je computer en deze, na het flashen van SPIFFS weer terug zetten (dat kan met de DSMR-logger FSexplorer )! Klik nu op de DSMR-logger pagina op het icoontje. In de FSexplorer klik je op de knop select Firmware Er verschijnt nu een scherm waarin je een SPIFFS bestand (de naam eindigt op .spiffs.bin ) kunt kiezen door op de onderste knop Choose File te klikken. Selecteer uit het popUp scherm dat nu verschijnt het binary file dat je wilt uploaden .. .. klik op [Choose] en daarna op de knop flash Spiffs Na enige tijd krijg je de melding dat de upload is geslaagd en dat de DSMR-logger opnieuw opstart. Let op! Het komt regelmatig voor dat het scherm niet automatisch ge-refreshed wordt (dit lijkt te maken te hebben met de omvang van de firmware die je upload). Klik in dat geval, na ongeveer 3 minuten, op de tekst Als het lijkt of er niets gebeurd, wacht dan ongeveer drie minuten en klik daarna hier . Als de verbinding met de server v\u00f3\u00f3r die tijd verbroken wordt klik dan op de `back` knop van de browser waarna de tekst alsnog (weer) verschijnt. Klik nu op **hier** om de DSMRloggerWS hoofd pagina opnieuw te laden. [PCB V4]","title":"Data Flashen DSMR-logger v4"},{"location":"uploadDataMap_V4/#upload-data-map-naar-dsmr-logger-v4-board","text":"In de data -map van de DSMRloggerWS firmware staan bestanden die nodig zijn voor het functioneren van de firmware. Deze bestanden moeten dan ook overgezet worden naar de DSMR-logger. Dat 'overzetten' kan op twee manieren: ' Bedraad ' en ' Over The Air '","title":"upload Data map naar DSMR-logger V4 board"},{"location":"uploadDataMap_V4/#bedraad","text":"Let op! Zorg dat de Serial Monitor is afgesloten! Pas op! Koppel de DSMR-logger los van de Slimme Meter v\u00f3\u00f3rdat je de DSMR-logger op de programmer aansluit!! Sluit de programmer aan op de DSMR-logger v4 . Druk op de FLASH knop en houdt deze ingedrukt. Druk vervolgens de RESET knop in en laat deze weer los. Laat nu ook de FLASH knop los. De DSMR-logger v4 staat nu in \"Flash-mode\" en wacht (geduldig) tot de inhoud van de data map wordt opgestuurd. Ga in de Arduino IDE naar Tools -> ESP8266 Sketch Data Upload SPIFFS wordt nu leeg gemaakt en alle bestanden in de data map worden naar het SPIFFS overgezet. Hierna zal de DSMR-logger normaal opstarten, maar met de nieuw SPIFFS inhoud. Let op! Hou er rekening mee dat eventuele data-bestanden die al op SPIFFS stonden nu weg zijn! Als je ze niet kwijt wil moet je er eerst een kopie van maken op je computer en deze, na het flashen van SPIFFS weer terug zetten (dat kan met de DSMR-logger FSexplorer )!","title":"Bedraad"},{"location":"uploadDataMap_V4/#over-the-air","text":"Bij het Over The Air uploaden van de bestanden uit de data -map kan de DSMRlogger v4 gewoon aan de Slimme Meter gekoppeld blijven. Alle Board gegevens blijven gelijk alleen selecteer je een Serial Port die nergens op is aangesloten ! Start vervolgens het ESP8266 Sketch Data Upload -tool Omdat je een Serial Port hebt geselecteerd waar niets op is aangesloten zal deze opdracht met een foutmelding eindigen. Ondertussen is er w\u00e9l een .spiffs.bin bestand in het build-path neergezet. Let op! Hou er rekening mee dat eventuele data-bestanden die al op SPIFFS stonden nu weg zijn! Als je ze niet kwijt wil moet je er eerst een kopie van maken op je computer en deze, na het flashen van SPIFFS weer terug zetten (dat kan met de DSMR-logger FSexplorer )! Klik nu op de DSMR-logger pagina op het icoontje. In de FSexplorer klik je op de knop select Firmware Er verschijnt nu een scherm waarin je een SPIFFS bestand (de naam eindigt op .spiffs.bin ) kunt kiezen door op de onderste knop Choose File te klikken. Selecteer uit het popUp scherm dat nu verschijnt het binary file dat je wilt uploaden .. .. klik op [Choose] en daarna op de knop flash Spiffs Na enige tijd krijg je de melding dat de upload is geslaagd en dat de DSMR-logger opnieuw opstart. Let op! Het komt regelmatig voor dat het scherm niet automatisch ge-refreshed wordt (dit lijkt te maken te hebben met de omvang van de firmware die je upload). Klik in dat geval, na ongeveer 3 minuten, op de tekst Als het lijkt of er niets gebeurd, wacht dan ongeveer drie minuten en klik daarna hier . Als de verbinding met de server v\u00f3\u00f3r die tijd verbroken wordt klik dan op de `back` knop van de browser waarna de tekst alsnog (weer) verschijnt. Klik nu op **hier** om de DSMRloggerWS hoofd pagina opnieuw te laden. [PCB V4]","title":"Over The Air"},{"location":"uploadFirmware_V3/","text":"Firmware naar DSMR-logger v3 Flashen Let op! De DSMR-logger Versie 3 maakt gebruik van een ESP-01 bordje met 1MB flash geheugen. Vanwege de omvang van de DSMRloggerWS firmware is deze alleen met beperkte functionaliteit geschikt om naar een ESP-01 te worden ge-upload. Met een ESP-01(Black/S) is het niet mogelijk om Over The Air updates van de firmware of SPIFFS te doen. Ook de RTS hardware en de I2C interface (oled-scherm) zijn voor de ESP-01 niet beschikbaar. Om de firmware naar de ESP-01 (Black/S) te kunnen flashen moet deze eerst voor de ESP-01 geschikt worden gemaakt. Dit doe je door v\u00f3\u00f3r de #define 's twee slashes ( // ) te zetten. In de ArduinoIDE zien de regels na /*** compiler options ***/ er dan z\u00f3 uit: /******************** compiler options ********************************************/ // #define IS_ESP12 // define if it's an ESP-12 // #define USE_UPDATE_SERVER // define if updateServer to be used and there is enough memory // #define HAS_OLED_SSD1306 // define if an OLED display is present // #define SM_GIVES_NO_TIMESTAMP // define to generate Timestamp from NTP (Only Winter Time) // #define SHOW_PSK_KEY // well .. show the PSK key, what else? // #define HAS_NO_METER // define if No \"Slimme Meter\" is attached (*TESTING*) /******************** don't change anything below this comment **********************/ Let op! Mocht je een ESP-01 bordje met een PUYA flash chip hebben, dan moet je nog wat doen om SPIFFS met deze PUYA chip te laten werken. Kijk hier wat je moet doen. Vervolgens moeten de [ Boards ] settings als volgt worden ingevuld: Instelling Waarde Board \"Generic ESP8266 Module\" Upload Speed \"115200\" CPU Frequency \"80MHz\" Flash Frequency \"40MHz\" Flash Mode \"DOUT (compatible)\" Flash Size \"1M (256K SPIFFS)\" Crystal Frequency \"26MHz\" Reset Method \"None\" (afhankelijk van de gebruikte programmer) Debug Port \"Disabled\" Debug Level \"None\" IwIP Variant \"v2 Lower Memory\" VTables \"Flash\" Exeptions \"Disabled\" Builtin Led ESP-01 (Black): \"1\" ESP-01S: \"2\" Erase Flash \"Only Sketch\" (First Time \"All Flash Contents\") Port Bedraad: \"Serial Port\" Stop de ESP-01 in de programmer ( hier vind je een post over hoe je van een USB to ESP-01 Adapter zelf eenvoudig een programmer kunt maken) en sluit deze aan op je computer. Vergeet niet de juiste Port te selecteren en druk op het Compile and Upload icoon . [DSMR-Editor]","title":"Firmware Flashen DSMR-logger v3"},{"location":"uploadFirmware_V3/#firmware-naar-dsmr-logger-v3-flashen","text":"Let op! De DSMR-logger Versie 3 maakt gebruik van een ESP-01 bordje met 1MB flash geheugen. Vanwege de omvang van de DSMRloggerWS firmware is deze alleen met beperkte functionaliteit geschikt om naar een ESP-01 te worden ge-upload. Met een ESP-01(Black/S) is het niet mogelijk om Over The Air updates van de firmware of SPIFFS te doen. Ook de RTS hardware en de I2C interface (oled-scherm) zijn voor de ESP-01 niet beschikbaar. Om de firmware naar de ESP-01 (Black/S) te kunnen flashen moet deze eerst voor de ESP-01 geschikt worden gemaakt. Dit doe je door v\u00f3\u00f3r de #define 's twee slashes ( // ) te zetten. In de ArduinoIDE zien de regels na /*** compiler options ***/ er dan z\u00f3 uit: /******************** compiler options ********************************************/ // #define IS_ESP12 // define if it's an ESP-12 // #define USE_UPDATE_SERVER // define if updateServer to be used and there is enough memory // #define HAS_OLED_SSD1306 // define if an OLED display is present // #define SM_GIVES_NO_TIMESTAMP // define to generate Timestamp from NTP (Only Winter Time) // #define SHOW_PSK_KEY // well .. show the PSK key, what else? // #define HAS_NO_METER // define if No \"Slimme Meter\" is attached (*TESTING*) /******************** don't change anything below this comment **********************/ Let op! Mocht je een ESP-01 bordje met een PUYA flash chip hebben, dan moet je nog wat doen om SPIFFS met deze PUYA chip te laten werken. Kijk hier wat je moet doen. Vervolgens moeten de [ Boards ] settings als volgt worden ingevuld: Instelling Waarde Board \"Generic ESP8266 Module\" Upload Speed \"115200\" CPU Frequency \"80MHz\" Flash Frequency \"40MHz\" Flash Mode \"DOUT (compatible)\" Flash Size \"1M (256K SPIFFS)\" Crystal Frequency \"26MHz\" Reset Method \"None\" (afhankelijk van de gebruikte programmer) Debug Port \"Disabled\" Debug Level \"None\" IwIP Variant \"v2 Lower Memory\" VTables \"Flash\" Exeptions \"Disabled\" Builtin Led ESP-01 (Black): \"1\" ESP-01S: \"2\" Erase Flash \"Only Sketch\" (First Time \"All Flash Contents\") Port Bedraad: \"Serial Port\" Stop de ESP-01 in de programmer ( hier vind je een post over hoe je van een USB to ESP-01 Adapter zelf eenvoudig een programmer kunt maken) en sluit deze aan op je computer. Vergeet niet de juiste Port te selecteren en druk op het Compile and Upload icoon . [DSMR-Editor]","title":"Firmware naar DSMR-logger v3 Flashen"},{"location":"uploadFirmware_V4/","text":"Firmware Flashen naar DSMR-logger V4 board Versie 4 van de DSMR-logger hardware maakt gebruik van een ESP-12 processor. Deze processor zit op de printplaat van de DSMR-logger gesoldeerd en moet dus, op de printplaat, geflashed worden. Om de firmware naar de DSMRlogger Versie 4 te kunnen flashen moet deze eerst voor de ESP-12 geschikt worden gemaakt. Dit doe je door in de ArduinoIDE de #define 's in het eerste tab-blad aan te passen. Heb je g\u00e9\u00e9n Oled-display (let op de twee slashes voor alle #define 's behalve de eerste twee!): /******************** compiler options ********************************************/ #define IS_ESP12 // define if it's a 'bare' ESP-12 (no reset/flash functionality on board) #define USE_UPDATE_SERVER // define if updateServer to be used and there is enough memory // #define HAS_OLED_SSD1306 // define if a 0.96\" OLED display is present // #define HAS_OLED_SH1106 // define if a 1.3\" OLED display is present // #define USE_PRE40_PROTOCOL // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0) // #define USE_NTP_TIME // define to generate Timestamp from NTP (Only Winter Time for now) // #define SM_HAS_NO_FASE_INFO // if your SM does not give fase info use total delevered/returned // #define SHOW_PSK_KEY // well .. show the PSK key, what else? // #define HAS_NO_METER // define if No \"Slimme Meter\" is attached (*TESTING*) /******************** don't change anything below this comment **********************/ Heb je wel een Oled-display op de DSMR-logger aangesloten dan moeten de compiler options als volgt worden aangepast (twee slashes voor alle, behalve de eerste drie #define 's!): /******************** compiler options ********************************************/ #define IS_ESP12 // define if it's a 'bare' ESP-12 (no reset/flash functionality on board) #define USE_UPDATE_SERVER // define if updateServer to be used and there is enough memory #define HAS_OLED_SSD1306 // define if an OLED display is present // #define HAS_OLED_SH1106 // define if a 1.3\" OLED display is present // #define USE_PRE40_PROTOCOL // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0) // #define USE_NTP_TIME // define to generate Timestamp from NTP (Only Winter Time for now) // #define SM_HAS_NO_FASE_INFO // if your SM does not give fase info use total delevered/returned // #define SHOW_PSK_KEY // well .. show the PSK key, what else? // #define HAS_NO_METER // define if No \"Slimme Meter\" is attached (*TESTING*) /******************** don't change anything below this comment **********************/ Vervolgens moeten de Boards settings als volgt worden ingevuld: Instelling Waarde Board \"Generic ESP8266 Module\" Upload Speed \"115200\" CPU Frequency \"80MHz\" Flash Frequency \"40MHz\" Flash Mode \"DIO\" of \"DOUT (compatible)\" Flash Size \"4M (1M SPIFFS)\" Crystal Frequency \"26MHz\" Reset Method \"None\" Debug Port \"Disabled\" Debug Level \"None\" IwIP Variant \"v2 Lower Memory\" VTables \"Flash\" Exeptions \"Disabled\" Builtin Led \"2\" Erase Flash \"Only Sketch\" (First Time: \"All Flash Contents\") Port Bedraad: \"Serial Port\" Pas op! Als je de Flash Mode veranderd t.o.v. wat je gebruikt hebt voor de firmware die nu in de DSMR-logger zit, dan kun je de firmware niet OTA uploaden!!! Firmware Bedraad Flashen Pas op! Koppel de DSMR-logger los van de Slimme Meter v\u00f3\u00f3rdat je de DSMR-logger op de programmer aansluit!! Sluit de USB->ESP12 programmer aan op de Program -header van de DSMR-logger v4 Druk de FLASH knop in en houd deze ingedrukt Druk op de RESET knop Laat de RESET knop los Laat de FLASH knop los De DSMR-logger v4 staat nu in Flash-mode en blijft in die mode tot er gegevens vanaf de programmer naar de DSMR-logger zijn overgebracht \u00f3f tot je nog een keer op de RESET knop drukt. Vergeet niet in de ArduinoIDE de Port te selecteren waarop je de USB->ESP12 programmer hebt aangesloten en druk op het Compile and Upload icoon. Firmware Over The Air Flashen Bij het Over The Air flashen van de firmware of data -map kan de DSMR-logger v4 gewoon op de Slimme Meter aangesloten blijven. Alle instellingen voor de DSMRloggerWS firmware blijven gelijk aan de bedraade methode van flashen. Vervolgens moet je niet op het Compile & Upload -Icoon klikken maar in het [ Sketch ] drop-down menu de keuze Upload Compiled Binary selecteren. De firmware wordt nu gecompileerd en in de Arduino Sketch map waar de DSMRloggerWS firmware ook staat neergezet. Het bestand heeft de extentie .bin . Als de firmware gecompileerd is klik je op de DSMR-logger pagina op het icoontje. In de FSexplorer klik je op de knop select Firmware Er verschijnt nu een scherm waarin je een firmware bestand (de naam eindigt op .bin met ergens in de naam ook .ino. ) kunt kiezen door op de bovenste knop Choose File te klikken. Selecteer uit het popUp scherm dat nu verschijnt het binary file dat je wilt uploaden .. .. klik op [Choose] en daarna op de knop flash Firmware Na enige tijd krijg je de melding dat de upload is geslaagd en dat de DSMR-logger opnieuw opstart. Let op! Het komt regelmatig voor dat het scherm niet automatisch ge-refreshed wordt (dit lijkt te maken te hebben met de omvang van de firmware). Klik in dat geval, na ongeveer 3 minuten, op de tekst Als het lijkt of er niets gebeurd, wacht dan ongeveer drie minuten en klik daarna hier . Als de verbinding met de server v\u00f3\u00f3r die tijd verbroken wordt klik dan op de `back` knop van de browser waarna de tekst alsnog (weer) verschijnt. Klik nu op **hier** om de DSMRloggerWS hoofd pagina opnieuw te laden. [DSMR-PCB]","title":"Firmware Flashen DSMR-logger v4"},{"location":"uploadFirmware_V4/#firmware-flashen-naar-dsmr-logger-v4-board","text":"Versie 4 van de DSMR-logger hardware maakt gebruik van een ESP-12 processor. Deze processor zit op de printplaat van de DSMR-logger gesoldeerd en moet dus, op de printplaat, geflashed worden. Om de firmware naar de DSMRlogger Versie 4 te kunnen flashen moet deze eerst voor de ESP-12 geschikt worden gemaakt. Dit doe je door in de ArduinoIDE de #define 's in het eerste tab-blad aan te passen. Heb je g\u00e9\u00e9n Oled-display (let op de twee slashes voor alle #define 's behalve de eerste twee!): /******************** compiler options ********************************************/ #define IS_ESP12 // define if it's a 'bare' ESP-12 (no reset/flash functionality on board) #define USE_UPDATE_SERVER // define if updateServer to be used and there is enough memory // #define HAS_OLED_SSD1306 // define if a 0.96\" OLED display is present // #define HAS_OLED_SH1106 // define if a 1.3\" OLED display is present // #define USE_PRE40_PROTOCOL // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0) // #define USE_NTP_TIME // define to generate Timestamp from NTP (Only Winter Time for now) // #define SM_HAS_NO_FASE_INFO // if your SM does not give fase info use total delevered/returned // #define SHOW_PSK_KEY // well .. show the PSK key, what else? // #define HAS_NO_METER // define if No \"Slimme Meter\" is attached (*TESTING*) /******************** don't change anything below this comment **********************/ Heb je wel een Oled-display op de DSMR-logger aangesloten dan moeten de compiler options als volgt worden aangepast (twee slashes voor alle, behalve de eerste drie #define 's!): /******************** compiler options ********************************************/ #define IS_ESP12 // define if it's a 'bare' ESP-12 (no reset/flash functionality on board) #define USE_UPDATE_SERVER // define if updateServer to be used and there is enough memory #define HAS_OLED_SSD1306 // define if an OLED display is present // #define HAS_OLED_SH1106 // define if a 1.3\" OLED display is present // #define USE_PRE40_PROTOCOL // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0) // #define USE_NTP_TIME // define to generate Timestamp from NTP (Only Winter Time for now) // #define SM_HAS_NO_FASE_INFO // if your SM does not give fase info use total delevered/returned // #define SHOW_PSK_KEY // well .. show the PSK key, what else? // #define HAS_NO_METER // define if No \"Slimme Meter\" is attached (*TESTING*) /******************** don't change anything below this comment **********************/ Vervolgens moeten de Boards settings als volgt worden ingevuld: Instelling Waarde Board \"Generic ESP8266 Module\" Upload Speed \"115200\" CPU Frequency \"80MHz\" Flash Frequency \"40MHz\" Flash Mode \"DIO\" of \"DOUT (compatible)\" Flash Size \"4M (1M SPIFFS)\" Crystal Frequency \"26MHz\" Reset Method \"None\" Debug Port \"Disabled\" Debug Level \"None\" IwIP Variant \"v2 Lower Memory\" VTables \"Flash\" Exeptions \"Disabled\" Builtin Led \"2\" Erase Flash \"Only Sketch\" (First Time: \"All Flash Contents\") Port Bedraad: \"Serial Port\" Pas op! Als je de Flash Mode veranderd t.o.v. wat je gebruikt hebt voor de firmware die nu in de DSMR-logger zit, dan kun je de firmware niet OTA uploaden!!!","title":"Firmware Flashen naar DSMR-logger V4 board"},{"location":"uploadFirmware_V4/#firmware-bedraad-flashen","text":"Pas op! Koppel de DSMR-logger los van de Slimme Meter v\u00f3\u00f3rdat je de DSMR-logger op de programmer aansluit!! Sluit de USB->ESP12 programmer aan op de Program -header van de DSMR-logger v4 Druk de FLASH knop in en houd deze ingedrukt Druk op de RESET knop Laat de RESET knop los Laat de FLASH knop los De DSMR-logger v4 staat nu in Flash-mode en blijft in die mode tot er gegevens vanaf de programmer naar de DSMR-logger zijn overgebracht \u00f3f tot je nog een keer op de RESET knop drukt. Vergeet niet in de ArduinoIDE de Port te selecteren waarop je de USB->ESP12 programmer hebt aangesloten en druk op het Compile and Upload icoon.","title":"Firmware Bedraad Flashen"},{"location":"uploadFirmware_V4/#firmware-over-the-air-flashen","text":"Bij het Over The Air flashen van de firmware of data -map kan de DSMR-logger v4 gewoon op de Slimme Meter aangesloten blijven. Alle instellingen voor de DSMRloggerWS firmware blijven gelijk aan de bedraade methode van flashen. Vervolgens moet je niet op het Compile & Upload -Icoon klikken maar in het [ Sketch ] drop-down menu de keuze Upload Compiled Binary selecteren. De firmware wordt nu gecompileerd en in de Arduino Sketch map waar de DSMRloggerWS firmware ook staat neergezet. Het bestand heeft de extentie .bin . Als de firmware gecompileerd is klik je op de DSMR-logger pagina op het icoontje. In de FSexplorer klik je op de knop select Firmware Er verschijnt nu een scherm waarin je een firmware bestand (de naam eindigt op .bin met ergens in de naam ook .ino. ) kunt kiezen door op de bovenste knop Choose File te klikken. Selecteer uit het popUp scherm dat nu verschijnt het binary file dat je wilt uploaden .. .. klik op [Choose] en daarna op de knop flash Firmware Na enige tijd krijg je de melding dat de upload is geslaagd en dat de DSMR-logger opnieuw opstart. Let op! Het komt regelmatig voor dat het scherm niet automatisch ge-refreshed wordt (dit lijkt te maken te hebben met de omvang van de firmware). Klik in dat geval, na ongeveer 3 minuten, op de tekst Als het lijkt of er niets gebeurd, wacht dan ongeveer drie minuten en klik daarna hier . Als de verbinding met de server v\u00f3\u00f3r die tijd verbroken wordt klik dan op de `back` knop van de browser waarna de tekst alsnog (weer) verschijnt. Klik nu op **hier** om de DSMRloggerWS hoofd pagina opnieuw te laden. [DSMR-PCB]","title":"Firmware Over The Air Flashen"},{"location":"uploadOTA-bug/","text":"Upload Over The Air (bug?) Let op! Deze pagina is niet meer relavant omdat de DSMRloggerWS firmware vanaf versie 0.4.2 gebruik maakt van een upload pagina in de firmware zelf! Voor je eigen gemak raad ik je aan het deel over het vaste ` build pad ` wel te lezen en uit te voeren zodat je altijd makkelijk weet waar je nieuw gecompileerde firmware staat! Het lijkt erop dat er een bug zit in de toolchain van de ArduinoIDE voor wat betreft het Over The Air uploaden van omvangrijke Firmware. Als je probeert om de DSMRloggerWS firmware via de ArduinoIDE te uploaden krijg je consequent een popUp window te zien waarin gevraagd wordt een password in te voeren: Waarna, wat je ook klikt of invult , je de volgende foutmelding in de ArduinoIDE te zien krijgt: .. en het verhaal stopt. Het popUp window is een bekend fenomeen in de Arduino wereld omdat het in verschillende situaties voor kan komen. Helaas wordt er nergens een \u00e9chte oplossing gegeven. Maar gelukkig is er voor d\u00edt probleem een Work Around ! Het blijkt, dat als je de instructie om de firmware te uploaden naar de ESP8266 op de command line, handmatig invoert de OTA upload w\u00e9l goed gaat! Als je op het Compile & Upload icon klikt, verschijnt er onderin de ArduinoIDE in het log venster op enig moment de volgende regel: C:\\Users\\(YourLoginName)\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0\\tools\\espota.py \\ -i -p 8266 --auth= \\ -f C:\\Users\\(YourLoginName)\\AppData\\Local\\Temp\\arduino_build_\\DSMRloggerWS.ino.bin (voor de duidelijkheid heb ik de regel opgesplits). Als je deze regel eenvoudig kopieerd ( Ctrl-C ) en in een terminal/command window paste ( Ctrl-V ) dan werkt de Over The Air upload w\u00e9l. Let op! Als je alleen sporadisch Firmware die niet (meer) direct via de ArduinoIDE Over The Air ge-upload kan worden wil flashen, dan is bovenstaande voldoende om dit te kunnen doen. De rest van deze pagina kun je dan overslaan. Een OTA upload programma voor de ontwikkelaars Voor gebruikers die zelf de DSMRloggerWS firmware verder willen ontwikkelen - en die dus vaker de Firmware (Over The Air) moeten uploaden - heb ik in de utils directory van de repository twee Python programma's gezet (\u00e9\u00e9n voor Windows en \u00e9\u00e9n voor unix-achtige OS'n) die dit iets eenvoudiger maakt. Om, voor de vervolg stappen, de goede informatie in het log-venster van de ArduinIDE tezien te krijgen moet in de Preferences/Voorkeuren de Show Verbose Output During: upload zijn aangevinkt: Inplaats van op het Compile & Upload icon te klikken kun je voortaan in de IDE op het Verify icon klikken en het otaUpload programma gebruiken om de firmware naar de ESP8266 te flashen.. Gebruikers die werken met unix of macOS kunnen hier verder lezen. otaUpload programma (Windows) Je roept het programma als volgt aan: python otaUpload.py > otaUpload.py 192.168.12.161 otaUpload : [ 1 ] [ DSMRloggerWS.ino.bin ] otaUpload : bin File Found DSMRloggerWS.ino.bin otaUpload : Last Modified Tue Apr 23 14:37:13 2019 ---------------------------------------------------------------------------- otaUpload : espota -i 192.168.12.161 -f DSMRloggerWS.ino.bin Uploading................................................................ ......................................................................... ......................................................................... Done .. > Om het programma in jouw omgeving te laten werken moet je drie regels aanpassen. 15 #=========================================================== 16 #------ do not change anything above this line! ------------ 17 # 18 #------ location of python --------------------------------- 19 # You can find this by entering the following commands in a 20 # terminal/command window: 21 # 1 > python 22 # 2 >>> import sys 23 # 3 >>> sys.executable 24 # 4 'C:\\\\aa\\python.exe' 25 # 5 >>> quit() 26 # 27 # copy/paste the string from line 4 between os.path.join() 28 # 29 PYTHON = os.path.join(\"C:/Users/(YourLoginName)/AppData/Local/Programs/Python/Python3/python.exe\") 30 ## print(\"> PYTHON [\" + PYTHON + \"]\") 31 # 32 #------ this is the Sketch Location (see preferences.txt) -- 33 BUILDPATH = os.path.join(\"C:/Users/(YourLoginName)/Documenten/arduinoBuild\") 34 ## print('>BUILDPATH [' + BUILDPATH + ']') 35 # 36 #------ Edit this ESPOTAPY to point to the location -------- 37 #------ where your espota.py file is on your system -------- 38 ESPOTAPY = os.path.join(\"C:/Users/(YourLoginName)/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py\") 39 ## print('> ESPOTAPY [' + ESPOTAPY + ']') 40 # 41 #------ do not change anything below this line! ------------ 42 #=========================================================== De meeste regels zijn commentaar (\"#\"). Het gaat dan ook alleen om de variabelen die in de regels 29, 33 en 38 een waarde krijgen. Let op! Windows gebruikers zijn gewend om een \" \\ \" ( BackSlash ) in paden te gebruiken. De functie os.path.join() gaat er echter vanuit dat hiervoor de \" / \" ( ForwardSlash ) wordt gebruikt. Op alle pad-aanduidingen die tussen os.path.join() staan moeten enkele \" \\ \" of dubbele \" \\\\ \" BackSlashes worden vervangen door \u00e9\u00e9n enkele \" / \" ForwardSlash . PYTHON (Windows) Om erachter te komen waar python op jouw systeem is ge\u00efnstalleerd kun je de volgende instructies in een command window intoetsen: C:> C:> python Python 2.7.16 (v2.7.16:413a49145e, Mar 4 2019, 01:30:55) Type \"help\", \"copyright\", \"credits\" or \"license\" for more i >>> import sys >>> sys.executable 'C:\\\\Users\\\\YourLoginName)\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python3\\\\python.exe' >>> quit() De uitvoer onder de regel sys.executable neem je over waarbij je dubbele Backslashes ( \\\\ ) veranderd in \u00e9\u00e9n Slash ( / ). PYTHON = os.path.join('C:/Users/(YourLoginName)/AppData/Local/Programs/Python/Python3/python.exe') BUILDPATH (Windows) BUILDPATH is de variabele die aangeeft waar in jouw setup van de ArduinoIDE de gecompileerde firmware wordt neergezet. Je kunt erachter komen wat het build-pad bij jouw computer is door een simpele Sketch bedraad te uploaden. Je ziet dan zoiets als dit onderin het log-venster verschijnen (voor de duidelijkheid heb ik de regel waar het omgaat in stukjes geknipt): De schets gebruikt 306788 bytes (29%) programma-opslagruimte. Maximum is 1044464 bytes. Globale variabelen gebruiken 28384 bytes (34%) van het dynamisch geheugen. Resteren 53536 bytes voor lokale variabelen. Maximum is 81920 bytes. C:\\Documents and Settings\\(YourLoginName)\\Local Settings\\Application Data\\Arduino15\\packages\\esp8266\\tools\\esptool\\2.5.0-3-20ed2b9/esptool.exe \\ -vv -cd ck -cb 115200 -cp COM3 -ca 0x00000 \\ -cf C:\\Users\\(YourLoginName)\\AppData\\Local\\Temp\\arduino_build_65432/BasicOTA.ino.bin Achter -cf staat het pad waar het om gaat. In dit voorbeeld is dat dit blijkbaar: C:\\Users\\(YourLoginName)\\AppData\\Local\\Temp\\arduino_build_65432 waarbij je er rekening mee moet houden dat arduino_build_65432 slechts een tijdelijke map is die, na het opnieuw opstarten van de ArduinoIDE, een ander nummer zal hebben! Om het otaUpload.py programma goed te laten lopen is het noodzakelijk om in de ArduinoIDE preferences.txt het build.path op een vaste lokatie te zetten. Je moet daartoe in de Preferences/Voorkeuren van de ArduinoIDE kijken waar dit bestand op jouw computer te vinden is. Kijk hier wat je dit bestand moet aanpassen. Sluit de ArduinoIDE af (dat is \u00e9cht noodzakelijk!). Open het preferences.txt bestand in je favoriete editor .. .. en voeg deze regel ergens in het begin van het preferences.txt bestand toe: build.path=C:\\Users\\(YourLoginName)\\Documenten\\arduinoBuild Sla het bestand op en start de ArduinoIDE. Neem het pad dat je in preferences.txt hebt opgegeven over in otaUpload.py waarbij je de (\" \\ \") BackSlashes veranderd in (\" / \") ForwardSlashes . #------ this is the Sketch Location (see preferences.txt) -- BUILDPATH = os.path.join(\"C:/Users/(YourLoginName)/Documenten/arduinoBuild\") # Let op! Ik ben geen Windowz kenner en om mij volkomen onduidelijke redenen heet de map \" documenten \" soms opeens \" documents \" .. of omgekeerd. Hou daar rekening mee bij het opgeven van een vast build.path ! ESPOTAPY (Windows) De variabele ESPOTAPY geeft aan waar op jouw systeem het espota.py programma staat. Als je de Sketch BasicOTA Over The Air upload naar een ESP8266 dan zie je in het log-venster onderin de ArduinoIDE een regel verschijnen die espota.py aanroept. De schets gebruikt 306788 bytes (29%) programma-opslagruimte. Maximum is 1044464 bytes. Globale variabelen gebruiken 28384 bytes (34%) van het dynamisch geheugen. Resteren 53536 bytes voor lokale variabelen. Maximum is 81920 bytes. python.exe C:\\Users\\(YourLoginName)\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0/tools/espota.py \\ -i 192.168.12.161 -p 8266 --auth= \\ -f C:\\Documents and Settings\\(YourLoginName)\\Local Settings\\Temp\\Build/BasicOTA.ino.bin Uploading............................................................................................ ..................................................................................................... ..................... Dit deel van de regel C:\\Users\\(YourLoginName)\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0/tools/espota.py moet je achter ESPOTAPY invullen tussen de haakjes van os.path.join() waarbij je alle enkele (\" \\ \") of dubbele BackSlashes (\" \\\\ \") moet vervangen door \u00e9\u00e9n enkele ForwardSlash (\" / \"). #------ Edit this ESPOTAPY to point to the location -------- #------ where your espota.py file is located -------- ESPOTAPY = os.path.join(\"C:/Users/(YourLoginName)AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py\") # Tenslotte moet je het otaUpload.py programma in een map/directory zetten die in de PATH variabele voorkomt of je moet het programma steeds aanroepen met de volledige pad-naam waar het programma staat (bijvoorbeeld \\otaUpload.py ). otaUpload programma (Unix OS'n) Je roept het programma als volgt aan: otaUpload $ otaUpload 192.168.12.161 otaUpload : [ 1 ] [ DSMRloggerWS.ino.bin ] otaUpload : bin File Found DSMRloggerWS.ino.bin otaUpload : Last Modified Tue Apr 23 14:37:13 2019 ---------------------------------------------------------------------------- otaUpload : espota -i 192.168.12.161 -f DSMRloggerWS.ino.bin Uploading................................................................ ......................................................................... ......................................................................... Done .. $ Om het programma in jouw omgeving te laten werken moet je drie regels aanpassen. 15 #=========================================================== 16 #------ do not change anything above this line! ------------ 17 # 18 #------ where pyton is located ----------------------------- 19 # You can find this by entering the following commands in a 20 # terminal/command window: 21 # 1 > python 22 # 2 >>> import sys 23 # 3 >>> sys.executable 24 # 4 '/usr/local/bin/python' 25 # 5 >>> quit() 26 # 27 # copy/paste the string from line 4 between os.path.join() 28 # 29 PYTHON = os.path.join('/usr/local/bin/python') 30 ## print(\"> PYTHON [\" + PYTHON + \"]\") 31 # 32 #------ this is the Sketch Location (see preferences.txt) -- 33 BUILDPATH = os.path.join(\"/Users/(YourLoginName)/Documenten/arduinoBuild\") 34 ## print('>BUILDPATH [' + BUILDPATH + ']') 35 # 36 #------ Edit this ESPOTAPY to point to the location -------- 37 #------ where your espota.py file is located -------- 38 ESPOTAPY = os.path.join(\"/Users/(YourLoginName)/Library/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py\") 39 ## print('> ESPOTAPY [' + ESPOTAPY + ']') 40 # 41 #------ do not change anything below this line! ------------ 42 #=========================================================== De meeste regels zijn commentaar (\"#\"). Het gaat dan ook alleen om de variabelen die in de regels 29, 33 en 38 een waarde krijgen. PYTHON (Unix-Os) Voor unix achtige OS'n moet hier het volledige pad naar de python binary staan. Je kunt achterhalen waar op jouw computer python is ge\u00efnstalleerd door het volgende in een terminal window in te toetsen: $ which python /usr/local/bin/python $ De reply van het which commando voer je bij de PYTHON variabele in. PYTHON = os.path.join('/usr/local/bin/python') BUILDPATH (Unix-Os) BUILDPATH is de variabele die aangeeft waar in jouw setup van de ArduinoIDE de gecompileerde firmware wordt neergezet. Je kunt erachter komen wat het build-pad bij jouw computer is door een simpele Sketch bedraad te uploaden. Je ziet dan zoiets als dit onderin het log-venster verschijnen (voor de duidelijkheid heb ik de regel waar het omgaat in stukjes geknipt): Sketch uses 307352 bytes (29%) of program storage space. Maximum is 1044464 bytes. Global variables use 28424 bytes (34%) of dynamic memory, leaving 53496 bytes for local variables. Maximum is 81920 bytes. /Users/(YourLoginName)/Library/Arduino15/packages/esp8266/tools/esptool/2.5.0-3-20ed2b9/esptool \\ -vv \\ -cd none -cb 115200 -cp /dev/cu.usbserial-A501B8OQ \\ -ca 0x00000 \\ -cf /var/folders/lt/twpr82k512n1y9dwlck19hp40000gn/T/arduino_build_654814/BasicOTA.ino.bin Achter -cf staat het pad waar het om gaat. Op mijn computer is dit blijkbaar /var/folders/lt/twpr82k512n1y9dwlck19hp40000gn/T/arduino_build_654814/ waarbij zowel het deel achter /lt/ en het nummer 654814 achter arduino_build tijdelijke verwijzingen zijn die steeds een andere waarde zullen hebben. Daarom is het noodzakelijk voor het otaUpload programma om het build-pad een vaste naam te geven die we ook altijd makkelijk kunnen vinden. Om het otaUpload programma goed te laten lopen moet je in de instellingen van de ArduinoIDE een aanpassing aanbrengen. De instellingen staan in preferences.txt en het gaat dan specifiek om de instelling build.path . Je moet daartoe in de Preferences/Voorkeuren van de ArduinoIDE kijken waar dit bestand op jouw computer te vinden is. Sluit de ArduinoIDE af (dat is \u00e9cht noodzakelijk!). Open het preferences.txt bestand in je favoriete editor (zie ook ) .. .. en voeg deze regel ergens in het begin van het preferences.txt bestand toe: build.path=/Users/(YourLoginName)/Documenten/arduinoBuild Sla het bestand op en start de ArduinoIDE. Ik heb het build-pad zo genoemd: /Users/(YourLoginName)/Documenten/arduinoBuild . Neem dit pad over voor de BUILDPATH variabele van het otaUpload programma. #------ this is the Sketch Location (see preferences.txt) -- BUILDPATH = os.path.join(\"/Users/(YourLoginName)/Documenten/arduinoBuild\") Kijk hier hoe je het preferences.txt kunt aanpassen. ESPOTAPY (Unix-Os) De variabele ESPOTAPY geeft aan waar op jouw systeem het espota.py programma staat. Als je de Sketch BasicOTA Over The Air upload naar een ESP8266 dan zie je in het log-venster onderin de ArduinoIDE een regel verschijnen die espota.py aanroept. Sketch uses 307352 bytes (29%) of program storage space. Maximum is 1044464 bytes. Global variables use 28424 bytes (34%) of dynamic memory, leaving 53496 bytes for local variables. Maximum is 81920 bytes. python /Users/(YourLoginName)/Library/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py \\ -i 192.168.12.161 -p 8266 --auth= \\ -f /var/folders/lt/twpr82k512n1y9dwlck19hp40000gn/T/arduino_build_654814/BasicOTA.ino.bin Uploading................................................................................ ......................................................................................... ............................................. Het deel van de regel achter python vanaf /Users/ tot en met /espota.py moet je achter ESPOTAPY invullen. #------ Edit this ESPOTAPY to point to the location -------- #------ where your espota.py file is located -------- ESPOTAPY = os.path.join(\"/Users/(YourLoginName)/Library/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py\") Tenslotte moet je het otaUpload programma in een map/directory zetten die in de PATH variabele voorkomt (bijvoorbeeld /usr/local/bin ) of je moet het programma steeds aanroepen met de volledige pad-naam waar het programma staat (bijvoorbeeld \\otaUpload ). preferences.txt Ergens in het preference.txt bestand staan deze instellingen die aangeven hoe je binaries worden ge-build en waar ze worden neergezet. . build.path=/Users/(YourLoginName)/Documenten/arduinoBuild build.verbose=true build.warn_data_percentage=75 . . Het gaat om de variabele build.path . Als deze niet in het preferences.txt bestand staat, raad ik je aan hem toe te voegen met een pad waar je makkelijk bij kunt komen zodat je Sketches altijd op dezelfde plek gecompileerd worden. Het maakt het leven een stukje eenvoudiger ;-) Let op! Pas het preferences.txt bestand alleen aan als de ArduinoIDE is afgesloten! De ArduinoIDE heeft deze preferences in zijn geheugen staan en overschrijft het preferences.txt bestand bij het afsluiten. Dit commentaar vond ik op github m.b.t. de build.path variabele: # temporary build path, normally this goes into the default # \"temp\" folder for that platform (as defined by java) # but this can be used to set a specific file in case of problems #build.path=build Als de variabel niet ge-set wordt (er staat een # voor of hij ontbreekt in het preferences.txt bestand) dan wordt de standaard, door java bepaalde, temp directory gebruikt. java.io.tmpdir The default value is typically \"/tmp\", or \"/var/tmp\" on Unix-like platforms. On Microsoft Windows systems the java.io.tmpdir property is typically \"C:\\\\WINNT\\\\TEMP\". .. or .. at Windows 10 it seems to be \"AppData\\Local\\Temp\\\" or \"\\Users\\\\(YourLoginName)\\AppData\\Local\\Temp\\\"","title":"uploadOTA bug"},{"location":"uploadOTA-bug/#upload-over-the-air-bug","text":"Let op! Deze pagina is niet meer relavant omdat de DSMRloggerWS firmware vanaf versie 0.4.2 gebruik maakt van een upload pagina in de firmware zelf! Voor je eigen gemak raad ik je aan het deel over het vaste ` build pad ` wel te lezen en uit te voeren zodat je altijd makkelijk weet waar je nieuw gecompileerde firmware staat! Het lijkt erop dat er een bug zit in de toolchain van de ArduinoIDE voor wat betreft het Over The Air uploaden van omvangrijke Firmware. Als je probeert om de DSMRloggerWS firmware via de ArduinoIDE te uploaden krijg je consequent een popUp window te zien waarin gevraagd wordt een password in te voeren: Waarna, wat je ook klikt of invult , je de volgende foutmelding in de ArduinoIDE te zien krijgt: .. en het verhaal stopt. Het popUp window is een bekend fenomeen in de Arduino wereld omdat het in verschillende situaties voor kan komen. Helaas wordt er nergens een \u00e9chte oplossing gegeven. Maar gelukkig is er voor d\u00edt probleem een Work Around ! Het blijkt, dat als je de instructie om de firmware te uploaden naar de ESP8266 op de command line, handmatig invoert de OTA upload w\u00e9l goed gaat! Als je op het Compile & Upload icon klikt, verschijnt er onderin de ArduinoIDE in het log venster op enig moment de volgende regel: C:\\Users\\(YourLoginName)\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0\\tools\\espota.py \\ -i -p 8266 --auth= \\ -f C:\\Users\\(YourLoginName)\\AppData\\Local\\Temp\\arduino_build_\\DSMRloggerWS.ino.bin (voor de duidelijkheid heb ik de regel opgesplits). Als je deze regel eenvoudig kopieerd ( Ctrl-C ) en in een terminal/command window paste ( Ctrl-V ) dan werkt de Over The Air upload w\u00e9l. Let op! Als je alleen sporadisch Firmware die niet (meer) direct via de ArduinoIDE Over The Air ge-upload kan worden wil flashen, dan is bovenstaande voldoende om dit te kunnen doen. De rest van deze pagina kun je dan overslaan.","title":"Upload Over The Air (bug?)"},{"location":"uploadOTA-bug/#een-ota-upload-programma-voor-de-ontwikkelaars","text":"Voor gebruikers die zelf de DSMRloggerWS firmware verder willen ontwikkelen - en die dus vaker de Firmware (Over The Air) moeten uploaden - heb ik in de utils directory van de repository twee Python programma's gezet (\u00e9\u00e9n voor Windows en \u00e9\u00e9n voor unix-achtige OS'n) die dit iets eenvoudiger maakt. Om, voor de vervolg stappen, de goede informatie in het log-venster van de ArduinIDE tezien te krijgen moet in de Preferences/Voorkeuren de Show Verbose Output During: upload zijn aangevinkt: Inplaats van op het Compile & Upload icon te klikken kun je voortaan in de IDE op het Verify icon klikken en het otaUpload programma gebruiken om de firmware naar de ESP8266 te flashen.. Gebruikers die werken met unix of macOS kunnen hier verder lezen.","title":"Een OTA upload programma voor de ontwikkelaars"},{"location":"uploadOTA-bug/#otaupload-programma-windows","text":"Je roept het programma als volgt aan: python otaUpload.py > otaUpload.py 192.168.12.161 otaUpload : [ 1 ] [ DSMRloggerWS.ino.bin ] otaUpload : bin File Found DSMRloggerWS.ino.bin otaUpload : Last Modified Tue Apr 23 14:37:13 2019 ---------------------------------------------------------------------------- otaUpload : espota -i 192.168.12.161 -f DSMRloggerWS.ino.bin Uploading................................................................ ......................................................................... ......................................................................... Done .. > Om het programma in jouw omgeving te laten werken moet je drie regels aanpassen. 15 #=========================================================== 16 #------ do not change anything above this line! ------------ 17 # 18 #------ location of python --------------------------------- 19 # You can find this by entering the following commands in a 20 # terminal/command window: 21 # 1 > python 22 # 2 >>> import sys 23 # 3 >>> sys.executable 24 # 4 'C:\\\\aa\\python.exe' 25 # 5 >>> quit() 26 # 27 # copy/paste the string from line 4 between os.path.join() 28 # 29 PYTHON = os.path.join(\"C:/Users/(YourLoginName)/AppData/Local/Programs/Python/Python3/python.exe\") 30 ## print(\"> PYTHON [\" + PYTHON + \"]\") 31 # 32 #------ this is the Sketch Location (see preferences.txt) -- 33 BUILDPATH = os.path.join(\"C:/Users/(YourLoginName)/Documenten/arduinoBuild\") 34 ## print('>BUILDPATH [' + BUILDPATH + ']') 35 # 36 #------ Edit this ESPOTAPY to point to the location -------- 37 #------ where your espota.py file is on your system -------- 38 ESPOTAPY = os.path.join(\"C:/Users/(YourLoginName)/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py\") 39 ## print('> ESPOTAPY [' + ESPOTAPY + ']') 40 # 41 #------ do not change anything below this line! ------------ 42 #=========================================================== De meeste regels zijn commentaar (\"#\"). Het gaat dan ook alleen om de variabelen die in de regels 29, 33 en 38 een waarde krijgen. Let op! Windows gebruikers zijn gewend om een \" \\ \" ( BackSlash ) in paden te gebruiken. De functie os.path.join() gaat er echter vanuit dat hiervoor de \" / \" ( ForwardSlash ) wordt gebruikt. Op alle pad-aanduidingen die tussen os.path.join() staan moeten enkele \" \\ \" of dubbele \" \\\\ \" BackSlashes worden vervangen door \u00e9\u00e9n enkele \" / \" ForwardSlash .","title":"otaUpload programma (Windows)"},{"location":"uploadOTA-bug/#python-windows","text":"Om erachter te komen waar python op jouw systeem is ge\u00efnstalleerd kun je de volgende instructies in een command window intoetsen: C:> C:> python Python 2.7.16 (v2.7.16:413a49145e, Mar 4 2019, 01:30:55) Type \"help\", \"copyright\", \"credits\" or \"license\" for more i >>> import sys >>> sys.executable 'C:\\\\Users\\\\YourLoginName)\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python3\\\\python.exe' >>> quit() De uitvoer onder de regel sys.executable neem je over waarbij je dubbele Backslashes ( \\\\ ) veranderd in \u00e9\u00e9n Slash ( / ). PYTHON = os.path.join('C:/Users/(YourLoginName)/AppData/Local/Programs/Python/Python3/python.exe')","title":"PYTHON (Windows)"},{"location":"uploadOTA-bug/#buildpath-windows","text":"BUILDPATH is de variabele die aangeeft waar in jouw setup van de ArduinoIDE de gecompileerde firmware wordt neergezet. Je kunt erachter komen wat het build-pad bij jouw computer is door een simpele Sketch bedraad te uploaden. Je ziet dan zoiets als dit onderin het log-venster verschijnen (voor de duidelijkheid heb ik de regel waar het omgaat in stukjes geknipt): De schets gebruikt 306788 bytes (29%) programma-opslagruimte. Maximum is 1044464 bytes. Globale variabelen gebruiken 28384 bytes (34%) van het dynamisch geheugen. Resteren 53536 bytes voor lokale variabelen. Maximum is 81920 bytes. C:\\Documents and Settings\\(YourLoginName)\\Local Settings\\Application Data\\Arduino15\\packages\\esp8266\\tools\\esptool\\2.5.0-3-20ed2b9/esptool.exe \\ -vv -cd ck -cb 115200 -cp COM3 -ca 0x00000 \\ -cf C:\\Users\\(YourLoginName)\\AppData\\Local\\Temp\\arduino_build_65432/BasicOTA.ino.bin Achter -cf staat het pad waar het om gaat. In dit voorbeeld is dat dit blijkbaar: C:\\Users\\(YourLoginName)\\AppData\\Local\\Temp\\arduino_build_65432 waarbij je er rekening mee moet houden dat arduino_build_65432 slechts een tijdelijke map is die, na het opnieuw opstarten van de ArduinoIDE, een ander nummer zal hebben! Om het otaUpload.py programma goed te laten lopen is het noodzakelijk om in de ArduinoIDE preferences.txt het build.path op een vaste lokatie te zetten. Je moet daartoe in de Preferences/Voorkeuren van de ArduinoIDE kijken waar dit bestand op jouw computer te vinden is. Kijk hier wat je dit bestand moet aanpassen. Sluit de ArduinoIDE af (dat is \u00e9cht noodzakelijk!). Open het preferences.txt bestand in je favoriete editor .. .. en voeg deze regel ergens in het begin van het preferences.txt bestand toe: build.path=C:\\Users\\(YourLoginName)\\Documenten\\arduinoBuild Sla het bestand op en start de ArduinoIDE. Neem het pad dat je in preferences.txt hebt opgegeven over in otaUpload.py waarbij je de (\" \\ \") BackSlashes veranderd in (\" / \") ForwardSlashes . #------ this is the Sketch Location (see preferences.txt) -- BUILDPATH = os.path.join(\"C:/Users/(YourLoginName)/Documenten/arduinoBuild\") # Let op! Ik ben geen Windowz kenner en om mij volkomen onduidelijke redenen heet de map \" documenten \" soms opeens \" documents \" .. of omgekeerd. Hou daar rekening mee bij het opgeven van een vast build.path !","title":"BUILDPATH (Windows)"},{"location":"uploadOTA-bug/#espotapy-windows","text":"De variabele ESPOTAPY geeft aan waar op jouw systeem het espota.py programma staat. Als je de Sketch BasicOTA Over The Air upload naar een ESP8266 dan zie je in het log-venster onderin de ArduinoIDE een regel verschijnen die espota.py aanroept. De schets gebruikt 306788 bytes (29%) programma-opslagruimte. Maximum is 1044464 bytes. Globale variabelen gebruiken 28384 bytes (34%) van het dynamisch geheugen. Resteren 53536 bytes voor lokale variabelen. Maximum is 81920 bytes. python.exe C:\\Users\\(YourLoginName)\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0/tools/espota.py \\ -i 192.168.12.161 -p 8266 --auth= \\ -f C:\\Documents and Settings\\(YourLoginName)\\Local Settings\\Temp\\Build/BasicOTA.ino.bin Uploading............................................................................................ ..................................................................................................... ..................... Dit deel van de regel C:\\Users\\(YourLoginName)\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.5.0/tools/espota.py moet je achter ESPOTAPY invullen tussen de haakjes van os.path.join() waarbij je alle enkele (\" \\ \") of dubbele BackSlashes (\" \\\\ \") moet vervangen door \u00e9\u00e9n enkele ForwardSlash (\" / \"). #------ Edit this ESPOTAPY to point to the location -------- #------ where your espota.py file is located -------- ESPOTAPY = os.path.join(\"C:/Users/(YourLoginName)AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py\") # Tenslotte moet je het otaUpload.py programma in een map/directory zetten die in de PATH variabele voorkomt of je moet het programma steeds aanroepen met de volledige pad-naam waar het programma staat (bijvoorbeeld \\otaUpload.py ).","title":"ESPOTAPY (Windows)"},{"location":"uploadOTA-bug/#otaupload-programma-unix-osn","text":"Je roept het programma als volgt aan: otaUpload $ otaUpload 192.168.12.161 otaUpload : [ 1 ] [ DSMRloggerWS.ino.bin ] otaUpload : bin File Found DSMRloggerWS.ino.bin otaUpload : Last Modified Tue Apr 23 14:37:13 2019 ---------------------------------------------------------------------------- otaUpload : espota -i 192.168.12.161 -f DSMRloggerWS.ino.bin Uploading................................................................ ......................................................................... ......................................................................... Done .. $ Om het programma in jouw omgeving te laten werken moet je drie regels aanpassen. 15 #=========================================================== 16 #------ do not change anything above this line! ------------ 17 # 18 #------ where pyton is located ----------------------------- 19 # You can find this by entering the following commands in a 20 # terminal/command window: 21 # 1 > python 22 # 2 >>> import sys 23 # 3 >>> sys.executable 24 # 4 '/usr/local/bin/python' 25 # 5 >>> quit() 26 # 27 # copy/paste the string from line 4 between os.path.join() 28 # 29 PYTHON = os.path.join('/usr/local/bin/python') 30 ## print(\"> PYTHON [\" + PYTHON + \"]\") 31 # 32 #------ this is the Sketch Location (see preferences.txt) -- 33 BUILDPATH = os.path.join(\"/Users/(YourLoginName)/Documenten/arduinoBuild\") 34 ## print('>BUILDPATH [' + BUILDPATH + ']') 35 # 36 #------ Edit this ESPOTAPY to point to the location -------- 37 #------ where your espota.py file is located -------- 38 ESPOTAPY = os.path.join(\"/Users/(YourLoginName)/Library/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py\") 39 ## print('> ESPOTAPY [' + ESPOTAPY + ']') 40 # 41 #------ do not change anything below this line! ------------ 42 #=========================================================== De meeste regels zijn commentaar (\"#\"). Het gaat dan ook alleen om de variabelen die in de regels 29, 33 en 38 een waarde krijgen.","title":"otaUpload programma (Unix OS'n)"},{"location":"uploadOTA-bug/#python-unix-os","text":"Voor unix achtige OS'n moet hier het volledige pad naar de python binary staan. Je kunt achterhalen waar op jouw computer python is ge\u00efnstalleerd door het volgende in een terminal window in te toetsen: $ which python /usr/local/bin/python $ De reply van het which commando voer je bij de PYTHON variabele in. PYTHON = os.path.join('/usr/local/bin/python')","title":"PYTHON (Unix-Os)"},{"location":"uploadOTA-bug/#buildpath-unix-os","text":"BUILDPATH is de variabele die aangeeft waar in jouw setup van de ArduinoIDE de gecompileerde firmware wordt neergezet. Je kunt erachter komen wat het build-pad bij jouw computer is door een simpele Sketch bedraad te uploaden. Je ziet dan zoiets als dit onderin het log-venster verschijnen (voor de duidelijkheid heb ik de regel waar het omgaat in stukjes geknipt): Sketch uses 307352 bytes (29%) of program storage space. Maximum is 1044464 bytes. Global variables use 28424 bytes (34%) of dynamic memory, leaving 53496 bytes for local variables. Maximum is 81920 bytes. /Users/(YourLoginName)/Library/Arduino15/packages/esp8266/tools/esptool/2.5.0-3-20ed2b9/esptool \\ -vv \\ -cd none -cb 115200 -cp /dev/cu.usbserial-A501B8OQ \\ -ca 0x00000 \\ -cf /var/folders/lt/twpr82k512n1y9dwlck19hp40000gn/T/arduino_build_654814/BasicOTA.ino.bin Achter -cf staat het pad waar het om gaat. Op mijn computer is dit blijkbaar /var/folders/lt/twpr82k512n1y9dwlck19hp40000gn/T/arduino_build_654814/ waarbij zowel het deel achter /lt/ en het nummer 654814 achter arduino_build tijdelijke verwijzingen zijn die steeds een andere waarde zullen hebben. Daarom is het noodzakelijk voor het otaUpload programma om het build-pad een vaste naam te geven die we ook altijd makkelijk kunnen vinden. Om het otaUpload programma goed te laten lopen moet je in de instellingen van de ArduinoIDE een aanpassing aanbrengen. De instellingen staan in preferences.txt en het gaat dan specifiek om de instelling build.path . Je moet daartoe in de Preferences/Voorkeuren van de ArduinoIDE kijken waar dit bestand op jouw computer te vinden is. Sluit de ArduinoIDE af (dat is \u00e9cht noodzakelijk!). Open het preferences.txt bestand in je favoriete editor (zie ook ) .. .. en voeg deze regel ergens in het begin van het preferences.txt bestand toe: build.path=/Users/(YourLoginName)/Documenten/arduinoBuild Sla het bestand op en start de ArduinoIDE. Ik heb het build-pad zo genoemd: /Users/(YourLoginName)/Documenten/arduinoBuild . Neem dit pad over voor de BUILDPATH variabele van het otaUpload programma. #------ this is the Sketch Location (see preferences.txt) -- BUILDPATH = os.path.join(\"/Users/(YourLoginName)/Documenten/arduinoBuild\") Kijk hier hoe je het preferences.txt kunt aanpassen.","title":"BUILDPATH (Unix-Os)"},{"location":"uploadOTA-bug/#espotapy-unix-os","text":"De variabele ESPOTAPY geeft aan waar op jouw systeem het espota.py programma staat. Als je de Sketch BasicOTA Over The Air upload naar een ESP8266 dan zie je in het log-venster onderin de ArduinoIDE een regel verschijnen die espota.py aanroept. Sketch uses 307352 bytes (29%) of program storage space. Maximum is 1044464 bytes. Global variables use 28424 bytes (34%) of dynamic memory, leaving 53496 bytes for local variables. Maximum is 81920 bytes. python /Users/(YourLoginName)/Library/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py \\ -i 192.168.12.161 -p 8266 --auth= \\ -f /var/folders/lt/twpr82k512n1y9dwlck19hp40000gn/T/arduino_build_654814/BasicOTA.ino.bin Uploading................................................................................ ......................................................................................... ............................................. Het deel van de regel achter python vanaf /Users/ tot en met /espota.py moet je achter ESPOTAPY invullen. #------ Edit this ESPOTAPY to point to the location -------- #------ where your espota.py file is located -------- ESPOTAPY = os.path.join(\"/Users/(YourLoginName)/Library/Arduino15/packages/esp8266/hardware/esp8266/2.5.0/tools/espota.py\") Tenslotte moet je het otaUpload programma in een map/directory zetten die in de PATH variabele voorkomt (bijvoorbeeld /usr/local/bin ) of je moet het programma steeds aanroepen met de volledige pad-naam waar het programma staat (bijvoorbeeld \\otaUpload ).","title":"ESPOTAPY (Unix-Os)"},{"location":"uploadOTA-bug/#preferencestxt","text":"Ergens in het preference.txt bestand staan deze instellingen die aangeven hoe je binaries worden ge-build en waar ze worden neergezet. . build.path=/Users/(YourLoginName)/Documenten/arduinoBuild build.verbose=true build.warn_data_percentage=75 . . Het gaat om de variabele build.path . Als deze niet in het preferences.txt bestand staat, raad ik je aan hem toe te voegen met een pad waar je makkelijk bij kunt komen zodat je Sketches altijd op dezelfde plek gecompileerd worden. Het maakt het leven een stukje eenvoudiger ;-) Let op! Pas het preferences.txt bestand alleen aan als de ArduinoIDE is afgesloten! De ArduinoIDE heeft deze preferences in zijn geheugen staan en overschrijft het preferences.txt bestand bij het afsluiten. Dit commentaar vond ik op github m.b.t. de build.path variabele: # temporary build path, normally this goes into the default # \"temp\" folder for that platform (as defined by java) # but this can be used to set a specific file in case of problems #build.path=build Als de variabel niet ge-set wordt (er staat een # voor of hij ontbreekt in het preferences.txt bestand) dan wordt de standaard, door java bepaalde, temp directory gebruikt. java.io.tmpdir The default value is typically \"/tmp\", or \"/var/tmp\" on Unix-like platforms. On Microsoft Windows systems the java.io.tmpdir property is typically \"C:\\\\WINNT\\\\TEMP\". .. or .. at Windows 10 it seems to be \"AppData\\Local\\Temp\\\" or \"\\Users\\\\(YourLoginName)\\AppData\\Local\\Temp\\\"","title":"preferences.txt"},{"location":"verschillenESP8266/","text":"verschillen ESP8266 ESP-12 ESP-01 ESP-01 (Black Edition) ESP-01S ESP-12 Deze ESP8266 heeft 4MB flash geheugen. Een blauwe led is aangesloten op GPIO-02. Daarnaast heeft de ESP-12 12 GPIO pinnen waarvan de meeste vrij te gebruiken zijn. Versie 4 van de DSMR-logger is ontworpen rond de ESP-12. ESP-01 De ESP-01 heeft slechts 512MB flash geheugen en is niet geschikt voor de DSMRloggerWS firmware! ESP-01 (Black Edition) Dit is de versie van de ESP8266 waar de DSMR-logger Versie 3 voor is ontwikkeld. Deze ESP-01 is, met beperkte functionaliteit, geschikt voor de DSMRloggerWS firmware. Hij heeft 1MB flash geheugen, een rode power led en een blauwe led die op GPIO-01 is aangesloten. ESP-01S Oorspronkelijk had deze ESP-01 ook slecht 512MB flash geheugen. De versie die nu meestal verkocht wordt heeft echter 1MB geheugen. Het is dus wel zaak op te letten wat voor versie je koopt! De ESP-01S heeft geen power led en de blauwe led is niet op GPIO-01 maar op GPIO-02 aangesloten (pas dit aan in de boards setting!). Deze versie van de ESP-01 is, met beperkte functionaliteit, geschikt voor de DSMRloggerWS firmware. [DSMR-SystemInfo]","title":"Verschillen ESP8266 modules"},{"location":"verschillenESP8266/#verschillen-esp8266","text":"ESP-12 ESP-01 ESP-01 (Black Edition) ESP-01S","title":"verschillen ESP8266"},{"location":"verschillenESP8266/#esp-12","text":"Deze ESP8266 heeft 4MB flash geheugen. Een blauwe led is aangesloten op GPIO-02. Daarnaast heeft de ESP-12 12 GPIO pinnen waarvan de meeste vrij te gebruiken zijn. Versie 4 van de DSMR-logger is ontworpen rond de ESP-12.","title":"ESP-12"},{"location":"verschillenESP8266/#esp-01","text":"De ESP-01 heeft slechts 512MB flash geheugen en is niet geschikt voor de DSMRloggerWS firmware!","title":"ESP-01"},{"location":"verschillenESP8266/#esp-01-black-edition","text":"Dit is de versie van de ESP8266 waar de DSMR-logger Versie 3 voor is ontwikkeld. Deze ESP-01 is, met beperkte functionaliteit, geschikt voor de DSMRloggerWS firmware. Hij heeft 1MB flash geheugen, een rode power led en een blauwe led die op GPIO-01 is aangesloten.","title":"ESP-01 (Black Edition)"},{"location":"verschillenESP8266/#esp-01s","text":"Oorspronkelijk had deze ESP-01 ook slecht 512MB flash geheugen. De versie die nu meestal verkocht wordt heeft echter 1MB geheugen. Het is dus wel zaak op te letten wat voor versie je koopt! De ESP-01S heeft geen power led en de blauwe led is niet op GPIO-01 maar op GPIO-02 aangesloten (pas dit aan in de boards setting!). Deze versie van de ESP-01 is, met beperkte functionaliteit, geschikt voor de DSMRloggerWS firmware. [DSMR-SystemInfo]","title":"ESP-01S"}]} \ No newline at end of file diff --git a/mkdocs/site/sitemap.xml b/mkdocs/site/sitemap.xml index 1bd0974..e70e609 100644 --- a/mkdocs/site/sitemap.xml +++ b/mkdocs/site/sitemap.xml @@ -2,182 +2,182 @@ https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/introductie/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/installatieArduinoIDE/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/installatieESP8266core/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/installatieDataUploadTool/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/installatieBibliotheken/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/benodigdeBibliotheken/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/clonenFirmware/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/uploadFirmware_V4/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/uploadDataMap_V4/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/uploadFirmware_V3/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/uploadDataMap_V3/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/overzichtFuncties/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/Is_ESP12/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/Use_Update_Server/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/Has_OLED_SSD1306/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/Has_OLED_SH1106/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/Use_MQTT/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/Use_Pre40_Protocol/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/Use_NTP_Time/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/SM_Has_No_Fase_Info/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/Show_Passwrds/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/Has_No_Meter/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/hardware_V4/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/hardware_V4_Programmer/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/hardware_V3/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/hardware_V3_Programmer/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/Opstarten/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/restAPI/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/verschillenESP8266/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/PUYA_patch/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/QenA/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/integratieDomoticz/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/integratieHomey/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/integratieHassio/ - 2019-10-19 + 2019-11-10 daily https://willem.aandewiel.nl/index.php/2018/08/28/slimme-meter-uitlezer/MITlicense/ - 2019-10-19 + 2019-11-10 daily \ No newline at end of file diff --git a/mkdocs/site/sitemap.xml.gz b/mkdocs/site/sitemap.xml.gz index 00dc4de5e7cbcca8195010b74792256a8a661bfb..0fb37514d3972881410aaa381461d0ce98579bf7 100644 GIT binary patch delta 562 zcmV-20?qxz1jGafABzYG4C2R;2Ooc;D@er(5J*d#im=k2BG;Z0tNuuBr)hcm+AZDf z3-mCXLp~OAXCX<<6zbH9)2J3{;^CVBRWB{5OF7$Dp9IEwjnp_tbv(8Efeh?OG zH%}Vx+aHAVeV;nvLDANw#vX}dO}KF6Y$REFl@u3)utf(SXM>qEtcV_5bRmDF1eH>% zIrIW#swENO{3UIhmW;A|O0p>#O^K62DHtm7V27RX5>8;rj6`RjeyQ`y@FF~QHO%v2 zo`u_I+j$9Vs6N7jg{Oj3Azx?Yi{(Qo`K$DsGz;ym;T`h=km`4yN=bwMh2@>lX1iQr zCt2;w>1Z-x#-b0(l6rb*rJ;YkGDc#j`6=$DFus9D&?s5%L5FI3aYOtI#rS^+1x^SP`oEK4jbC>OI(Jq^<3Sy88ClYFY31%Y2+okV9Q@!`&}J#;l|W!8d$da!QkX*OkbDOx!!Vzwj_lx?4lJVKtnCZ+;M-=AB)n_ z(y$17D8|_JV-Lk`>pZm{={UfG^NVteQhOYDvnKk`=gA*RjPmejQMc5y2BrKv&^nsDLB#YnPrmK0Zmutf*&XM?#ktcV_5bRmDF1eH>% zIrIW#swENO{5fr#mW;A|O0p>#O^K62DHtm7V27RX63$@BoJ40IeyQ`y@FF}l8|K+C zpM~2O+hqxBs6N4?g+B$SLcYw&C(FA~@>l5>X%^aB!#m~$Al2_Ym68ViOUpZ<&2F{E zPO?6f)6rzYj71-m74`JkN<)8nWsJm5^IbehVSEF>L8D}O03E97iQ^|>(rC~dVO39& zrb+jf7as`q&uhdKG0*q3#SQT<6yyIP6gVMF=>N`wHGb3S*p@hy6gyXkuXsK}DgNl7 zKDL~Cs1IPDkhZp4>gu~6>s5U?tnzU-K@PFabEFLMb=u!o6Y@9rkt1g+L9E)u#Z-h01dSqbI1Kje=JHT zOT!}Up%`P=k3AH3t@G4+q~ib!&M(UyO6_sr&6?;#UnYMjG0NkwW!+NG8kF+yK`*h6 z@F5hQIBYe_c)`xdF}5N`!3%bV(BTQ39qN8pNx?w7FZ@w>J2>#gD@=z{4D%ZR04&TC Ag8%>k diff --git a/mkdocs/site/uploadDataMap_V4/index.html b/mkdocs/site/uploadDataMap_V4/index.html index bb20dd9..d7774cd 100644 --- a/mkdocs/site/uploadDataMap_V4/index.html +++ b/mkdocs/site/uploadDataMap_V4/index.html @@ -414,7 +414,7 @@

Over The Air


DSMRloggerWS Version 1.0.3 -
Deze pagina is 2019-08-04 voor het laatst bijgewerkt. +
Deze pagina is 2019-10-19 voor het laatst bijgewerkt.
diff --git a/mkdocs/site/uploadFirmware_V4/index.html b/mkdocs/site/uploadFirmware_V4/index.html index a586a92..9f0554d 100644 --- a/mkdocs/site/uploadFirmware_V4/index.html +++ b/mkdocs/site/uploadFirmware_V4/index.html @@ -523,7 +523,7 @@

Firmware Over The Air FlashenDSMRloggerWS Version 1.0.3 -
Deze pagina is 2019-08-05 voor het laatst bijgewerkt. +
Deze pagina is 2019-10-19 voor het laatst bijgewerkt.