Auteur: Security Brother

P1 monitor download 202006

P1 monitor download 202006

P1 monitor is op de Raspberry PI3 en Pi4 gebaseerde software om je slimme meter uit te lezen. Voor een meer uitgebreide beschrijving zie hier.

Mocht je de software de moeite waard vinden wil je deze dan delen via social media e.d. Bedankt voor de ondersteuning.

Upgrade of eerst installatie.

De software verkrijgen en installatie.

De P1 monitor software wordt geleverd als Raspberry Pi 3B/4 SDHC image die hieronder te downloaden is. Om de het image naar een SDHC card te kopiëren is een image tool nodig als je deze niet hebt dan kun je USB Image tool downloaden.  Zie hieronder hoe je dat daarna de rest van de ruimte op de SDHC card kunt gebruiken met raspi-config tool.

BELANGRIJK

Er is grote aanpassing gedaan aan de upgrade assistent, deze is beperkt compatibel met de vorige versie. Als de Upgrade assistent wordt gebruik met data van vorige versies dan is het noodzakelijk om ook een export van de vorige versie te doen en deze met de hand te importeren. Vanaf versie 0.9.15 en hoger kan de upgrade assistent weer zonder deze manuele upgrade worden uitgevoerd. Als dit niet wordt gedaan dan is historische data niet meer beschikbaar.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst! Gebruik eventueel de upgrade assistent.

Veel plezier met de P1 monitor en laat weten hoe het bevalt.

  1. download het P1 monitor image file uit de download overzicht hieronder.
  2. pak het zip file uit en lees de bijlagen.
  3. kopieer het p1monYYYYMMDD-NN.NN-X.img file via de USB tool naar de SDHC card van minimaal 8GB (bij voorkeur een 32GB of 16GB). Groter dan 32GB heeft geen meerwaarde wegens het FAT32 filesysteem. Let op! data op de card wordt overschreven en is niet meer te herstellen. (had ik al gehad over de export van data).
  4. Mocht je een groter SDHC card willen gebruiken dan kan je via de raspi-config tool de gehele SDHC card gebruiken. Dit is zeker aan te bevelen om slijtage van de SDHC card te verminderen.
  5. plaats de SDHC card in de Pi.
  6. start de Pi, netwerk en P1 kabel aangesloten.
  7. Importeer de data, als je al eerdere versie hebt gebruikt.

FAQ

Mocht je vragen hebben kijk dan eerst in de FAQ

Problemen oplossen.

Image past niet op de SDHC card:

  1. Je kunt proberen de donor SDHC card opnieuw te formatteren met een dergelijk tool als de SD formatter.
  2. Installeer het image op een groter SDHC card. Het ongebruikte deel van de SDHC card kun je vrijgeven via de raspi-config tool met de optie extend
  3. wis de browser cache als je layout problemen hebt.

Standaard wachtwoord besturingssysteem:

  1. Het standaard account en wachtwoord om in te kunnen loggen met SSH is p1mon met het wachtwoord  verandermij.
  2. Het advies dit wachtwoord na installatie aan te passen.

Juridisch spul en zo

Dit werk valt onder een Creative Commons Naamsvermelding-NietCommercieel 4.0 Internationaal-licentie.

De rechten van onderliggende softwareproducten zijn qua licentierechten niet gewijzigd Dit geldt voor bijvoorbeeld het besturingssysteem en javascript bibliotheken. De rechten van onderliggende producten gaan voor deze licentie.

DE SOFTWARE IS GELEVERD “ZOALS”, ZONDER GARANTIE VAN ENIGE SOORT, INCLUSIEF MAAR NIET BEPERKT OP DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL. IN GEEN GEVAL ZAL HET AUTEURS OF COPYRIGHT HOLDERS AANSPRAKELIJK ZIJN VOOR ENIGE EISEN, SCHADE OF ANDERE AANSPRAKELIJKHEID IN VERBAND MET DE SOFTWARE OF HET GEBRUIK VAN DE SOFTWARE.

Samengevat: gebruik is voor eigen risico.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

DOWNLOAD

SDHC images

P1 monitor wordt alleen ondersteund op de Raspberry Pi 3B, Pi3 B+ of Pi4 (vanaf versie 0.9.11).
Een Pi 2 kan werken maar geen garanties.  Een Pi Zero is nooit getest. Van de Pi 1 is bekend dat deze fouten geeft en verloop van tijd stopt / crashed door een gebrek aan ram geheugen.

Wat is er veranderd in versie 202004-0.9.17 (Maxine)

Opgelost: wachtwoord voor de login wordt als de browser zich aan de html opties houdt niet meer opgeslagen in de browser.

Opgelost: als in de fase historie geen data werd aangeboden voor L1 Watt of L3 Ampere dan werd een waarde als 999999999 aangegeven.

Opgelost: in het configuratie scherm bestanden kon door het invoeren van enter/return per ongeluk het wissen van de database worden gestart. Met dank aan Adriaan voor het melden.

Opgelost: selectie knoppen van de zichtbaarheid van grafieken is iets kleiner gemaakt waardoor deze beter zichtbaar is.

Opgelost: P1Semaphore.py gaf een waarschuwing van een verouderde Pyhton module. Met dank aan Kees voor het melden.

Opgelost: Het script P1Backup.py werkte onduidelijk als er een geforceerde back-up nodig is de juist aanroep is P1Backup.py -fb yes in de deze versie is de optie P1Backup.py -fb voldoende. Met dank aan Eelco voor het melden.

Opgelost: de kostenschermen konden een dubbel waarde geven bij de tweede keer dat de pagina werd ververst. Met dank aan Friso voor het melden.

Opgelost: Log2Ram start nu sneller waardoor de boot tijd ongeveer 90 seconden sneller is.

Opgelost: Nginx start nu nadat Log2Ram is gestart service bestand van log2ram is aangepast.

Opgelost: de main-1 en main-2 schermen geven nu ook de dag kosten van water weer.

Opgelost: logging van de samba service is nu conform de moderne manier van loggen.

Opgelost: help tekst van de binnentemperatuur gaf IN in plaats van OUT weer, heeft geen effect op de werking.

Nieuw: de watermeter stand reset laat nu de voortgang zien op de configuratie pagina.

Nieuw: diverse tooltip teksten toegevoegd bij de configuratie en reset van de watermeter.

Nieuw: fase historie scherm geeft een waarschuwing als de database niet geactiveerd is.

Nieuw: in het fase dashboard (fase-a.php) kan het maximale vermogen (Watt) en Amperage (A) worden ingesteld via het configuratie scherm display.

Nieuw: in het fase dashboard (fase-a.php) kan elke meter individueel worden verborgen of zichtbaar worden gemaakt.

Nieuw: alle Pyhton packages naar de laatste versie gebracht.

Nieuw: de fase vermogen indicatie op main-1.php en main-2.php wordt verborgen als het vermogen nul (0) is. Dit omdat diverse meters alleen bepaalde fase informatie doorgeven.

Nieuw: onterechte foutmelding als er geen watermeter wordt gebruikt verwijderd in P1Db.py. Met dank aan Eelco voor het melden.

Nieuw: aanpassingen gedaan zodat meer data via Dropbox wordt gedeeld t.b.v. van de nieuw IOS app. De app is nog in ontwikkeling en nog niet beschikbaar.

Nieuw: De Chrome browser laat vanaf versie 83 nu randen zien om de input velden en buttons e.d. dat is een keuze van de Chrome ontwikkelaars. Als dit niet bevalt dan wordt Firefox aanbevolen. Zie https://blog.chromium.org/2020/03/updates-to-form-controls-and-focus.html

Security patches en upgrade van diverse software bibliotheken uitgevoerd tot aan 2020-03-01.

Als je een bijdrage wil leveren om de kosten te dekken van de website e.d. dan kan kun je hier een donatie doen.

P1 monitor FAQ

P1 monitor FAQ

Frequently Asked Questions Een lijst met veelgestelde vragen.

Installatie van het image

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst! Gebruik eventueel de upgrade assistent.

  1. Als de software al eerder hebt gebruikt maak dan een export van de data.
  2. download het P1 monitor image file
  3. pak het zip file uit en lees de bijlagen.
    kopieer het p1monXXXX.img file via de USB tool naar de SDHC card van minimaal 8GB  
  4. Let op! data op de card wordt overschreven en is niet meer te herstellen.
  5. Mocht je een groter SDHC card willen gebruiken dan kan je via de raspi-config tool de gehele SDHC card gebruiken. Dit is zeker aan te bevelen om slijtage van de SDHC card te verminderen.
  6. Plaats de SDHC card in de Pi.
  7. Start de Pi, netwerk en P1 kabel aangesloten.
  8. Gebruik de IOS app, je router, een tooltje zoals Angry IP Scanner of Fing om het IP adres van de P1 monitor te vinden.
  9. Voer het IP adres in Internet Browser (Chrome, Firefox, enz).
  10. Je kunt in het setup scherm (steeksleuteltje links onderin het menu) de snelheid van de P1 poort instellen. Standaard staat de P1 monitor op het DSMR 3 protocol 9600 7E1 (7 databits, even parity, 1 stop bit) het kan zijn dat je de instellingen moet aanpassen naar het DSMR 4 protocol 115200 8N1 (8 databits, geen parity, 1 stop bit).
  11. Op de info(rmatie) pagina kun je onderin zien of er data uit de slimme meter komt.
  12. Optioneel: Importeer de data, als je al eerdere versie hebt gebruikt.

Inloggen op de Raspberry Pi

Je kunt op de rasbperry pi inloggen met een ssh client zoals putty (Windows) of vSSH(mac). Inloggen kan met het account “p1mon” en het wachtwoord “verandermij” Met sudo is het mogelijke om root commando’s uit te voeren.

Is de P1 software ook los van het SDHC image te installeren?

Het simpele antwoord is nee. We leveren de P1 monitor als complete oplossing waarmee we beter kunnen garanderen dat de P1 monitor goed werkt en blijft werken. Het lijkt een vervelende eigenschap maar door de applicatie als compleet ecosysteem te behandelen halen we een zeer hoge betrouwbaarheid en relatief weinig hulp vragen. Als we er losse software van maken hebben we een aparte helpdesk nodig. Nadeel is een Pi die je alleen hiervoor gebruikt, maar wel een die het altijd doet. Het is onwaarschijnlijk dat we dit ooit zullen aanpassen. Mocht je toch de software willen installeren dan zou dit kunnen maar we geven hier geen ondersteuning op.

Aanpassen van de Sqlite database

Het importeren van gebruiksgegevens is (nog) geen optie van de P1 monitor.  Er zijn op dit moment twee manieren om min of meer veilig de data in de database te laden of aan te passen.  Beide hebben voor en nadelen afhankelijk van de situatie.  Optie 1 is een hack op de import en exportfunctie, optie 2 is gebruik maken van een sqlite database editor.

Voordat je wijziging doorvoert is het verstandig om een export te maken en deze veilig te stellen mocht er iets mis gaan.

