Watermeter toevoegen aan Domoticz

De meterstanden van stroom en gas kunnen we eenvoudig met Domoticz uitlezen. Hoe mooi zou het zijn als dit ook met de watermeter zou kunnen. Er zijn dure aanvullingen voor de watermeter te bestellen die de pulsen uitlezen, maar met een simpele inductieve sensor kom je een heel eind.

Hoe werkt het
Op de watermeter zit een schijfje dat bij iedere liter water éénmaal rond draait. Op dat schijfje zit een half maantje van metaal. De inductieve sensor wordt boven het draaischijfje gemonteerd en iedere keer als er een rondje gedraaid is wordt er een signaal naar Domoticz gestuurd dat er één liter water verbruikt is.

Inductieve NPN sensor (type: LJ12A3-4-Z/BX-5V)

Inductieve NPN sensor
De inductieve sensor, hierna te noemen als NPN-sensor, heeft 3 aansluitdraden (bruin/zwart/blauw). Deze moeten met de GPIO header pins van de Raspberry Pi verbonden worden. Voor deze montage kun je het beste Dupont female connectoren aan de 3 draden monteren/solderen.

Dupont female header pins

Sensor aansluiten op GPIO header pinnen
– De blauwe draad wordt op een GND-pin (bv. pin 39) aangesloten,
– De zwarte draad op een GPIO (bv. GPIO 21 = pin 40) en
– De bruine draad op een 5V-pin (pin 2).

Aansluittabel

De NPN-sensor (type: LJ12A3-4-Z/BX-5V) heeft een detectie afstand van 4mm en werkt op een spanning vanaf 5V . Op de 5 Volt van de Raspberry Pi blijkt de sensor ook prima te werken.

Afstand te groot
Mocht het met de bovengenoemde sensor niet lukken, de NPN-sensor is ook een beschikbaar met een 8mm detectie afstand. De specificaties van de LJ18A3-8-Z/BX-5V sensor zijn hetzelfde als de hierboven beschreven sensor.

Wil je een sensor met een grotere detectie afstand? Kijk dan hier. Er zijn wat zaken die je moet weten voordat je een sensor aanschaft.

Pull-down weerstand
De sensor geeft na het detecteren een 5V signaal af. Er zal een pull-down weerstand (10K) in het circuit opgenomen moeten worden om de stroom (5V/10.000Ω=0.5mA) te minimaliseren. Daarmee staat er wel 5V (HOOG) spanning, maar nauwelijks stroom op de GPIO poort.

Deze schakeling werkt prima om tijdelijk de sensor te testen, maar wordt afgeraden om deze permanent te gebruiken. Er is een kans dat de GPIO poort op den duur beschadigd raakt.

Sensor waarbij 5V via een pull-down weerstand op GPIO 21 is aangesloten

Level shifter (voorkeur!)
Zoals gezegd geeft de sensor na het detecteren een 5V signaal af. Zoals hierboven aangegeven kan deze in principe niet rechtstreeks op de GPIO poort van de Raspberry aangesloten worden omdat de kans op beschadiging groot is.

De GPIO-poort dient een HOOG logisch signaal van maximaal 3.3V te ontvangen. De beste manier om de sensor op de GPIO pin aan te sluiten is het gebruik van een level-shifter waarbij het logische 5V niveau naar 3.3V wordt omgezet. Voor de volledigheid wordt er nog een 10KΩ pull-down weerstand in het circuit opgenomen.

Klik hier voor meer informatie over de level shifter.

Sensor aangesloten via een level shifter en een pull-down weerstand

Sensortest 1- hardware
Zodra de NPN-sensor op de Raspberry Pi aangesloten is houd je het blauwe uiteinde van de sensor tegen een stukje metaal aan. Als de sensor qua voeding goed is aangesloten zal de led bovenop de sensor oplichten.

Vervolgens houd je de sensor boven het draaischijfje van de watermeter, bij het halve metalen maantje. Ook nu zou de led op de sensor moeten oplichten zodra het metalen gedeelte van het draaischijfje exact onder de sensor zit.

