Distancemeter uitlezen met Domoticz
In deze handleiding vertel ik je hoe je eenvoudig een distancemeter kunt koppelen aan Domoticz.
Wat is de Smart Gateways Distancemeter Gateway?
Met de Distancemeter WiFi Gateway zie je in één oogopslag hoe vol je watertank, vijver of zoutvat van een waterontharder is. De gateway is eenvoudig te koppelen aan Home Assistant, Domoticz, Homey en vele andere domotica software. De gateway wordt geleverd inclusief een waterdichte sensor die boven in een reservoir kan worden gemonteerd. De sensor heeft een bereik van 20 tot 450 cm en een resolutie van 1cm. Maak door middel van deze gateway een automation voor het bijvullen van je vijver en voorkom dat deze droog komt te staan.
De Distancemeter heeft een ingebouwde webserver die het waterniveau weergeeft. De grafieken worden iedere 10 seconden automatisch ververst.
De Distancemeter Gateway heeft een interne configuratieportal waarop een aantal instellingen kunnen worden gemaakt.

- Realtime distance: deze is alleen handig om te debuggen, hier kunnen af en toe meetfouten in zitten
- Average distance: gemiddelde meting van 40 realtime waardes, fouten zijn gecorrigeerd
- Corrected distance: height +/- offset van de average distance
- Height: maximale hoogte van een lege tank in centimeter
- Offset: het virtueel naar boven en naar beneden plaatsen van de sensor
- Percentage full / empty: percentage van de gevulde tank (vol of leeg, gebruik naar wens)
- bij 10 realtime fouten wordt de realtime distance op 0 gezet zodat je weet dat de sensor hoek niet goed is
De sensor heeft een minimale detectieafstand van 20cm. Bij een afstand van de sensor tot het oppervlak van 20cm geeft deze dus ook 20 cm aan. Indien de sensor niet op de ideale hoogte geplaatst kan worden maar bijvoorbeeld 75cm hoger, dan kan dmv een offset (ingeven op de portal van de gateway) van -75 de meetwaarde worden gecorrigeerd.
Distancemeter uitlezen met Domoticz
De Distancemeter gateway kan ook met Domoticz worden uigelezen waardoor alle details zichtbaar zijn. De gateway heeft een webserver met rest-api die alle json waarden aanbiedt. Deze kan worden uitgelezen met Domoticz. Het volgende screenshot toont het dashboard ale je klaar bent met de instructie.
Het Distancemeter dashboard toont ook een aantal diagnostische gegevens van de distancemeter gateway. Zo weet je altijd of jouw gateway goed werkt. Voordat je begint is het belangrijk dat je je Distancemeter Gateway hebt gekoppeld met wifi en het kunt browsen naar het ip adres.
Hoe kan ik het waterniveau weergeven in Domoticz?
Als de Distancemeter Gateway is verbonden met het wifi netwerk, kun je beginnen met het aanmaken van de verschillende sensoren binnen Domoticz.
Aanmaken Hardware
Om de webserver op de watermeter gateway uit te lezen dien je eerst nieuwe hardware aan te maken.
Ga naar Setup -> Hardware
Vul de volgende gegevens in:
- Name: Smart Gateways Distancemeter Gateway
- Type: HTTP/HTTPS poller
- Data Timeout: Disabled
- Method: GET
- Content Type: application/json
- URL: http://ip_address_gateway:82/distancemeter/api/read
- Command: distancemeter.lua
- Refresh: 10
Klik nu op Add
Maak nu de volgende sensors aan door op “Create Virtual Sensors” van de nieuw aangemaakte hardware te klikken.
Maak nu de volgende sensoren aan:
- Name: Distancemeter Mac Address
- Sensor Type: Text
- Name: Distancemeter Model
- Sensor Type: Text
- Name: Distancemeter Startup Time
- Sensor Type: Text
- Name: Distancemeter Firmware Running
- Sensor Type: Text
- Name: Distancemeter Firmware Available
- Sensor Type: Text
- Name: Distancemeter WiFi Signal Strength
- Sensor Type: Custom Sensor
- Axis Label: dB
- Name: Distancemeter Realtime Distance
- Sensor Type: Distance
- Name: Distancemeter Average Distance
- Sensor Type: Distance
- Name: Distancemeter Corrected Distance
- Sensor Type: Distance
- Name: Distancemeter Percentage Full
- Sensor Type: Percentage
- Axis Label: %
- Name: Distancemeter Level Full
- Sensor Type: Distance
- Name: Distancemeter Entered Height
- Sensor Type: Distance
- Name: Distancemeter Entered Offset
- Sensor Type: Distance
Noteer nu alle Device ID’s (Idx). Deze zijn nodig om het lua script te maken.
Probeer ook eens deze Zigbee led dimmer die geschikt is voor alle A-merken afdekmateriaal. Een bijkomend voordeel is dat deze gebruikt kan worden met 2 draden, dus geen nuldraad of bypass vereist.
Aanmaken van lua script
Via het volgende lua script zal domoticz iedere 10 seconden de webserver van de watermeter gateway raadplegen om de sensorwaarden te vullen. In het script staat achter ieder local idx = een nummer. Dit nummer correspondeert met de Idx van de zojuist aangemaakte sensoren. Pas het script aan aan jouw sensor id’s.
-- Smart Gateways Distancemeter Script local idx = 10 local value = domoticz_applyJsonPath(request['content'], '.mac_address') domoticz_updateDevice(idx, '' , value) local idx = 11 local value = domoticz_applyJsonPath(request['content'], '.gateway_model') domoticz_updateDevice(idx, '' , value) local idx = 12 local value = domoticz_applyJsonPath(request['content'], '.startup_time') domoticz_updateDevice(idx, '' , value) local idx = 13 local value = domoticz_applyJsonPath(request['content'], '.firmware_running') domoticz_updateDevice(idx, '' , value) local idx = 14 local value = domoticz_applyJsonPath(request['content'], '.firmware_available') domoticz_updateDevice(idx, '' , value) local idx = 15 local value = domoticz_applyJsonPath(request['content'], '.wifi_rssi') domoticz_updateDevice(idx, '' , value) local idx = 16 local value = domoticz_applyJsonPath(request['content'], '.realtime_distance') domoticz_updateDevice(idx, '' , value) local idx = 17 local value = domoticz_applyJsonPath(request['content'], '.average_distance') domoticz_updateDevice(idx, '' , value) local idx = 18 local value = domoticz_applyJsonPath(request['content'], '.corrected_distance') domoticz_updateDevice(idx, '' , value) local idx = 19 local value = domoticz_applyJsonPath(request['content'], '.percentage_full') domoticz_updateDevice(idx, '' , value) local idx = 20 local value = domoticz_applyJsonPath(request['content'], '.level_full') domoticz_updateDevice(idx, '' , value) local idx = 21 local value = domoticz_applyJsonPath(request['content'], '.entered_hight') domoticz_updateDevice(idx, '' , value) local idx = 22 local value = domoticz_applyJsonPath(request['content'], '.entered_offset') domoticz_updateDevice(idx, '' , value)
Plaats het script vervolgens in de directory /domoticz/scripts/lua_parsers en noem het script distancemeter.lua
Als alles goed is gegaan zal Domoticz nu negen nieuwe Utility Sensors tonen en worden de waardes al ge-update:
De gateway is nu gekoppeld aan Domoticz. Veel plezier van de gateway!
Hallo Roel,
Bedankt voor je snelle rectie op mijn vraag over het configureren van de Smart Gateways Distancemeter in Domoticz.
Ik heb de instructies in de handleiding opgevolgd en het werkte in een keer!
Een kleine uitbreiding op deze handleiding is misschien het poortnummer en inloggegevens van de Gateway portal.
Ik heb ze gevonden in een andere instructie maar makkelijker is als ze ook hier te vinden zijn.
De hele set, hard- en software ziet er degelijk en netjes afgewerkt uit.
Ik ga er zeker veel plezier van hebben.
Groet, Albert Mizee
Hoi Albert,
Bedankt voor je reactie. Het klopt dat het poortnummer en inloggegevens missen inderdaad in de handleiding. Dit gaan we zeker toevoegen. In ieder geval nog veel plezier van de gateway!
Groeten,
Roel