1:  in en export functie gebruiken. De export functie doet niet anders dan een verzameling van SQL commando’s aanmaken met alle data daarin. Als de data in het exportfile wordt aangepast dan kan de data met de import functie worden geladen.  Het is niet ingewikkeld maar het is handig als je iets enige SQL kennis hebt. Het voordeel van deze manier is dat de p1 monitor blijft draaien en dat je geen nieuwe data moet missen.  Aanpak:

  • Maak een export van uit de p1 monitor
  • Pak het export zip file uit zodat er een (onder Windows met de optie Extract All) in dit voorbeeld heet het file test.zip.
  • Open de uitgepakte folder ???\test\p1mon\export. Daar staan de volgende files in:
    • historiexxxxx (de gas en e-waarde historie)
    • finacieelxxxxx.  (de financiële gegevens)
    • 01_weer_historiexxxxx (weer historie)
    • Configuratie (configuratie, het is beter deze niet te wijzigen tenzij je weet wat je doet)
    • weerxxxxxx (huidige weer informatie)
  • Bekijk de bestanden om te zien wat je wil aanpassen, bestanden die je niet wil aanpassen kun je verwijderen.
  • In dit voorbeeld ga ik ervan uit dat je alleen historiexxxxx (de gas en e-waarde historie) wil aanpassen. Dus alle andere bestanden kunnen dan weg.
  • Open het historie bestand met een tekst editor (write, notepad++) het maakt niet uit als het maar een platte tekst editor is MS Word kan ook maar dan moet je het bestand opslaan als ascii tekst bestand.
  • Je mag alle regels in het bestand laten staan of alles weghalen. Het SQL commando “replace into e_history_min (TIMESTAMP….  “  Vervangt het bestaande record in de database, het kost dan alleen meer tijd bij de import.
  • In dit voorbeeld nemen we een regel en alle andere regels worden verwijderd.
  • replace into e_history_min (TIMESTAMP, VERBR_KWH_181, VERBR_KWH_182,GELVR_KWH_281, GELVR_KWH_282, VERBR_KWH_X, GELVR_KWH_X,TARIEFCODE,ACT_VERBR_KW_170,ACT_GELVR_KW_270, VERBR_GAS_2421) values (‘2018-02-21 00:02:00′,’9296.694′,’9340.233′,’664.965′,’1756.033′,’0.00300000000061′,’0.0′,’D’,’0.21′,’0.0′,’0.0′);
  • Als je in deze regel de minuut waarde wil aanpassen va 9296.694 naar 8000.00 pas dit dan aan. Dit kun je net zo lang herhalen met extra records of met maar 1 record net wat je nodig hebt.
  • Pak de folder structuur weer in (maak er een zip file van)
  • Importeer het bestand.

2:  sqlite database editor.

Met de database editor zoals (http://sqlitebrowser.org/) kun je de via een eenvoudige gebruikersinterface de database inhoud bewerken. Echter om de data te kunnen bewerken moet de database niet door de P1 monitor worden aangepast.

  • Eerst moet de P1 monitor worden gestopt en de rechten op het database bestand worden aangepast. In dit voorbeeld wordt de historie database gebruikt.
  • Ga naar het setup menu -> bestanden -> data. Maakt het mogelijk op via samba/file share de bestanden te kopiëren naar je pc. Kopieer het bestand e_historie.db
  • Log in op de P1 montor als p1mon (wachtwoord verandermij of nog beter je hebt het wachtwoord aangepast). Gebruik hiervoor putty.
  • cd /p1mon/scripts
  • ./p1mon.sh stop (duurt even)
  • cd p1mon/mnt/ramdisk
  • mv e_historie.db e_historie.db.old
  • cd /p1mon/data
  • cp e_historie.db e_historie.db.old (dit is een veiligheidskopie)
  • chmod a+rw e_historie.db (dit is nodig om als de versie van de database op je pc is aangepast weer terug te kunnen schrijven).
  • Open het e_historie.db bestand met sqlite database editor en pas dit aan zoals je wilt.
  • Kopier het het e_historie.db terug naar de p1 via samba.
  • Log in op p1 montor.
  • cd /p1mon/scripts
  • ./p1mon start
  • Nu moet alles weer werken inclusief de aanpassingen.

Layout van de pagina is niet correct.

Als de layout van de pagina er niet goed uitziet of je ziet een knipperend uitroepteken/vraagteken waar een icoon moet staan wis dan de browser cache. Browsers bewaren (cache) veel gebruikte bestanden zoals afbeeldingen, css, iconen, enz. Door de browser cache te wissen wordt de laatste versie van het bestand geladen.

Het wachtwoord resetten / wissen.

Je kunt het wachtwoord wissen door het bestand /p1mon/mnt/ramdisk/session.txt te verwijderen. Na het verwijderen wordt op het inlogscherm gevraagd een nieuw wachtwoord in te stellen.

Methode 1: Log in op de Rasberry Pi via ssh met account p1mon en het wachtwoord verandermij (tenzij je het wachtwoord al veranderd hebt zoals het hoort). Voer het commando rm /p1mon/mnt/ramdisk/session.txt. in. Je kunt nu via het inlogscherm een nieuw wachtwoord instellen.

Methode 2: set een verbinding op met een sftp client zoals FileZilla met de volgend opties.
Protocol: sftp
Host: het IP-adres van de Rasberry Pi
Inlog type: normaal
Gebruiker: p1mon
Wachtwoord: verandermij (tenzij je het wachtwoord al veranderd hebt zoals het hoort ).

Zoek de folder /p1mon/mnt/ramdisk/ op en verwijder het bestand session.txt. Je kunt nu via het inlogscherm een nieuw wachtwoord instellen.

Hoe weet dat er een nieuw versie beschikbaar is.

nieuwe versie

De p1 monitor kan periodieke automatische controleren of er een nieuwe versie beschikbaar is. In het setup menu op de pagina systeem, kies de optie Nieuwe P1 monitor versie controle. Als er een nieuwe versie beschikbaar is dan wordt dit automatische zichtbaar in de user interface.

Als alternatief kan de website periodiek worden bezocht

Is de software geschikt voor de Raspberry Pi4

De P1 software is vanaf versie 0.9.11 geschikt voor de Raspberry Pi4, eerdere versies van de software zijn niet geschikt. Versie 0.9.11 komt in Juli 2019 beschikbaar.

Weer API gebruiken

De weer informatie wordt verkregen via openweathermap.org website. Om deze website te kunnen gebruiken moet je een gratis account aanmaken op de website en een API key verkrijgen.

1: Maak een gratis account aan op de https://home.openweathermap.org/users/sign_in

2: maak via de link https://home.openweathermap.org/api_keys een API key aan

3: knip en plak de key in het P1 monitor veld api key en geeft in het veld je stad aan. Voer bij de stad minimaal drie karakters in. Je kunt tevens een landcode opgeven in het formaat stad, landcode bijvoorbeeld amsterdam,nl vs amsterdam,us om te voorkomen de verkeerde locatie wordt ingesteld.

4: save de instellingen

De API-update ongeveer elke half uur de weergegevens.

Vergroten van het SDHC-filesysteem

Je kunt remote inloggen met SSH op de Pi zie ook de tip Inloggen op de Raspberry pi. Via de Pi configuratie tool kun je dan het filesysteem vergroten. Met het commando “sudo raspi-config –expand-rootfs“.  Na dit commando moet de Pi worden herstart via het setup menu -> systeem -> herstart of stop systeem. Nota bene: als je de upgrade assistent gebruik dan wordt dit automatisch gedaan.

Aanpassen van de webserver poort

De standaard websitepoort van 80 naar een andere poort wijzigen, In dit voorbeeld wordt poort 90 gebruikt, je kunt daar in principe elke vrije poort voor gebruiken.

Voor deze wijzing moet je inloggen op de Raspberry Pi met gebruiker “p1mon” Dit is een niet ondersteunde configuratie.

Dit is een aanpassing die je zelf moet managen en bij een upgrade van de software gaat deze instelling verloren.

Met het commando “netstat -an| grep LISTEN | grep tcp” kun je zien welke poorten al in gebruik zijn.

De aanpassing worden gedaan met de nano editor maar vi mag uiteraard ook.

1: inloggen op de pi met p1mon (gebaseerd op p1 monitor versie 0.9.14)
2: sudo nano /etc/nginx/sites-enabled/default
3: pas de twee onderstaande regels als volgt aan.
listen 80 default_server;
listen [::]:80 default_server;

4: naar
listen 90 default_server;
listen [::]:90 default_server;

5: save het bestand.
6: sudo service nginx restart

Je kunt testen of het werkt door http://<jouw ip>:90 in te voeren.

kWh per minuut?

Wat is kilowattuur per minuut, hoe kan dit?  De slimme meter geeft aan wat het verbruik per tijdseenheid is bij kWh.  Volgends de definitie is dit 1 Watt (W) staat gelijk aan 1 Joule (J) per seconde (s): 1 W = 1 J/s.  1 kilowatt = 1.000 Watt.  1 kWh is wat een apparaat met een vermogen van 1.000 Watt (1 kW) in één uur verbruikt.  In de P1 monitor nemen we de waarde van kWh op tijdstip T1 en tijdstip T2 (dat is T1 + 1 minuut)  waarbij we de KWh waarde van T2 – T1 aftrekken. Stel T1 is 10kWh en T2 is 10.005 kWh dan is er tijdens die minuut dus 10.005 – 10kWh verbruikt is 0.005 kWh.  De “echte” kWh waarde wordt dan 0.005 * 60 minuten wat 0,3kWh over een uur.

p1 poort instellen

Slimme meters gebruiken helaas verschillende snelheden van de P1 poort. De P1 monitor wordt standaard geleverd met een instelling van 9600 7 bits even pariteit en 1 stop bit (9600 7E1). Andere veel gebruikte instellingen zijn 1152008N1 of 11152007E1. Als er geen data binnen komt dan moeten de instellingen worden gewijzigd in het setup menu -> P1 poort.  Als deze instelling niet correct staat dan kan de P1 monitor niet functioneren.

Database retentie

Onderstaande overzicht geeft de retentie termijnen (bewaartijd) weer van de P1 monitor database. Oudere data wordt automatisch verwijderd.

Algemene retentie termijnen (bewaart tijd)
Slimme meter data 7 dagen
fase informatie7 dagen
Elektrisch en gas waarden interval minuten 31 dagen
Elektrisch en gas waarden interval uren 1096 dagen
Elektrisch en gas waarden interval dagen 1096 dagen
Elektrisch en gas waarden interval maanden Onbeperkt
Elektrisch en gas waarden interval jaren Onbeperkt
Financiële gegevens interval dagen Onbeperkt
Financiële gegevens interval maanden Onbeperkt
Financiële gegevens interval jaren Onbeperkt
Momentele weer gegevens 32 dagen
Weer historie interval uren 1096 dagen
Weer historie interval dagen 1096 dagen
Weer historie interval maanden Onbeperkt
Weer historie interval jaren Onbeperkt
Watermeter historie interval uren 3670 dagen
Watermeter historie interval dagen Onbeperkt
Watermeter historie interval maanden Onbeperkt
Watermeter historie interval jaren Onbeperkt
Binnen temperatuur data 24 uur
Binnen temperatuur minuten 7 dagen
Binnen temperatuur uren 366 dagen
Binnen temperatuur dagen Onbeperkt
Binnen temperatuur maanden Onbeperkt
Binnen temperatuur jaren Onbeperkt

Dropbox

De Dropbox back-up optie heeft een probleem dat soms niet alle oude bestanden verwijderd worden. Dit is een probleem in Dropbox API die niet door de P1 monitor software opgelost kan worden. Het lijkt erop dat de index van bestanden in Dropbox niet compleet of corrupt raakt. Soms helpt het om de bestanden uit de folder te verplaatsen en dan weer terug te plaatsen.

Installeren bij andere software

We ondersteunen geen installatie van de P1 monitor als applicatie bij een Pi die andere software draait.  Hoewel dit technische wel mogelijk is zal dat tot veel vragen voor ondersteuning leiden en die tijd besteed ik liever aan het oplossen van bugs en het verbeteren en uitbreiden van de P1 monitor.  De P1 monitor is stabiel een heeft vrijwel geen storingen, dit is alleen goed te doen als de combinatie van hardware, besturingssysteem en applicatie als geheel kan worden onderhouden.  Het is wel toegestaan om de software ergens bij te zetten zolang dit niet als commercieel product wordt aangeboden.

Fase gegevens zijn niet zichtbaar

Niet alle slimme meters geven fase informatie over vermogen (Watt),  stroom (A) of spanning (Volt) door. Sommige meters geven helemaal geen fase informatie door en andere maar één of alle drie de fasen.

Soms alleen vermogen of spanning of stroom. De P1 monitor kan alleen weergeven wat wordt aangeboden door de slimme meter.  Het zou mogelijke zijn om de spanning, vermogen of ampères te berekenen als twee van de andere waarden beschikbaar zijn. Echter omdat de ampères alleen als geheel getal worden doorgeven (0,1,2, enz.) zou dit te veel afwijking geven in de berekende waarde.  Je kunt zien welke gegevens doorgeven worden door het slimme meter telegram te bekijken op de informatiepagina op je P1 monitor.  Je kunt de telegram codes daar inzien.

  • Vermogen kW verbruik L1: 1-0:21.7.0
  • Vermogen kW verbruik L2: 1-0:41.7.0
  • Vermogen kW verbruik L3: 1-0:61.7.0
  • Vermogen kW terug geleverd L1: 1-0:22.7.0
  • Vermogen kW terug geleverd L2: 1-0:42.7.0
  • Vermogen kW terug geleverd L3: 1-0:62.7.0
  • Spanning L1: 1-0:32.7.0
  • Spanning L2: 1-0:52.7.0
  • Spanning L3: 1-0:72.7.0
  • Ampères L1: 1-0:31.7.0
  • Ampères L2: 1-0:51.7.0
  • Ampères L3: 1-0:71.7.0

Reset/aanpassen van de watermeterstand (versie 0.9.17 en hoger).

1: De datum die je opgeeft in het veld “watermeterstand timestamp” moet in een tijdstip zijn dat later is dan het eerste record in de database.

2: Vult de stand in in het veld “watermeter stand in m³” bijvoorbeeld 1000 of 3032.44

3: Zet de schakelaar “watermeterstand reset” op aan.

4: Save de pagina, rechtsboven op de pagina.

5: het veld “watermeterstand status” geeft als alles goed is gegaan de tekst “aanpassing verwerkt” aan.

Je kunt dit zoveel keer doen als je wilt, de daadwerkelijk gemeten pulsen worden niet aangepast alleen de weergave wordt aangepast.

Een vast IP adres instellen voor Ethernet of Wifi

Als je een vast IP adres wil instellen dan wordt aangeraden omdat via DHCP reservation(binding) te realiseren. Dit doe je door in je router bij de optie dhcp op basis van het hardware adres (MAC) van de wifi en/of ethernet kaart een IP adres toe te wijzen.

De router zal dan bij het starten van de RPI elke keer het zelfde ingestelde adres geven aan de RPI. Het voordeel van deze manier van toewijzen is dat je altijd toegang tot de RPI houdt over het netwerk.

Je kunt ook een vast IP adres instellen op de RPI maar dan loop je het risico bij een fout dat je niet meer bij de RPI kan (zie het Internet). Om dat op te lossen zou je dan een keyboard en display moeten aansluiten op de RPI. Daarnaast moet je de procedure herhalen bij een upgrade van de P1 monitor software.

Het vast instellen van een IP adres direct op de RPI wordt afgeraden.

P1 monitor software download

P1 monitor software download

Als de P1 monitor software wil ondersteunen dan is een donatie mogelijke via PayPal. Deze software wordt gemaakt door thee om te zetten naar code.

Elke versie heeft een specifiek wachtwoord!

Let op alle wachtwoorden met hoofdletters

P1 monitor roadmap

P1 monitor roadmap

De P1 monitor roadmap geeft aan welke opties of aanpassingen op de planning staan. Het geeft tevens de mogelijkheid ideeën aan te dragen voor de volgende versies. Als je wensen of ideeën hebt dan kun aangeven via een opmerking op deze pagina.  Alle ideeën zijn welkom. Het kan afhankelijk van de beschikbare tijd even duren voordat geplande opties daadwerkelijk worden gerealiseerd.

Deze pagina is niet bedoeld voor bugs of andere vragen. Plaats die op de pagina van de specifieke versie. Als je een hier bug plaatst dan wordt deze genegeerd.

Te onderzoeken :

  • Alerting: bijvoorbeeld het ontvangen van een email als het verbruik niet 1x per b.v. 12 uur onder een in te stellen aantal Watt komt of als het verbruik per 24 uur boven een in te stellen waarde komt. 
  • Alerting via email: als een dag of maandwaarde e.d. wordt overschreden.
  • “Dagteller” gas. Het zou handig zijn om een los tellertje te kunnen starten en stoppen. Om bijvoorbeeld bij starten van een douche beurt, of kook beurt, of gaskachel beurt, de teller te starten en er na te stoppen. Zo kan je (ongeveer) zien hoeveel 1 zo’n “beurt” aan gas kost (vermist er dan geen andere gebruikers zijn).
  • Weerlive.nl als alternatieve bron voor het weer gebruiken.
  • Mindergas.nl interface maken.
  • Een grafiek van jaar, maand of week waarbij de vorige jaren, maanden, of weken over heen worden geprojecteerd. Op die manier heb je een mooi overzicht van eenzelfde vergelijkbare periode.
  • Graaddagen toevoegen (gasverbruik).
  • mogelijk maken om eigen opmerkingen toe te voegen, die een verhoogd of verlaagd energiegebruik verklaren.
  • link / help in programma zelf toevoegen om makkelijk suggesties / problemen te kunnen melden.
  • Password van p1mon mee te nemen in de export en import, zodat bij een nieuwe versie de password(en) mee genomen worden. 
  • Onderzoek naar Messagebird waarmee een SMS kan worden gestuurd.
  •  Twee lijnen toe voegen om percentages van de grens waarden (bv 75% en 125%) weer te geven  in het kostenscherm. Dit omdat in de winter het elektriciteitsgebruik 25% hoger is dan gemiddeld en in de zomer vaak wat minder.
    En 80% van het gasverbruik (cv) gebeurt in de maanden september-april. En in de winter wordt zelfs 400% meer gas verbruikt dan in de zomer. 
  • Ruwe Output  (telegram) van slimme meter als api aanbieden.
  • Back-up naar USB stick.
  • DSMR 5.0 berichten per sec verwerken in plaats van de een maal per 10 sec.
  • pushbullet.com onderzoeken als notificatie optie.
  • Tooltip configureerbaar maken zodat wanneer je over de L1, L2, L3 hovered. Zodat ik kan zien wat er allemaal aan Lx hangt.
    vb: hover over Lx geeft dan:Vaatwasser, Droger, wcd’s etage1, etc.
  • Mogelijkheid van twee verschillende tarieven van terugleveren. Het eerste tarief is alleen maar geldig voor een vooraf opgegeven aantal KWH/jaar, het tweede tarief wordt daarboven gebruikt. Hierdoor krijg je beter inzicht in de daadwerkelijke opbrengsten van panelen als je meer opbrengt dan dat je verbruikt.
  • Alle schermen afschermen met een wachtwoord voor bijvoorbeeld internet toegang. 
  • In het overzicht van “historie uur gas” is een trend lijn te zien met de temperatuur in het verleden, zodat je een vergelijk kunt maken tussen de temperatuur en het gasgebruik. Graag zou ik de temperatuur lijn ook willen zien in het “historie energie”, zodat ik de relatie kan maken tussen kWh verbruik en de buitentemperatuur.
  • Watermeter uitlezen gebaseerd op een ESP32 die de pulsen via een UDP bericht verspreid.
  • Oauth toevoegen voor Gmail e-mail.

Solaredge api voor zonnepanelen ( verzoeken 14 ).

s0 pulsen van een bruto productie meter (watt) ondersteunen voor registeren van eigen opbrengt van bijvoorbeeld zonnepanelen (verzoeken: 12 ).

Goodwe omvormer zonnepanelen uitlezen (verzoeken: 6)

Database export naar CSV/Excel format (verzoeken: 4).

Fase ampere waarde variabele maken tussen de 10 en 100 A toevoegen (verzoeken 4).

Pvoutput.org interface maken (verzoeken: 3)

Kamstrup Multical 402 warmte meter uitlezen (stadsverwarming) Mogelijk via de IR sensor of via OCR oplossing. (verzoeken : 3)

Omnik omvormer zonnepanelen uitlezen (verzoeken: 3)

Meerdere EPS32DeltaTemp’s ondersteunen (verzoeken: 2).

Optie om zelf historische gegevens toe te voegen ( verzoeken: 2 ).

MQTT uitbreiden met dag, week ,enz voor, kosten en gas (verzoeken 2)

Hoog contrast kleuren versie maken Bijvoorbeeld het contrast tussen piek en dal groter gemaakt kunnen worden door het dal tarief donkerder te maken: dal oranje: #685418 dal groen: #506d12 (verzoeken 1).

Naast het schakelen op totaal vermogen via de GPIO aansluiting deze optie ook mogelijk maken voor elke fase L1, L2 en L3. Totaal is er dan op vier manieren te schakelen op vermogen Dus voor elke fase een eigen GPIO pin (verzoeken 1).

Met 1 of 2 lichtsensoren (en dan het gemiddelde van 2 sensoren) / luxmeters kan de lichtintensiteit van de zon worden gemeten en dit kan in een grafiek worden meegenomen samen met het opgewekte vermogen van de zonnepanelen gemeten uit de omvormer Mogelijk gebaseerd op de BH1750 sensor (verzoeken: 1).

De optie om binnentemperatuur in de gas overzichten (verzoeken: 1)

Growatt omvormer zonnepanelen uitlezen (verzoeken: 1)

Watermeter data rechtstreeks uit de slimme meter telegram lezen en verwerken codes: 0-n:24.1.0.255, 0-n:96.1.0.255, 0-n:24.2.1.255 (verzoeken: 1).

Gas gegevens kunnen verbergen in de de main schermen en waar het mogelijk is (verzoeken: 1).

Laadpunt (Alfen Eve Pro Line) (verzoeken 1)

Flexibele tarieven voor elektrisch en gas toevoegen gebaseerd op https://www.pricewise.nl/energieprijzen/flexibele-energietarieven/#aanbod-energieleveranciers-flexibele-tarieven (verzoeken 1).

Weer locatie selectie uitbreiden om bij conflicten met de locatie naam de openweathermap.org id in plaats de plaatsnaam te gebruiken ( verzoeken 1).

Aan de hand van een ultrasonische sensor (bv de HC-SR04) het niveau van een regenwaterput loggen en monitoren. De eindgebruiker moet dan wel de afstand tot 100%, 0% en diameter put ingeven (verzoeken 1).

Zonneschijn / licht intensiteit weergeven net als de buiten temperatuur. Meet stations van het KNMI geven iets dergelijks in globale straling (Q) en duur van zonneschijn (SQ) (verzoeken 1).

Main pagina’s een geheugen functie geven zodat de voorkeur voor main-1 of main-2 wordt bewaard (verzoeken 1).

Optie om voor de P1 poort de meeste gebruikte snelheden te proberen zodat deze ingevoerd kunnen worden. (verzoeken 1).

OPC-UA Client inbouwen zodat data naar OPC-UA server kan worden verzonden (verzoeken 1).

Graag zou ik de mogelijkheid willen hebben om de bruto levering van mijn Enphase Enlighten zonnepanelen systeem via de Enphase API in te kunnen inlezen en zichtbaar te maken in P1monitor. Enphase biedt gratis 10 hits per minuut met een Max van 10.000 hits per maand aan (Watt free optie).
Documentatie: https://developer.enphase.com/docs (verzoeken 1).

UV index uit openweathermap.org weergeven. De UV index kan mogelijk worden gebruikt als data voor de de zon intensiteit. Als de UV index kan worden getoond in de grafieken, gelijk aan de temperatuur, dan kunnen we de relatie meten/zien tussen opwekking elektriciteit en zon intensiteit (UV) (verzoeken 1).

Optie opnemen om watermeter tellerstanden zowel naar boven als naar beneden bij te stellen ( verzoeken 1).

ESP32DELTATEMP

Onderdrukken van spikes of sags in de metingen en screensaver maken die het scherm na x periode uitzet (verzoeken 1).

Wordt niet verder onderzocht of uitgevoerd.

De P1 monitor te installeren op een bestaande Raspberry Pi 3/4 zoals Domoticz.

Engels als tweede taal toevoegen.

LCD scherm direct op de Pi maken die geleverd of teruggeleverd vermogen aangeeft.

Er komt geen ondersteuning voor GPIO serial devices zoals de /dev/ttyAMA0. Dit is op te lossen met een hack door een link aan te maken maar dit wordt niet ondersteund!

Gemiddelde temperatuur in kosten overzicht tooltip.

Er komt geen optie om waterverbruik per minuut op te slaan.

Als de P1 monitor software wil ondersteunen dan is een donatie mogelijke via PayPal

P1 monitor download 202004

P1 monitor download 202004

P1 monitor is op de Raspberry PI3 en Pi4 gebaseerde software om je slimme meter uit te lezen. Voor een meer uitgebreide beschrijving zie hier.

Mocht je de software de moeite waard vinden wil je deze dan delen via social media e.d. Bedankt voor de ondersteuning.

Upgrade of eerst installatie.

De software verkrijgen en installatie.

De P1 monitor software wordt geleverd als Raspberry Pi 3B/4 SDHC image die hieronder te downloaden is. Om de het image naar een SDHC card te kopiëren is een image tool nodig als je deze niet hebt dan kun je USB Image tool downloaden.  Zie hieronder hoe je dat daarna de rest van de ruimte op de SDHC card kunt gebruiken met raspi-config tool.

BELANGRIJK

Er is grote aanpassing gedaan aan de upgrade assistent, deze is beperkt compatibel met de vorige versie. Als de Upgrade assistent wordt gebruik met data van vorige versies dan is het noodzakelijk om ook een export van de vorige versie te doen en deze met de hand te importeren. Vanaf versie 0.9.15 en hoger kan de upgrade assistent weer zonder deze manuele upgrade worden uitgevoerd. Als dit niet wordt gedaan dan is historische data niet meer beschikbaar.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst! Gebruik eventueel de upgrade assistent.

Veel plezier met de P1 monitor en laat weten hoe het bevalt.

  1. download het P1 monitor image file uit de download overzicht hieronder.
  2. pak het zip file uit en lees de bijlagen.
  3. kopieer het p1monYYYYMMDD-NN.NN-X.img file via de USB tool naar de SDHC card van minimaal 8GB (bij voorkeur een 32GB of 16GB). Groter dan 32GB heeft geen meerwaarde wegens het FAT32 filesysteem. Let op! data op de card wordt overschreven en is niet meer te herstellen. (had ik al gehad over de export van data).
  4. Mocht je een groter SDHC card willen gebruiken dan kan je via de raspi-config tool de gehele SDHC card gebruiken. Dit is zeker aan te bevelen om slijtage van de SDHC card te verminderen.
  5. plaats de SDHC card in de Pi.
  6. start de Pi, netwerk en P1 kabel aangesloten.
  7. Importeer de data, als je al eerdere versie hebt gebruikt.

FAQ

Mocht je vragen hebben kijk dan eerst in de FAQ

Problemen oplossen.

Image past niet op de SDHC card:

  1. Je kunt proberen de donor SDHC card opnieuw te formatteren met een dergelijk tool als de SD formatter.
  2. Installeer het image op een groter SDHC card. Het ongebruikte deel van de SDHC card kun je vrijgeven via de raspi-config tool met de optie extend
  3. wis de browser cache als je layout problemen hebt.

Standaard wachtwoord besturingssysteem:

  1. Het standaard account en wachtwoord om in te kunnen loggen met SSH is p1mon met het wachtwoord  verandermij.
  2. Het advies dit wachtwoord na installatie aan te passen.

Juridisch spul en zo

Dit werk valt onder een Creative Commons Naamsvermelding-NietCommercieel 4.0 Internationaal-licentie.

De rechten van onderliggende softwareproducten zijn qua licentierechten niet gewijzigd Dit geldt voor bijvoorbeeld het besturingssysteem en javascript bibliotheken. De rechten van onderliggende producten gaan voor deze licentie.

DE SOFTWARE IS GELEVERD “ZOALS”, ZONDER GARANTIE VAN ENIGE SOORT, INCLUSIEF MAAR NIET BEPERKT OP DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL. IN GEEN GEVAL ZAL HET AUTEURS OF COPYRIGHT HOLDERS AANSPRAKELIJK ZIJN VOOR ENIGE EISEN, SCHADE OF ANDERE AANSPRAKELIJKHEID IN VERBAND MET DE SOFTWARE OF HET GEBRUIK VAN DE SOFTWARE.

Samengevat: gebruik is voor eigen risico.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

DOWNLOAD

SDHC images

P1 monitor wordt alleen ondersteund op de Raspberry Pi 3B, Pi3 B+ of Pi4 (vanaf versie 0.9.11).
Een Pi 2 kan werken maar geen garanties.  Een Pi Zero is nooit getest. Van de Pi 1 is bekend dat deze fouten geeft en verloop van tijd stopt / crashed door een gebrek aan ram geheugen.

Wat is er veranderd in versie 202004-0.9.16 (Maxine)

Opgelost: logging van MQTT verlaagd als deze niet gebruikt wordt.

Opgelost: de tooltip laat nu geen as gegevens meer doorschemeren in de tooltip.

Opgelost: als de weer locatie veranderd was dan kon het zijn dat het tot 30 min duurde voordat de juiste stad/locatie werd weergegeven.

Opgelost: alle Python packages naar de laatste versie gebracht.

Opgelost: melding dat een scherm uit staat werkt weer.

Opgelost: GPIO tarief schakelaar schakelt nu ook meerdere keren.

Opgelost: Dropbox Deamon geeft nu minder onterechte waarschuwingen en vraagt en geeft een lagere CPU belasting.

Opgelost: Diverse waarschuwingen opgelost in configuratie schermen zodat er minder gelogd wordt en de SDHC minder belast wordt.

Nieuw: main-1 en main-2 schermen bevatten nu de watermeter dag totaal verbruik.

Nieuw: de kWh verbruik schermen uur, dag, maand en jaar zijn voorzien van de buitentemperatuur informatie op veelvoudige verzoek van donateurs. Bedankt voor de donaties!

Nieuw: Fase informatie database toegevoegd en API uitgebreid met /api/v1en /phase en /api/v1/phase/help

Nieuw: Fase informatie schermen actueel en historie voor Watt,Volt en Ampere toegevoegd. Let op: deze optie wordt alleen ondersteund door bepaalde slimme meters en moet geactiveerd worden in de P1 monitor. Het gebruik van de deze optie vormt een aanzienlijke belasting en als de optie niet wordt gebruikt dan is het beter deze uit te laten staan.

Nieuw: export & import ondersteunen de fase informatie.

Nieuw: de tooltip van het stats.php scherm geeft ook de uur kWh waarde prognose weer.

Nieuw: MQTT geeft ook de fase informatie W,V en A als topics door.

Nieuw: in de temperatuur schermen kan de tekst van in en uit aangepast worden. Bijvoorbeeld naar invoer en retour.

Security patches en upgrade van diverse software bibliotheken uitgevoerd tot aan 2020-03-01.

Als je een bijdrage wil leveren om de kosten te dekken van de website e.d. dan kan kun je hier een donatie doen.

P1 monitor download 202002

P1 monitor download 202002

Dit is niet de laatste versie. Voor alle downloads zie de software archief pagina waar alle versies van de P1 monitor te vinden zijn inclusief de laatste versie.

LET OP DIT IS NIET DE LAATSTE VERSIE!

P1 monitor is op de Raspberry PI3 en Pi4 gebaseerde software om je slimme meter uit te lezen. Voor een meer uitgebreide beschrijving zie hier.

Mocht je de software de moeite waard vinden wil je deze dan delen via social media e.d. Bedankt voor de ondersteuning.

Upgrade of eerst installatie.

De software verkrijgen en installatie.

De P1 monitor software wordt geleverd als Raspberry Pi 3B/4 SDHC image die hieronder te downloaden is. Om de het image naar een SDHC card te kopiëren is een image tool nodig als je deze niet hebt dan kun je USB Image tool downloaden.  Zie hieronder hoe je dat daarna de rest van de ruimte op de SDHC card kunt gebruiken met raspi-config tool.

BELANGRIJK

Er is grote aanpassing gedaan aan de upgrade assistent, deze is beperkt compatibel met de vorige versie. Als de Upgrade assistent wordt gebruik met data van vorige versies dan is het noodzakelijk om ook een export van de vorige versie te doen en deze met de hand te importeren. Vanaf versie 0.9.15 en hoger kan de upgrade assistent weer zonder deze manuele upgrade worden uitgevoerd. Als dit niet wordt gedaan dan is historische data niet meer beschikbaar.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst! Gebruik eventueel de upgrade assistent.

  1. download het P1 monitor image file uit de download overzicht hieronder.
  2. pak het zip file uit en lees de bijlagen.
  3. kopieer het p1monYYYYMMDD-NN.NN-X.img file via de USB tool naar de SDHC card van minimaal 8GB (bij voorkeur een 32GB of 16GB). Groter dan 32GB heeft geen meerwaarde wegens het FAT32 filesysteem. Let op! data op de card wordt overschreven en is niet meer te herstellen. (had ik al gehad over de export van data).
  4. Mocht je een groter SDHC card willen gebruiken dan kan je via de raspi-config tool de gehele SDHC card gebruiken. Dit is zeker aan te bevelen om slijtage van de SDHC card te verminderen.
  5. plaats de SDHC card in de Pi.
  6. start de Pi, netwerk en P1 kabel aangesloten.
  7. Importeer de data, als je al eerdere versie hebt gebruikt.

Veel plezier met de P1 monitor en laat weten hoe het bevalt.

FAQ

Mocht je vragen hebben kijk dan eerst in de FAQ

Problemen oplossen.

Image past niet op de SDHC card:

  1. Je kunt proberen de donor SDHC card opnieuw te formatteren met een dergelijk tool als de SD formatter.
  2. Installeer het image op een groter SDHC card. Het ongebruikte deel van de SDHC card kun je vrijgeven via de raspi-config tool met de optie extend
  3. wis de browser cache als je layout problemen hebt.

Standaard wachtwoord besturingssysteem:

  1. Het standaard account en wachtwoord om in te kunnen loggen met SSH is p1mon met het wachtwoord  verandermij.
  2. Het advies dit wachtwoord na installatie aan te passen.

Juridisch spul en zo

Dit werk valt onder een Creative Commons Naamsvermelding-NietCommercieel 4.0 Internationaal-licentie.

De rechten van onderliggende softwareproducten zijn qua licentierechten niet gewijzigd Dit geldt voor bijvoorbeeld het besturingssysteem en javascript bibliotheken. De rechten van onderliggende producten gaan voor deze licentie.

DE SOFTWARE IS GELEVERD “ZOALS”, ZONDER GARANTIE VAN ENIGE SOORT, INCLUSIEF MAAR NIET BEPERKT OP DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL. IN GEEN GEVAL ZAL HET AUTEURS OF COPYRIGHT HOLDERS AANSPRAKELIJK ZIJN VOOR ENIGE EISEN, SCHADE OF ANDERE AANSPRAKELIJKHEID IN VERBAND MET DE SOFTWARE OF HET GEBRUIK VAN DE SOFTWARE.

Samengevat: gebruik is voor eigen risico.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

DOWNLOAD

SDHC images

P1 monitor wordt alleen ondersteund op de Raspberry Pi 3B, Pi3 B+ of Pi4 (vanaf versie 0.9.11).
Een Pi 2 kan werken maar geen garanties.  Een Pi Zero is nooit getest. Van de Pi 1 is bekend dat deze fouten geeft en verloop van tijd stopt / crashed door een gebrek aan ram geheugen.

Wat is er veranderd in versie 202002-0.9.15 (Maxine)

Opgelost: link ontbrak naar moment javascript library waardoor het resetten van de watermeter niet werkte.

Opgelost: main-1 en main-2 schermen gaven de fase waarde niet meer door, dit was een bug/feature van de nieuwe HighChart Library. 

Opgelost: icoon in het linker menu was niet blauw bij het selecteren van de watermeter pagina’s.

Opgelost: icoon in het linker menu was niet blauw bij het selecteren van de io configuratie pagina.

Opgelost: tooltip werkt weer als alle opties in de legenda actief zijn in de kosten schermen.

Opgelost: meterstanden van watermeter gaf nul aan als er voor die dag nog geen water puls was opgetreden en de legenda voor piek verbruik werkte niet.

Opgelost: de gas, water en kosten overzichten gaven in de timestamp niet de juiste formaat weer (met dank aan Jaap).

Opgelost: P1SerReader – WARNING – getCurrentWatermeterCount: onnodige waarschuwing in logfile verholpen die optreed als je geen watermeter gebruikt met dank aan Anko.

Opgelost: de server adres in de ftp backup staat nu ook : als karakter toe waardoor ftp://mijn.server.nl kan worden gebruikt.

Opgelost: meterreadings-d.php laat de beide y-assen aan linker kant zien om te voorkomen dat de y-assen niet goed te lezen zijn.

Opgelost: ftp back-up probleem met het maken van een tijdelijk bestand opgelost.

Opgelost: diverse tekstfouten verholpen met dank aan Arjan.

Opgelost: tariefschakelaar werkte niet correct voor bepaalde tijden.

Nieuw: het is nu mogelijk een test notificatie email te versturen via het setup scherm. Met dank aan Gert-Jan.

Nieuw: laden van grafieken in de user interface is sneller gemaakt.

Nieuw: de kW & kWh maximale waarde voor de gebruikers interface zijn verhoogd.

Nieuw: verwarming-a laat nu ook negatieve temperatuur waarden zien voor als binnen en buiten temperatuur wordt gebruikt.

Nieuw: stats.php heeft nu een help icoon die aangeeft hoe we kWh waarde per minuut berekenen.

Nieuw: code verbeterd van de weer tooltip.

Nieuw: voor de debug / problemen met de P1 poort is de P1SerTester.py script aangepast voor eenvoudiger gebruik.

Nieuw: MQTT client optie toegevoegd waarmee de slimme meter, weer, watermeter en binnentemperatuur via topics verstuurd kunnen worden. Het is een Beta(test) optie en eventuele ervaring met het gebruik is welkom.

Nieuw:  grote aanpassing gedaan aan de Upgrade Assistent, deze is beperkt compatibel met de vorige versie.  Als de Upgrade Assistent wordt gebruik van met data van vorige versies dan is het noodzakelijk om ook een export van de vorige versie te doen en deze met de hand te importeren. Vanaf versie 0.9.15 en hoger kan de upgrade assistent weer zonder deze manuele export / import worden gebruikt.

Security patches en upgrade van diverse software bibliotheken uitgevoerd tot aan 13-02-2020.

Als je een bijdrage wil leveren om de kosten te dekken van de website e.d. dan kan kun je hier een donatie doen.

BUG’s

Notificatie email met gmail werkt niet in alle gevallen. Wordt onderzocht.

P1 monitor download 201912

P1 monitor download 201912

Dit is niet de laatste versie. Voor alle downloads zie de software archief pagina waar alle versies van de P1 monitor te vinden zijn inclusief de laatste versie.

LET OP DIT IS NIET DE LAATSTE VERSIE!

P1 monitor is op de Raspberry PI3 en Pi4 gebaseerde software om je slimme meter uit te lezen. Voor een meer uitgebreide beschrijving zie hier.

Mocht je de software de moeite waard vinden wil je deze dan delen via social media e.d. Bedankt voor de ondersteuning.

Upgrade of eerst installatie.

De software verkrijgen en installatie.

De P1 monitor software wordt geleverd als Raspberry Pi 3B/4 SDHC image die hieronder te downloaden is. Om de het image naar een SDHC card te kopiëren is een image tool nodig als je deze niet hebt dan kun je USB Image tool downloaden.  Zie hieronder hoe je dat daarna de rest van de ruimte op de SDHC card kunt gebruiken met raspi-config tool.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst! Gebruik eventueel de upgrade assistent.

  1. download het P1 monitor image file uit de download overzicht hieronder.
  2. pak het zip file uit en lees de bijlagen.
  3. kopieer het p1monYYYYMMDD-NN.NN-X.img file via de USB tool naar de SDHC card van minimaal 8GB (bij voorkeur een 32GB of 16GB). Groter dan 32GB heeft geen meerwaarde wegens het FAT32 filesysteem. Let op! data op de card wordt overschreven en is niet meer te herstellen. (had ik al gehad over de export van data).
  4. Mocht je een groter SDHC card willen gebruiken dan kan je via de raspi-config tool de gehele SDHC card gebruiken. Dit is zeker aan te bevelen om slijtage van de SDHC card te verminderen.
  5. plaats de SDHC card in de Pi.
  6. start de Pi, netwerk en P1 kabel aangesloten.
  7. Importeer de data, als je al eerdere versie hebt gebruikt.

Veel plezier met de P1 monitor en laat weten hoe het bevalt.

FAQ

Mocht je vragen hebben kijk dan eerst in de FAQ

Problemen oplossen.

Image past niet op de SDHC card:

  1. Je kunt proberen de donor SDHC card opnieuw te formatteren met een dergelijk tool als de SD formatter.
  2. Installeer het image op een groter SDHC card. Het ongebruikte deel van de SDHC card kun je vrijgeven via de raspi-config tool met de optie extend
  3. wis de browser cache als je layout problemen hebt.

Standaard wachtwoord besturingssysteem:

  1. Het standaard account en wachtwoord om in te kunnen loggen is p1mon met het wachtwoord  verandermij.
  2. Het advies dit wachtwoord na installatie aan te passen.

Juridisch spul en zo

Dit werk valt onder een Creative Commons Naamsvermelding-NietCommercieel 4.0 Internationaal-licentie.

De rechten van onderliggende softwareproducten zijn qua licentierechten niet gewijzigd Dit geldt voor bijvoorbeeld het besturingssysteem en javascript bibliotheken. De rechten van onderliggende producten gaan voor deze licentie.

DE SOFTWARE IS GELEVERD “ZOALS”, ZONDER GARANTIE VAN ENIGE SOORT, INCLUSIEF MAAR NIET BEPERKT OP DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL. IN GEEN GEVAL ZAL HET AUTEURS OF COPYRIGHT HOLDERS AANSPRAKELIJK ZIJN VOOR ENIGE EISEN, SCHADE OF ANDERE AANSPRAKELIJKHEID IN VERBAND MET DE SOFTWARE OF HET GEBRUIK VAN DE SOFTWARE.

Samengevat: gebruik is voor eigen risico.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

DOWNLOAD

SDHC images

P1 monitor wordt alleen ondersteund op de Raspberry Pi 3B, Pi3 B+ of Pi4 (vanaf versie 0.9.11).
Een Pi 2 kan werken maar geen garanties.  Een Pi Zero is nooit getest. Van de Pi 1 is bekend dat deze fouten geeft en verloop van tijd stopt / crashed door een gebrek aan ram geheugen.

Wat is er veranderd in versie 201912-0.9.14 (Maxine)

watermeter met puls lezer

Ondersteuning voor het uitlezen van de watermeter toegevoegd. Hiervoor is een extra stukje hardware nodig.

Status API bevat nu dag/piek / dal/laag tarief status op ID 85.  Opvragen via http://<IP>/api/v1/status/85?json=object met als opties leeg, P of D.

Sourcecode opgeknapt, rtSatusDb() aangepast naar rtStatusDb().

Stat.php (minuten) gaf in plaats van kWh per minuut , kW aan dit de waarde zijn nu grofweg een factor 60 kleiner. Dit wil helaas niet zeggen dat je minder energie bent gaan gebruiken.

De database kan nu via het setup menu -> bestanden worden gewist / gereset. De database wordt volledig gewist en opnieuw opgebouwd alsof het een nieuwe installatie is.

De nieuwe versie (update) icoon bovenaan het scherm heeft een link naar de laatste versie van de P1 monitor software.

Notificatie van de het ontbreken van de een P1 telegram ging onterecht af bij het terug gaan in de tijd zoals van zomertijd naar wintertijd.

GPIO-code bibliotheek aangepast.

Schakelen via de GPIO-pin gebaseerd het tarief schakel moment. Je kunt aan de hand van het tarief (piek of dal) een GPIO-pin schakelen, je kunt tevens twee perioden instellen wanneer er geschakeld moet worden.

Main-1 en main-2 geven de kilo Watt waarde nu weer met drie cijfers achter de komma, dit heeft alleen effect voor meters die per Watt de waarde doorgeven. Oude meters geven de waarde in stapjes van 10 Watt weer. Dit is niet te beïnvloeden door de P1 monitor.

API voor uur, dag, maand en jaar watermeter toegevoegd.

In- en Exportfuncties aangepast voor watermeter database.

Moment.js javaScript libiary toegevoegd (wis je browser cache).

Watermeter standen pagina’s toegevoegd voor uren, dagen, maanden en jaren.

Watermeter laatste puls tijdstip aan info.php pagina toegevoegd.

Watermeter stand opgenomen in de main-1 en main-2 pagina’s.

Watermeter informatie en pagina’s zichtbaar te maken via de UI-configuratie.

Watermeter stand toegevoegd aan de meterstanden pagina.

Config-tarief.php aangepast zodat de kosten voor drinkwater kunnen worden opgevoerd.

Financiële tabellen voor jaar, maand en dag uitgebreid zodat deze ook de waterkosten verwerken.

Finaciele API’s aangepast zodat deze ook de waterkosten weergeven <ip>/api/v1/financial/day,month,year.

Kosten schermen (dag, maand, jaar) bevatten nu ook de kosten en verbruik van water.

Watermeter stand (in m3) toegevoegd aan de Dropbox data (voor de app).

Watermeter stand (in m3) toegevoegd aan het UDP broadcast bericht

HighChart library upgrade naar versie 8.0.0.

Mocht de ttyUSB* wijzigen door het insteken van andere USB devices dan wordt deze automatische aangepast.

Seriële device in gebruik: /dev/ttyUSB1 wordt nu weergeven op het config-P1poort scherm.

Bug opgelost dat de P1Watchdog kon crashen na gebruik van Upgrade Assistent terwijl er nog geen slimme meter telegram was ontvangen.

Security patches uitgevoerd tot aan 2019-12-21

Als je een bijdrage wil leveren om de kosten te dekken van de website e.d. dan kan kun je hier een donatie doen.

BUG’s

De watermeter reset werkt niet. De watermeter teller werkt zelf wel. De workaround is inloggen op de pi met het account p1mon en het volgende commando in voeren. ln -s /p1mon/www/js/moment-3.x/min/ /p1mon/www/js/moment-link De pagina moet opnieuw worden geladen.

De main schermen geven de fase informatie niet meer weer. De bijlage lost dit op maar vraagt wel wat handigheid met de command promt en ftp.

Er zit een probleem in grafisch HighChart library onder Safari, Firefox en Brave werkt de tooltip niet als je ingezoomd bent. Chrome werkt wel goed. Is gemeld bij de ontwikkelaars. [UPDATE] is ondertussen opgelost in zit in de volgende versie

De tariefschakelaar voor de GPIO werkt niet goed bij bepaalde tijdstippen, dit is opgelost in de volgende versie.

P1 monitor watermeter

P1 monitor watermeter

Vanaf versie 201912-0.9.14(Maxine) heeft de P1 monitor de mogelijkheid om de watermeter uit te lezen. Een van de uitdagingen is dat watermeters geen data leveren zoals een slimme meter.

Watermeter

Voor de P1 monitor is gekozen dit op te lossen via een inductieve nabijheidssensor die de pulsen  “leest” via een roterend schijfje in de watermeter. Zie de foto met het rode schijfje linksonder met een metalen plaatje er op. De pulsen worden aangeboden op de GPIO-poort van de Raspberry Pi en worden zo omgezet naar het aantal gebruikte liters water.  

In principe kan elke manier van het lezen van watermeter pulsen worden gebruikt mits deze compatibel is met de 3.3V logica van de Raspberry Pi.

Onderstaande beschrijving geeft de opzet weer die we aanbevelen en die we getest hebben. Mocht je een andere opzet willen gebruiken let dan op dat de IO van de Pi 3.3V is en geen 5V. Met 5V kan de Pi GPIO stuk gaan. Daarnaast geldt dat de puls niet mag denderen en daarmee valse water pulsen afgeeft.

De P1 monitor pulslezer.

watermeter level converter

Wat heb je nodig:

puls lezer met print
puls lezer printplaat

Montage op de watermeter

Voor montage op watermeter ligt het uiteraard aan de vorm en type van je watermeter dit is een manier. Voel je vrij om dit anders aan op te lossen.  Deze oplossing (model Groenewoud) is bedacht door een P1 monitor gebruiker.

Een kunststof hemelwater pijpklem (in dit voorbeeld een 75MM klem) voor een watermeter met diameter van ongeveer 82mm. Een 4mm schroeven en moertjes, wat afstand busjes om de afstand van de puls lezer en een gereedschap klem van rond de 16mm om de puls lezer vast te zetten.  Een klein metalen stoelhoekje met wat gaatjes. Het stoelhoekje maak je plat en tordeer je 90 graden om deze vast te kunnen zetten op de kunststof beugel en gereedschap klem. Uiteraard kun je ook een stukje aluminium/ metaal strook of ander materiaal gebruiken om de 90 graden hoek te gebruiken.

watermeter met puls lezer

Aansluiten op de pi

Raspberry Pi 3/4 GPIO pin layour

Het wordt aanbevolen de pins 2/4 voor 5V  6/9 voor 0 /Aarde/Ground te gebruiken maar de keuze is volledig aan vrij.  Voor de GPIO poort wordt GPIO17 (pin11) aangeraden omdat dit de standaard is voor de P1 monitor maar ook deze is vrij te kiezen.

Instellen van watermeter.

In de P1monitor kan de waarde van de puls worden ingesteld, meestal is dit 1 liter per puls. De gebruikt GPIO-poort en de actuele watermeter stand. Omdat feitelijk alleen het gebruik gemeten wordt en niet de momentele meterstand kan deze ook worden ingesteld zodat deze correct wordt weergeven.

P1 monitor

P1 monitor

Dit is niet de laatste versie. Voor alle downloads zie de software archief pagina waar alle versies van de P1 monitor te vinden zijn inclusief de laatste versie.

LET OP DIT IS NIET DE LAATSTE VERSIE!

P1 monitor is op de Raspberry PI 3 gebaseerde software om je “slimme” meter uit te lezen. De slimme meter heeft een zogenaamde P1 poort/aansluiting waar elke 10 seconden de laatste waarden uit te lezen zijn. Als je huidige en historisch elektriciteit verbruik wil meten dan is P1 monitor de oplossing voor je. Hieronder een simpel schema hoe de P1 monitor werkt.

P1 monitor principe
P1 monitor principe

Op zoek naar de download van de software? het archief van alle versies kun je hier vinden.

Gebruik

P1 monitor heeft een aantal schermen waar de huidige en historische waarden zijn te raadplegen en een scherm waar zaken als de tarieven elektriciteit en andere gegevens ingevoerd worden. De meeste schermen verklaren zichzelf, onderstaande afbeeldingen geven een impressie.

ACTUEEL VERBRUIK

Geeft aan welk elektrisch vermogen er wordt gebruikt (links boven), het vermogen van vandaag en de kosten. Onderin wordt het actuele verbruik van de laatste 4 uur weergegeven.

Actuele verbruik

HOME

Dit scherm geeft zowel het verbruik als het geleverd vermogen weer. Het geleverd vermogen is met name interessant voor als er zelf elektriciteit opwekt met bijvoorbeeld zonnepanelen.

Verbruik en geleverd vermogen zijn identiek qua lay-out. De meter geeft aan wat het huidige vermogen is wat wordt verbruikt of terug geleverd. Met een zon of maan symbool wordt aangeven of piek of dal tarief van de leverancier van toepassing is. Het klok en pijl omhoog symbool geven aan hoeveel en op welke moment van de dag maximaal vermogen is geleverd of verbruikt. Totaal vandaag geeft het aantal verbruikte kWh per dag en de kosten van die dag. Daaronder wordt met een grafiek met een interval van 10 sec (maximale mogelijkheid van de slimme meter) de laatste 10 minuten weergegeven.

Home pagina
Home

GRAFIEK

Dit overzicht geeft met de kleuren geel het verbruikte vermogen weer en met de kleur groen het terug geleverde vermogen. Er kan via de vooringestelde intervallen linksboven worden ingezoomd. Er kan tevens met de horizontale scrollbar een vrij in te stellen interval worden gekozen. Daarnaast kan met de optie rechtsboven gekozen worden of alleen verbruikte vermogen of geleverd vermogen worden gekozen of beide. Er kan voor minuten, uren, dagen, maanden of jaren worden gekozen. Hieronder de minuten screenshot.

Schreenshot minuten scherm.

Screenshot dagen: alle grafieken hebben een pop up als met de muis over een grafiek element wordt bewogen (zweven met de muis).

Screenshot dagen.

Screenshot: maanden, geleverd vermogen is uitgeschakeld.

Screenshot maanden
Screenshot maanden.

FINANCIEEL

De werking van de financiële overzichten is gelijk aan die van de grafieken maar geeft aan wat de kosten of opbrengsten zijn van per dag, maand of jaar.

Screenshot financieel
Screenshot financieel.

INSTELLINGEN

Met deze pagina kunnen parameters worden ingesteld voor het gebruik. De TARIEVEN ELEKTRICITEIT zijn de kWh prijzen zonder het vastrechtgedeelte van de elektriciteit. Deze kan in het vakje vastrecht worden opgevoerd.

SYSTEEM kan worden gebruikt om de P1 monitor te herstarten of te stoppen. Bij het stoppen of herstarten wordt er zeker gesteld dat alle gegevens vanuit het geheugen naar de SD-card worden geschreven. Het herstarten door de voeding uit de Raspberry Pi te halen kan ook maar kan tot data verlies leiden.

Met BESTANDEN DELEN kan toegang gekregen worden via SAMBA naar alle bestanden of alleen de databestanden. Normaal staat deze uit maar als er een back-up wil maken dan kan de optie Database worden gekozen. Als alternatief kan de exportfunctie worden gebruikt.

P1 POORT SLIMME METER: De P1 poort kan gebruik maken van andere instellingen per netbeheerder. Zie de pop-up in de user interface (UI) voor bekende waarden.

EX -/IMPORTEREN GEGEVENS met export worden alle gegevens uit de SQLite database naar SQL statements in een zip file weggeschreven. Het exporteren is primair bedoeld om de gegevens veilig te stellen als er een nieuwe versie van P1 monitor uitkomt. Importeren is bedoeld voor het inlezen en werkt alleen met een P1 monitor exportfile.

NETWERK INSTELLINGEN maakt het mogelijke Wi-FI met WPA te gebruiken het wordt echter aanbevolen een bedraad netwerk te gebruiken.

API er is een beperkte API beschikbaar die de huidige gegevens in JSON kan aanleveren voor bijvoorbeeld een domotica product als de FIBARO Home Center 2.

Screenshot instellingen
Screenshot instellingen

INFORMATIE

Dit scherm geeft diverse zaken weer over de werking (of als het tegen zit het niet werken) van de P1 monitor.

DATABASE: Er wordt gebruikt gemaakt van een SQLite database. Die in diverse bestanden (databases) de huidige en historische gegevens bijhoudt. De database draait in RAM omdat dit sneller is en de SDHC kaart er minder snel van slijt (lees stuk gaat). Om te voorkomen dat de gegevens verloren gaan wordt er periodiek (minimaal binnen 15 min) een kopie van de RAM-database naar de SDHC kaart geschreven. Dit gaat volledig automatisch.

P1 POORT STATUS: deze geeft aan of er gegevens uit de P1 te lezen zijn. Als erg geen gegevens kunnen worden gelezen dat wordt dit aangeven. Op PC’s wordt tevens een geluidsignaal afgegeven.

PROCESSEN: De P1 monitor heeft drie primaire programma’s draaien die zorgen dat gegevens tijdig gelezen worden, een database en een bewakingsprogramma die diverse huishoudelijke zaken uitvoert.

SYSTEEM: tijd sinds de laatste (her)start, besturingssysteem versie, de Python versie die gebruikt wordt en de versie van P1 monitor.

NETWERK: diverse zaken die netwerk gerelateerd zijn, zoals is er Internet toegang (belangrijk voor de juiste tijd) en de IP-adressen van het vaste en eventuele Wi-Fi netwerk.

SLIMME METER: hier is te zien wat de ruwe gegevens zijn uit de slimme meter (elke 10 seconden aangepast). Processor, database en geheugen belasting geven respectievelijke weer hoe druk de processor is, hoeveel ruimte de database in beslag neemt en hoeveel RAM geheugen er in gebruik is.

Screenshot informatie
Screenshot informatie

Wat heb ik nodig en wat zijn de kosten

Het goede nieuws is de P1 monitor software is gratis (zie Juridisch spul en zo).

  • Raspberry Pi 3 B Starter Kit compleet, gezien voor 59 euro, de Pi, SDHC card 8Gb, Voeding, netwerk kabel en behuizing.
  • De P1 kabel kost ongeveer 20 euro, even googelen op “p1 kabel slimme meter”.  Ik geef  de voorkeur aan kabels gebaseerd op de  FT232R chip.
  • Het spreekt vanzelf dat je een slimme meter moet hebben. Indien er nog geen slimme meter  is geplaatst kan deze worden aanvraagt bij de netbeheerder en deze wordt geplaatst voor ongeveer 70 euro (zie de website van uw netbeheerder) of even geduld  hebben en wachten tot de netbeheerder deze gratis komt plaatsen.

Juridisch spul en zo

Creative Commons-Licentie

Dit werk valt onder een Creative Commons Naamsvermelding-NietCommercieel 4.0 Internationaal-licentie.

De rechten van onderliggende softwareproducten zijn qua licentierechten niet gewijzigd Dit geldt voor bijvoorbeeld het besturingssysteem en javascript bibliotheken. De rechten van onderliggende producten gaan voor deze licentie.

DE SOFTWARE IS GELEVERD “ZOALS”, ZONDER GARANTIE VAN ENIGE SOORT, INCLUSIEF MAAR NIET BEPERKT OP DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL. IN GEEN GEVAL ZAL HET AUTEURS OF COPYRIGHT HOLDERS AANSPRAKELIJK ZIJN VOOR ENIGE EISEN, SCHADE OF ANDERE AANSPRAKELIJKHEID IN VERBAND MET DE SOFTWARE OF HET GEBRUIK VAN DE SOFTWARE.

Samengevat: gebruik is voor eigen risico.

De software verkrijgen en installatie.

De P1 monitor  software wordt geleverd als Raspberry Pi 3 B  SDHC 8GB image.  Die hieronder te downloaden is. Om de het image naar een SDHC card te kopiëren is een image tool nodig als je deze niet hebt dan kun je USB Image tool downloaden.

  1. Download het P1 monitor image file hier,
  2. Pak het zip file uit en lees de leesmij.txt
  3. kopieer het p1monYYYYMMDD.img file via de USB tool naar de lege 8GB SDHC card. Let op! data op de card wordt overschreven en is niet meer te herstellen.
  4. Sluit de Raspberry Pi aan op het netwerk via de kabel en plaatst de P1 kabel in een van de USB poorten.
  5. Sluit de RJ11 stekker aan op slimme meter (kleine stekker aan de P1 kabel)
  6. Sluit de voeding aan op de Raspberry PI. Na ongeveer 1 minuut zal de Raspberry PI gereed zijn voor gebruik. Bij gebruik van een Raspberry PI kan het starten wat langer duren.
  7. Nu komt het lastig stuk, het IP adres achterhalen van de P1 monitor. De meeste thuisnetwerken werken met het automatisch uitgeven van IP adressen. via DHCP als je toegang tot je Internet router hebt van Ziggo, Kpn dan kun je daar het adres vinden van de P1 monitor.  Als alternatief kun je een netwerkscanner tooltje voor je mobiel gebruiken als Fing – Network Tools van Domotz Ltd (Google is je vriend).
  8. Vul het IP adres is in de browser naar keuze. http://<het ipadress>

Veel plezier met de P1 monitor en laat weten hoe het bevalt.

P1monitor IOS app

P1monitor IOS app

30-12-2019: versie 1.4 is beschikbaar in de App Store. Weergave van watermeter toegevoegd.

10-11-2019: versie 1.3 beschikbaar in de app store, deze versie ondersteund Darkmode.

29-12-2018: versie 1.2 is beschikbaar in de app store.

  • Update van dropbox software API.
  • IP filter vervangen voor P1 systeem filter ID. (deze wordt automatisch gevuld).
  • Sneller data beschikbaar door verbeterde achtergrond updates indien Dropbox wordt gebruikt.

Met deze IOS (Apple) app kun je via je lokale netwerk (wifi) of via Dropbox een beperkte aantal gegevens van je slimme meter weergeven.

Waarom een beperkt aantal gegevens? Het gaat om een versie om de stabiliteit en betrouwbaarheid te testen. Als deze na verloop van tijd goed genoeg is komt er een uitgebreide app.

De app werkt alleen in samenwerking met de P1 monitor softwareversie 0.9.6 of hoger.

De app gebruikt Dropbox als tussenlaag zodat je de P1 monitor niet hoeft te koppelen met het Internet waardoor het gebruik veel veiliger is dan als je het grote boze internet toegang geeft tot je netwerk. Je kunt daarnaast ook alleen lokaal toegang geven door geen gebruikt te maken van Dropbox. Of andersom alleen Dropbox gebruiken. Of met ander woorden beide opties kunnen tegelijk aan staan of een van de twee opties

Activeren van app toegang in de P1 monitor.

Netwerk toegang: setup menu -> systeem -> activeer de optie “UDP broadcast deamon” aan.

UDP deamon aan

Dropbox toegang: setup menu -> bestanden -> DropBox API configuratie && Dropbox gegevens delen

dropbox delen van data

De app update de informatie onder normale omstandigheden met een vertraging tussen de 1 en 10 seconden.

Komt er ook een Android app? Nee de kans is verwaarloosbaar klein. Ons team is te klein om ook een Android app te ondersteunen. Er is genoeg informatie beschikbaar zodat wellicht een derde een Android app kan ontwikkelen.

Download on the app Store

Als de P1 monitor software wil ondersteunen dan is een donatie mogelijke via PayPal

P1 monitor download 201909

P1 monitor download 201909

Dit is niet de laatste versie. Voor alle downloads zie de software archief pagina waar alle versies van de P1 monitor te vinden zijn inclusief de laatste versie.

LET OP DIT IS NIET DE LAATSTE VERSIE!

P1 monitor is op de Raspberry PI3 en Pi4 gebaseerde software om je slimme meter uit te lezen. Voor een meer uitgebreide beschrijving zie hier.

Belangrijk mocht je problemen ondervinden bij het maken van een export dan kun je de volgende commando’s uitvoeren nadat je ingelogd bent op de Pi 3/4.

cd /p1mon/scripts
sudo chmod a+rwx *.py
cd /var/log/p1monitor
sudo chmod a+rw *.log

Upgrade of eerst installatie.

De software verkrijgen en installatie.

De P1 monitor software wordt geleverd als Raspberry Pi 3B/4 SDHC image die hieronder te downloaden is. Om de het image naar een SDHC card te kopiëren is een image tool nodig als je deze niet hebt dan kun je USB Image tool downloaden.  Zie hieronder hoe je dat daarna de rest van de ruimte op de SDHC card kunt gebruiken met raspi-config tool.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst! Gebruik eventueel de upgrade assistent.

  1. download het P1 monitor image file uit de download overzicht hieronder.
  2. pak het zip file uit en lees de bijlagen.
  3. kopieer het p1monYYYYMMDD-NN.NN-X.img file via de USB tool naar de SDHC card van minimaal 8GB (bij voorkeur een 32GB of 16GB). Groter dan 32GB heeft geen meerwaarde wegens het FAT32 filesysteem. Let op! data op de card wordt overschreven en is niet meer te herstellen. (had ik al gehad over de export van data).
  4. Mocht je een groter SDHC card willen gebruiken dan kan je via de raspi-config tool de gehele SDHC card gebruiken. Dit is zeker aan te bevelen om slijtage van de SDHC card te verminderen.
  5. plaats de SDHC card in de Pi.
  6. start de Pi, netwerk en P1 kabel aangesloten.
  7. Importeer de data, als je al eerdere versie hebt gebruikt.

Veel plezier met de P1 monitor en laat weten hoe het bevalt.

FAQ

Mocht je vragen hebben kijk dan eerst in de FAQ

Problemen oplossen.

Image past niet op de SDHC card:

  1. Je kunt proberen de donor SDHC card opnieuw te formatteren met een dergelijk tool als de SD formatter.
  2. Installeer het image op een groter SDHC card. Het ongebruikte deel van de SDHC card kun je vrijgeven via de raspi-config tool met de optie extend
  3. wis de browser cache als je layout problemen hebt.

Standaard wachtwoord besturingssysteem:

  1. Het standaard account en wachtwoord om in te kunnen loggen is p1mon met het wachtwoord  verandermij.
  2. Het advies dit wachtwoord na installatie aan te passen.

Juridisch spul en zo

Dit werk valt onder een Creative Commons Naamsvermelding-NietCommercieel 4.0 Internationaal-licentie.

De rechten van onderliggende softwareproducten zijn qua licentierechten niet gewijzigd Dit geldt voor bijvoorbeeld het besturingssysteem en javascript bibliotheken. De rechten van onderliggende producten gaan voor deze licentie.

DE SOFTWARE IS GELEVERD “ZOALS”, ZONDER GARANTIE VAN ENIGE SOORT, INCLUSIEF MAAR NIET BEPERKT OP DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL. IN GEEN GEVAL ZAL HET AUTEURS OF COPYRIGHT HOLDERS AANSPRAKELIJK ZIJN VOOR ENIGE EISEN, SCHADE OF ANDERE AANSPRAKELIJKHEID IN VERBAND MET DE SOFTWARE OF HET GEBRUIK VAN DE SOFTWARE.

Samengevat: gebruik is voor eigen risico.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

DOWNLOAD

SDHC images

P1 monitor wordt alleen ondersteund op de Raspberry Pi 3B, Pi3 B+ of Pi4 (vanaf versie 0.9.11).
Een Pi 2 kan werken maar geen garanties.  Een Pi Zero is nooit getest. Van de Pi 1 is bekend dat deze fouten geeft en verloop van tijd stopt / crashed door een gebrek aan ram geheugen.

Wat is er veranderd in versie 0.9.12 (Maxine)

  • In de api help werd onterecht in het path “/?” Opgegeven en de trailing / is niet toegestaan.
  • Verwarming-min.php had een API bug, deze werkt nu weer correct.
  • P1UpgradeAssistent neemt nu ook de custom www folder mee in een upgrade.
  • Rechten van logfiles gelijke gemaakt, voor toekomstige log file viewer.
  • Het weer setup scherm geeft nu sneller de juist en laatste meting weer van de ingegeven stad (met dank aan Wim ).
  • Bug verholpen dat bij de weer meting, waarbij niet de juiste tijd werd weergegeven.
  • Pi boot code update onder meer voor de Pi4.
  • Exim4 email server gedeactiveerd om geheugen te besparen en is niet nodig voor de P1 monitor software.
  • Oude niet meer gebruikte PHP-service verwijderd om RAM verbruik te verminderen.
  • Optie ingebouwd voor slimme meters uit België die anders omgaan met de slimme meter telegram codes. Of in ieder geval de Fluvius leverancier. Fluvius draait dag en nacht tarieven om. Dit is in te stellen in het setup menu van de P1 poort, kies voor Nederland voor “normale” verwerking of voor België voor de aanpassing.
  • Gas meting met de telegram code 0-1:24.2.3 worden nu ook verwerkt, deze gas-code wordt in België gebruikt.
  • NGINX (webserver) upgrade uitgevoerd.
  • p1mon.sh start script aangepast, zodat alle processen bij een manuele herstart ook daadwerkelijk gestopt worden. Het lijkt erop dat onder het Buster OS dit anders werkt en niet altijd de bestaande processen stopte.
  • Kleine aanpassingen aan P1Wachtdog.py zodat deze signals beter verwerkt.
  • Log cleaning naar het distributie image aangepast.
  • Security patches tot en met 31-08-2019.

Als je een bijdrage wil leveren om de kosten te dekken van de website e.d. dan kan kun je hier een donatie doen.

P1 monitor download 201910

P1 monitor download 201910

Dit is niet de laatste versie. Voor alle downloads zie de software archief pagina waar alle versies van de P1 monitor te vinden zijn inclusief de laatste versie.

LET OP DIT IS NIET DE LAATSTE VERSIE!

P1 monitor is op de Raspberry PI3 en Pi4 gebaseerde software om je slimme meter uit te lezen. Voor een meer uitgebreide beschrijving zie hier.

Mocht je de software de moeite waard vinden wil je deze dan delen via social media e.d. Bedankt voor de ondersteuning.

Upgrade of eerst installatie.

De software verkrijgen en installatie.

De P1 monitor software wordt geleverd als Raspberry Pi 3B/4 SDHC image die hieronder te downloaden is. Om de het image naar een SDHC card te kopiëren is een image tool nodig als je deze niet hebt dan kun je USB Image tool downloaden.  Zie hieronder hoe je dat daarna de rest van de ruimte op de SDHC card kunt gebruiken met raspi-config tool.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst! Gebruik eventueel de upgrade assistent.

  1. download het P1 monitor image file uit de download overzicht hieronder.
  2. pak het zip file uit en lees de bijlagen.
  3. kopieer het p1monYYYYMMDD-NN.NN-X.img file via de USB tool naar de SDHC card van minimaal 8GB (bij voorkeur een 32GB of 16GB). Groter dan 32GB heeft geen meerwaarde wegens het FAT32 filesysteem. Let op! data op de card wordt overschreven en is niet meer te herstellen. (had ik al gehad over de export van data).
  4. Mocht je een groter SDHC card willen gebruiken dan kan je via de raspi-config tool de gehele SDHC card gebruiken. Dit is zeker aan te bevelen om slijtage van de SDHC card te verminderen.
  5. plaats de SDHC card in de Pi.
  6. start de Pi, netwerk en P1 kabel aangesloten.
  7. Importeer de data, als je al eerdere versie hebt gebruikt.

Veel plezier met de P1 monitor en laat weten hoe het bevalt.

FAQ

Mocht je vragen hebben kijk dan eerst in de FAQ

Problemen oplossen.

Image past niet op de SDHC card:

  1. Je kunt proberen de donor SDHC card opnieuw te formatteren met een dergelijk tool als de SD formatter.
  2. Installeer het image op een groter SDHC card. Het ongebruikte deel van de SDHC card kun je vrijgeven via de raspi-config tool met de optie extend
  3. wis de browser cache als je layout problemen hebt.

Standaard wachtwoord besturingssysteem:

  1. Het standaard account en wachtwoord om in te kunnen loggen is p1mon met het wachtwoord  verandermij.
  2. Het advies dit wachtwoord na installatie aan te passen.

Juridisch spul en zo

Dit werk valt onder een Creative Commons Naamsvermelding-NietCommercieel 4.0 Internationaal-licentie.

De rechten van onderliggende softwareproducten zijn qua licentierechten niet gewijzigd Dit geldt voor bijvoorbeeld het besturingssysteem en javascript bibliotheken. De rechten van onderliggende producten gaan voor deze licentie.

DE SOFTWARE IS GELEVERD “ZOALS”, ZONDER GARANTIE VAN ENIGE SOORT, INCLUSIEF MAAR NIET BEPERKT OP DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL. IN GEEN GEVAL ZAL HET AUTEURS OF COPYRIGHT HOLDERS AANSPRAKELIJK ZIJN VOOR ENIGE EISEN, SCHADE OF ANDERE AANSPRAKELIJKHEID IN VERBAND MET DE SOFTWARE OF HET GEBRUIK VAN DE SOFTWARE.

Samengevat: gebruik is voor eigen risico.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

DOWNLOAD

SDHC images

P1 monitor wordt alleen ondersteund op de Raspberry Pi 3B, Pi3 B+ of Pi4 (vanaf versie 0.9.11).
Een Pi 2 kan werken maar geen garanties.  Een Pi Zero is nooit getest. Van de Pi 1 is bekend dat deze fouten geeft en verloop van tijd stopt / crashed door een gebrek aan ram geheugen.

Wat is er veranderd in versie 201910-0.9.13 (Maxine)

  • De tooltip teksten zijn aangepast voor de main-1 en main-2 schermen als de telegram code wijziging/instelling voor België  wordt gebruikt.
  • Aanpassing aan de upgrade assistent, de status database wordt niet meer mee gekopieerd. Werkt bij de volgende upgrade van 0.9.13 naar 0.9.14.
  • De schermen stats-X-gas.php schermen zijn aangepast om een tooltip bug te fixen, de juiste waarde wordt nu voor uur, dag, maand, jaar weergeven.
  • De schermen stats-X-gas.php schermen zijn aangepast om een tooltip bug te fixen, de juiste waarde wordt nu voor uur, dag, maand, jaar weergeven.
  • Dag/piek en dag/nacht indicator aangepast zodat deze ook voor Belgie correct werkt, lost een bug op die in de kostenschermen de verkeerde kleur werd weergegeven.
  • De kosten schermen aangepast. De donkere kleuren zijn nu voor nacht/dal en de lichtere kleuren voor de dag/piek.
  • Screensaver optie toegevoegd met zowel in en uitschakel tijd.
  • Raspbian update naar de laatste versie.
  • PHP versie update.
  • GPIO Zero python package toegevoegd voor de PowerSwitcher toepassing. Hiermee kan als vermogen terug geleverd wordt een GPIO pen worden geactiveerd.
  • Security patches tot en met 14-10-2019.

Als je een bijdrage wil leveren om de kosten te dekken van de website e.d. dan kan kun je hier een donatie doen.

P1 monitor download 201907

P1 monitor download 201907

Dit is niet de laatste versie. Voor alle downloads zie de software archief pagina waar alle versies van de P1 monitor te vinden zijn inclusief de laatste versie.

LET OP DIT IS NIET DE LAATSTE VERSIE!

P1 monitor is op de Raspberry PI3 en Pi4 gebaseerde software om je slimme meter uit te lezen. Voor een meer uitgebreide beschrijving zie hier.

Upgrade of eerst installatie.

De software verkrijgen en installatie.

De P1 monitor software wordt geleverd als Raspberry Pi 3B/4 SDHC image die hieronder te downloaden is. Om de het image naar een SDHC card te kopiëren is een image tool nodig als je deze niet hebt dan kun je USB Image tool downloaden.  Zie hieronder hoe je dat daarna de rest van de ruimte op de SDHC card kunt gebruiken met raspi-config tool.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst! Gebruik eventueel de upgrade assistent.

  1. download het P1 monitor image file uit de download overzicht hieronder.
  2. pak het zip file uit en lees de bijlagen.
  3. kopieer het p1monYYYYMMDD-NN.NN-X.img file via de USB tool naar de SDHC card van minimaal 8GB (bij voorkeur een 32GB of 16GB). Groter dan 32GB heeft geen meerwaarde wegens het FAT32 filesysteem. Let op! data op de card wordt overschreven en is niet meer te herstellen. (had ik al gehad over de export van data).
  4. Mocht je een groter SDHC card willen gebruiken dan kan je via de raspi-config tool de gehele SDHC card gebruiken. Dit is zeker aan te bevelen om slijtage van de SDHC card te verminderen.
  5. plaats de SDHC card in de Pi.
  6. start de Pi, netwerk en P1 kabel aangesloten.
  7. Importeer de data, als je al eerdere versie hebt gebruikt.

Veel plezier met de P1 monitor en laat weten hoe het bevalt.

FAQ

Mocht je vragen hebben kijk dan eerst in de FAQ

Problemen oplossen.

Image past niet op de SDHC card:

  1. Je kunt proberen de donor SDHC card opnieuw te formatteren met een dergelijk tool als de SD formatter.
  2. Installeer het image op een groter SDHC card. Het ongebruikte deel van de SDHC card kun je vrijgeven via de raspi-config tool met de optie extend
  3. wis de browser cache als je layout problemen hebt.

Standaard wachtwoord besturingssysteem:

  1. Het standaard account en wachtwoord om in te kunnen loggen is p1mon met het wachtwoord  verandermij.
  2. Het advies dit wachtwoord na installatie aan te passen.

Juridisch spul en zo

Dit werk valt onder een Creative Commons Naamsvermelding-NietCommercieel 4.0 Internationaal-licentie.

De rechten van onderliggende softwareproducten zijn qua licentierechten niet gewijzigd Dit geldt voor bijvoorbeeld het besturingssysteem en javascript bibliotheken. De rechten van onderliggende producten gaan voor deze licentie.

DE SOFTWARE IS GELEVERD “ZOALS”, ZONDER GARANTIE VAN ENIGE SOORT, INCLUSIEF MAAR NIET BEPERKT OP DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL. IN GEEN GEVAL ZAL HET AUTEURS OF COPYRIGHT HOLDERS AANSPRAKELIJK ZIJN VOOR ENIGE EISEN, SCHADE OF ANDERE AANSPRAKELIJKHEID IN VERBAND MET DE SOFTWARE OF HET GEBRUIK VAN DE SOFTWARE.

Samengevat: gebruik is voor eigen risico.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

DOWNLOAD

SDHC images

P1 monitor wordt alleen ondersteund op de Raspberry Pi 3B, Pi3 B+ of Pi4 (vanaf versie 0.9.11).
Een Pi 2 kan werken maar geen garanties.  Een Pi Zero is nooit getest. Van de Pi 1 is bekend dat deze fouten geeft en verloop van tijd stopt / crashed door een gebrek aan ram geheugen.

Wat is er veranderd in versie 0.9.11 (Maxine)

Bug / feature fixes:
Bug fixes / Nieuwe zaken:

  • Aanpassingen gedaan om slijtage en voortijdig overlijden van de SDHC kaart te voorkomen. De log bestanden (via log2ram) en webserver cache files worden naar ram geschreven. Deze worden 1 maal per uur ge-synced naar de SDHC kaart als er wijzigen zijn in de files en bij een nette herstart. Dit heeft als positieve bijwerking dat prestaties van de API en de logging iets is verbeterd. Voor diegene die aanpassingen doen aan de software de log locatie van de P1 monitor logs is gewijzigd van /p1mon/var/log/ naar /var/log/p1monitor/. Omdat dit een ramlocatie wordt deze periodiek gecontroleerd dat deze niet te vol is. Als deze voor meer dan 95% vol is dan wordt het oudste log bestand gewist.
  • P1UpgradeAssist.py aangepast zodat alleen reeds verwerkt records in e_serial worden gekopieerd, dit om dubbel verwerking te voorkomen. Met dank aan Jac.
  • Cursor in de user interface laat nu op alle plekken consequent een klik pointer zien (handje), wis de browser cache als dit niet mocht werken. Met dank aan Jakwiba.
  • Meterstanden overzicht laat nu ook het gas verbruik in de tooltip zien. Met dank aan Henny.
  • Het overzicht van wifi SSID’s laat nu geen dubbele SSID’s zien. Dit kan voorkomen als er Wifi repeaters of mesh Wifi wordt gebruikt.
  • Afrondingsproblemen in sync gebracht voor diverse schermen die dezelfde dag kWh gegevens weergeven.
  • API catalogus sorteert nu netjes op naam en met de bijbehorende help path.
  • Gas meting wordt nu beter verwerkt voor meters die met een hogere frequentie dan 1 keer per uur de gas stand doorgeven. De waarde per/uur blijft daarmee nog steeds onnauwkeurig maar is helaas niet beter te krijgen met een dergelijke lage frequentie van updates.
  • Het geheugen gebruik liet op het info scherm zien hoeveel ruimte er vrij was in plaats hoeveel ruimte er nog niet gebruikt is qua ram. Nu wordt daadwerkelijk het percentage in gebruik getoond en hoeveel er nog vrij is.
  • De OpenWeater API-foutmelding is verbeterd en geeft nu beter de status terug in de user interface.
  • Main-1 en main-2 schermen aangepast zodat deze de meters ook goed weergeven op mobiele apparaten, bij relatieve kleine apparaten zoals een telefoon viel de meter waarde weg.
  • Email notificatie toegevoegd systeem toegevoegd, er kan nu een email worden gestuurd als er geen data binnen komt uit de slimme meter.
  • SFTP back-up aangepast en de file layout aangepast zodat er geen [ ] meer worden gebruikt. prefix is P1BU-UTC timestamp-filenaam. Let op dat oude back-up bestanden met [ en ] niet worden meegenomen met het wissen van oude bestanden. Er kun nu worden gekozen voor ftp, sftp en ftps de laatste heeft de voorkeur sftp werkt niet met alle ftp-servers.
  • Pi4 geschikt gemaakt en upgrade gedaan naar Raspbian Buster Security patches tot aan 19-07-2019.

Aanpassingen aan de weer informatie:

  • Windsnelheid wordt nu in Beaufort weergeven en in km/u in het detail scherm
  • 9999 in windrichting als de windrichting niet wordt doorgegeven wordt nu weergegeven als onbekend.
  • Windroos toegevoegd aan detailscherm (idee van Michel).

Onderstaande API’s aangepast qua JSON object beschrijving waarbij CONSUMPTION_KW / PRODUCTION_KW is vervangen voor CONSUMPTION_DELTA_KWH / PRODUCTION_DELTA_KWH

  • /api/v1/powergas/minute
  • /api/v1/powergas/hour
  • /api/v1/powergas/day
  • /api/v1/powergas/month
  • /api/v1/powergas/year

Als je een bijdrage wil leveren om de kosten te dekken van de website e.d. dan kan kun je hier een donatie doen.

P1 monitor download 201905

P1 monitor download 201905

Dit is niet de laatste versie. Voor alle downloads zie de software archief pagina waar alle versies van de P1 monitor te vinden zijn inclusief de laatste versie.

LET OP DIT IS NIET DE LAATSTE VERSIE!

P1 monitor is op de Raspberry PI 3 gebaseerde software om je slimme meter uit te lezen. Voor een meer uitgebreide beschrijving zie hier.

Upgrade of eerst installatie.

De software verkrijgen en installatie.

De P1 monitor software wordt geleverd als Raspberry Pi 3 B SDHC image die hieronder te downloaden is. Om de het image naar een SDHC card te kopiëren is een image tool nodig als je deze niet hebt dan kun je USB Image tool downloaden.  Zie hieronder hoe je dat daarna de rest van de ruimte op de SDHC card kunt gebruiken met raspi-config tool.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst! Gebruik eventueel de upgrade assistent.

  1. download het P1 monitor image file uit de download overzicht hieronder.
  2. pak het zip file uit en lees de bijlagen.
  3. kopieer het p1monYYYYMMDD-NN.NN-X.img file via de USB tool naar de SDHC card van minimaal 8GB (bij voorkeur een 32GB of 16GB). Groter dan 32GB heeft geen meerwaarde wegens het FAT32 filesysteem. Let op! data op de card wordt overschreven en is niet meer te herstellen. (had ik al gehad over de export van data).
  4. Mocht je een groter SDHC card willen gebruiken dan kan je via de raspi-config tool de gehele SDHC card gebruiken. Dit is zeker aan te bevelen om slijtage van de SDHC card te verminderen.
  5. plaats de SDHC card in de Pi.
  6. start de Pi, netwerk en P1 kabel aangesloten.
  7. Importeer de data, als je al eerdere versie hebt gebruikt.

Veel plezier met de P1 monitor en laat weten hoe het bevalt.

FAQ

Mocht je vragen hebben kijk dan eerst in de FAQ

Problemen oplossen.

Image past niet op de SDHC card:

  1. Je kunt proberen de donor SDHC card opnieuw te formatteren met een dergelijk tool als de SD formatter.
  2. Installeer het image op een groter SDHC card. Het ongebruikte deel van de SDHC card kun je vrijgeven via de raspi-config tool met de optie extend
  3. wis de browser cache als je layout problemen hebt.

Standaard wachtwoord besturingssysteem:

  1. Het standaard account en wachtwoord om in te kunnen loggen is p1mon met het wachtwoord  verandermij.
  2. Het advies dit wachtwoord na installatie aan te passen.

Juridisch spul en zo

Dit werk valt onder een Creative Commons Naamsvermelding-NietCommercieel 4.0 Internationaal-licentie.

De rechten van onderliggende softwareproducten zijn qua licentierechten niet gewijzigd Dit geldt voor bijvoorbeeld het besturingssysteem en javascript bibliotheken. De rechten van onderliggende producten gaan voor deze licentie.

DE SOFTWARE IS GELEVERD “ZOALS”, ZONDER GARANTIE VAN ENIGE SOORT, INCLUSIEF MAAR NIET BEPERKT OP DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL. IN GEEN GEVAL ZAL HET AUTEURS OF COPYRIGHT HOLDERS AANSPRAKELIJK ZIJN VOOR ENIGE EISEN, SCHADE OF ANDERE AANSPRAKELIJKHEID IN VERBAND MET DE SOFTWARE OF HET GEBRUIK VAN DE SOFTWARE.

Samengevat: gebruik is voor eigen risico.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

DOWNLOAD

SDHC images

P1 monitor wordt alleen ondersteund op de Raspberry Pi 3B of Pi3 B+.
Een Pi 2 kan werken maar geen garanties.  Een Pi Zero is nooit getest. Van de Pi 1 is bekend dat deze fouten geeft en verloop van tijd stopt / crashed.

Wat is er veranderd in versie 0.9.10 (Maxine)

Bug / feature fixes:
Bug fixes / Nieuwe zaken:

  • Dropbox support voor de app aangepast zodat SQL-database  data naar de app gekopieerd kan worden.
  • Back-up scherm bevatte een tekstfout, die is aangepast ( Erich bedankt).
  • Driefasen informatie kan nu wel of niet worden getoond via setup menu -> display -> “driefasen informatie zichtbaar in de UI”.
  • Raspberry Pi Kernel update (13-04-2019)
  • Dropbox Deamon aangepast zodat deze niet meer stopt bij een onverwachte fout.
  • Jquery update gedaan wegens security kwetsbaarheid (CVE-2019-11358). Upgrade naar versie 3.4.1
  • Debug informatie uit kosten-d.php gehaald.
  • Icon font bibliotheek naar versie 5.8.2 gebracht.
  • Meterstandenpagina toegevoegd waar per dag de meterstanden van elektriciteit en gasverbruik alsmede de terug levering van kWh wordt getoond.
  • De driefasen waarden in beide main schermen geven nu correct kW weer in plaats van kWh (gemeld door Alphons).
  • Terug levering van rood naar groen aangepast voor e-levering, suggestie van Michel. Er wordt nu alleengebruik gemaakt van groen, ook een beetje levering is immers goed.
  • De prompt van de Pi gebruiker p1mon bevat de IP adressen van eth0 en wlan0. Niet van belang voor normaal gebruik maar meer om te voorkomen dat de developer iets wist op de verkeerde pi :).
  • Het root filesysteem wordt vergroot door de P1UpgradeAssist. Hiermee wordt de maximale ruimte van de SDHC gebruik als er een klein image wordt gebruikt. Als je gebruikt maakt van een 16GB of 32Gb kaartje dan zal de complete ruimte worden gebruikt waardoor het SDHC-kaartje minder snel versleten zal zijn.
  • P1UpgradeAssist zet nu ook de timer (cron) voor back-up’s e.d. dit was een omissie in de upgrade P1UpgradeAssist. Een fix voor dit probleem is in het setup menu de timer waarde opnieuw weg te schrijven.
  • Security patches tot aan 23-05-2019.

Als de P1 monitor software wil ondersteunen dan is een donatie mogelijke via PayPal

Als je een bijdrage wil leveren om de kosten te dekken van de website e.d. dan kan kun je hier een donatie doen.

P1 monitor download 201904

P1 monitor download 201904

P1 monitor is op de Raspberry PI 3 gebaseerde software om je slimme meter uit te lezen. Voor een meer uitgebreide beschrijving zie hier.

Dit is niet de laatste versie. Voor alle downloads zie de software archief pagina waar alle versies van de P1 monitor te vinden zijn inclusief de laatste versie.

LET OP DIT IS NIET DE LAATSTE VERSIE!

Dit is niet de laatst versie deze staat als eerste artikel op de site. Voor historische versies zie hier.

Upgrade of eerst installatie.

De software verkrijgen en installatie.

De P1 monitor software wordt geleverd als Raspberry Pi 3 B SDHC image die hieronder te downloaden is. Om de het image naar een SDHC card te kopiëren is een image tool nodig als je deze niet hebt dan kun je USB Image tool downloaden.  Zie hieronder hoe je dat daarna de rest van de ruimte op de SDHC card kunt gebruiken met raspi-config tool.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst! Gebruik eventueel de upgrade assistent.

  1. download het P1 monitor image file uit de download overzicht hieronder.
  2. pak het zip file uit en lees de bijlagen.
  3. kopieer het p1monYYYYMMDD-NN.NN-X.img file via de USB tool naar de SDHC card van minimaal 8GB (bij voorkeur een 32GB of 16GB). Groter dan 32GB heeft geen meerwaarde wegens het FAT32 filesysteem. Let op! data op de card wordt overschreven en is niet meer te herstellen. (had ik al gehad over de export van data).
  4. Mocht je een groter SDHC card willen gebruiken dan kan je via de raspi-config tool de gehele SDHC card gebruiken. Dit is zeker aan te bevelen om slijtage van de SDHC card te verminderen.
  5. plaats de SDHC card in de Pi.
  6. start de Pi, netwerk en P1 kabel aangesloten.
  7. Importeer de data, als je al eerdere versie hebt gebruikt.

Veel plezier met de P1 monitor en laat weten hoe het bevalt.

FAQ

Mocht je vragen hebben kijk dan eerst in de FAQ

Problemen oplossen.

Image past niet op de SDHC card:

  1. Je kunt proberen de donor SDHC card opnieuw te formatteren met een dergelijk tool als de SD formatter.
  2. Installeer het image op een groter SDHC card. Het ongebruikte deel van de SDHC card kun je vrijgeven via de raspi-config tool met de optie extend
  3. wis de browser cache als je layout problemen hebt.

Standaard wachtwoord besturingssysteem:

  1. Het standaard account en wachtwoord om in te kunnen loggen is p1mon met het wachtwoord  verandermij.
  2. Het advies dit wachtwoord na installatie aan te passen.

Juridisch spul en zo

Dit werk valt onder een Creative Commons Naamsvermelding-NietCommercieel 4.0 Internationaal-licentie.

De rechten van onderliggende softwareproducten zijn qua licentierechten niet gewijzigd Dit geldt voor bijvoorbeeld het besturingssysteem en javascript bibliotheken. De rechten van onderliggende producten gaan voor deze licentie.

DE SOFTWARE IS GELEVERD “ZOALS”, ZONDER GARANTIE VAN ENIGE SOORT, INCLUSIEF MAAR NIET BEPERKT OP DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL. IN GEEN GEVAL ZAL HET AUTEURS OF COPYRIGHT HOLDERS AANSPRAKELIJK ZIJN VOOR ENIGE EISEN, SCHADE OF ANDERE AANSPRAKELIJKHEID IN VERBAND MET DE SOFTWARE OF HET GEBRUIK VAN DE SOFTWARE.

Samengevat: gebruik is voor eigen risico.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

DOWNLOAD

SDHC images

P1 monitor wordt alleen ondersteund op de Raspberry Pi 3B of Pi3 B+.
Een Pi 2 kan werken maar geen garanties.  Een Pi Zero is nooit getest. Van de Pi 1 is bekend dat deze fouten geeft en verloop van tijd stopt / crashed.

Wat is er veranderd in versie 0.9.9 (Maxine)

drie fasen vermogen verbruik

Bug / feature fixes:
Bug fixes / Nieuwe zaken:

  • Driefasen vermogen indicatie toegevoegd aan de main schermen. Als de slimme meter driefasen informatie bevat dan wordt dit weergegeven. Met dank aan Jeroen en Andre voor het testen.
  • api/v1/powergas/year/help werkt niet, is opgelost.
  • Schoonheidsfoutje in het importscherm verwijderd.
  • Afrond probleem bij de optie round=on in diverse api’s is opgelost.
  • Raspian upgrade van bootloader zodat de laatste Pi hardware wordt ondersteund.
  • /custom/p1mon.php aangepast naar de nieuwe API.
  • Alle oude API’s verwijder. Let op geen upgrade doen als je deze nog gebruikt. Het heeft geen invloed als je de P1 monitor zonder API’s gebruikt.
  • Scherm e-verbruik geeft nu de correcte kosten weer & dag verbruik in kWh. Bedankt Danny voor het melden.
  • E verbruik en levering schermen hadden in fout in de titel dat alle schermen uren aangaven, dit is aangepast. Bedankt Mark voor het melden.
  • Main 1 en 2 schermen tooltip teksten toevoegt bij de iconen die de functie verklaren.
  • API status wordt weergegeven in de IOS app.
  • Graphics library Highchart upgrade naar versie 7.0.3.
  • In het security menu kan worden aangeven dat internetadressen mogen worden gebruikt voor de setup schermen. Dit is met name van belang voor als in het LAN andere dan RFC1918 IP-adressen worden gebruikt. Let op dit staat standard aan en het wordt aanbevolen dit te deactiveren.
  • Security patches tot aan 01-04-2019.

Als de P1 monitor software wil ondersteunen dan is een donatie mogelijke via PayPal

Als je een bijdrage wil leveren om de kosten te dekken van de website e.d. dan kan kun je hier een donatie doen.

P1 monitor download 201902

P1 monitor download 201902

Dit is niet de laatste versie. Voor alle downloads zie de software archief pagina waar alle versies van de P1 monitor te vinden zijn inclusief de laatste versie.

LET OP DIT IS NIET DE LAATSTE VERSIE!

P1 monitor is op de Raspberry PI 3 gebaseerde software om je slimme meter uit te lezen. Voor een meer uitgebreide beschrijving zie hier.

Upgrade of eerst installatie.

De software verkrijgen en installatie.

De P1 monitor software wordt geleverd als Raspberry Pi 3 B SDHC image die hieronder te downloaden is. Om de het image naar een SDHC card te kopiëren is een image tool nodig als je deze niet hebt dan kun je USB Image tool downloaden.  Zie hieronder hoe je dat daarna de rest van de ruimte op de SDHC card kunt gebruiken met raspi-config tool.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

  1. download het P1 monitor image file uit de download overzicht hieronder.
  2. pak het zip file uit en lees de bijlagen.
  3. kopieer het p1monYYYYMMDD-NN.NN-X.img file via de USB tool naar de SDHC card van minimaal 8GB (bij voorkeur een 32GB of 16GB). Groter dan 32GB heeft geen meerwaarde wegens het FAT32 filesysteem. Let op! data op de card wordt overschreven en is niet meer te herstellen. (had ik al gehad over de export van data).
  4. Mocht je een groter SDHC card willen gebruiken dan kan je via de raspi-config tool de gehele SDHC card gebruiken. Dit is zeker aan te bevelen om slijtage van de SDHC card te verminderen.
  5. plaats de SDHC card in de Pi.
  6. start de Pi, netwerk en P1 kabel aangesloten.
  7. Importeer de data, als je al eerdere versie hebt gebruikt.

Veel plezier met de P1 monitor en laat weten hoe het bevalt.

Problemen oplossen.

Image past niet op de SDHC card:

  1. Je kunt proberen de donor SDHC card opnieuw te formatteren met een dergelijk tool als de SD formatter.
  2. Installeer het image op een groter SDHC card. Het ongebruikte deel van de SDHC card kun je vrijgeven via de raspi-config tool met de optie extend
  3. wis de browser cache als je layout problemen hebt.

Standaard wachtwoord besturingssysteem:

  1. Het standaard account en wachtwoord om in te kunnen loggen is p1mon met het wachtwoord  verandermij.
  2. Het advies dit wachtwoord na installatie aan te passen.

Juridisch spul en zo

Dit werk valt onder een Creative Commons Naamsvermelding-NietCommercieel 4.0 Internationaal-licentie.

De rechten van onderliggende softwareproducten zijn qua licentierechten niet gewijzigd Dit geldt voor bijvoorbeeld het besturingssysteem en javascript bibliotheken. De rechten van onderliggende producten gaan voor deze licentie.

DE SOFTWARE IS GELEVERD “ZOALS”, ZONDER GARANTIE VAN ENIGE SOORT, INCLUSIEF MAAR NIET BEPERKT OP DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL. IN GEEN GEVAL ZAL HET AUTEURS OF COPYRIGHT HOLDERS AANSPRAKELIJK ZIJN VOOR ENIGE EISEN, SCHADE OF ANDERE AANSPRAKELIJKHEID IN VERBAND MET DE SOFTWARE OF HET GEBRUIK VAN DE SOFTWARE.

Samengevat: gebruik is voor eigen risico.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

DOWNLOAD

SDHC images

P1 monitor wordt alleen ondersteund op de Raspberry Pi 3B of Pi3 B+.
Een Pi 2 kan werken maar geen garanties.  Een Pi Zero is nooit getest. Van de Pi 1 is bekend dat deze fouten geeft en verloop van tijd stopt / crashed.

Wat is er veranderd in versie 0.9.8 (Maxine)

Bug / feature fixes:
Bug fixes / Nieuwe zaken:

  • Alle pagina’s zijn aangepast met de nieuwe API’s gemiddeld worden ze sneller en de code is beter te onderhouden.
  • P1DbCopy aangepast zodat de logging is verminderd en alleen fouten aangeeft.
  • Layout van e-verbruik, e-levering en g-verbruik aangepast zodat kosten hoger dan 9.99 euro goed worden weergegeven, font kWh iets kleiner gemaakt zodat waarde tot 100.0 kWh verbruik goed worden weergegeven. Bedankt voor het melden Pieter Jan.
  • MAC-adressen van Wifi en Lan toegevoegd op het informatie scherm zodat het eenvoudiger wordt om in de DHCP server het IP adres vast te zetten.
  • Nieuwe REST API, alle data die in de database beschikbaar is kan nu worden gelezen. In het setup menu -> API worden deze weergegeven. Let op de oude API’s worden binnenkort verwijderd.
  • Upgrade assistent toegevoegd, bij een upgrade kan nu op een extra USB stick de configuratie worden bewaard zodat het upgraden eenvoudiger wordt met namen voor gebruikers die alleen WiFi gebruiken.
  • Security patches tot aan 16-02-2019.

Als de P1 monitor software wil ondersteunen dan is een donatie mogelijke via PayPal

Als je een bijdrage wil leveren om de kosten te dekken van de website e.d. dan kan kun je hier een donatie doen.

P1 monitor download 201901

P1 monitor download 201901

Dit is niet de laatste versie. Voor alle downloads zie de software archief pagina waar alle versies van de P1 monitor te vinden zijn inclusief de laatste versie.

LET OP DIT IS NIET DE LAATSTE VERSIE!

P1 monitor is op de Raspberry PI 3 gebaseerde software om je slimme meter uit te lezen. Voor een meer uitgebreide beschrijving zie hier.

Upgrade of eerst installatie.

De software verkrijgen en installatie.

De P1 monitor software wordt geleverd als Raspberry Pi 3 B SDHC image die hieronder te downloaden is. Om de het image naar een SDHC card te kopiëren is een image tool nodig als je deze niet hebt dan kun je USB Image tool downloaden.  Zie hieronder hoe je dat daarna de rest van de ruimte op de SDHC card kunt gebruiken met raspi-config tool.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

  1. download het P1 monitor image file uit de download overzicht hieronder.
  2. pak het zip file uit en lees de bijlagen.
  3. kopieer het p1monYYYYMMDD-NN.NN-X.img file via de USB tool naar de SDHC card van minimaal 8GB (bij voorkeur een 32GB of 16GB). Groter dan 32GB heeft geen meerwaarde wegens het FAT32 filesysteem. Let op! data op de card wordt overschreven en is niet meer te herstellen. (had ik al gehad over de export van data).
  4. Mocht je een groter SDHC card willen gebruiken dan kan je via de raspi-config tool de gehele SDHC card gebruiken. Dit is zeker aan te bevelen om slijtage van de SDHC card te verminderen.
  5. plaats de SDHC card in de Pi.
  6. start de Pi, netwerk en P1 kabel aangesloten.
  7. Importeer de data, als je al eerdere versie hebt gebruikt.

Veel plezier met de P1 monitor en laat weten hoe het bevalt.

Problemen oplossen.

Image past niet op de SDHC card:

  1. Je kunt proberen de donor SDHC card opnieuw te formatteren met een dergelijk tool als de SD formatter.
  2. Installeer het image op een groter SDHC card. Het ongebruikte deel van de SDHC card kun je vrijgeven via de raspi-config tool met de optie extend
  3. wis de browser cache als je layout problemen hebt.

Standaard wachtwoord besturingssysteem:

  1. Het standaard account en wachtwoord om in te kunnen loggen is p1mon met het wachtwoord  verandermij.
  2. Het advies dit wachtwoord na installatie aan te passen.

Juridisch spul en zo

Dit werk valt onder een Creative Commons Naamsvermelding-NietCommercieel 4.0 Internationaal-licentie.

De rechten van onderliggende softwareproducten zijn qua licentierechten niet gewijzigd Dit geldt voor bijvoorbeeld het besturingssysteem en javascript bibliotheken. De rechten van onderliggende producten gaan voor deze licentie.

DE SOFTWARE IS GELEVERD “ZOALS”, ZONDER GARANTIE VAN ENIGE SOORT, INCLUSIEF MAAR NIET BEPERKT OP DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL. IN GEEN GEVAL ZAL HET AUTEURS OF COPYRIGHT HOLDERS AANSPRAKELIJK ZIJN VOOR ENIGE EISEN, SCHADE OF ANDERE AANSPRAKELIJKHEID IN VERBAND MET DE SOFTWARE OF HET GEBRUIK VAN DE SOFTWARE.

Samengevat: gebruik is voor eigen risico.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

DOWNLOAD

SDHC images

P1 monitor wordt alleen ondersteund op de Raspberry Pi 3B of Pi3 B+.
Een Pi 2 kan werken maar geen garanties.  Een Pi Zero is nooit getest. Van de Pi 1 is bekend dat deze fouten geeft en verloop van tijd stopt / crashed.

Wat is er veranderd in versie 0.9.7 (Ron)

Bug / feature fixes:
Bug fixes / Nieuwe zaken:

Voorbeeld van voorspelling van gas data.
  • login scherm start nu met focus op het wachtwoord veld, er hoeft dus niet eerste op geklikt te worden.
  • Gasmeting per uur (main-2.php) laat een voorspelde waarde zien als er voor het huidige uur nog geen waarde binnen is gekomen. Tevens verschijnt een melding dat de voorspelling actief is, als de waarde wel berekende kan worden dan verdwijnt de melding. In de grafiek met tijdsverloop wordt de voorspelde waarde niet getoond. Deze optie is aan of uit te zetten via het setup menu in het UI-scherm.
  • Controle of er Internet beschikbaar is en wat het publieke IP-adres is minder frequent gemaakt. Het was elke 5 minuten en is nu eenmaal per uur.
  • Bug bij het inschakelen van een eigen (custom ui) opgelost met dank aan Patrick voor het aanleveren van de oplossing.
  • Webserver cache controle aangepast, waardoor bij een nieuwe P1 software versie van de software de cache van browser niet meer manueel gewist moet worden.
  • Probleem met gaswaarde opgelost voor sommige meters als de gas waarde 00000000 aangaf in plaats van 00000000.00 of 000000000.000.
  • API’s zijn alle op depricated gezet, er komt een volledige nieuwe API die meer REST compatible is. Als je deze wil proberen vraag dan /api/v1/smartmeter/info op.
  • Security patches tot aan 02-01-2019.

Als de P1 monitor software wil ondersteunen dan is een donatie mogelijke via PayPal

Als je een bijdrage wil leveren om de kosten te dekken van de website e.d. dan kan kun je hier een donatie doen.

P1 monitor download 201812

P1 monitor download 201812

Dit is niet de laatste versie. Voor alle downloads zie de software archief pagina waar alle versies van de P1 monitor te vinden zijn inclusief de laatste versie.

LET OP DIT IS NIET DE LAATSTE VERSIE!

P1 monitor is op de Raspberry PI 3 gebaseerde software om je slimme meter uit te lezen. Voor een meer uitgebreide beschrijving zie hier.

Upgrade of eerst installatie.

De software verkrijgen en installatie.

De P1 monitor software wordt geleverd als Raspberry Pi 3 B SDHC image die hieronder te downloaden is. Om de het image naar een SDHC card te kopiëren is een image tool nodig als je deze niet hebt dan kun je USB Image tool downloaden.  Zie hieronder hoe je dat daarna de rest van de ruimte op de SDHC card kunt gebruiken met raspi-config tool.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

  1. download het P1 monitor image file uit de download overzicht hieronder.
  2. pak het zip file uit en lees de bijlagen.
  3. kopieer het p1monYYYYMMDD-NN.NN-X.img file via de USB tool naar de SDHC card van minimaal 8GB (bij voorkeur een 32GB of 16GB). Groter dan 32GB heeft geen meerwaarde wegens het FAT32 filesysteem. Let op! data op de card wordt overschreven en is niet meer te herstellen. (had ik al gehad over de export van data).
  4. Mocht je een groter SDHC card willen gebruiken dan kan je via de raspi-config tool de gehele SDHC card gebruiken. Dit is zeker aan te bevelen om slijtage van de SDHC card te verminderen.
  5. plaats de SDHC card in de Pi.
  6. start de Pi, netwerk en P1 kabel aangesloten.
  7. Importeer de data, als je al eerdere versie hebt gebruikt.

Veel plezier met de P1 monitor en laat weten hoe het bevalt.

Problemen oplossen.

Image past niet op de SDHC card:

  1. Je kunt proberen de donor SDHC card opnieuw te formatteren met een dergelijk tool als de SD formatter.
  2. Installeer het image op een groter SDHC card. Het ongebruikte deel van de SDHC card kun je vrijgeven via de raspi-config tool met de optie extend
  3. wis de browser cache als je layout problemen hebt.

Standaard wachtwoord besturingssysteem:

  1. Het standaard account en wachtwoord om in te kunnen loggen is p1mon met het wachtwoord  verandermij.
  2. Het advies dit wachtwoord na installatie aan te passen.

Juridisch spul en zo

Dit werk valt onder een Creative Commons Naamsvermelding-NietCommercieel 4.0 Internationaal-licentie.

De rechten van onderliggende softwareproducten zijn qua licentierechten niet gewijzigd Dit geldt voor bijvoorbeeld het besturingssysteem en javascript bibliotheken. De rechten van onderliggende producten gaan voor deze licentie.

DE SOFTWARE IS GELEVERD “ZOALS”, ZONDER GARANTIE VAN ENIGE SOORT, INCLUSIEF MAAR NIET BEPERKT OP DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL. IN GEEN GEVAL ZAL HET AUTEURS OF COPYRIGHT HOLDERS AANSPRAKELIJK ZIJN VOOR ENIGE EISEN, SCHADE OF ANDERE AANSPRAKELIJKHEID IN VERBAND MET DE SOFTWARE OF HET GEBRUIK VAN DE SOFTWARE.

Samengevat: gebruik is voor eigen risico.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

DOWNLOAD

SDHC images

P1 monitor wordt alleen ondersteund op de Raspberry Pi 3B of Pi3 B+.
Een Pi 2 kan werken maar geen garanties.  Een Pi Zero is nooit getest. Van de Pi 1 is bekend dat deze fouten geeft en verloop van tijd stopt / crashed.

Wat is er veranderd in versie 0.9.6 (Ron)

De CSS is aangepast wis de cache van je browser!

Bug / feature fixes:

Basic.json en udp broadcast nam de gas teller waarde niet mee. Waardoor deze niet in de IOS app werd weergegeven.
Naar Python 3 gemigreerd: P1SerReader.py, P1Backup.py, P1CryptoV2.py, P1FtpCopy.py, P1Weather.py.
Door de migratie van Python 2 naar Python 3 is er minder RAM-geheugen nodig.
Back-up bestanden bevatten de unieke P1 monitor ID zodat meerdere P1 monitors dezelfde FTP of Dropbox folders kunnen gebruiken.
In het tarieven scherm is het nu ook mogelijke een negatieve waarde in te voeren voor de vastrechtkosten.
Wachtwoord voor het setup menu werd niet opgeslagen bij een reboot.
Security setup scherm toegevoegd dat de unieke P1 monitor systeem ID weergeeft.
Icon bibliotheek naar de laatste versie gebracht (wis je browser cache als je iconen mist).
Basic.json (voor Dropbox en de UDP-berichten) bevat nu de nieuwe formaat van de P1 monitor systeem ID.
De UPD lister Daemon niet werd geactiveerd door via de UI.
De homepagina hield zijn voorkeur niet vast tussen browser sessies.
Security patches tot aan 10-12-2018.

Deze versie is noodzakelijk voor de IOS app die we aan het ontwikkelen zijn.

Als de P1 monitor software wil ondersteunen dan is een donatie mogelijke via PayPal

P1 monitor download 201811

P1 monitor download 201811

Dit is niet de laatste versie. Voor alle downloads zie de software archief pagina waar alle versies van de P1 monitor te vinden zijn inclusief de laatste versie.

LET OP DIT IS NIET DE LAATSTE VERSIE!

P1 monitor is op de Raspberry PI 3 gebaseerde software om je slimme meter uit te lezen. Voor een meer uitgebreide beschrijving zie hier.

Upgrade of eerst installatie.

De software verkrijgen en installatie.

De P1 monitor software wordt geleverd als Raspberry Pi 3 B SDHC image die hieronder te downloaden is. Om de het image naar een SDHC card te kopiëren is een image tool nodig als je deze niet hebt dan kun je USB Image tool downloaden.  Zie hieronder hoe je dat daarna de rest van de ruimte op de SDHC card kunt gebruiken met raspi-config tool.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

  1. download het P1 monitor image file uit de download overzicht hieronder.
  2. pak het zip file uit en lees de bijlagen.
  3. kopieer het p1monYYYYMMDD-NN.NN-X.img file via de USB tool naar de SDHC card van minimaal 8GB  Let op! data op de card wordt overschreven en is niet meer te herstellen. (had ik al gehad over de export van data).
  4. Mocht je een groter SDHC card willen gebruiken dan kan je via de raspi-config tool de gehele SDHC card gebruiken. Dit is zeker aan te bevelen om slijtage van de SDHC card te verminderen.
  5. plaats de SDHC card in de Pi.
  6. start de Pi, netwerk en P1 kabel aangesloten.
  7. Importeer de data, als je al eerdere versie hebt gebruikt.

Veel plezier met de P1 monitor en laat weten hoe het bevalt.

Problemen oplossen.

Image past niet op de SDHC card:

  1. Je kunt proberen de donor SDHC card opnieuw te formatteren met een dergelijk tool als de SD formatter.
  2. Installeer het image op een groter SDHC card. Het ongebruikte deel van de SDHC card kun je vrijgeven via de raspi-config tool met de optie extend
  3. wis de browser cache als je layout problemen hebt.

Standaard wachtwoord besturingsysteem:

  1. Het standaard account en wachtwoord om in te kunnen loggen is p1mon met het wachtwoord  verandermij.
  2. Het advies dit wachtwoord na installatie aan te passen.

Juridisch spul en zo

Creative Commons-Licentie

Dit werk valt onder een Creative Commons Naamsvermelding-NietCommercieel 4.0 Internationaal-licentie.

De rechten van onderliggende softwareproducten zijn qua licentierechten niet gewijzigd Dit geldt voor bijvoorbeeld het besturingssysteem en javascript bibliotheken. De rechten van onderliggende producten gaan voor deze licentie.

DE SOFTWARE IS GELEVERD “ZOALS”, ZONDER GARANTIE VAN ENIGE SOORT, INCLUSIEF MAAR NIET BEPERKT OP DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL. IN GEEN GEVAL ZAL HET AUTEURS OF COPYRIGHT HOLDERS AANSPRAKELIJK ZIJN VOOR ENIGE EISEN, SCHADE OF ANDERE AANSPRAKELIJKHEID IN VERBAND MET DE SOFTWARE OF HET GEBRUIK VAN DE SOFTWARE.

Samengevat: gebruik is voor eigen risico.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

DOWNLOAD

SDHC images

P1 monitor wordt alleen ondersteund op de Raspberry Pi 3B of Pi3 B+.

Een Pi 2 kan werken maar geen garanties.  Een Pi Zero is nooit getest. Van de Pi 1 is bekend dat deze fouten geeft en verloop van tijd stopt / crashed.

Wat is er veranderd in versie 0.9.5 (Ron)

De CSS is aangepast wis de cache van je browser!

Bug / feature fixes:

De volgende scripts aangepast naar Pyhton3, dit is nodig om te kunnen garanderen dat de P1 monitor in de toekomst aangepast kan worden:
P1Scheduler (pip3 install python-crontab)
P1Watchdog.py (draait niet langer als root).
P1Semaphore.py
P1Db.py
P1SetWifi.py
semaphore.py vervangen voor semaphore3.py
utilnetwork3.py als Pyhton3 versie van de Pyhton2 versie.
Tests uitgevoerd of de ftp backup werkt naar folders onder de start folder dit werkt naar behoren naar /test en /test/twee. Probleem niet kunnen reproduceren.
P1monitor start script aangepast en draait als p1mon user en niet meer als root.
init.d startup vervangen voor SystemD startup. Herstart, start of stop van service kan via: sudo systemctl restart p1mon.service, sudo systemctl start p1mon.service, sudo systemctl stop p1mon.service.
P1SerReader.py, P1Db.Py, P1Watchdog.py, P1Weather.py, P1UdpDaemon.py aangepast zodat deze nu P1DbCopy gebruiken.
UI van actuele verwarming aangepast, zodat deze sneller laad en de time out indicator niet meer nodig is.
HighChart grafische bibliotheek vernieuwd naar de laatste versie 6.2.0
stats.php tooltip schoonheidsfoutje in afronding van de getallen aangepast.
Upgrade van de Nginx webserver naar versie: nginx/1.10.3
stats.php scherm in de navigator handels verwijderd, deze hebben voor dit scherm geen zin.

Nieuw:

basic json data (dropbox en udp) aangepast naar versie 5 en kamer temperatuur toegevoegd. IOS App P1 monitor aangepast naar versie 1.1 geeft nu ook de kamer temperatuur weer indien deze wordt gebruikt.
Nieuwe P1DbCopy script gemaakt. Dit vermindert de kans op data verlies.

Security patches tot aan 10-11-2018.

Deze versie is noodzakelijk voor de IOS app die we aan het ontwikkelen zijn.

Dit is niet de laatst versie deze staat als eerste artikel op de site. Voor historische versies zie hier.

Vul aub de app enquête in (rechts boven in de pagina) over de IOS (Apple) app.

Als de P1 monitor software wil ondersteunen dan is een donatie mogelijke via PayPal

P1 monitor download 201810

P1 monitor download 201810

Dit is niet de laatste versie. Voor alle downloads zie de software archief pagina waar alle versies van de P1 monitor te vinden zijn inclusief de laatste versie.

LET OP DIT IS NIET DE LAATSTE VERSIE!

P1 monitor is op de Raspberry PI 3 gebaseerde software om je slimme meter uit te lezen. Voor een meer uitgebreide beschrijving zie hier.

Upgrade of eerst installatie.

De software verkrijgen en installatie.

De P1 monitor software wordt geleverd als Raspberry Pi 3 B SDHC image die hieronder te downloaden is. Om de het image naar een SDHC card te kopiëren is een image tool nodig als je deze niet hebt dan kun je USB Image tool downloaden. De 4GB variant is bedoeld als het 8GB image niet werkt op een andere 8GB SDHC card als je de melding krijgt dat het image niet past!  Zie hieronder hoe je dat daarna de rest van de ruimte op de card kunt gebruiken met raspi-config tool.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

  1. download het P1 monitor image file uit de download overzicht hieronder.
  2. pak het zip file uit en lees de bijlagen.
  3. kopieer het p1monYYYYMMDD-NN.NN-X.img file via de USB tool naar de SDHC card van minimaal 8GB  Let op! data op de card wordt overschreven en is niet meer te herstellen. (had ik gehad over de export van data).
  4. Mocht je een groter SDHC card willen gebruiken dan kan je via de raspi-config tool de gehele SDHC card gebruiken. Dit is zeker aan te bevelen om slijtage van de SDHC card te verminderen.
  5. plaats de SDHC card in de Pi.
  6. start de Pi, netwerk en P1 kabel aangesloten.
  7. Importeer de data, als je al eerdere versie hebt gebruikt.

Veel plezier met de P1 monitor en laat weten hoe het bevalt.

Problemen oplossen.

Image past niet op de SDHC card:

  1. Je kunt proberen de donor SDHC card opnieuw te formatteren met een dergelijk tool als de SD formatter.
  2. Het 4GB image is bedoeld als het 8GB image niet past op een andere 8GB SDHC card. Installeer het kleinere image op de groter SDHC card. Het ongebruikte deel van de SDHC card kun je vrijgeven via de raspi-config tool met de optie extend filesystem.

Standaard wachtwoord besturingsysteem:

  1. Het standaard account en wachtwoord om in te kunnen loggen is p1mon met het wachtwoord  verandermij.
  2. Het advies dit wachtwoord na installatie aan te passen.

Juridisch spul en zo

Creative Commons-Licentie

Dit werk valt onder een Creative Commons Naamsvermelding-NietCommercieel 4.0 Internationaal-licentie.

De rechten van onderliggende softwareproducten zijn qua licentierechten niet gewijzigd Dit geldt voor bijvoorbeeld het besturingssysteem en javascript bibliotheken. De rechten van onderliggende producten gaan voor deze licentie.

DE SOFTWARE IS GELEVERD “ZOALS”, ZONDER GARANTIE VAN ENIGE SOORT, INCLUSIEF MAAR NIET BEPERKT OP DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL. IN GEEN GEVAL ZAL HET AUTEURS OF COPYRIGHT HOLDERS AANSPRAKELIJK ZIJN VOOR ENIGE EISEN, SCHADE OF ANDERE AANSPRAKELIJKHEID IN VERBAND MET DE SOFTWARE OF HET GEBRUIK VAN DE SOFTWARE.

Samengevat: gebruik is voor eigen risico.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

DOWNLOAD

SDHC images

P1 monitor wordt alleen ondersteund op de Raspberry Pi 3B of Pi3 B+.

Een Pi 2 kan werken maar geen garanties.  Een Pi Zero is nooit getest. Van de Pi 1 is bekend dat deze fouten geeft en verloop van tijd stopt / crashed.

Wat is er veranderd in versie 0.9.4 (Ron)

De CSS is aangepast wis de cache van je browser!

Bug / feature fixes:

Parameters van het backup scherm zijn nu te wissen.
P1UdpDeamon.py port naar Pyhton 3.
Tooltip datum/tijdstip gelijke gemaakt in alle schermen.
Tekst van webpagina titels aangepast voor diverse schermen.
Test van JSON dropbox data aangepast met systeem ID en versie nummer van json. Naam van het bestand is aangepast.
Verwijderd lege tabel uit weer historie database die bij een import onterecht werd aangemaakt.
Systeemdump bevat nu ook het path /var/log/ zodat we beter diagnose kunnen stellen.
Upgrade van Python 2 en 3 versies.

Nieuw:

SSH login (putty e.d.) op afstand met root / toor is niet meer mogelijk. Het werkt wel als je direct op de Pi wil inloggen via een aangesloten videoscherm en keyboard. Gebruik hiervoor de user p1mon met het wachtwoord “verandermij”.
CPU-temperatuur weergave toegevoegd aan het informatiescherm.
Op het informatiescherm kan per browser het alarm geluid aan of uit gezet worden met het icoon naast de melding rechtsboven aan de pagina.
Nieuwe optie toegevoegd waarbij met UDP-broadcast berichten de basisinformatie wordt aangeboden. Dit is nog in test maar zal in de toekomst worden gebruikt door een mobile app.
Op het informatiescherm wordt info over UDP-broadcast weergegeven wanneer deze actief is.

Security patches tot aan 10-10-2018.

Deze versie is noodzakelijk voor de IOS app die we aan het ontwikkelen zijn.

Dit is niet de laatst versie deze staat als eerste artikel op de site. Voor historische versies zie hier.

Als de P1 monitor software wil ondersteunen dan is een donatie mogelijke via PayPal

P1 monitor download 201809

P1 monitor download 201809

Dit is niet de laatste versie. Voor alle downloads zie de software archief pagina waar alle versies van de P1 monitor te vinden zijn inclusief de laatste versie.

LET OP DIT IS NIET DE LAATSTE VERSIE!

P1 monitor is op de Raspberry PI 3 gebaseerde software om je slimme meter uit te lezen. Voor een meer uitgebreide beschrijving zie hier.

Upgrade of eerst installatie.

De software verkrijgen en installatie.

De P1 monitor software wordt geleverd als Raspberry Pi 3 B SDHC image die hieronder te downloaden is. Om de het image naar een SDHC card te kopiëren is een image tool nodig als je deze niet hebt dan kun je USB Image tool downloaden. De 4GB variant is bedoeld als het 8GB image niet werkt op een andere 8GB SDHC card als je de melding krijgt dat het image niet past!  Zie hieronder hoe je dat daarna de rest van de ruimte op de card kunt gebruiken met raspi-config tool.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

  1. download het P1 monitor image file uit de download overzicht hieronder.
  2. pak het zip file uit en lees de bijlagen.
  3. kopieer het p1monYYYYMMDD-NN.NN-X.img file via de USB tool naar de SDHC card van minimaal 8GB  Let op! data op de card wordt overschreven en is niet meer te herstellen. (had ik gehad over de export van data).
  4. Mocht je een groter SDHC card willen gebruiken dan kan je via de raspi-config tool de gehele SDHC card gebruiken. Dit is zeker aan te bevelen om slijtage van de SDHC card te verminderen.
  5. plaats de SDHC card in de Pi.
  6. start de Pi, netwerk en P1 kabel aangesloten.
  7. Importeer de data, als je al eerdere versie hebt gebruikt.

Veel plezier met de P1 monitor en laat weten hoe het bevalt.

Problemen oplossen.

Image past niet op de SDHC card:

  1. Je kunt proberen de donor SDHC card opnieuw te formatteren met een dergelijk tool als de SD formatter.
  2. Het 4GB image is bedoeld als het 8GB image niet past op een andere 8GB SDHC card. Installeer het kleinere image op de groter SDHC card. Het ongebruikte deel van de SDHC card kun je vrijgeven via de raspi-config tool met de optie extend filesystem.

Standaard wachtwoord besturingsysteem:

  1. Het standaard account en wachtwoord om in te kunnen loggen is root met het wachtwoord  toor.
  2. Het advies dit wachtwoord na installatie aan te passen.

Juridisch spul en zo

Creative Commons-Licentie

Dit werk valt onder een Creative Commons Naamsvermelding-NietCommercieel 4.0 Internationaal-licentie.

De rechten van onderliggende softwareproducten zijn qua licentierechten niet gewijzigd Dit geldt voor bijvoorbeeld het besturingssysteem en javascript bibliotheken. De rechten van onderliggende producten gaan voor deze licentie.

DE SOFTWARE IS GELEVERD “ZOALS”, ZONDER GARANTIE VAN ENIGE SOORT, INCLUSIEF MAAR NIET BEPERKT OP DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL. IN GEEN GEVAL ZAL HET AUTEURS OF COPYRIGHT HOLDERS AANSPRAKELIJK ZIJN VOOR ENIGE EISEN, SCHADE OF ANDERE AANSPRAKELIJKHEID IN VERBAND MET DE SOFTWARE OF HET GEBRUIK VAN DE SOFTWARE.

Samengevat: gebruik is voor eigen risico.

Mocht je een eerdere versie van de P1 monitor gebruiken exporteer dan deze data eerst!

DOWNLOAD

SDHC images

P1 monitor wordt alleen ondersteund op de Raspberry Pi 3B of Pi3 B+.

Een Pi 2 kan werken maar geen garanties.  Een Pi Zero is nooit getest. Van de Pi 1 is bekend dat deze fouten geeft en verloop van tijd stopt / crashed.

Wat is er veranderd in versie 0.9.3.1 (Ron)

info icon

Versie 0.9.3 bevat een bug dat bij de import en het gebruik van wifi de import faalt. Dit is opgelost is deze versie. Als er geen problemen optreden bij het importeren dan is deze versie niet nodig.

Wifi-instellingen aangepast waardoor een reboot minder nodig is bij de eerste keer instellen. Mocht er geen IP-adres verschijnen na ongeveer 5 minuten dan is er mogelijk een reboot nodig van de Pi.  Dit is een probleem in het besturingssysteem Raspbian en wordt hopelijk in de toekomst aangepast/opgelost.  

E-levering en E-gebruik gaf in de trend kWh weer wat Watt moest zijn.

Bij een import of na een initiële installatie delen uit ram geheugen niet naar SDHC kaart werden gekopieerd is hersteld.

Crypto aangepast, gevoelige geïmporteerde data wordt NIET geïmporteerd. Dus eerste veilige stellen voor import en met de hand weer invoeren.

Import en exportpagina javascript aangepast naar met asynchrone functies zodat wordt voldaan aan de laatste Javascript standaard.

Diverse API’s aangepast zodat de JSON-output netter is en voldoet aan de standaard:

  • API apiV1usage verwijderd, apiV2usage wordt in volgende versies verwijderd. ApiV3usage is de laatste versie
  • API apiV1weather.php wordt in volgende versies verwijderd. ApiV2weather.php is de laatste versie.
  • API apiV3basic wordt in volgende versies verwijderd. ApiV4basic is de laatste versie zodat de JSON-output netter is en eenvoudiger te gebruiken.
  • API apiV1countervalue wordt in volgende versies verwijderd. ApiV2countervalue is de laatste versie zodat de JSON-output netter is en eenvoudiger te gebruiken.

Bug in E-statistiek schermen dat levering en gebruik gelijk is in tooltip als deze niet geselecteerd is opgelost.

De CSS is aangepast wis de cache van je browser!

Nieuw:

Ondersteuning voor ESP32DeltaTemp toegevoegd zie https://www.ztatz.nl/python/espdeltatemp/

Info scherm aangepast geeft nu ook aan wanneer de UDP en Dropbox deamon gestart zijn.

Importfunctie geeft nu het percentage van verwerkte records weer en datum van de export. Let op dit werkt alleen voor exports vanaf deze versie (0.9.3 en hoger).

Verwarmingsdata wordt geëxporteerd en geïmporteerd (alleen van belang voor ESP32DeltaTemp gebruikers).

Alle gevoelige invoervelden (wachtwoorden e.d.) zijn nu gemaskeerd en kunnen met een oog icoon zichtbaar worden gemaakt.

Voor diegene die eigen aanpassingen maakt aan de software.

  • pip3 geïnstalleerd voor Pyhton 3 ondersteuning (apt-get install python3-pip)
  • Installatie van DropBox Pyhon api. (pip (pip3) install dropbox).
  • Diverse Pyhton scripts geschikt gemaakt voor Pyton versie 3.
  • Python 3 extra biblotheken:
  • pip3 install pytz
  • pip3 install psutil
Dropbox logo

Dropbox ondersteuning voor back-up en voor data. De data optie is een Beta test voor de ontwikkeling van app of andere programma’s die gebruik willen maken van de data.  Beide zijn los aan of uit te zetten, als je geen gebruik maakt van Dropbox laat deze dan uit staan dat verminderd het CPU & data gebruik.

Nieuw P1 versie

Automatische controle op nieuwe versie, in te schakelen via systeem menu. Staat standaard uit.

Waarde van geleverd kWh & Gas en geproduceerde home schermen is nu instelbaar.

Security patches tot aan 09-09-2018.

Dit is niet de laatst versie deze staat als eerste artikel op de site. Voor historische versies zie hier.

Als de P1 monitor software wil ondersteunen dan is een donatie mogelijke via PayPal

ESP32DeltaTemp

ESP32DeltaTemp

EPS32DeltaTemp is en zelfbouwproject gebaseerd op de ESP32 van Espressif Systeem. Dit kleine IoT apparaat is goedkoop en is relatief eenvoudig te programmeren. EP32DeltaTemp is gebouwd om in en uitgaande temperatuur te meten van vloerverwarming maar kan in principe voor elke toepassing worden gebruikt waar je de temperatuur wil meten. De centrale verwarming, de kamertemperatuur, enz.

Eigenschappen

Meet de temperatuur via twee digitale sensoren en geeft deze weer op het display van de ESP32, je kunt ook een ESP32 gebruiken zonder display.  Het display kan via een aanraaktoets  worden gewisseld tussen:

  1. De ingaande en uitgaande temperatuur met een grafiek die een indicatie geeft van het verschil tussen de twee temperaturen of de wifiverbinding actief is en wanneer de temperatuur wordt uitgelezen. De temperatuur wordt met een interval van 1 seconden gemeten.
  2. Het verschilscherm geef het verschil weer tussen de twee temperaturen en wanneer de meting plaats vindt.
  3. Info scherm: geeft de softwareversie weer, de gebruikt Service Set Identifier SSID (de naam van Wifi-netwerk) en het IP-adres dat de Eps32DeltTemp gebruikt.
  4. Tot slot: het scherm kan ook op zwart worden gezet.

De informatie wordt optioneel verzonden via wifi UDP-berichten die door elke ander applicatie/programma gelezen kan worden op het lokale netwerk. Het Wifi IP-adres wordt via DHCP opgehaald iets wat de meeste thuis routers standaard doen.

Benodigde hardware

De lijst die ik hier geef werkt en ik heb geen relatie met de genoemde leveranciers.
• 1 x Heltec EPS32 met oled display (10,55): link
• 2 x DS18B20 digitale temperatuur sensor (~€ 1,00): link
• 1 x Weerstand van 4K7: (€ 1,98) link
• Behuizing (optioneel) (€ 1,86): link
• Een USB – Naar micro usb kabel voor het programmeren en of de 5V voeding.
• Een Micro USB 5V voeding van minimaal 0.7 Ampère, een Raspberry Pi voeding is uitstekend. (Ongeveer € 4)
• Experimenteer print, een paar euro bijvoorbeeld link ( ongeveer € 7).
• Iets wat als tiptoets knop kan werken. Ik gebruik een 4mm schroefje.
Totaal ongeveer: € 30 euro afhankelijk van je voorkeur.
Uiteraard een soldeerbout, soldeertin en e.d. om de boel in elkaar te zetten.

Aansluitschema

ESP32 aansluitschema

Benodigde software.

De ESP32 is eenvoudig te programmeren via de Arduino IDE als je deze nog niet hebt geïnstalleerd volg dan deze handleiding van  randomnerdtutorials.com. Deze handleiding legt tevens uit hoe je de ESP32  uitbreiding moet toevoegen die zijn standaard niet geïnstalleerd.  

De code maakt gebruik van een extra softwarebibliotheken die eenvoudig via de Arduino IDE te installeren zijn.  Deze kun je via de IDE  Sketch -> Include Libary -> Manage Libraries toevoegen.

  • OneWire
  • U8G2
  • DallasTemperature

Laad onderstaande code in de editor en pas eventueel de WIFI instellingen aan als je daar gebruik van wil maken en compileer deze door linksboven op verify te klikken.  Als dat goed gaat kun je de ESP32 aansluiten via de USB-kabel en de code uploaden naar de ESP32.   Om de code te kunnen testen moeten we de temperatuur sensors worden aangesloten zijn.  


#include <U8g2lib.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <WiFi.h>
#include <WiFiUdp.h>

/* note, the bat(tery) led rapid blinking is a hardware "feature" of the heltec board and can not be disabled by software */

/* user setting, change these to your needs. */
/*********************************************/
/* leave SSID empty if you don't need the UDP / WIFI messages *ssid = "" */
const char *ssid                = ""; // your SSID. 
const char *pwd                 = ""; // your WPA WIFI password. 
const uint8_t udp_send_interval = 45;      // interval when an udp message will be send in 0.1 secs interval 45 = ~5 secs.
                                           // use a value between 1 and a maximum of 599.                                                       
const float temp_in_adjustmend  =  0.36;  // test en adjust these to values to compensate for differences 
const float temp_out_adjustmend =  1.4;    // in the readout of the temp sensors and general offset error.
/***************** end of user settings ******/

#define TOUCH_PIN T7                      // connected to pin 27
#define ONE_WIRE_BUS 13                   // DS18B20 on GPIO 13.
#define STR_BUF_SIZE 32                   

#define VERSION      "versie 1.0"         // Software version.
#define TEMPERATURE_PRECISION 12          // set temp precision (9-12).
#define DISPLAY_WIDTH 128
#define DISPLAY_HEIGHT 64

OneWire           oneWire(ONE_WIRE_BUS);  // setup OneWire devices.
DallasTemperature tempSensors(&oneWire);  // tempSensor data.
DeviceAddress     tempDeviceAddress;      // temp adress for devices.
WiFiUDP           udp;                    // UDP sender.

int     numberOfDevices = 0;              // number of temperature devices found.
char    strbuf[STR_BUF_SIZE];             // buffer for display and serial print.
float   temp_in;
float   temp_out;
float   temp_in_avg; 
float   temp_out_avg;
uint8_t temp_vdelta_arr_graphic[DISPLAY_WIDTH];
int     touch_value = 300;
boolean WIFIconnected = false;

U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ 16, /* clock=*/15, /* data=*/4);   // (rotation, [reset [, clock, data]])