Mocht de sensor op de watermeter niet reageren, kan het zijn dat het glas van de watermeter te dik is om de draaischijf te detecteren. Dit komt voornamelijk voor bij de wat oude watermeters. Het alternatief is om een sensor met een grotere afstandsdetectie te nemen. Ook kun je het blauwe uiteinde van de sensor iets inkorten door wat plastic weg te schuren als het glas iets te dik blijkt (praktische tip van bouwers).

Sensortest 2 – software
Om er zeker van te zijn dat het signaal van de sensor via GPIO-pin door de software gedetecteerd wordt, kun je het volgende programma gebruiken. Aangezien dit een autonoom testprogramma is, hoef je hiervoor geen Domoticz geïnstalleerd te hebben.

Nadat je het unzipt hebt, start je het programma (Python2) met:

python gpioStatus.py

In rust is het signaal HOOG. Bij detectie van metaal wordt het signaal LAAG.


LET OP! De scripts in deze tutorial maken gebruik van Python 2! Als je gebruik maakt van het nieuwste Raspberry Pi OS, dan ontbreekt Python 2 omdat deze versie End-Of-Life is. De enige en simpelste oplossing hiervoor is het installeren van de Raspberry Pi OS (legacy) versie met Imager.


Sensor plaatsen
Zodra de NPN sensor het draaischijfje goed detecteert is het tijd om de NPN-sensor definitief op de watermeter de plaatsen. Belangrijk is dat de sensor recht boven het metalen draaischijf geplaatst wordt en zich zo dicht mogelijk boven het schijfje bevindt. Hieronder zie je mijn montage met een bevestigingsbeugel die je zelf eenvoudig kan maken. Het voordeel is dat dit een zgn. non-destructieve (zonder de meter aan te tasten) manier is om de sensor te plaatsen. Misschien is deze montage niet de charmantste, maar het heeft wel mijn voorkeur.

Goede manier om de sensor boven de watermeter te plaatsen

Sensor in Domoticz
Je kunt de sensor in Domoticz opnemen en zien hoeveel water je dagelijks verbruikt. Hiervoor moet je in Domoticz een RFXMeter sensor aanmaken. Dit doe je door middel van een JSON (Java-script). Geef de volgende regel in de adresbalk van je browser op een apparaat dat in hetzelfde netwerk zit als de Raspberry Pi-Domoticz server:

http://192.168.0.14:8080/json.htm?type=createvirtualsensor&idx=29&sensorname=Water&sensortype=113

Uiteraard moet je het bovenstaande IP adres en het poort nummer aanpassen naar de waarde van jouw Raspberry Pi zoals je deze vanuit de Domoticz installatie teruggekoppeld hebt gekregen. Het is daarom handig om de Pi een vast IP-adres te geven.

Idx 29 wordt gebruikt om een virtuele sensor te creëren. Als een niet-bestaande hardware-IDX wordt gebruikt, wordt het gemaakte apparaat grijs weergegeven in de gebruikersinterface. Op zich niet erg, het apparaat zal het prima doen. Klik hier om te zien hoe je het apparaat wit weergeeft. Het wordt aangeraden om dit na deze tutorial te doen.

Sensortype 113 is het sensorid voor de RFXMeter.

Als het goed is krijg je nu een melding in de Domoticz browser te zien dat de sensor aangemaakt is en welk idx de sensor heeft gekregen.

Het idx-nummer hebben we bij de volgende stap nodig. Mijn sensor heeft idx 15 gekregen, deze moet je in de volgende link invullen. Dit doe je door in de link achter idx= de verkregen waarde in te vullen. Zoals je ziet staat deze nu op 15. In de opdrachtregel wordt aan de RFXMeter switchtype=2 toegevoegd, ofwel wordt daarmee sensortype ‘Water‘ toegekend.

http://192.168.0.14:8080/json.htm?type=setused&idx=15&name=RFXMeter&switchtype=2&used=true

Als het allemaal goed gegaan is krijg je in Domoticz onderstaande sensor (uiteraard met 0 liter) te zien in het Utility-tabblad.

Naslagwerk
Wil je nog eens nalezen hoe een virtuele sensor in domoticz aangemaakt wordt en wat de waarden betekenen, kijk dan hier.

