Firmwarehandleiding
Lokale werking en GitHub-updatecontrole
De lokale Home Assistant-firmware houdt de metingen van WaterMeterKit op je eigen netwerk. Sensorwaarden gaan rechtstreeks naar Home Assistant en worden niet naar GitHub of de SmartHomeShop-cloud gestuurd.
WaterMeterKit V3 WiFi-firmware bevat een ESPHome-update-entiteit. V1 en V2 hebben geen update-entiteit en doen geen updatecontrole. Op V3 leest deze periodiek een klein firmwaremanifest vanaf SmartHomeShop GitHub Pages om de geïnstalleerde versie met de nieuwste release te vergelijken. Alleen firmwaremetadata wordt opgevraagd; het firmwarebestand wordt pas gedownload wanneer je een update installeert.
Cloudfirmware communiceert voor de cloudfuncties bewust met de SmartHomeShop-app. Het uitschakelen van de GitHub-controle verandert cloudfirmware niet in lokale firmware. Op Thread-firmware blijft de update-entiteit inactief, omdat die internettoegang nodig heeft.
WaterMeterKit zonder internettoegang gebruiken
Je mag internettoegang voor WaterMeterKit blokkeren; de lokale metingen en Home Assistant-verbinding blijven werken. Wil je voorkomen dat een geblokkeerde controle de rode status-led activeert? Neem het apparaat dan over in de ESPHome Device Builder-app/add-on, open de YAML en voeg dit onderaan toe:
update:
- id: !extend firmware_update
update_interval: never
Sla de YAML op, kies Validate en installeer de build met Install > Wirelessly. Hiermee schakel je alleen geplande controles uit; het updatecomponent en alle WaterMeterKit-sensoren blijven aanwezig.
De geadopteerde YAML bevat nog steeds een packages:-verwijzing naar de SmartHomeShop GitHub-repository. ESPHome gebruikt die verwijzing op de Home Assistant-host tijdens het compileren. Nadat de aangepaste build is geïnstalleerd, vraagt het apparaat zelf niet meer periodiek de firmwareversie op.
Wil je automatische controles herstellen? Verwijder dan het toegevoegde update:-blok en installeer de firmware opnieuw. Kan ESPHome het ID firmware_update niet vinden, werk WaterMeterKit dan eerst bij via de SmartHomeShop-webflasher. V1 en V2 hebben dit ID niet en hebben deze aanpassing niet nodig.
WaterMeterKit draait op ESPHome, een open-source firmware platform dat werkt met Home Assistant. ESPHome stelt je in staat om elk aspect van je apparaat aan te passen terwijl je volledige lokale controle behoudt: geen cloud vereist.
Open Source & GitHub
Alle WaterMeterKit firmware is 100% open source en beschikbaar op GitHub:
🔗 github.com/smarthomeshop/watermeterkit
De repository bevat:
- Complete ESPHome configuraties voor V1, V2 en V3 hardware
- Magnetische water flow sensor implementatie
- Waterverbruik tracking en berekeningen
- Geautomatiseerde builds via GitHub Actions
- Community bijdragen welkom (PRs & issues)
Je kunt de firmware bekijken, aanpassen en personaliseren naar wens: van het aanpassen van sensor gevoeligheid tot het toevoegen van compleet nieuwe functies.
Hardware Versies
WaterMeterKit is beschikbaar in drie hardwareversies:
V1 - ESP8266 (Legacy)
- Microcontroller: ESP8266
- Connectiviteit: Alleen WiFi (2.4GHz)
- Sensoren: Magnetische water flow sensor, temperatuur, luchtvochtigheid
- Metingen: Huidig verbruik (L/min), totaal verbruik (m³)
- Status: Legacy hardware, alleen voor bestaande installaties
V2 - Vorige Generatie
- Microcontroller: ESP8266
- Connectiviteit: Alleen WiFi (2.4GHz)
- Sensoren: Magnetische water flow sensor, temperatuur, luchtvochtigheid
- Status: Ondersteund voor bestaande klanten
V3 - ESP32-C6 (Actueel)
- Microcontroller: ESP32-C6
- Connectiviteit: WiFi (2.4GHz), of Thread met de Thread-firmware
- Sensoren: Magnetische water flow sensor, temperatuur, luchtvochtigheid
- Metingen: Huidig verbruik (L/min), totaal verbruik (m³)
- Compatibel met: Actaris, Elster, Honeywell, Itron, Sensus analoge watermeters
- Geschikt voor: Actuele WaterMeterKit installaties
Hoe controleer je jouw versie: Kijk op het apparaat label of check de "Hardware Version" sensor in Home Assistant.
Snelle Update Methodes
Methode 1: Home Assistant (Makkelijkste)
Voor reguliere firmware updates op V3 (aanbevolen):
- Ga naar Instellingen → Apparaten & Services → Apparaten
- Selecteer je WaterMeterKit apparaat
- Open de Firmware update-entiteit
- Klik Installeren om de update te downloaden en toe te passen
- Het apparaat herstart automatisch
⚠️ V1 en V2 hebben geen update-entiteit. Werk ze bij met Methode 2 of Methode 3. Door de 1MB flash kan een draadloze update mislukken met
ESP does not have enough space to store OTA file. Flash in dat geval via USB-C.
Methode 2: ESPHome Device Builder
Voor updates met aangepaste configuraties:
⚠️ Belangrijk: Deze methode vereist de ESPHome Device Builder-app (niet alleen de ESPHome integratie). Als je deze nog niet hebt geïnstalleerd, zie de ESPHome Integratie Handleiding sectie hieronder voor stap-voor-stap installatie instructies.
- Open het ESPHome Device Builder in Home Assistant (vanuit de zijbalk)
- Klik op je WaterMeterKit apparaat kaart
- Klik Install → kies Wirelessly
- Wacht tot de OTA update voltooid is
Methode 3: USB-C Web Flasher
Voor het herstellen van apparaten of schone installaties:
- Verbind WaterMeterKit via USB-C kabel met je computer
- Open de flasher: smarthomeshop.io/firmware?product=watermeterkit
- Kies je hardwareversie (V1, V2 of V3), hoe je het apparaat gebruikt (lokaal met Home Assistant, of met de SmartHomeShop-app) en de firmware
- Start de installatie en selecteer de USB-poort van je apparaat
- Volg de instructies op het scherm
Opmerking: Flashen vanaf deze pagina zet het apparaat terug naar de fabrieksinstellingen, inclusief je WiFi-gegevens en de opgeslagen watermeterstand. Noteer eerst je meterstand en stel Water Meter Initial Value daarna opnieuw in.
Wisselen tussen Lokale en Cloudfirmware (V3)
WaterMeterKit V3 heeft in Home Assistant een Firmware Variant-keuze met de opties WiFi (local) en WiFi + SmartHomeShop App (cloud). Kies de andere optie en het apparaat installeert die firmware zelf via WiFi, binnen ongeveer 20 seconden. Daarvoor is internettoegang nodig. Op V1 en V2 wissel je met de webflasher (Methode 3).
ESPHome Integratie Handleiding
Wil je je WaterMeterKit firmware aanpassen? Volg deze stap-voor-stap handleiding om je apparaat te adopteren in ESPHome en aanpassingen te maken.
🚨 Belangrijk: Het Verschil Begrijpen
Veel gebruikers verwarren twee verschillende zaken:
- ESPHome Integratie (Instellingen → Apparaten & Services → Integraties) - Dit is hoe je WaterMeterKit communiceert met Home Assistant. Deze heb je waarschijnlijk al. ✅
- ESPHome Device Builder-app (Instellingen → Apps) - Dit is de tool die je nodig hebt om firmware te bewerken, builden en flashen. Deze moet je apart installeren! 🔧
Om firmware aan te passen, MOET je de ESPHome Device Builder-app hieronder installeren. Alleen de integratie hebben is niet genoeg!
Stap 1: Installeer de ESPHome Device Builder-app
Als je de ESPHome Device Builder-app nog niet hebt geïnstalleerd:
- Open Home Assistant → Instellingen → Apps
- Klik Installeer een app
- Zoek naar ESPHome Device Builder
- Open de app en klik Installeren
- Schakel Start bij opstarten en Toon in zijbalk in
- Klik Start
Stap 2: Adopteer je WaterMeterKit
Adopteren stelt ESPHome in staat om de configuratie van je apparaat te beheren:
- Open ESPHome vanuit de Home Assistant zijbalk
- Je WaterMeterKit verschijnt als een ontdekt apparaat
- Klik Adopt op de WaterMeterKit kaart
- Geef het een naam (bijv. "Hoofd Watermeter")
- Klik nogmaals Adopt om te bevestigen
ESPHome maakt nu een configuratie aan die verwijst naar ons package op GitHub.
Hoe ziet de geadopteerde configuratie eruit?
Na adoptie zie je een YAML configuratie die er zo uitziet:
substitutions:
name: watermeterkit-a1b2c3
friendly_name: WaterMeterKit A1B2C3
packages:
smarthomeshop.watermeterkit: github://smarthomeshop/watermeterkit/watermeterkit-v3/watermeterkit.yaml@main
esphome:
name: ${name}
name_add_mac_suffix: false
friendly_name: ${friendly_name}
api:
encryption:
key: JOUW_UNIEKE_ENCRYPTIE_KEY_HIER==
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
Deze structuur begrijpen:
- substitutions: Apparaat-specifieke variabelen (naam, weergavenaam). Pas deze aan om gedrag te customizen!
- packages: Link naar de basis configuratie op GitHub. Dit haalt automatisch updates binnen wanneer beschikbaar.
- api/wifi: Je apparaat's unieke encryptie key en WiFi inloggegevens.
Deze modulaire aanpak betekent: ✅ Je krijgt automatisch updates van GitHub ✅ Je customizations blijven gescheiden in substitutions ✅ Je hoeft niet de hele configuratie te kopiëren/plakken
Stap 3: Pas de Configuratie Aan
Na adoptie kun je de YAML configuratie aanpassen:
- Klik Edit op je geadopteerde WaterMeterKit apparaat
- De YAML editor opent met je huidige configuratie
- Maak je gewenste wijzigingen (zie voorbeelden hieronder)
- Klik Save
Stap 4: Upload Aangepaste Firmware
Na het maken van wijzigingen:
- Klik Install op je apparaat kaart
- Kies Wirelessly (aanbevolen) of Plug into this computer
- ESPHome compileert en uploadt je aangepaste firmware
- Wacht tot het apparaat herstart en opnieuw verbindt
✅ Klaar! Je WaterMeterKit draait nu op aangepaste firmware.
Geavanceerde Aanpassingen
Voorbeeld 1: Pas aan Hoe Vaak de Meterstand Wordt Opgeslagen
De sensor telt op elke ondersteunde watermeter één puls per liter, dus er is geen pulse rate om in te stellen. Je kunt wel aanpassen hoe vaak het apparaat de meterstand opslaat. Minder vaak opslaan betekent minder slijtage van het flashgeheugen, maar een plotselinge stroomuitval kan dan meer verbruik kosten:
substitutions:
water_checkpoint_interval: "10min" # Standaard: 5min op V3, 30min op V1 en V2
Voorbeeld 2: Voeg Waterverbruik Alerts Toe
Krijg een melding wanneer waterverbruik verwachte niveaus overschrijdt:
binary_sensor:
- platform: template
name: "Hoog Waterverbruik Alert"
lambda: |-
// Alert bij meer dan 100L verbruikt in 5 minuten
if (id(sensor_pulse_meter).state > 20.0) {
return true;
}
return false;
filters:
- delayed_on: 5min # Moet 5 minuten hoog blijven
Voorbeeld 3: Bereken Totale Waterkosten
Houd de kosten van je meterstand bij:
sensor:
- platform: template
name: "Totale Waterkosten"
unit_of_measurement: "EUR"
device_class: monetary
lambda: |-
// Uitgaande van 2.00 EUR per m³
float cost = id(sensor_water_meter_total).state * 2.0;
return cost;
update_interval: 60s
Voorbeeld 4: Lek Detectie
Detecteer potentiële lekken op basis van continue lage flow:
binary_sensor:
- platform: template
name: "Mogelijk Waterlek"
lambda: |-
// Alert bij water dat 2 uur continue stroomt op laag niveau
if (id(sensor_pulse_meter).state > 0.1 && id(sensor_pulse_meter).state < 5.0) {
return true;
}
return false;
filters:
- delayed_on: 2h # Continue flow voor 2 uur
Meer info: Bekijk de ESPHome documentatie voor complete configuratie referentie.
Configuratie Structuur
WaterMeterKit firmware gebruikt een modulaire architectuur:
watermeterkit-v1/ en watermeterkit-v2/
├── watermeterkit.yaml # WiFi firmware
├── watermeterkit-cloud.yaml # WiFi + SmartHomeShop-app
├── base.yaml # Apparaat, sensoren en LEDs
├── wifi.yaml # WiFi connectiviteit
└── cloud.yaml # Cloud-sync
watermeterkit-v3/
├── watermeterkit.yaml # WiFi firmware
├── watermeterkit-cloud.yaml # WiFi + SmartHomeShop-app
├── watermeterkit-thread.yaml # Thread-firmware
├── base.yaml # Apparaat, sensoren en LEDs
├── wifi.yaml # WiFi connectiviteit
├── thread.yaml # Thread-connectiviteit
└── cloud.yaml # Cloud-sync
packages/
└── water-persistence.yaml # Slaat de meterstand op
Dit modulaire ontwerp maakt het makkelijk om:
- Sensoren toe te voegen/verwijderen
- Configuraties te delen tussen apparaten
- Consistentie te behouden over updates
- Verbeteringen terug te geven aan de community
Probleemoplossing
Apparaat Wil Niet OTA Updaten
Symptomen: OTA update mislukt of time-out
Oplossingen:
- Zorg dat het apparaat aanstaat en verbonden is met WiFi
- Controleer dat het apparaat binnen WiFi bereik is (sterk signaal)
- V1 en V2 (ESP8266): De fout
ESP does not have enough space to store OTA filekomt door de 1MB flash, flash in dat geval via USB-C - Verifieer dat het apparaat succesvol is geadopteerd in ESPHome
- Als alles faalt, flash via USB-C kabel
Geen Water Flow Gedetecteerd
Symptomen: Waterverbruik toont 0 zelfs wanneer water loopt
Oplossingen:
- Check sensor positionering: Zorg dat magnetische sensor correct gepositioneerd is boven het roterende element van de watermeter
- Sensor afstand: Magnetische sensor moet zeer dichtbij de metalen indicator zijn (binnen 1-2mm)
- Watermeter compatibiliteit: Niet alle watermeters hebben magnetische indicatoren - check je meter model
- Check logs: Bekijk ESPHome logs voor pulse detectie berichten
Onnauwkeurige Watermetingen
Symptomen: Waterverbruik komt niet overeen met werkelijk verbruik
Oplossingen:
- Sensor uitlijning: Zorg dat sensor gecentreerd is boven het roterende element
- Test meting: Laat exact 10L water lopen en vergelijk met gerapporteerd verbruik
- Interferentie: Houd sensor weg van sterke magnetische velden of metalen objecten
- Meter type: De sensor moet de roterende 1-liter indicator lezen, hij telt één puls per liter
Apparaat Niet Ontdekt Na Flashen
Symptomen: WaterMeterKit verschijnt niet in ESPHome na USB flashen
Oplossingen:
- Het apparaat heeft mogelijk WiFi inloggegevens verloren tijdens flashen
- Verbind via USB-C en bekijk de logs in ESPHome
- Gebruik Improv via Serial om WiFi opnieuw te configureren:
- Houd USB-C aangesloten
- Bezoek web.esphome.io
- Verbind en configureer WiFi via browser
- Alternatief, gebruik de captive portal:
- Apparaat creëert een WiFi AP genaamd "watermeterkit" (wachtwoord:
watermeterkit) - Verbind ermee en configureer WiFi via de webinterface
- Apparaat creëert een WiFi AP genaamd "watermeterkit" (wachtwoord:
Hoge WiFi Herverbinding Rate
Symptomen: Apparaat verbreekt en herverbindt frequent
Oplossingen:
- Check signaal sterkte: Zorg voor sterk WiFi signaal (-70 dBm of beter)
- Voeding: Verifieer stabiele 5V voeding via USB-C (minimum 1A)
- Router instellingen: Schakel WiFi band steering uit en schakel alleen 2.4GHz in
- V1 / ESP8266 beperking: Bekend minder stabiel op drukke WiFi netwerken
- Afstand: Verplaats apparaat dichter bij WiFi access point of voeg WiFi extender toe
Compilatie Fouten in ESPHome
Symptomen: Custom YAML compileert niet
Oplossingen:
- Controleer op YAML syntax fouten (inspringingen moeten consistent zijn)
- Verifieer dat je een compatibele ESPHome versie gebruikt (check GitHub repo vereisten)
- Bekijk de compilatie log voor specifieke foutmeldingen
- Vergelijk je wijzigingen met de officiële configuratie
- Vraag om hulp op GitHub Issues of onze Discord community
Water Totaal Reset naar Nul
Symptomen: Totaal waterverbruik reset onverwacht
Oplossingen:
- Dit is normaal voor
Total Consumption: Die teller begint na elke herstart bij nul. Home Assistant bewaart de historie, enWater Meter Totalbewaart je absolute meterstand - Stel je meterstand in: Vul je fysieke meterstand in bij
Water Meter Initial Value. Die wordt direct opgeslagen - Stroomuitval: Een plotselinge stroomuitval kan het verbruik sinds de laatste opslag kosten, tot 5 minuten op V3 en tot 30 minuten op V1 en V2. Water dat je gebruikt terwijl het apparaat uit staat, wordt niet geteld
- Na een USB-flash of fabrieksreset: De opgeslagen stand is weg, stel
Water Meter Initial Valuedus opnieuw in
Watermeter Compatibiliteit
WaterMeterKit werkt met analoge watermeters die een roterend metalen indicator hebben. Compatibele merken zijn onder andere:
- Actaris (Itron)
- Elster (Honeywell)
- Honeywell
- Itron
- Sensus
Belangrijkste vereiste: Je watermeter moet een zichtbare roterende metalen schijf, tandwiel, of wijzer hebben die magnetisch gedetecteerd kan worden. Zie de volledige lijst.
Firmware Changelog
Nieuwste wijzigingen worden bij releases aangekondigd. Grote updates verschijnen hier.
Waar vind je wijzigingen:
Aanvullende Bronnen
- GitHub Repository: github.com/smarthomeshop/watermeterkit
- ESPHome Documentatie: esphome.io
- Pulse Meter Component: esphome.io/components/sensor/pulse_meter
- Web Flasher: smarthomeshop.io/firmware?product=watermeterkit
- Community Ondersteuning: SmartHomeShop Discord
Hulp nodig? Bezoek ons Support Portal of join onze Discord community!
Thread-firmware
De WaterMeterKit V3 kan in plaats van WiFi ook een Thread-netwerk joinen, voor lokaal gebruik met Home Assistant via een Thread border router. Zie WaterMeterKit verbinden via Thread.