// IP address to send UDP data to.
const char *udpAddress = "255.255.255.255";  // udp broadcast address for the local lan only
const int   udpPort    = 30721;              // udp port number to listen to as a client.

void setup() {
  Serial.begin(115200);

  u8g2.begin();
  u8g2.clearBuffer();
  u8g2.setFont(u8g2_font_ncenB12_tf);
  u8g2.drawStr(20,40,"ZTATZ.NL");
  u8g2.sendBuffer();
  delay(3000);
  
  // load temperature sensors.
  tempSensors.begin();
   
  // check if we can find the two temp sensors.
  u8g2.clearBuffer();
  while ( setTempPrecision() < 2 ) {
    tempSensors.begin();
    u8g2.drawStr(1,12,"wacht op");
    u8g2.drawStr(1,26,"temperatuur");
    u8g2.drawStr(1,40,"sensors.");
    u8g2.sendBuffer();
    delay(500);
  }

  // make sure we have some temperature values.
  readTemperatures();

  if ( String(ssid).length() > 0 ) {

    // try to connect to wifi.
    connectToWiFi(ssid, pwd);

    // Wait for connection
    for (uint8_t i = 0; i < 60; i++) { 
      if (WiFi.status() == WL_CONNECTED ) {
        break; // we have a network connection
      }
      u8g2.clearBuffer();
      u8g2.drawStr(1,12,"wacht op");
      u8g2.drawStr(1,27,"wifi");
      u8g2.drawStr(1,41,"verbinding.");
      String str = "seconden: " + String( i );
      str.toCharArray(strbuf, STR_BUF_SIZE);
      u8g2.drawStr(1,57,strbuf);   
      u8g2.sendBuffer(); 
      delay(1000); // try every 1 secs
    }
  }
}