Python script
Met het Python script ‘watermeter.py‘ lees je de GPIO (21) uit en wordt de waarde bijgeschreven aan meterstand_water.txt. Vervolgens wordt de opgeslagen totaalwaarde via JSON (java) aan Domoticz doorgezet.

Plaats het script in de folder /home/pi/domoticz/scripts/.

Je huidige stand van de watermeter kun je in het script op regel 9 invullen bij “Counter”. Op regel 12 vul je het IP adres en het poort nummer van de Raspberry Pi in en op regel 14 het idx-nummer van de zojuist aangemaakte RFXMeter sensor. Indien je de sensor op GPIO 21 (pin 40) hebt aangesloten dan hoef je verder niets meer aan te passen in het Python script. Mocht je een andere GPIO gebruiken dan moet je overal waar “40” staat de waarde vervangen door de door jou gebruikte pin.

Meterstand
De meterstand wordt bijgehouden in het bestand meterstand_water.txt. Hierdoor blijft de meterstand behouden bij een herstart van de Raspberry Pi (zonder dit bestand zou de meterstand telkens op 0 springen). Mocht de meterstand in Domoticz een keer, om wat voor reden dan ook, niet meer juist zijn dan kun je het bestand meterstand_water.txt aanpassen naar de juiste waarde. Bij de eerstvolgende update van de sensor is dit in Domoticz zichtbaar.

Crontab
Om het script automatisch te laten draaien gaan we een cronjob aanmaken in de crontab, maar allereerst moet het script de juiste permissies hiervoor hebben. Ga naar de map scripts waarin het script watermeter.py staat en geef je het commando:

chmod 777 watermeter.py

Open nu de crontab met onderstaand commando:

sudo crontab -e

Nu de crontab van de root-user geopend is voeg je onderstaande regel toen:

@reboot /usr/bin/python /home/pi/domoticz/scripts/watermeter.py >/var/log/cronlog.log 2>&1

Sluit de crontab met “CTRL X” en bevestig dat je de wijziging wilt opslaan. Vanaf nu wordt het script automatisch na iedere reboot gestart. Reboot de Raspberry Pi met:

sudo reboot

Draait het script?
Dit is het eerste dat je moet controleren als er geen verbruik in het Domoticz venster zichtbaar is, maar de LED op de sensor wel pulst . Om te controleren of het script daadwerkelijk gestart is kun je onderstaand commando ingeven:

grep cron /var/log/syslog

In het overzicht wat je te zien krijgt moet de regel staan die je toegevoegd hebt aan de crontab. Mocht dat niet het geval zijn, dan kun je het script eventueel handmatig start, om te zien of het script zijn werk doet (tellerstand ophogen als sensor activeert en puls opslaan in meterstand_water.txt bestand):

sudo python /home/pi/domoticz/scripts/watermeter.py

Verbruik wat water door bijvoorbeeld het toilet door te trekken of de waterkraan te openen, je zult dan een terugkoppeling van het programma zien met de nieuwe meterstand.

Vanaf nu kun je het waterverbruik in Domoticz monitoren!

Meetwaarden configureren
Afhankelijk van de meting kan er een factorcorrectie nodig zijn omdat er een verkeerde waarde getoond wordt. Klik dan in Domotics op het waterdevice en aanpassen. Vul hier de juiste waarde in bij Meter deler. Zo nodig kun je ook een Meter Offset meegegeven zoals de stand van de watermeter. Ik heb het device Water genoemd.

~2% afwijking
De dagelijkse waarden geven een goed beeld van het waterverbruik. De afwijking van de Domoticz waarde in relatie tot de watermeter bedraagt zo’n 2%. Deze kun je eenvoudig meten door op het begin en eind van de dag (00:00 uur) de waterstand op de mechanische meter af te lezen en deze te vergelijken met de Domoticz waarde. De 2% afwijking kun je in het python script ‘watermeter.py‘ verwerken door de variabele Counter met 0.98 te vermenigvuldigen om een nog nauwkeurige waarde in Domoticz te krijgen.

De waterstanden. Je kunt goed zien wanneer de tuin besproeid is en de (vaat)was gedraaid heeft.
https://youtu.be/WJ2wojVbLe4