void loop()
{
  static uint8_t display_select_counter = 0;
  static uint8_t pseudo_secs = 0;
  static uint8_t touch_counter = 0;
  static uint8_t udp_send_counter = 0;
  static bool    wifi_retry_is_on = false;
  
  // pseudo timer.
  pseudo_secs++; 
  if ( pseudo_secs > 599 ) {pseudo_secs = 0; } // reset secs to 0

  // read temperature values from sensors and update data buffers.
  // every second
   if ( (pseudo_secs%10 ) == 0 ) {
    readTemperatures();
    fillGraphicBufferValues();
    calcAvgTemperature( temp_in, temp_out );
    showDisplay(display_select_counter);
  }

  // Send UDP broadcast messages. 
  if (WIFIconnected) {
    udp_send_counter++;
    if ( udp_send_counter > udp_send_interval ) { 
      udpSendMessage( makeJsonMessage() );
      udp_send_counter=0;
    }
  }
  
  // touch selection.
  touch_value = touchRead(TOUCH_PIN);
 
  if (touch_value < 50 ) {
    touch_counter++;
    if ( touch_counter > 4 ) { // must held the touch contact to filter out noise.
      touch_counter = 0;
      display_select_counter++;
      if ( display_select_counter > 3 ) { display_select_counter = 0; }
      showDisplay(display_select_counter); // to get quick feedback on pressing touch "button".
    }   
  } else {
    touch_counter = 0; //reset the touch counter,
  }

  delay(100); // 0.1 sec delay.
}

void connectToWiFi(const char * ssid, const char * pwd){
  Serial.println("Connecting to WiFi network: " + String(ssid));

  // delete old config
  WiFi.disconnect(true);
  //register event handler
  WiFi.onEvent(WiFiEvent);
  
  //Initiate connection
  WiFi.begin(ssid, pwd);

}

//wifi event handler
void WiFiEvent(WiFiEvent_t event){
    Serial.print("WiFiEvent_t: ");
    Serial.println(event);
    switch(event) {
      case SYSTEM_EVENT_STA_GOT_IP:
          //When connected set 
          Serial.print("WiFi verbonden! IP address: ");
          Serial.println(WiFi.localIP());  
          //initializes the UDP state
          //This initializes the transfer buffer
          udp.begin(WiFi.localIP(),udpPort);
          WIFIconnected = true;
          break;
      case SYSTEM_EVENT_STA_DISCONNECTED:
          Serial.println("WiFi verbinding veloren.");
          WIFIconnected = false;
          WiFi.disconnect(true);
          WiFi.begin(ssid, pwd);
          break;
    }
}

// function select display mode
void showDisplay(uint8_t index) {
   switch(index) {
      case 0:
        showTempInfo();
        break; 
      case 1:
        showDeltaTempInfo();
        break; 
      case 2:
        showInitInfo();
        break;
       case 3:
        // blank screen
        u8g2.clearBuffer();
        u8g2.sendBuffer();
        break;
  }
}