Domoticz de-installeren
Wil je Domoticz de-installeren, gebruik dan: sudo rm -r /home/pi/domoticz

Watersensor wordt grijs weergegeven
De sensor doet het prima, maar het viel me direct op dat na het aanmaken van de watermeter m.b.v. de JSON commando’s de sensor grijsachtig wordt weergegeven. Hoe je dit oplost wordt hier beschreven.

Watersensor label wordt donker weergegeven

Beugel voor sensor
Voor de volledigheid beschrijf ik hier hoe je een passende beugel voor de sensor maakt.

Have A Nice Day!

29 Reacties

  1. Hoi goed artikel erg duidelijk zelfs voor mij als leek. Gas en elektra was eigenlijk geen probleem. De watermeter is een grotere uitdaging. Het python script heb ik aangepast en de crontab heb ik toegevoegd, de watermeter zie ik in domoticz alleen wanneer ik het script handmatig start krijg ik een foutmelding in line 2
    import RPi.GPIO as GPIO
    ImportError: No module named RPi.GPIO

    Heb je enig idee wat ik niet goed doe?
    Alvast bedankt voor je antwoord.

    • Dag Leon, In de zgn. ‘lite’-OS versie wil de bibliotheek wel eens ontbreken. Het volgende commando zou moeten helpen. Het update de geïnstalleerde pakketten en installeert voor python 2 en 3 de rpi.gpio bibliotheek. Laat even weten of het gelukt is.
      ‘sudo apt-get update && sudo apt-get install python-rpi.gpio python3-rpi.gpio’

  2. Ik lees nogal eens op andere sites die deze methode gebruiken dat daar melding wordt gedaan van hangen / haperen. Het ronddraaiend plaatje stop dan net op de ‘verkeerde’ plaats waardoor deze onterecht doortelt. Herken jij dit probleem en hoe heb je dat opgelost?

    • Ik ken het probleem niet. Ik heb al meerdere sensoren geplaatst en overal werkt het prima. Als je de juiste sensor (5V!) gebruikt en je hebt ook een logische niveau-omzetter toegepast, in combinatie met een pull-up weerstand (noodzakelijk zonder niveau-omzetter) om de GPIO het juiste niveau (3,3V) aan te bieden, heb je een zuivere pulstelling. Ik zie projecten die niet met de juiste spanningsniveaus omgaan. Tja, dan is het maar afwachten of het goed blijft werken. Heb je een link voor me die ik kan bestuderen?

  3. Ben een beetje aan het experimenteren met mijn eerste Raspberry Pi (Zero W). De NPN NO inductive sensor heb ik aangesloten met de pull-down weerstand tussen blauw en zwart.

    Ik meet nu echter bij open sensor / geen metaal in de buurt een spanning van 3V als ik de spanningsmeter aansluit op de zwarte en bruine draad. Hou ik metaal bij de sensor dan verandert de spanning naar 5V. Ik ben me nog aan het verdiepen in hoe pulldown en pullup weerstanden werken, maar ik zou verwachten dat hij standaard 0 is en bij contact > 0.

    Tweede ding wat me opvalt is dat het testscript niet werkte. Hij gaf fouten over gebruik van tabs en spaties. Heb alle tabs vervangen door spaties en toen deed het script het bijna. In de regel waar ‘De status van de GPIO poort’ wordt geprint heb ik de haakjes weggehaald, zodat het begin van de regel wordt:

    print(“De status van de GPIO poort”,poort,”=033[1,32m 1/HOOG/True… etc

    Nu geeft het script aan dat de status HOOG is bij een sensor die geen signaal geeft en LAAG bij een sensor die metaal detecteert… lijkt nog niet te kloppen 🙂

    • Dag Friso,

      ik heb net het script gpioStatus.py nog even gedownload en in de terminal geprobeerd met de NPN-sensor. Het script gpioStatus.py gaf de waarden omgekeerd aan, dat is niet de bedoeling. Dit heb ik gecorrigeerd.
      – Als de sensor GEEN metaal detecteert, is het logische signaal HOOG.
      – Wordt er metaal door de sensor gedetecteerd, dan is het logische signaal LAAG.
      De signalen heb ik met de oscilloscoop nagemeten.

      Voor de Domoticz – Watermeter maakt het niet uit of het HOOG of LAAG is, als het signaal maar pulst, dan loopt de teller van de watermeter.

      Weet wel dat ik er een levelshifter tussen heb zitten. https://www.picademie.nl/index.php/2020/10/23/bi-directionele-logische-niveau-omzetter/
      5V met een pull-down weerstand op GPIO heeft niet mijn voorkeur.

      Ten aanzien van de spaties e.d. in het script heb ik in de terminal niets gemerkt. De terminal voert het script goed uit, ik heb geen meldingen.

      Wil je meer weten over pull-weerstanden, kijk dan eens hier: https://www.picademie.nl/index.php/2021/02/16/pull-up-pull-down/

      Dank voor je oplettendheid.

      • Thanks. Ik ga me er in verdiepen. Klopt het dat het script dat er nu op staat in principe identiek is aan het script dat er voor gisteren op stond? Ik heb ze even vergeleken, maar zie geen verschil.

        Het blijft wel vreemd dat hij bij mijn Raspberry Pi het script niet pakt en dat ik eerst die twee regels moet aanpassen.

        werkt niet: print (“De status van GPIO poort”),poort,(“=\033[1;32m 1/HOOG/True\033[1;m”)

        werkt wel: print (“De status van GPIO poort”,poort,”=\033[1;32m 1/HOOG/True\033[1;m”)

        Ik heb inderdaad ook een levenshifter liggen, maar die moet ik nog in elkaar solderen. Ook dat is nieuw voor me, dus moet ik even oefenen 🙂

        • Dag Friso,

          Het bestand gpioStatus.py is aangepast, dit kun je lezen op regel 3 van het script. Er is een verschil met hoe het was. HOOG is omgewisseld met LAAG. Misschien gebruik je het oude script nog omdat deze nog in je cache staat.

          De regel werkt prima in python 2.7.16. Jouw aanpassing op de regel werkt niet bij mij. Welke versie gebruik je?

          Python versie en code

          • Vreemd. Ik heb twee bestanden. In de bestanden staat de laatste wijzigingsdatum. Oude bestand is 15 oktober 2021 en nieuwe bestand 24 januari 2022. Voor de rest zijn de bestanden identiek…

            Compare: https://drive.google.com/file/d/1Xz5DGSyjE6pFwyZmPnDrNWMl2XZMUd1n/view?usp=sharing

            Op mijn Pi draait Python 3.9. Dat verklaart het verschil qua syntax. Tussen versie 2 en 3 is wel e.e.a. veranderd met het print statement. Als ik het script in een python validator (https://extendsclass.com/python-tester.html) plak dan geeft hij ook die identation error waar ik het eerder over had. Misschien gaat versie 2 hier ook makkelijker mee om.

          • Dag Friso,

            Gebruik het script dat nu op de website staat!

            In de distributie zit python versie 2.7.16 als standaard python in de terminal en voor Python 3 heeft deze versie 3.7.3. Uiteraard kun je deze zelf updaten. Je zal begrijpen dat de versies onderling niet compatible zijn.

            De scripts van de watermeter tutorial zijn ontwikkeld voor python 2.

  4. Leuk artikel maar ik loop vast.
    De meter loopt niet op.
    Gpio status getest maar die loopt ook al vast.
    pi@raspberrypi:~ $ python gpioStatus.py
    File “/home/pi/gpioStatus.py”, line 17
    print (“\033[1;1;1m,\033c”)
    TabError: inconsistent use of tabs and spaces in indentation

    Bij het watermeter script krijg ik de volgende melding.
    pi@raspberrypi:~ $ sudo python /home/pi/domoticz/scripts/watermeter.py
    File “/home/pi/domoticz/scripts/watermeter.py”, line 61
    print “JSON call = “+ str(url1)
    ^
    SyntaxError: invalid syntax

    PLease help

    • Dag Martijn, welke versie Python gebruik je? Het script is voor Python2 bedoeld.
      Voor de zekerheid heb ik het programma net nog even getest. Het werkt zoals het bedoeld is.

      gpioStatus.py

      Bij Python3 krijg je inderdaad de melding die je opgeeft.

      Controleer jouw default Python versie:
      Type in de terminal: python [ENTER]
      Nu zie je de versie ervan.

      Wil je de default Python versie aanpassen?
      Geef dan het volgende commando en maak je keus:
      sudo update-alternatives –config python

      Opstarten met Python2
      python2 gpioStatus.py [ENTER]

      Laat even weten hoe het gegaan is. Succes!

      • Ik heb inderdaad python 3.9.2.
        Nieuw uit de doos haha.

        Als ik de default wil aanpassen geeft hij onderstaande melding.
        pi@raspberrypi:~ $ sudo update-alternatives -config python
        update-alternatives: error: unknown argument ‘-config’

        • Martijn,

          Kijk in jou systeem of RPi.GPIO in het pakket zit.
          Ga hiervoor naar de Start-knop -> Voorkeuren -> Add/Remove Software.
          Vul in het veld waar de cursor staat: RPi.GPIO
          Je ziet dan het softwareoverzicht dat in de bibliotheek van je systeem staat t.a.v. RPi.GPIO.

          Zoals je ziet staan bij mij de vinkjes bij de pakketten die geïnstalleerd zijn.
          Zet bij jouw overzicht vinkjes voor die software die je wilt installeren. Je kunt dezelfde als ik gebruik nemen.

          Add/Remove Software

          Probeer de scripts nog eens en kijk of je dezelfde meldingen krijgt.

          Succes!

          • OPGELOST!!
            Ofschoon in de nieuwste versie van het Raspberry Pi OS Python 2 niet meer opgenomen is, kan je een oudere versie op je RPi4 installeren waar Python 2 (en alles wat erbij hoort) meegeleverd wordt.

            Dus: SD-kaart formatteren en met Imager de Raspberry Pi OS (legacy) versie selecteren
            Legacy

            Ik heb het op mijn RPI4 getest en het werkt zoals het zou moeten. Succes!
            Ik hoor het wel.

        • Ik heb een volledig nieuwe installatie gedaan van het raspberry pi OS.
          Kan alleen module 1 en 5 van jou zien.
          De rest is dus niet geinstalleerd.
          Diverse opties geprobeerd om m alsnog geinstalleerd te krijgen maar krijg elke keer een melding (zoals ik in mijn vorige reactie ook al tikte) in de trend van het staat er al doe het er maar mee.

      • Martijn,

        Kijk in jou systeem of RPi.GPIO in het pakket zit.
        Ga hiervoor naar de Start-knop -> Voorkeuren -> Add/Remove Software.
        Vul in het veld waar de cursor staat: RPi.GPIO
        Je ziet dan het softwareoverzicht dat in de bibliotheek van je systeem staat t.a.v. RPi.GPIO.

        Zoals je ziet staan bij mij de vinkjes bij de pakketten die geïnstalleerd zijn.
        Zet bij jouw overzicht vinkjes voor die software die je wilt installeren. Je kunt dezelfde als ik gebruik nemen.

        Add/Remove Software

        Probeer de scripts nog eens en kijk of je dezelfde meldingen krijgt.

        Succes!

        • Hoi Martin,

          Ik heb alles nog eens onderzocht. Ik heb mijn RPi4 met het nieuwste image geïnstalleerd. Ook hier was Python 2 niet meer aanwezig, vanwege E.O.L. in 2020.

          Ik heb vervolgens handmatig de laatste Python versie geïnstalleerd, zie: https://www.picademie.nl/index.php/2022/03/22/python-2-installeren/ Dit werkt goed, maar de module RPi.GPIO kan niet meer geïnstalleerd worden omdat meerdere onderdelen, die gekoppeld zijn aan Python 2 niet meer beschikbaar zijn.

          Kortom: Het is NIET meer mogelijk op nieuwe images Python 2 scripts te draaien vanwege het ontbreken van Python 2 ondersteuning.

          Ik wil nog onderzoeken of de Raspberry Pi-Foundation oudere images beschikbaar stelt waar Python 2 nog in opgenomen is. Hier kom ik nog op terug.

          • OPGELOST!!
            Ofschoon in de nieuwste versie van het Raspberry Pi OS Python 2 niet meer opgenomen is, kan je een oudere versie op je RPi4 installeren waar Python 2 (en alles wat erbij hoort) meegeleverd wordt.

            Dus: SD-kaart formatteren en met Imager de Raspberry Pi OS (legacy) versie selecteren
            Legacy

            Ik heb het op mijn RPI4 getest en het Python 2 script gpioStatus.py werkt zoals het zou moeten. Succes! Ik hoor het wel.

  5. Hoi Martin,

    Ik heb alles nog eens onderzocht. Ik heb mijn RPi4 opnieuw geïnstalleerd. Ook hier was Python 2 niet meer aanwezig, vanwege E.O.L. in 2020. Ik heb vervolgens handmatig de laatste Python versie geïnstalleerd, zie: https://www.picademie.nl/index.php/2022/03/22/python-2-installeren/ Dit werkt goed, maar de module RPi.GPIO kan niet meer geïnstalleerd worden omdat meerdere onderdelen, die gekoppeld zijn aan Python 2 niet meer beschikbaar zijn.

    Kortom: Het is NIET meer mogelijk op nieuwe images Python 2 scripts te draaien vanwege het ontbreken van Python 2 ondersteuning.

    Dus: Mocht je in de gelukkige omstandigheid zijn een oud OS-image te hebben waar Python 2 met alle gekoppelde modules op staan? Koester het!

    Ik wil nog onderzoeken of de Raspberry Pi-Foundation oudere images beschikbaar stelt waar Python 2 nog in opgenomen is. Hier kom ik nog op terug.

  6. Ja geweldig hij doet het. (gelukkig dan lag dat stukje niet aan mij)
    Ben dus weer een stap verder.
    Gpio status getest hij ziet de sensor maar nu kom ik bij crontab aan.
    er staat bij mij een standaard regeltje van min hour …. dus ik heb de benodigde regel eronder gezet.
    Met ctrl x afsluiten en opslaan, maar dan zegt hij Opslaan in bestand: /tmp/crontab_sw2d5xsq
    Heb een reboot geprobeerd maar hij start m niet. Waarschijnlijk omdat hij dus in een tmp map staat.
    🙁

    • Heb het script handmatig gestart en ik kan inderdaad zien dat er liters bijkomen dus het script werkt.
      Bij mijn meter word trouwens alleen maar de totaalstand elke keer veranderd het getal aan de bovenzijde in domoticz blijft op 0 staan.

      • Ik neem aan dat jehet script watermeter.py bedoelt. In de directorie (/home/pi/domoticz/scripts/) van het script is het bestand meterstand_water.txt aangemaakt. Welke waarde staat hierin? Als het goed is wordt hier de pulstelling van je sensor, het aantal liters, bijgehouden. Domoticz leest deze waarde in en laat deze zien.

    • Hoi Martijn,

      Maak je geen zorgen over waar het daadwerkelijk wordt “opgeslagen” – Elke gebruiker kan zijn eigen crontab hebben, en hoewel deze bestanden in /var/spool/cron/crontabs staan, zijn ze niet bedoeld om rechtstreeks te worden bewerkt, dat gebeurt dan via een tmp-bestand.
      Bij het uitvoeren van sudo crontab -e, dus voor root, wordt de crontab opgeslagen in /var/spool/cron/crontabs/root.

      Wil je meer weten over Cron, kijk dan hier

  7. Heb het helemaal werkend door de scripts om te zetten naar Python 3 scripts. Ook een extra feature in gebouwd waarin lokale maandlogbestanden bijgehouden worden met gedetailleerd waterverbruik, omdat Domoticz deze data na max 7 dagen weggooit.

    Nog een tip, voor de Elster V200 watermeter die bovenaan deze pagina afgebeeld staat is een 4mm inductiesensor niet voldoende. Ik heb hem werkend met de 8mm variant met typenummer LJ18A3-8-Z/BX-5V.

    • Hoi Friso,

      Klinkt goed! Zou je de scripts willen delen via deze site? Zo kan iedereen ervan profiteren.
      Dank voor de tip m.b.t. de Elster watermeter.

1 Trackback / Pingback

  1. Domoticz – Grijs label watersensor – Picademie.nl

Laat een reactie achter

Het e-mailadres wordt niet gepubliceerd.


*