// function to show temperature on display.
void showDeltaTempInfo() {
  static bool temp_icon;

  floatTempFormater(temp_in_avg - temp_out_avg).toCharArray(strbuf, STR_BUF_SIZE);
  
  u8g2.clearBuffer();
  u8g2.setFont(u8g2_font_fub30_tf);
  u8g2.drawStr(   5,  35, strbuf);
  u8g2.drawGlyph( 85, 35, 176 );
  u8g2.drawStr(   95, 35, "C" );

  u8g2.setFont(u8g2_font_ncenB18_tf);
  u8g2.drawStr( 8, 60, "verschil" );

  // activity icon toggle.
  u8g2.setFont(u8g2_font_open_iconic_gui_2x_t);
  if (temp_icon == true ) {
    u8g2.drawGlyph(112,60,66);
    temp_icon = false;
  } else {
    u8g2.drawGlyph(112,60,67);
    temp_icon = true;
  }

  u8g2.sendBuffer();
}

void showInitInfo() {

  u8g2.clearBuffer();
  u8g2.setFont(u8g2_font_courB10_tf);
  String str = VERSION;
  str.toCharArray(strbuf, STR_BUF_SIZE);
  u8g2.drawStr(1,15,strbuf);

  str = "SSID:" + String( ssid );
  str.toCharArray(strbuf, STR_BUF_SIZE);
  u8g2.drawStr(1,30,strbuf);

  str = IpAddress2String( WiFi.localIP() );
  str.toCharArray(strbuf, STR_BUF_SIZE);
  u8g2.drawStr(1,45,strbuf);

  u8g2.sendBuffer();
}

// function to show temperature on display.
void showTempInfo() {
  static bool temp_icon;
  
  u8g2.clearBuffer();
  u8g2.setFont(u8g2_font_ncenB18_tf);
  u8g2.drawStr(    0,18,"in"  );
  u8g2.drawStr(    0,40,"uit" );
  
  floatTempFormater(temp_in_avg).toCharArray(strbuf, STR_BUF_SIZE);
  u8g2.drawStr(38,18,strbuf);
  
  floatTempFormater(temp_out_avg).toCharArray(strbuf, STR_BUF_SIZE);
  u8g2.drawStr(38,40,strbuf);

  u8g2.setFont(u8g2_font_ncenB14_tf);
  u8g2.drawStr(   97,16,"C" );
  u8g2.drawStr(   97,38,"C" );
  u8g2.drawGlyph( 90,16,176 );
  u8g2.drawGlyph( 90,38,176 );
  
  for (uint8_t i=0; i <DISPLAY_WIDTH; i++ ) {
      u8g2.drawLine(i,64, i, DISPLAY_HEIGHT - temp_vdelta_arr_graphic[i] );
  }

  // activity icon toggle.
  //u8g2.setFont(u8g2_font_siji_t_6x10);
  u8g2.setFont(u8g2_font_open_iconic_all_2x_t);
  if (temp_icon == true ) {
    u8g2.drawGlyph(112,20,141);
    //u8g2.drawGlyph(111,20,57551);
    temp_icon = false;
  } else {
    //u8g2.drawGlyph(113,20,57373);
    temp_icon = true;
  }

  if (WIFIconnected) {
    u8g2.setFont(u8g2_font_open_iconic_all_2x_t);
    u8g2.drawGlyph( 112,40,247 );
  }
  
  u8g2.sendBuffer();
}


// function IPAdress conversion to string
String IpAddress2String(const IPAddress& ipAddress)
{
  return String(ipAddress[0]) + String(".") +\
  String(ipAddress[1]) + String(".") +\
  String(ipAddress[2]) + String(".") +\
  String(ipAddress[3])  ; 
}


// function to format json string.
String makeJsonMessage() {
  static unsigned int sequenceNumber;
  char  tmpbuf[8];
  
  dtostrf( temp_in, 2, 3, tmpbuf );
  String str_tmp_in = String(tmpbuf);
  dtostrf( temp_out, 2, 3, tmpbuf );
  String str_tmp_out = String(tmpbuf);

  //{ "t_in": 23.1, "t_out":45.6, "seq":65000 }
  String msg = "{\"id\":\"ztatz_dt\",\"version\":1.0,\"t_unit\":\"C\"";
  msg = msg + ",\"t_in_avg\":" +
  floatTempFormater(temp_in_avg) +
  ",\"t_out_avg\":" +
  floatTempFormater(temp_out_avg) +
   ",\"t_in\":" +
  str_tmp_in +
   ",\"t_out\":" +
  str_tmp_out +
  ",\"seq\":" + sequenceNumber +
  "}";
  
  sequenceNumber++;
  if ( sequenceNumber > 32768 ) { sequenceNumber = 0; } //wrap around to zero.
  return msg;
}

void udpSendMessage(String msg) {
   
    //alloc buffer space 
    uint8_t bufsize = msg.length()+1;
    uint8_t buffer[bufsize];
    msg.getBytes(buffer, bufsize);
   
    udp.beginPacket(udpAddress, udpPort);
    udp.write(buffer, bufsize-1); //skip trailing zero.
    udp.endPacket();
}


// function to calculate the average values, based in AVG_TEMP_ARRAY_SIZE value
void calcAvgTemperature(float in, float out) {
  #define AVG_TEMP_ARRAY_SIZE 30
  static uint8_t sample_count=0;
  static float temp_in_array[AVG_TEMP_ARRAY_SIZE];
  static float temp_out_array[AVG_TEMP_ARRAY_SIZE];
  static bool  enough_data = false; // only average value when there is enough data

  // shift array 
  for (uint8_t i = AVG_TEMP_ARRAY_SIZE-1; i > 0; i--) {
       // Serial.print  ("i = ");
       // Serial.println(i , DEC);
       temp_in_array[i]  = temp_in_array[i-1];
       temp_out_array[i] = temp_out_array[i-1];
  }
  temp_in_array[0]  = in;
  temp_out_array[0] = out;
 
  sample_count++;
  if ( sample_count == AVG_TEMP_ARRAY_SIZE ) {
      enough_data = true;
  } else {
    // we don't have enough data so just send current non average value
    temp_in_avg  = in;
    temp_out_avg = out;
  }

  if (enough_data == true ) { // ready to calc avg value
     temp_in_avg = temp_out_avg = 0;
     for (uint8_t i = 0; i < AVG_TEMP_ARRAY_SIZE; i++) {
       temp_in_avg  = temp_in_avg  + temp_in_array[i];
       temp_out_avg = temp_out_avg + temp_out_array[i];
     }
     temp_in_avg  = temp_in_avg  / AVG_TEMP_ARRAY_SIZE;
     temp_out_avg = temp_out_avg / AVG_TEMP_ARRAY_SIZE;
  } 

   /* remove comments to test and adjust offset values */
   /*
   Serial.print(" in =");
   Serial.print(in,DEC); 
   Serial.print(" out =");
   Serial.print(out ,DEC); 
   Serial.print(" delta(raw) =");
   Serial.print( floatTempFormater(out-in));
   Serial.print(" temp_in_avg =");
   Serial.print(temp_in_avg,DEC);
   Serial.print(" temp_out_avg =");
   Serial.print(temp_out_avg,DEC);
   Serial.print(" delta(avg) =");
   Serial.println(floatTempFormater(temp_out_avg - temp_in_avg));
   */
}

// function to format float type.
String floatTempFormater(float in) {
  char  tmpbuf[10];
  dtostrf( in, 2, 1, tmpbuf );
  String str = String(tmpbuf);
  
  if ( str.length() < 4) {
     str = "0"+str;
  }
  return str;
}

// function to fill buffer with offset values to draw a graph.
void fillGraphicBufferValues() {
  
  uint8_t delta_value = abs(temp_in - temp_out)* 2; //two pixels is a degree. 

  temp_vdelta_arr_graphic[0] = delta_value;
  if  ( temp_vdelta_arr_graphic[0] > 22 ) { temp_vdelta_arr_graphic[0]=22; } // cap maximum graph height. 

  for (uint8_t i=DISPLAY_WIDTH-1; i >0; i-- ) {
      temp_vdelta_arr_graphic[i] = temp_vdelta_arr_graphic[i-1];
  }
}

// function to show temperature on display.
void readTemperatures() {
  /* important add or subtract values to make sure both sensors give the right temperature.
   *  this must be done manualy once! See top of code!
   */
  tempSensors.requestTemperatures();
  temp_in  = tempSensors.getTempCByIndex(0)+ (temp_in_adjustmend);  // error offset. 
  temp_out = tempSensors.getTempCByIndex(1)+ (temp_out_adjustmend);  // error offset.
}

// function to print a device address
void printAddress(DeviceAddress deviceAddress)
{
  for (uint8_t i = 0; i < 8; i++)
  {
    if (deviceAddress[i] < 16) Serial.print("0");
    Serial.print(deviceAddress[i], HEX);
  }
}

// function to set temp device precision.
int setTempPrecision() {
  numberOfDevices = tempSensors.getDeviceCount();
  if ( numberOfDevices < 1 ) {
     Serial.println("Fout geen devices gevonden!");
     return 0;
  }
  // Loop through each device, print out address
  for(int i=0;i<numberOfDevices; i++)
  {
    // Search the wire for address
    if(tempSensors.getAddress(tempDeviceAddress, i)) {
      Serial.print("device gevonden ");
      Serial.print(i, DEC);
      Serial.print(" met adres: ");
      printAddress(tempDeviceAddress);
      Serial.println();
    
      Serial.print("Resolutie gezet op ");
      Serial.print(TEMPERATURE_PRECISION, DEC);
      Serial.println(" bits.");
    
      // set the resolution to TEMPERATURE_PRECISION bit (Each Dallas/Maxim device is capable of several different resolutions)
      tempSensors.setResolution(tempDeviceAddress, TEMPERATURE_PRECISION);
    
      Serial.print("Daadwerkelijke resolutie die gezet is : ");
      Serial.print(tempSensors.getResolution(tempDeviceAddress), DEC);
      Serial.println();
    }else{
      Serial.print("Spook device op adres ");
      Serial.print(i, DEC);
      Serial.print(" adress niet gevonden, controleer voeding en bekabeling.");
    }
  }
  return numberOfDevices;
}

Afstellen van de temperatuur sensors.

De sensors die ik gebruikt heb voor het testen wijken soms wel 1 graad Celsius of iets meer af van de werkelijkheid. Als je het belangrijk vindt dat de juiste temperatuur wordt aangeven dan kun je de sensors ijken. Dit kan via de UTP berichten of via de seriële logging van de Arduino IDE. Als je de seriële logging wil gebruiken dan moet je de commentaar karakters verwijderen.

/* remove comments to test and adjust offset values */
   /*
   Serial.print(" in =");
   Serial.print(in,DEC); 
   Serial.print(" out =");
   Serial.print(out ,DEC); 
   Serial.print(" delta(raw) =");
   Serial.print( floatTempFormater(out-in));
   Serial.print(" temp_in_avg =");
   Serial.print(temp_in_avg,DEC);
   Serial.print(" temp_out_avg =");
   Serial.print(temp_out_avg,DEC);
   Serial.print(" delta(avg) =");
   Serial.println(floatTempFormater(temp_out_avg - temp_in_avg));
   */

Met de twee variabelen temp_in_adjustmend en temp_out_adjustmend kun je de aanpassingen doorvoeren. Het is een kwestie van testen en aanpassen, testen aanpassen, enz. Het werkt het eenvoudigst als je eerst zorgt dat dezelfde waarde aangeven en daarna de waarde voor de werkelijke temperatuur aangeeft door bij beide dezelfde waarde aan te passen. Ik heb beide sensoren met duct tape bij elkaar geplaatst en in een doek gedaan tegen tocht e.d.

const float temp_in_adjustmend  =  0.36;
const float temp_out_adjustmend =  1.4;

UDP berichten

De UDP berichten zijn in JSON formaat.

{
"id":"ztatz_dt",
"version":1.0,
"t_unit":"C",
"t_in_avg":24.1,
"t_out_avg":22.0,
"t_in":24.298,
"t_out":22.150,
"seq":24464
}
  •  id: geeft de unieke naam aan van het type bericht.
  • version: versie van het bericht, in de toekomst kan het bericht uitgebreid worden.
  • t_unit: C is graden Celsius.
  • t_in_avg: de gemiddelde temperatuur in over de afgelopen 30 seconden.
  • t_out_avg: de gemiddelde temperatuur uit over de afgelopen 30 seconden.
  • t_in: de ruwe temperatuur in, wordt elke seconde gemeten.
  • t_uit: de ruwe temperatuur uit, wordt elke seconde gemeten.
  • seq: volgorde nummers van het bericht met een waarde van 1 tot 32768. Als de waarde 32769 wordt bereikt dan is het volgende nummer 1. Bij een reboot wordt altijd gestart met de waarde 1. Het doel is dat ontvangers kunnen vaststellen of ze een waarde al gehad hebben of er een gemist.

Onderstaande code geeft een simpele voorbeeld hoe je met Python de berichten kunt uitlezen.

#!/usr/bin/python

import socket
import time
import datetime

# bind all IP
HOST = '0.0.0.0' 
# Listen on Port 
PORT = 30721 
#Size of receive buffer   
BUFFER_SIZE = 1024    
# Create a TCP/IP socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# Bind the socket to the host and port
s.bind((HOST, PORT))
while True:
    # Receive BUFFER_SIZE bytes data
    # data is a list with 2 elements
    # first is data
    #second is client address
    data = s.recvfrom(BUFFER_SIZE)
    if data:
        #print received data
        print( datetime.datetime.fromtimestamp(time.time()).strftime('%H:%M:%S') +' ' + str(data[0]) )
# Close connection
s.close()

P1 Monitor geschikt

In een van de volgende versies van de P1 monitor wordt de ESP32DeltaTemp ondersteund.

P1 monitor importeren van data

P1 monitor importeren van data

Het importeren van gebruiksgegevens is (nog) geen optie van de P1 monitor.  Er zijn op dit moment twee manieren om min of meer veilig de data in de database te laden.  Beide hebben voor en nadelen afhankelijk van de situatie.  Optie een is een hack op de import en exportfunctie, optie twee is gebruik maken van een sqllite database editor.

Voordat je wijziging doorvoert is het verstandig om een export te maken en deze veilig te stellen mocht er iets mis gaan.

1:  in en export functie gebruiken. De export functie doet niet anders dan een verzameling van SQL commando’s aanmaken met alle data daarin. Als de data in het exportfile wordt aangepast dan kan de data met de import functie worden geladen.  Het is niet ingewikkeld maar het is handig als je iets enige SQL kennis hebt. Het voordeel van deze manier is dat de p1 monitor blijft draaien en dat je geen nieuwe data moet missen.  Aanpak:

  • Maak een export van uit de p1 monitor
  • Pak het export zip file uit zodat er een (onder Windows met de optie Extract All) in dit voorbeeld heet het file test.zip.
  • Open de uitgepakte folder ???\test\p1mon\export. Daar staan de volgende files in:
    • historiexxxxx (de gas en e-waarde historie)
    • finacieelxxxxx.  (de financiële gegevens)
    • 01_weer_historiexxxxx (weer historie)
    • Configuratie (configuratie, het is beter deze niet te wijzigen tenzij je weet wat je doet)
    • weerxxxxxx (huidige weer informatie)
  • Bekijk de bestanden om te zien wat je wil aanpassen, bestanden die je niet wil aanpassen kun je verwijderen.
  • In dit voorbeeld ga ik ervan uit dat je alleen historiexxxxx (de gas en e-waarde historie) wil aanpassen. Dus alle andere bestanden kunnen dan weg.
  • Open het historie bestand met een tekst editor (write, notepap++) het maakt niet uit als het maar een platte tekst editor is Word kan ook maar dan moet je het bestand opslaan als ascii tekst bestand.
  • Je mag alle regels in het bestand laten staan of alles weghalen. Het SQL commando “replace into e_history_min (TIMESTAMP….  “  Vervangt het bestaande record in de database, het kost dan alleen meer tijd bij de import.
  • In dit voorbeeld nemen we een regel en alle andere regels worden verwijderd.
  • replace into e_history_min (TIMESTAMP, VERBR_KWH_181, VERBR_KWH_182,GELVR_KWH_281, GELVR_KWH_282, VERBR_KWH_X, GELVR_KWH_X,TARIEFCODE,ACT_VERBR_KW_170,ACT_GELVR_KW_270, VERBR_GAS_2421) values (‘2018-02-21 00:02:00′,’9296.694′,’9340.233′,’664.965′,’1756.033′,’0.00300000000061′,’0.0′,’D’,’0.21′,’0.0′,’0.0′);
  • Als je in deze regel de minuut waarde wil aanpassen va 9296.694 naar 8000.00 pas dit dan aan. Dit kun je net zo lang herhalen met extra records of 1 net wat je nodige hebt.
  • Pak de folder structuur weer in (maak er een zip file van)
  • Importeer het bestand.

2:  sqlite database editor.

Met de database editor zoals (http://sqlitebrowser.org/) kun je de via een eenvoudige gebruikersinterface de database inhoud te kunnen bewerken. Echter om de data te kunnen bewerken moet de database niet door de P1 monitor worden aangepast.

  • Eerst moet de P1 monitor worden gestopt en de rechten op het database bestand worden aangepast. In dit voorbeeld wordt de historie database gebruikt.
  • Ga naar het setup menu -> bestanden -> data. Maakt het mogelijk op via samba/file share de bestanden te kopiëren naar je pc. Kopieer het bestand e_historie.db
  • Log in op de P1 montor als p1mon (wachtwoord verandermij of nog beter je hebt het wachtwoord aangepast). Gebruik hiervoor putty.
  • cd /p1mon/scripts
  • ./p1mon stop (duurt even)
  • cd p1mon/mnt/ramdisk
  • mv e_historie.db e_historie.db.old
  • cd /p1mon/data
  • cp e_historie.db e_historie.db.old (dit is een veiligheids kopie)
  • chmod a+rw e_historie.db (dit is nodig om als de versie van de database op je pc is aangepast weer terug te kunnen schrijven).
  • Open het e_historie.db bestand met sqlite database editor en pas dit aan zoals je wilt.
  • Kopier het het e_historie.db terug naar de p1 via samba.
  • Log in op p1 montor.
  • cd /p1mon/scripts
  • ./p1mon start
  • Nu moet alles weer werken inclusief de aanpassingen.
Send email secure (or not)

Send email secure (or not)

Email is send with the Simple Mail Transfer Protocol ( SMTP ). It was invented back in the day (1982) when the Internet was run by people with the best intentions and de security was not needed or perceived not necessary. When you are sending an email the text, headers, email addresses, etc. are send over the Internet in plain-text (human readable). See http://www.freesoft.org/CIE/RFC/821/31.htm for an example.

Anyone that has access to the data stream (free WiFi is not your friend) can in theory read your emails. Not a save way of using email. What we need is a solution that will hide your emails from prying eyes. Cryptography to the rescue!

Most modern email providers like Gmail support Transport Layers (TLS). TLS encrypts all the network traffic making it unintelligible. TLS email is called STARTLS and is negotiated between de mail client and mail server. Normally a user cannot choose to use STARTTLS. It the mail server (administrator) to decide how to handle the SMTP traffic. Because of the move of the Internet to encrypt everything it will be a matter of time of STARTTLS will be the normal way of sending email.

To check if an email server supports TLS (STARTTLS) you can use the TLS check script tlschk (script below) Linux script.

# tslchk -d schiphol.nl
TLS check for SMTP server for domain schiphol.nl, hang on this could take a while....
schiphol-nl.mail.protection.outlook.com. version is TLSv1.2
email4.schiphol.nl. version is not available or TLS not supported
email5.schiphol.nl. version is not available or TLS not supported
domain schiphol.nl ready.

When an TLSVx.x answer is returned STARTTLS (TLS) is supported.

#!/bin/bash
# nslookup & openssl must be installed!
OPTIND=1 # Reset in case getopts has been used previously in the shell.
DOMAINNAME=""
PRGNAME=${0##*/}

function showHelp {
	echo $PRGNAME" -d <mail domain>"
	echo "Example: "$PRGNAME" -d gmail.com "
}

while getopts "h?d:" opt; do
    case "$opt" in
    h|\?)
        showHelp
        exit 0
        ;;
    d)  
	DOMAINNAME=$OPTARG
        ;;
    esac
done

shift $((OPTIND-1))

[ "$1" = "--" ] && shift

if [ -z "${DOMAINNAME}" ]; then
	showHelp
	exit
fi

# tell what domain that will be checked
echo "TLS check for SMTP server for domain "$DOMAINNAME", hang on this could take a while...."
# find MX record, used first one that we find.
MXLIST=$(nslookup -query=mx $DOMAINNAME | grep $DOMAINNAME |cut -d ' ' -f5)

for mxrec in $MXLIST
do
	#echo "checking MX record "$mxrec
	OUTPUT=$(echo "Q"|openssl s_client  -starttls smtp  -crlf -connect $mxrec:25 2>/dev/null | tr -d ' '| grep Protocol: | cut -d ':' -f2)
	if [ -z "${OUTPUT}" ]; then
		echo $mxrec" version is not available or TLS not supported"
	else 
		echo $mxrec" version is "$OUTPUT
	fi
done
echo "domain "$DOMAINNAME" ready."

Download

[download id=”310″]

Python Internet availability

Python Internet availability

This Python code snippet gives you a solution when you need to check if your Python application can reach the Internet.  You can always check if an Internet website is responding with urllib.request.urlretrieve.  For instance, www.google.com.  I have found this is not always reliable or even lock up the program.

A more reliable method is pinging one or more public DNS servers.  This snippet is a Python 3 function that does just that.  The function checks at random the set of DNS servers in the ‘li’ list and return ‘1’ when a DNS server responds or ‘0’ when all  DNS severs fail.

function

import random
import os
import socket
import subprocess

def getInternetStatusByDnsServers():
    r = ‘0’
    li = ["8.8.8.8",\
    "8.8.4.4",\
    "209.244.0.3",\
    "209.244.0.4",\
    "208.67.222.222",\
    "37.235.1.174",\
    "91.239.100.100"\
    ]

    random.shuffle(li)
    for i in range(len(li)):
       try :
           hostname = li[i]
           p = subprocess.Popen(["/bin/ping", "-c1", "-W1", hostname], stdout=subprocess.PIPE).stdout.read()
           for item in str(p).split("\n"):
               if "0% packet loss" in item:
                   return ‘1’
        except Exception as inst:
            print(type(inst))
            print(inst.args)
            print(inst)
    return r