Het grote ESPhome topic

Pagina: 1 ... 12 13 Laatste
Acties:

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 00:58

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@RobertMe Misschien eens volledig wissen en dan weer voorzien van Kickstarter ofzo? Nooit gehad iig.

Qua programmeren, niet een van die bordjes die je dan handmatig in programming moet zetten dan?

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 23:35
Septillion schreef op zondag 16 november 2025 @ 13:41:
@RobertMe Misschien eens volledig wissen en dan weer voorzien van Kickstarter ofzo? Nooit gehad iig.
Dat zou ik idd wel kunnen proberen. Wat het vooral gek maakt is dat het "ineens" is. Ik heb dit bordje dus niet in gebruik genomen, maar wel eerder "gebruikt". En paar weken terug toen er een use case kwam nog eens afgestoft en de oude ESPHome werkte gewoon prima (alleen kon ik niet rebuilden / updaten omdat de externe component voor dit scherm voor de zoveelste keer stuk was). En gisteren dan opnieuw geflasht met de nieuwste ESPHome (en dan die WIP PR voor het scherm) en toen startte die ook nog goed. En ik denk gisteren ook een aantal keren USB er uit gehad en dus ook dat die na de eerste flash nog vaker heeft geboot.
Qua programmeren, niet een van die bordjes die je dan handmatig in programming moet zetten dan?
Gezien ik hem met esptool.py prima kan flashen vanaf de CLI lijkt me dat niet? Als in: geen knoppen voor nodig. Maar idd, ik had ook al een hele puzzel doorlopen om te achterhalen hoe het zit met boot / flash knoppen op dit bord. Want die staan niet duidelijk aangegeven ondanks dat er 5 knoppen op zitten. Maar reset zou "S5" moeten zijn, die direct tegen de ESP aan zit, en boot zou "S6" zijn die direct naast S5 zit.

Edit:
@Septillion
  1. esptool.py -p /dev/ttyACM0 erase_flash
  2. esptool.py -p /dev/ttyACM0 write_flash 0x0 zonder-static-ip.bin
Same result. DHCP request is voor .111.
Dus tenzij er een manier is om nog meer te verwijderen..., denk ik niet dat het uit maakt? :P

[ Voor 10% gewijzigd door RobertMe op 16-11-2025 14:05 ]


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 00:58

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@RobertMe Dan ben ik ook even uit ideeën. Nooit eerder gehad :/

  • sjorsjuhmaniac
  • Registratie: Februari 2009
  • Laatst online: 22:51
@RobertMe en als je een eigenwijs een fixed ip in de yaml zet? Niet wat je wilt maar mogelijk wel werkbaar

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 23:35
sjorsjuhmaniac schreef op zondag 16 november 2025 @ 17:02:
@RobertMe en als je een eigenwijs een fixed ip in de yaml zet? Niet wat je wilt maar mogelijk wel werkbaar
Dan werkt het (en had ik denk ik al aangegeven?). Maar als ik dan opnieuw flash zonder static IP probeert die weer doodleuk de .111. Dus dan is het wel permanent om een static IP in de config te zetten.

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 23:35
Wat is nu de manier om met (fysieke) knoppen om te gaan richting HA? De voorbeelden die ik tegen kom gaan voornamelijk over binary_sensors, niet alleen intern, maar ook richting HA, brrr (state events op dat een binary sensor naar on gaat). Event entities lijken tegenwoordig wel te kunnen (of nouja, nog steeds in ESPHome zelf triggeren op basis van binary_sensor, maar op zich valt dat te begrijpen gezien je dan combo's met single, double, long, ... kunt maken). Maar die schijnen geen UI support te hebben in HA (dus in de automation builder), en daarnaast, waren event entities niet super crap? Iets met niet (altijd?) triggeren als je twee keer achter elkaar dezelfde "actie" doet, omdat dan hetzelfde event getriggert wordt? / de trigger is dan het event in totaal en vervolgens moet je met een condition filteren? :F Of is dat in de HA kant verbeterd?

Verder heb ik denk ik alleen Zigbee knoppen, die met Z2M als MQTT device triggers binnen komen. Totaal andere route dus die niet van toepassing is op ESPHome.

Edit:
Of ik check eens wat ze zelf doen :P De Voice PE gebruikt events (bij de double, tripple , ... clicks. De single click exposen ze niet omdat die acties op het apparaat zelf doet). Maar geen idee of die vervolgens wel of niet zichtbaar zijn in de automation UI etc.

[ Voor 12% gewijzigd door RobertMe op 17-11-2025 22:09 ]


  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 23:35
Ander vraagje...

Ik probeer de resterende duur uit Home Connect weer te geven op het display. In HA is dit een sensor met device_class duration, unit h (/hour). Voorbeeld state (devtools) is 1.166<...>7 en wordt in de UI weergegeven als 1h10m. Maar, deze sensor is "unavailable" als het apparaat niet actief is. Hoe kan ik hier op controleren in ESPHome? Ik heb wel id(...).has_state() gevonden, maar deze lijkt "altijd" true te zijn? En zal dus wel gebaseerd zijn op "er is een verbinding met HA (en de entity bestaat) dus is er een state". Waarbij de invalid state ("unavailable", voor een sensor, die dus een float moet zijn) doodleuk genegeerd wordt? Waarbij die nu met een printf(..., "%f", id(...).state) heel mooi een "nan" weergeeft.

Edit:
Of ik vind het binnen 5 minuten :X Standaard C functie isnan in combinatie met ESPHomes raw_state. Dus bv:
C:
1
2
3
if (!isnan(id(...).raw_state)) {
  it.printf(...., "%.0f", id(...).state);
}

[ Voor 13% gewijzigd door RobertMe op 18-11-2025 10:08 ]


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 00:58

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@RobertMe Meestal doe ik toch gewoon als binary_sensor. Event entities zijn op zich nu wel de nieuwe weg en op zich ook prima in de UI te doen. Maar er is gewoon geen event-entity trigger. Dus ben je aangewezen op de state trigger. Daarmee kan je alleen op de state triggeren en niet op event type omdat laatste een attribute is dat, logischerwijs, niet wijzigt als er inderdaad twee keer hetzelfde event type volgt. Naar mijn idee ontbreekt er dus een event entity trigger.

Nu kan je daar met een losse condition of een template wel omheen werken. Dus voor ons hoeft het op zich geen probleem te zijn. Maar gebruikersvriendelijk is anders :/ Om dat gat te vullen zou er dus een event entity trigger (of aanvulling op de event trigger) moeten komen IMHO.

En werkt isnan() niet ook gewoon met state?

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 23:35
Septillion schreef op woensdag 19 november 2025 @ 08:42:
@RobertMe Meestal doe ik toch gewoon als binary_sensor. Event entities zijn op zich nu wel de nieuwe weg en op zich ook prima in de UI te doen. Maar er is gewoon geen event-entity trigger. Dus ben je aangewezen op de state trigger. Daarmee kan je alleen op de state triggeren en niet op event type omdat laatste een attribute is dat, logischerwijs, niet wijzigt als er inderdaad twee keer hetzelfde event type volgt. Naar mijn idee ontbreekt er dus een event entity trigger.

Nu kan je daar met een losse condition of een template wel omheen werken. Dus voor ons hoeft het op zich geen probleem te zijn. Maar gebruikersvriendelijk is anders :/ Om dat gat te vullen zou er dus een event entity trigger (of aanvulling op de event trigger) moeten komen IMHO.
Nog een leuke WTF. Als ik nu de ESP reboot (/reflash) dan triggert het event, maar behoud (daarna) de oude state (/timestamp). Dus in HA zie ik nu als state van het event dat het het laatst om bv 17:55+00:00 heeft plaatsgevonden, maar de automation (of eigenlijk trigger based template) wordt wel uitgevoerd elke keer :F Ik gok dus dat die naar unavailable gaat en daarna weer terug komt met de oude state, "alsof er iets gebeurd is". Hopelijk is dat dan weer wel te fixen door de state trigger uit te breiden met een not_from: unavailable. Maar wel echt slecht dat dat nodig is.
En werkt isnan() niet ook gewoon met state?
Uhm.... Ik ben al blij dat dit werkt :P * RobertMe vind de docs v.w.b. C(++) code schrijven gewoon echt slecht. An zich heb ik er geen probleem mee als/dat ik ook een deel C(++) docs er bij moet zoeken. Maar wat nu uit id(...) rolt is ook nogal magie naar mijn idee. Categorie dus dat het bij een sensor een float oplevert, bij een text_sensor een std::string etc. En dat je dan bij een it.printf (bij een display) weer zelf een .c_str() er bij moet gooien om %s in het format te gebruiken (wellicht logisch in C(++) omdat std::string relatief nieuw is en by default je met char[] zit, maar ESPHome mag hier toch wel iets in meewerken IMO).

  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 12-12 15:16

CDAAbeltje

Cool Down !

Mocht er belang zijn bij het lokaal integreren van 123led kerstverlichting 31V adapters middels ESPHome. Ik heb het een en ander uitgeplozen en uitgeschreven:

IR variant:
code:
1
https://github.com/AbeltjeNL/123-LED-Kerstverlichting-IR

WB2S Variant:
code:
1
https://github.com/AbeltjeNL/123-LED-Kerstverlichting-Wi-Fi-Tuya-BK7231T-WB2S

CB2S Variant:
code:
1
https://github.com/AbeltjeNL/123-LED-Kerstverlichting-Wi-Fi-Tuya-BK7231N-CB2S


De globale 'how to' staat op GH. De volledige vertaling naar Engels zit in de pijp, verdere aanvullingen ook.

Vertaling naar Engels gereed, quick and dirty, moet er nog een keer overheen lezen.
PCB foto's toegevoegd voor een beeld van wat je aantreft als je zo'n rakker uit elkaar trekt.

To-Do:
- Goede en duidelijke foto's maken van de gesoldeerde draden op de PCB
- Basis ESPHome yaml config maken
- Pinouts staan nu in de bijgevoegde datasheet, betere weergave en uitleg
- Toelichten waarom de hbdrige optie vanuit ESPHome ruk is
- Andere software matige oplossingen voorstellen voor Beken chips
- Verschil tussen WB2S en CB2S toelichten

Korte variant van het laatste punt is:
- WB2S heeft wat meer rekenkracht, andere chip (details volgen)
- CB2S heeft wat minder rekenkracht, andere chip (details volgen)
- Pinouts zijn net een klein beetje anders voor de onboard LED en de drukknop
- De WB2S werd als eerste geleverd door 123, lees, deze eerste variant kocht ik 3 jaar geleden
- De CB2S wordt momenteel uitgeleverd door 123

Voordat ik als een wilde hengst van stal ga even de vraag, is er überhaupt behoefte vanuit hier om dit verder uit te werken? Ik zie een aantal duimpjes dus dat lijkt me al wel een goed teken. Let me know!

[ Voor 53% gewijzigd door CDAAbeltje op 28-11-2025 18:10 ]


  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
Ik moet mij dringend eens in esphome verdiepen.
Ik heb 2 athom plugs in esphome staan, is meer dan een jaar geleden.
MAar deze dus:
Afbeeldingslocatie: https://i.ibb.co/pvX6gqmM/1.jpg

Je ziet dat beide offline staan.

De config is deze:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
substitutions:
  name: keuken-plug
  friendly_name: Keuken - Plug ESP32
  relay_restore_mode: ALWAYS_OFF

packages:
  Athom_Technology.Smart_Plug_V3: github://athom-tech/esp32-configs/athom-smart-plug.yaml
  Bermuda.c3: github://agittins/bermuda-proxies/packages/bermuda-proxy-c3.yaml

esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "ESP32 Fallback Hotspot"
    password: !secret esp32_ap_password

text_sensor: !remove

time:
  - id: !remove sntp_time
  - id: homeassistant_time
    platform: homeassistant

Nu wil ik de naam wijzigen... van keuken naar slaapkamer
Maar ze zijn zogezegd offline, maar die zijn niet offline, hoe kan ik die updaten dan?
In mn secrets staan mn huidige wifi settings.

Straks komt er nog een ledstrip bij dus ik moet echt wel weten wat en hoe...

[ Voor 0% gewijzigd door Septillion op 01-12-2025 15:51 . Reden: Denk aan de 'yaml' bij de code tags aub! Zie topic warning en hoe deze post is aangepast. ]


  • Bockelaar
  • Registratie: Juli 2001
  • Laatst online: 13-12 12:49
je mist sowieso het OTA block:

YAML:
1
2
3
ota:
  - platform: esphome
    id: ota_esphome


Je API block mis ik ook :)
YAML:
1
2
3
api:
  encryption:
    key: +SuP3r-3l|t3-@Pi-P@$$w0rd!=



Zitten ze in het zelfde wifi netwerk als je HA? werkt resolving? meerdere redenen te bedenken waarom die dingen niet in esphome te zien zijn. Je kan ze aan je pc hangen en met esphome web flashen met de nieuwe build en dan zien of ze online komen.

[ Voor 13% gewijzigd door Bockelaar op 30-11-2025 11:35 ]

Remember: A CRAY is the only computer that runs an endless loop in just 4 hours...


  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
@Bockelaar De ota en api settings zitten in de package (https://github.com/athom-...ain/athom-smart-plug.yaml) die in de yaml staat, die heeft hij dus wel.

Aan een pc hangen is met een plug wat lastig, je zou via de webgui een firmware moeten kunnen uploaden, moet je even het ip adres acherhalen in je router.

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


  • Bockelaar
  • Registratie: Juli 2001
  • Laatst online: 13-12 12:49
ah! Ik had die include package niet doorgenomen, excuus! Een plug :o ik las een athom en las ff snel over de 'plug' heen.

Remember: A CRAY is the only computer that runs an endless loop in just 4 hours...


  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
u_nix_we_all schreef op zondag 30 november 2025 @ 11:43:
@Bockelaar De ota en api settings zitten in de package (https://github.com/athom-...ain/athom-smart-plug.yaml) die in de yaml staat, die heeft hij dus wel.

Aan een pc hangen is met een plug wat lastig, je zou via de webgui een firmware moeten kunnen uploaden, moet je even het ip adres acherhalen in je router.
Ik geraak er aan via de webgui (ipadres) idd.
MAar waarom staat hij dan offline in esphome.
Veel kan ik daar ook precies niet doen..
Afbeeldingslocatie: https://i.ibb.co/6cXB6N4R/2.jpg

Ik zie ook nergens een update ofzo... (al weet ik niet of dat nodig is).
Maar bv de naam daar wijzigen gaat ook niet.

  • babbelbox
  • Registratie: Maart 2003
  • Laatst online: 18:56
Hoe draai je ESPHome?
Ik in een losse docker container en meen me te herinneren dat er een ICMP optie is

  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
babbelbox schreef op zondag 30 november 2025 @ 15:22:
Hoe draai je ESPHome?
Ik in een losse docker container en meen me te herinneren dat er een ICMP optie is
Gewoon als addon binnen HA

  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Heb je hem al eens opnieuw proberen te booten (even uit het stopcontact halen en opnieuw erin?) Misschien registreert hij dan zij ip weer goed in je dns.
Esphome kan hem nu niet vinden omdat hij het ipadres niet kan resolven.

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
u_nix_we_all schreef op zondag 30 november 2025 @ 15:31:
Heb je hem al eens opnieuw proberen te booten (even uit het stopcontact halen en opnieuw erin?) Misschien registreert hij dan zij ip weer goed in je dns.
Esphome kan hem nu niet vinden omdat hij het ipadres niet kan resolven.
Ik heb hem via de webui gerestart.
Nu is hij wel online in esphome..
Vreemd.
Ik heb nu ook es de logs opgevraagd, gezien hij online is en krijg ik dit:
INFO ESPHome 2025.11.2
INFO Reading configuration /config/esphome/athom-smart-plug-v3-50b330.yaml...
Failed config

sensor.wifi_signal: [source /data/packages/8f94d484/packages/bermuda-proxy-include-common.yaml:76]

Duplicate sensor entity with name 'WiFi Signal dB' found. Conflicts with entity 'WiFi Signal dB' (id: wifi_signal_db) from component 'sensor.wifi_signal'. Each entity on a device must have a unique name within its platform.
platform: wifi_signal
name: WiFi Signal dB
id: wifi_signal_db
update_interval: 60s
entity_category: diagnostic

Mss is dat de oorzaak waarom ik hem niet zag?
Ik kan hem nu in elk geval aanpassen qua naam.

Edit: ik kan hem blijkbaar ook niet updaten , met dezelfde foutmelding

[ Voor 3% gewijzigd door skank op 30-11-2025 15:47 ]


  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Heb je die bermuda package er zelf bijgezet? Hoe dan ook, die kan niet samen met de athom package omdat in alletwee de wifi signal sensor gedefineerd zijn.
Zie https://esphome.io/components/packages/#remove
Ik denk dat je het kan fixen door
code:
1
2
sensor:
  - id: !remove wifi_signal_db

in je config erbij te zetten.
En nee, heeft niets te maken met je dns issue.

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
u_nix_we_all schreef op zondag 30 november 2025 @ 16:18:
Heb je die bermuda package er zelf bijgezet? Hoe dan ook, die kan niet samen met de athom package omdat in alletwee de wifi signal sensor gedefineerd zijn.
Zie https://esphome.io/components/packages/#remove
Ik denk dat je het kan fixen door
code:
1
2
sensor:
  - id: !remove wifi_signal_db

in je config erbij te zetten.
En nee, heeft niets te maken met je dns issue.
Euh ik heb de config van iemand hier gekregen denk ik.
Dus gewoon die sensor ding erbij zetten en op save drukken?

edit: ik heb de config aangepast, save en dan install en nu krijg ik
INFO ESPHome 2025.11.2
INFO Reading configuration /config/esphome/athom-smart-plug-v3-50b330.yaml...
Failed config

button.restart: [source /data/packages/8f94d484/packages/bermuda-proxy-include-common.yaml:55]

Duplicate button entity with name 'Restart' found. Conflicts with entity 'Restart' (id: ) from component 'button.restart'. Each entity on a device must have a unique name within its platform.
platform: restart
name: Restart
entity_category: config

[ Voor 31% gewijzigd door skank op 30-11-2025 16:29 ]


  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Zelfde soort issue. Die 2 packages gaan niet lekker samen, er zitten dingen in beide, dus dubbel. Gebruik je die bluetooth proxy uberhaupt? Ander zou ik die package er gewoon uit laten.
Als je hem wel gebruikt, die button ook uitzetten. Dat zal op name moeten want die heeft geen id in de config denk ik.
code:
1
2
button:
  - name: !remove Restart

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


  • Bockelaar
  • Registratie: Juli 2001
  • Laatst online: 13-12 12:49
kun je niet gewoon beter terug naar de originele config van dat ding?
quick search lijkt deze te geven https://github.com/athom-...ain/athom-smart-plug.yaml

Remember: A CRAY is the only computer that runs an endless loop in just 4 hours...


  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
u_nix_we_all schreef op zondag 30 november 2025 @ 16:58:
Zelfde soort issue. Die 2 packages gaan niet lekker samen, er zitten dingen in beide, dus dubbel. Gebruik je die bluetooth proxy uberhaupt? Ander zou ik die package er gewoon uit laten.
Als je hem wel gebruikt, die button ook uitzetten. Dat zal op name moeten want die heeft geen id in de config denk ik.
code:
1
2
button:
  - name: !remove Restart
Ik gebruik die proxy ja.
Als ik die config toevoeg, hoe moet ik hem dan hiermee updaten?
Hij is overigens weer offline, dus zal hem weer ff moeten herstarten, hoe komt dat toch?


edit: nu krijg ik:
INFO Reading configuration /config/esphome/athom-smart-plug-v3-50b330.yaml...
Failed config

button.unknown: [source /config/esphome/athom-smart-plug-v3-50b330.yaml:26]

'button' requires a 'platform' key but it was not specified.
{}

[ Voor 24% gewijzigd door skank op 30-11-2025 19:32 ]


  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
Enig idee?

Kick binnen 24 uur wordt niet gewaardeerd

[ Voor 72% gewijzigd door Septillion op 01-12-2025 19:48 ]


  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Blijkbaar werkt !remove alleen als je een id hebt, en die heb je dus niet. Die 2 packages werken dus nooit samen, ik vraag me af hoe dat ooit gewerkt heeft, wellicht zijn er updates gekomen waardoor er dingen dubbel inzitten nu.
Je zou de package yaml kunnen downloaden, aanpassen en de lokale versie in je yaml kunnen importeren, maar dat is misschien (nofi) te hoog gegrepen.
Ik denk dat je dan beter die bluetooth proxy eraf kunt gooien door die bermuda package weg te halen. En evt een andere esp voor bluetooth proxy gebruiken.

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 12-12 15:16

CDAAbeltje

Cool Down !

Probeer het huidige Bermuda package eens te vervangen door de volgende:

code:
1
 Bermuda.esp32: github://agittins/bermuda-proxies/packages/bermuda-proxy-esp32-c3-minimal.yaml


De documentatie zegt namelijk het volgende:

YAML:
1
2
3
ESP32-C3 (M5Stack STAMP-C3 etc)

To add Bermuda-friendly bluetooth proxy to an existing esphome yaml, add this section to the yaml and install it.

Vergeet vooral niet, als de config valide is, om een clean build files te draaien voordat je probeert te uploaden naar de betreffende node.

[ Voor 17% gewijzigd door CDAAbeltje op 01-12-2025 23:36 ]


  • BounceMeister
  • Registratie: Maart 2002
  • Niet online
Fab1Man schreef op maandag 9 januari 2023 @ 10:06:
[...]

Ik heb bijna hetzelfde, maar de sensor is net iets anders opgezet. Denk ook dat wij dezelfde tutorial gevolgd hebben. Bij mij werkt het met een NodeMCU:

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
esphome:
  name: watersensor

esp8266:
  board: nodemcuv2

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "..."

ota:
  password: "..."

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Watersensor Fallback Hotspot"
    password: "..."

captive_portal:
    
sensor:
- platform: pulse_counter
  pin: GPIO12
  update_interval : 6s
  name: "water pulse"
  id: water_pulse

- platform: pulse_meter
  pin: GPIO12
  name: "Water Pulse Meter"
  unit_of_measurement: "liter/min"
  icon: "mdi:water"
  total:
    name: "Water Total"
    unit_of_measurement: "L"
    device_class: water
    state_class: total_increasing

- platform: template
  name: "Water Usage Liter"
  id: water_flow_rate
  accuracy_decimals: 1
  unit_of_measurement: "l/min"
  icon: "mdi:water"
  lambda: return (id(water_pulse).state * 10);
  update_interval: 6s
Ik ben al een tijd bezig met het omzetten van mijn watermeter komend van Domoticz/ESPEasy naar het nieuwe HA/ESPHome, maar ik krijg het niet werkend.
Het blijkt dat de tutorials die op internet te vinden zijn, niet (meer) kloppen. (Er ontstaan foutmeldingen in de YAML code en er lijken stappen te ontbreken of HA zit nu anders in elkaar)

Wat ik heb gedaan:
(Alles werkte nog in Domoticz/ESPEasy).
Ik heb ESPHome toegevoegd aan HA.
Ik heb de ESP8266 eerst teruggeflasht naar Blink (via Arduino IDE) en toen ESPHome erop gezet (via HA) en de wifi ingesteld.
Log laat verbinding zien.
Ik heb de LJ18A3-8-Z/BX-5V op D6 (GPIO12) zitten zoals dat ook in ESPEasy werkt.
Ik heb diverse watermeter/yaml configuraties geprobeerd uit voorbeelden (met GPIO12 of pin D6), maar krijg daar steeds foutmeldingen in. Daarom steeds weer de fouten opgezocht en dingen aangepast.
Uiteindelijk krijg ik hier (onderstaand) geen foutmelding meer in, maar ik kan hem niet toevoegen aan het Energy dashboard, want hij staat niet in de lijst.
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
esphome:
  name: watersensor
  friendly_name: Watersensor

esp8266:
  board: nodemcuv2

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "hier staat een code"

ota:
  - platform: esphome
    password: "hier staat een code"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  min_auth_mode: WPA2

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Watermeter Fallback Hotspot"
    password: "hier staat een code"

captive_portal:
    
sensor:
- platform: pulse_counter
  pin: 
    number: GPIO12
    allow_other_uses: true
  update_interval : 6s
  name: "water pulse"
  id: water_pulse

- platform: pulse_meter
  pin: 
    number: GPIO12
    allow_other_uses: true
  name: "Water Pulse Meter"
  unit_of_measurement: "liter/min"
  icon: "mdi:water"
  total:
    name: "Water Total"
    unit_of_measurement: "L"
    device_class: water
    state_class: total_increasing

- platform: template
  name: "Water Usage Liter"
  id: water_flow_rate
  accuracy_decimals: 1
  unit_of_measurement: "l/min"
  icon: "mdi:water"
  lambda: return (id(water_pulse).state * 10);
  update_interval: 6s


Ik heb aan configuration.yaml toegevoegd:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
utility_meter:
  util_water_usage_hourly:
    source: sensor.water_total
    cycle: hourly
  util_water_usage_daily:
    source: sensor.water_total
    cycle: daily
  util_water_usage_monthly:
    source: sensor.water_total
    cycle: monthly
  util_water_usage_yearly:
    source: sensor.water_total
    cycle: yearly
            


HA herstart, maar nog steeds geen watermeter om toe te voegen.
Afbeeldingslocatie: https://tweakers.net/i/ccgA5YGQZGrwnm5VMmTXmT05kJc=/234x176/filters:strip_icc():strip_exif()/f/image/nc5I4ZRnuObnETAh0n9lu3NU.jpg?f=fotoalbum_medium

Ik zag toevallig bij de Discovered Devices wel de watermeter staan en heb deze toegevoegd aan HA. Ik kan nu ook iets toevoegen aan mijn Dashboard waarmee ik kan zien dat de sensor iets registreert. (Dit is alles wat met water te maken heeft, rechtsonder reageert op de sensor).
Afbeeldingslocatie: https://tweakers.net/i/_0sMiqjt9eK7Ibepd-YOtfLQ9VM=/234x176/filters:strip_icc():strip_exif()/f/image/cIwSiuqnfl3x0UXwBHtBqL5U.jpg?f=fotoalbum_medium

Maar het toevoegen aan het Energy Dashboard wil dus niet lukken. Weet iemand waar dit aan kan liggen?

Logfile:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
INFO ESPHome 2025.11.2
INFO Reading configuration /config/esphome/watermeter.yaml...
INFO Starting log output from watersensor.local using esphome API
INFO Successfully resolved watersensor.local in 0.011s
INFO Successfully connected to watersensor @ 192.168.16.24 in 0.030s
INFO Successful handshake with watersensor @ 192.168.16.24 in 2.877s
[23:05:52.978][I][app:190]: ESPHome version 2025.11.2 compiled on Dec  1 2025, 22:56:35
[23:05:53.049][C][logger:261]: Logger:
[23:05:53.049][C][logger:261]:   Max Level: DEBUG
[23:05:53.049][C][logger:261]:   Initial Level: DEBUG
[23:05:53.050][C][logger:267]:   Log Baud Rate: 115200
[23:05:53.050][C][logger:267]:   Hardware UART: UART0
[23:05:53.050][C][template.sensor:017]: Template Sensor 'Water Usage Liter'
[23:05:53.050][C][template.sensor:017]:   State Class: ''
[23:05:53.050][C][template.sensor:017]:   Unit of Measurement: 'l/min'
[23:05:53.050][C][template.sensor:017]:   Accuracy Decimals: 1
[23:05:53.050][C][template.sensor:031]:   Icon: 'mdi:water'
[23:05:53.051][C][template.sensor:363]:   Update Interval: 6.0s
[23:05:53.051][C][pulse_counter:017]: Pulse Counter 'water pulse'
[23:05:53.051][C][pulse_counter:017]:   State Class: 'measurement'
[23:05:53.051][C][pulse_counter:017]:   Unit of Measurement: 'pulses/min'
[23:05:53.051][C][pulse_counter:017]:   Accuracy Decimals: 2
[23:05:53.051][C][pulse_counter:031]:   Icon: 'mdi:pulse'
[23:05:53.051][C][pulse_counter:172]:   Pin: GPIO12
[23:05:53.063][C][pulse_counter:173]:   Rising Edge: INCREMENT
[23:05:53.063][C][pulse_counter:173]:   Falling Edge: DISABLE
[23:05:53.063][C][pulse_counter:173]:   Filtering pulses shorter than 13 µs
[23:05:53.063][C][pulse_counter:363]:   Update Interval: 6.0s
[23:05:53.074][C][pulse_meter:017]: Pulse Meter 'Water Pulse Meter'
[23:05:53.074][C][pulse_meter:017]:   State Class: 'measurement'
[23:05:53.074][C][pulse_meter:017]:   Unit of Measurement: 'liter/min'
[23:05:53.074][C][pulse_meter:017]:   Accuracy Decimals: 2
[23:05:53.075][C][pulse_meter:031]:   Icon: 'mdi:water'
[23:05:53.075][C][pulse_meter:132]:   Pin: GPIO12
[23:05:53.087][C][pulse_meter:134]:   Filtering rising edges less than 13 µs apart
[23:05:53.098][C][pulse_meter:138]:   Assuming 0 pulses/min after not receiving a pulse for 300s
[23:05:53.103][C][captive_portal:122]: Captive Portal:
[23:05:53.117][C][wifi:1062]: WiFi:
[23:05:53.117][C][wifi:1062]:   Connected: YES
[23:05:53.117][C][wifi:827]:   Local MAC: hier staat een code
[23:05:53.118][C][wifi:834]:   IP Address: 192.168.16.24
[23:05:53.138][C][wifi:838]:   SSID: 'hier staat een naam'[redacted]
[23:05:53.138][C][wifi:838]:   BSSID: hier staat een code[redacted]
[23:05:53.138][C][wifi:838]:   Hostname: 'watersensor'
[23:05:53.138][C][wifi:838]:   Signal strength: -44 dB ▂▄▆█
[23:05:53.138][C][wifi:838]:   Channel: 7
[23:05:53.138][C][wifi:838]:   Subnet: 255.255.255.0
[23:05:53.138][C][wifi:838]:   Gateway: 192.168.16.1
[23:05:53.138][C][wifi:838]:   DNS1: 84.116.46.21
[23:05:53.138][C][wifi:838]:   DNS2: 84.116.46.20
[23:05:53.149][C][esphome.ota:093]: Over-The-Air updates:
[23:05:53.149][C][esphome.ota:093]:   Address: watersensor.local:8266
[23:05:53.149][C][esphome.ota:093]:   Version: 2
[23:05:53.155][C][esphome.ota:100]:   Password configured
[23:05:53.162][C][safe_mode:018]: Safe Mode:
[23:05:53.162][C][safe_mode:018]:   Successful after: 60s
[23:05:53.162][C][safe_mode:018]:   Invoke after: 10 attempts
[23:05:53.162][C][safe_mode:018]:   Duration: 300s
[23:05:53.168][C][web_server.ota:241]: Web Server OTA
[23:05:53.181][C][api:223]: Server:
[23:05:53.181][C][api:223]:   Address: watersensor.local:6053
[23:05:53.181][C][api:223]:   Listen backlog: 1
[23:05:53.181][C][api:223]:   Max connections: 4
[23:05:53.185][C][api:230]:   Noise encryption: YES
[23:05:53.192][C][mdns:177]: mDNS:
[23:05:53.192][C][mdns:177]:   Hostname: watersensor
[23:05:58.620][D][sensor:133]: 'Water Usage Liter': Sending state 0.00000 l/min with 1 decimals of accuracy
[23:05:58.815][D][pulse_counter:188]: 'water pulse': Retrieved counter: 0.00 pulses/min
[23:05:58.820][D][sensor:133]: 'water pulse': Sending state 0.00000 pulses/min with 2 decimals of accuracy
[23:06:04.621][D][sensor:133]: 'Water Usage Liter': Sending state 0.00000 l/min with 1 decimals of accuracy
[23:06:04.817][D][pulse_counter:188]: 'water pulse': Retrieved counter: 0.00 pulses/min
[23:06:04.826][D][sensor:133]: 'water pulse': Sending state 0.00000 pulses/min with 2 decimals of accuracy


Schopje naar het juist grote ESPHome topic

[ Voor 0% gewijzigd door Septillion op 01-12-2025 23:47 ]


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 00:58

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@BounceMeister Lijkt me nog niet getoond to worden omdat de waarde unknown is.

Nu weet ik niet of de total niet gewoon wat vertraagd is.

En krijg je werkelijk een puls per liter?

  • BounceMeister
  • Registratie: Maart 2002
  • Niet online
Wanneer ik vanuit Devices - ESPHome - Watersensor de beschikbare sensors bekijk, dan zie ik "water pulse meter" en "water total" reageren op de sensor. Elke keer dat ik er iets langs haal, komt er een liter bij. Wanneer ik dat sneller doe wordt de "water pulse meter" een hoger getal, langzamer een lager getal. Het totaal blijft netjes oplopen.
"Water pulse" en "water usage liter" reageren niet. Het energy dashboard vindt ook de watersensor nog niet (zoals in eerdere screenshot, een lege lijst).
Morgen maar weer verder kijken.

  • Fab1Man
  • Registratie: Februari 2006
  • Laatst online: 17:06

Fab1Man

Live life to the fullest

BounceMeister schreef op maandag 1 december 2025 @ 23:37:
[...]

Ik ben al een tijd bezig met het omzetten van mijn watermeter komend van Domoticz/ESPEasy naar het nieuwe HA/ESPHome, maar ik krijg het niet werkend.
Het blijkt dat de tutorials die op internet te vinden zijn, niet (meer) kloppen. (Er ontstaan foutmeldingen in de YAML code en er lijken stappen te ontbreken of HA zit nu anders in elkaar)

Wat ik heb gedaan:
(Alles werkte nog in Domoticz/ESPEasy).
Ik heb ESPHome toegevoegd aan HA.
Ik heb de ESP8266 eerst teruggeflasht naar Blink (via Arduino IDE) en toen ESPHome erop gezet (via HA) en de wifi ingesteld.
Log laat verbinding zien.
Ik heb de LJ18A3-8-Z/BX-5V op D6 (GPIO12) zitten zoals dat ook in ESPEasy werkt.
Ik heb diverse watermeter/yaml configuraties geprobeerd uit voorbeelden (met GPIO12 of pin D6), maar krijg daar steeds foutmeldingen in. Daarom steeds weer de fouten opgezocht en dingen aangepast.
Uiteindelijk krijg ik hier (onderstaand) geen foutmelding meer in, maar ik kan hem niet toevoegen aan het Energy dashboard, want hij staat niet in de lijst.
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
esphome:
  name: watersensor
  friendly_name: Watersensor

esp8266:
  board: nodemcuv2

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "hier staat een code"

ota:
  - platform: esphome
    password: "hier staat een code"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  min_auth_mode: WPA2

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Watermeter Fallback Hotspot"
    password: "hier staat een code"

captive_portal:
    
sensor:
- platform: pulse_counter
  pin: 
    number: GPIO12
    allow_other_uses: true
  update_interval : 6s
  name: "water pulse"
  id: water_pulse

- platform: pulse_meter
  pin: 
    number: GPIO12
    allow_other_uses: true
  name: "Water Pulse Meter"
  unit_of_measurement: "liter/min"
  icon: "mdi:water"
  total:
    name: "Water Total"
    unit_of_measurement: "L"
    device_class: water
    state_class: total_increasing

- platform: template
  name: "Water Usage Liter"
  id: water_flow_rate
  accuracy_decimals: 1
  unit_of_measurement: "l/min"
  icon: "mdi:water"
  lambda: return (id(water_pulse).state * 10);
  update_interval: 6s


Ik heb aan configuration.yaml toegevoegd:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
utility_meter:
  util_water_usage_hourly:
    source: sensor.water_total
    cycle: hourly
  util_water_usage_daily:
    source: sensor.water_total
    cycle: daily
  util_water_usage_monthly:
    source: sensor.water_total
    cycle: monthly
  util_water_usage_yearly:
    source: sensor.water_total
    cycle: yearly
            


HA herstart, maar nog steeds geen watermeter om toe te voegen.
[Afbeelding]

Ik zag toevallig bij de Discovered Devices wel de watermeter staan en heb deze toegevoegd aan HA. Ik kan nu ook iets toevoegen aan mijn Dashboard waarmee ik kan zien dat de sensor iets registreert. (Dit is alles wat met water te maken heeft, rechtsonder reageert op de sensor).
[Afbeelding]

Maar het toevoegen aan het Energy Dashboard wil dus niet lukken. Weet iemand waar dit aan kan liggen?

Logfile:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
INFO ESPHome 2025.11.2
INFO Reading configuration /config/esphome/watermeter.yaml...
INFO Starting log output from watersensor.local using esphome API
INFO Successfully resolved watersensor.local in 0.011s
INFO Successfully connected to watersensor @ 192.168.16.24 in 0.030s
INFO Successful handshake with watersensor @ 192.168.16.24 in 2.877s
[23:05:52.978][I][app:190]: ESPHome version 2025.11.2 compiled on Dec  1 2025, 22:56:35
[23:05:53.049][C][logger:261]: Logger:
[23:05:53.049][C][logger:261]:   Max Level: DEBUG
[23:05:53.049][C][logger:261]:   Initial Level: DEBUG
[23:05:53.050][C][logger:267]:   Log Baud Rate: 115200
[23:05:53.050][C][logger:267]:   Hardware UART: UART0
[23:05:53.050][C][template.sensor:017]: Template Sensor 'Water Usage Liter'
[23:05:53.050][C][template.sensor:017]:   State Class: ''
[23:05:53.050][C][template.sensor:017]:   Unit of Measurement: 'l/min'
[23:05:53.050][C][template.sensor:017]:   Accuracy Decimals: 1
[23:05:53.050][C][template.sensor:031]:   Icon: 'mdi:water'
[23:05:53.051][C][template.sensor:363]:   Update Interval: 6.0s
[23:05:53.051][C][pulse_counter:017]: Pulse Counter 'water pulse'
[23:05:53.051][C][pulse_counter:017]:   State Class: 'measurement'
[23:05:53.051][C][pulse_counter:017]:   Unit of Measurement: 'pulses/min'
[23:05:53.051][C][pulse_counter:017]:   Accuracy Decimals: 2
[23:05:53.051][C][pulse_counter:031]:   Icon: 'mdi:pulse'
[23:05:53.051][C][pulse_counter:172]:   Pin: GPIO12
[23:05:53.063][C][pulse_counter:173]:   Rising Edge: INCREMENT
[23:05:53.063][C][pulse_counter:173]:   Falling Edge: DISABLE
[23:05:53.063][C][pulse_counter:173]:   Filtering pulses shorter than 13 µs
[23:05:53.063][C][pulse_counter:363]:   Update Interval: 6.0s
[23:05:53.074][C][pulse_meter:017]: Pulse Meter 'Water Pulse Meter'
[23:05:53.074][C][pulse_meter:017]:   State Class: 'measurement'
[23:05:53.074][C][pulse_meter:017]:   Unit of Measurement: 'liter/min'
[23:05:53.074][C][pulse_meter:017]:   Accuracy Decimals: 2
[23:05:53.075][C][pulse_meter:031]:   Icon: 'mdi:water'
[23:05:53.075][C][pulse_meter:132]:   Pin: GPIO12
[23:05:53.087][C][pulse_meter:134]:   Filtering rising edges less than 13 µs apart
[23:05:53.098][C][pulse_meter:138]:   Assuming 0 pulses/min after not receiving a pulse for 300s
[23:05:53.103][C][captive_portal:122]: Captive Portal:
[23:05:53.117][C][wifi:1062]: WiFi:
[23:05:53.117][C][wifi:1062]:   Connected: YES
[23:05:53.117][C][wifi:827]:   Local MAC: hier staat een code
[23:05:53.118][C][wifi:834]:   IP Address: 192.168.16.24
[23:05:53.138][C][wifi:838]:   SSID: 'hier staat een naam'[redacted]
[23:05:53.138][C][wifi:838]:   BSSID: hier staat een code[redacted]
[23:05:53.138][C][wifi:838]:   Hostname: 'watersensor'
[23:05:53.138][C][wifi:838]:   Signal strength: -44 dB ▂▄▆█
[23:05:53.138][C][wifi:838]:   Channel: 7
[23:05:53.138][C][wifi:838]:   Subnet: 255.255.255.0
[23:05:53.138][C][wifi:838]:   Gateway: 192.168.16.1
[23:05:53.138][C][wifi:838]:   DNS1: 84.116.46.21
[23:05:53.138][C][wifi:838]:   DNS2: 84.116.46.20
[23:05:53.149][C][esphome.ota:093]: Over-The-Air updates:
[23:05:53.149][C][esphome.ota:093]:   Address: watersensor.local:8266
[23:05:53.149][C][esphome.ota:093]:   Version: 2
[23:05:53.155][C][esphome.ota:100]:   Password configured
[23:05:53.162][C][safe_mode:018]: Safe Mode:
[23:05:53.162][C][safe_mode:018]:   Successful after: 60s
[23:05:53.162][C][safe_mode:018]:   Invoke after: 10 attempts
[23:05:53.162][C][safe_mode:018]:   Duration: 300s
[23:05:53.168][C][web_server.ota:241]: Web Server OTA
[23:05:53.181][C][api:223]: Server:
[23:05:53.181][C][api:223]:   Address: watersensor.local:6053
[23:05:53.181][C][api:223]:   Listen backlog: 1
[23:05:53.181][C][api:223]:   Max connections: 4
[23:05:53.185][C][api:230]:   Noise encryption: YES
[23:05:53.192][C][mdns:177]: mDNS:
[23:05:53.192][C][mdns:177]:   Hostname: watersensor
[23:05:58.620][D][sensor:133]: 'Water Usage Liter': Sending state 0.00000 l/min with 1 decimals of accuracy
[23:05:58.815][D][pulse_counter:188]: 'water pulse': Retrieved counter: 0.00 pulses/min
[23:05:58.820][D][sensor:133]: 'water pulse': Sending state 0.00000 pulses/min with 2 decimals of accuracy
[23:06:04.621][D][sensor:133]: 'Water Usage Liter': Sending state 0.00000 l/min with 1 decimals of accuracy
[23:06:04.817][D][pulse_counter:188]: 'water pulse': Retrieved counter: 0.00 pulses/min
[23:06:04.826][D][sensor:133]: 'water pulse': Sending state 0.00000 pulses/min with 2 decimals of accuracy


[mbr]Schopje naar het juist grote ESPHome topic[/]
Ik gebruik zelf al tijden een Homewizard watersensor, met name omdat ik geen zin heb in dit soort fratsen dat een paar jaar later ESPHome zich opeens anders gedraagt, dus ik kan het zelf niet voor je testen. ESPHome lijkt nu wel erg te vallen over de dubbele GPIO12 assignment. Probeer eens het volgende, zo compiled ie bij mij in ieder geval zonder errors:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
sensor:
  - platform: pulse_meter
    id: id_pulse_meter
    pin: GPIO12
    name: "Water Pulse Meter"
    unit_of_measurement: "L/min"
    icon: "mdi:water"
    total:
      name: "Water Total"
      unit_of_measurement: "L"
      device_class: water
      state_class: total_increasing

  - platform: template
    name: "Water Usage Liter"
    id: water_flow_rate
    accuracy_decimals: 1
    unit_of_measurement: "l/min"
    icon: "mdi:water"
    lambda: return (id(id_pulse_meter).state * 10);
    update_interval: 6s

[ Voor 0% gewijzigd door Septillion op 02-12-2025 22:00 . Reden: Denk aan de 'yaml' bij de code tags aub! Zie topic warning en hoe deze post is aangepast. ]


  • Bockelaar
  • Registratie: Juli 2001
  • Laatst online: 13-12 12:49
ik gebruik een oude esp met een simpele aliexpress npn sensor en dat werkt al sinds 2019 of zo.
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
esphome:
  name: watermeter
  
esp8266:
  board: nodemcuv2

# Enable logging
#
logger:
  level: DEBUG
sensor:
  - platform: pulse_counter
    pin: D2
    unit_of_measurement: 'liter'
    name: 'Water Meter'
    update_interval: 1s
    filters:
      - multiply: 0.016666667
    total:
      name: "Water Meter Total DB"
      unit_of_measurement: "m³"
      id: water_meter_total
      accuracy_decimals: 3
      device_class: water
      state_class: total_increasing
      filters:
        - multiply: 0.001      
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  fast_connect: true
  domain: .local
  min_auth_mode: WPA2
# Enable Home Assistant API
api:
ota:
  - platform: esphome

mijn log doet dan het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
INFO ESPHome 2025.11.2
INFO Reading configuration /config/esphome/watermeter.yaml...
INFO Starting log output from watermeter.local using esphome API
INFO Successfully resolved watermeter.local in 0.101s
INFO Successfully connected to watermeter @ 192.168.x.y in 0.007s
INFO Successful handshake with watermeter @ 192.168.x.y in 0.023s
[13:36:15.439][I][app:190]: ESPHome version 2025.11.2 compiled on Nov 28 2025, 12:50:28
[13:36:15.487][C][logger:261]: Logger:
[13:36:15.487][C][logger:261]:   Max Level: DEBUG
[13:36:15.487][C][logger:261]:   Initial Level: DEBUG
[13:36:15.487][C][logger:267]:   Log Baud Rate: 115200
[13:36:15.487][C][logger:267]:   Hardware UART: UART0
[13:36:15.487][C][pulse_counter:017]: Pulse Counter 'Water Meter'
[13:36:15.487][C][pulse_counter:017]:   State Class: 'measurement'
[13:36:15.487][C][pulse_counter:017]:   Unit of Measurement: 'liter'
[13:36:15.487][C][pulse_counter:017]:   Accuracy Decimals: 2
[13:36:15.487][C][pulse_counter:031]:   Icon: 'mdi:pulse'
[13:36:15.487][C][pulse_counter:172]:   Pin: GPIO4
[13:36:15.487][C][pulse_counter:173]:   Rising Edge: INCREMENT
[13:36:15.487][C][pulse_counter:173]:   Falling Edge: DISABLE
[13:36:15.487][C][pulse_counter:173]:   Filtering pulses shorter than 13 µs
[13:36:15.487][C][pulse_counter:363]:   Update Interval: 1.0s
[13:36:15.498][C][wifi:1062]: WiFi:
[13:36:15.498][C][wifi:1062]:   Connected: YES
[13:36:15.498][C][wifi:827]:   Local MAC: AB:CD:EF:FF:BE:EF
[13:36:15.520][C][wifi:834]:   IP Address: 192.168.x.y
[13:36:15.523][C][wifi:838]:   SSID: [redacted]
[13:36:15.523][C][wifi:838]:   BSSID: [redacted]
[13:36:15.523][C][wifi:838]:   Hostname: 'watermeter'
[13:36:15.523][C][wifi:838]:   Signal strength: -75 dB ▂▄▆█
[13:36:15.523][C][wifi:838]:   Channel: 11
[13:36:15.523][C][wifi:838]:   Subnet: 255.255.255.0
[13:36:15.523][C][wifi:838]:   Gateway: 192.168.x.z
[13:36:15.523][C][wifi:838]:   DNS1: 192.168.X.W
[13:36:15.523][C][wifi:838]:   DNS2: 8.8.8.8
[13:36:15.532][C][esphome.ota:093]: Over-The-Air updates:
[13:36:15.532][C][esphome.ota:093]:   Address: watermeter.local:8266
[13:36:15.532][C][esphome.ota:093]:   Version: 2
[13:36:15.544][D][pulse_counter:188]: 'Water Meter': Retrieved counter: 0.00 pulses/min
[13:36:15.565][D][sensor:133]: 'Water Meter': Sending state 0.00000 liter with 2 decimals of accuracy
[13:36:15.565][D][pulse_counter:194]: 'Water Meter': Total : 1433 pulses
[13:36:15.574][D][sensor:133]: 'Water Meter Total DB': Sending state 1.43300 m³ with 3 decimals of accuracy
[13:36:15.574][C][safe_mode:018]: Safe Mode:
[13:36:15.574][C][safe_mode:018]:   Successful after: 60s
[13:36:15.574][C][safe_mode:018]:   Invoke after: 10 attempts
[13:36:15.574][C][safe_mode:018]:   Duration: 300s
[13:36:15.586][C][api:223]: Server:
[13:36:15.586][C][api:223]:   Address: watermeter.local:6053
[13:36:15.586][C][api:223]:   Listen backlog: 1
[13:36:15.586][C][api:223]:   Max connections: 4
[13:36:15.589][C][api:235]:   Noise encryption: NO
[13:36:15.593][C][mdns:177]: mDNS:
[13:36:15.593][C][mdns:177]:   Hostname: watermeter
[13:36:16.544][D][pulse_counter:188]: 'Water Meter': Retrieved counter: 0.00 pulses/min
[13:36:16.555][D][sensor:133]: 'Water Meter': Sending state 0.00000 liter with 2 decimals of accuracy
[13:36:16.555][D][pulse_counter:194]: 'Water Meter': Total : 1433 pulses
[13:36:16.558][D][sensor:133]: 'Water Meter Total DB': Sending state 1.43300 m³ with 3 decimals of accuracy


zit het in in de device_class, state_class, of unit_of_measurement?

Remember: A CRAY is the only computer that runs an endless loop in just 4 hours...


  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
CDAAbeltje schreef op maandag 1 december 2025 @ 22:24:
Probeer het huidige Bermuda package eens te vervangen door de volgende:

code:
1
 Bermuda.esp32: github://agittins/bermuda-proxies/packages/bermuda-proxy-esp32-c3-minimal.yaml


De documentatie zegt namelijk het volgende:

YAML:
1
2
3
ESP32-C3 (M5Stack STAMP-C3 etc)

To add Bermuda-friendly bluetooth proxy to an existing esphome yaml, add this section to the yaml and install it.

Vergeet vooral niet, als de config valide is, om een clean build files te draaien voordat je probeert te uploaden naar de betreffende node.
Top , ga ik eens proberen.
Alleen hoe he? Ik kan blijkbaar niet updaten, dus ook niet aanpassen?
Moet ik dan via de webui hem naar factory reset doen? Dan connecten met de AP ? en dan die build erin doen?

Wat bedoel je juist met: Vergeet vooral niet, als de config valide is, om een clean build files te draaien voordat je probeert te uploaden naar de betreffende node.

Ik zeg het, ben niet zo thuis hier.
Ik zou gewoon de config yaml aanpassen en dan saven na een factory reset?

  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 12-12 15:16

CDAAbeltje

Cool Down !

skank schreef op dinsdag 2 december 2025 @ 14:07:
[...]


Top , ga ik eens proberen.
Alleen hoe he? Ik kan blijkbaar niet updaten, dus ook niet aanpassen?
Moet ik dan via de webui hem naar factory reset doen? Dan connecten met de AP ? en dan die build erin doen?

Wat bedoel je juist met: Vergeet vooral niet, als de config valide is, om een clean build files te draaien voordat je probeert te uploaden naar de betreffende node.

Ik zeg het, ben niet zo thuis hier.
Ik zou gewoon de config yaml aanpassen en dan saven na een factory reset?
Als je de node spanningsloos maakt en opnieuw spanning geeft, krijg je dan respons als je de wireless logs uit wil lezen?

Zo ja, drie puntjes naast de node name in het ESPHome dashboard -> Clean Build Files. Als dit klaar is drie puntjes naast de node name in het ESPHome dashboard -> Install -> Wireless.

Zo niet, kun je wel op de web interface van de node komen?
Zo ja, drie puntjes naast de node name in het ESPHome dashboard -> Clean Build Files gevolgd door drie puntjes naast de node name in het ESPHome dashboard -> Install -> Manual download.
Het bestand welke je hieruit terug krijgt kun je vervolgens uploaden via de web interface van de node.

Als laatste strohalm kun je inderdaad ook de configuratie bouwen, opslaan, de node terugzetten naar fabrieksinstellingen, verbinden via het AP, zorgen dat de node benaderbaar is en vervolgen de juiste configuratie te uploaden.

Wat ikzelf de afgelopen jaren als erg vervelend heb ervaren zijn al deze door gelinkte packages. Hier krijg je een onoverzichtelijke wirwar door. Wat ik met bijvoorbeeld mijn Athom Plugs heb gedaan is de configuratie glad trekken, alleen de opties erin die je nodig hebt, zonder externe packages of configuraties. Is allemaal goed te doen zolang je maar goed kijkt in de GitHub repo’s waar de bestanden naar gelinkt zijn.

  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
CDAAbeltje schreef op dinsdag 2 december 2025 @ 16:01:
[...]


Als je de node spanningsloos maakt en opnieuw spanning geeft, krijg je dan respons als je de wireless logs uit wil lezen?

Zo ja, drie puntjes naast de node name in het ESPHome dashboard -> Clean Build Files. Als dit klaar is drie puntjes naast de node name in het ESPHome dashboard -> Install -> Wireless.

Zo niet, kun je wel op de web interface van de node komen?
Zo ja, drie puntjes naast de node name in het ESPHome dashboard -> Clean Build Files gevolgd door drie puntjes naast de node name in het ESPHome dashboard -> Install -> Manual download.
Het bestand welke je hieruit terug krijgt kun je vervolgens uploaden via de web interface van de node.

Als laatste strohalm kun je inderdaad ook de configuratie bouwen, opslaan, de node terugzetten naar fabrieksinstellingen, verbinden via het AP, zorgen dat de node benaderbaar is en vervolgen de juiste configuratie te uploaden.

Wat ikzelf de afgelopen jaren als erg vervelend heb ervaren zijn al deze door gelinkte packages. Hier krijg je een onoverzichtelijke wirwar door. Wat ik met bijvoorbeeld mijn Athom Plugs heb gedaan is de configuratie glad trekken, alleen de opties erin die je nodig hebt, zonder externe packages of configuraties. Is allemaal goed te doen zolang je maar goed kijkt in de GitHub repo’s waar de bestanden naar gelinkt zijn.
Zopas eens clean build files geprobeerd, dan krijg ik de foutmelding:
Failed config
button.unknown: [source /config/esphome/athom-smart-plug-v3-50b330.yaml:26]
'button' requires a 'platform' key but it was not specified.

Ik denk dat ik deze avond maar dit zal doen:
Configuratie bouwen, opslaan, de node terugzetten naar fabrieksinstellingen via webui, verbinden via het AP, zorgen dat de node benaderbaar is en vervolgen de juiste configuratie te uploaden.

En dan deze config push:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
substitutions:
  name: cinema-plug
  friendly_name: Cinema - Plug ESP32
  relay_restore_mode: ALWAYS_OFF

packages:
  Athom_Technology.Smart_Plug_V3: github://athom-tech/esp32-configs/athom-smart-plug.yaml
  Bermuda.esp32: github://agittins/bermuda-proxies/packages/bermuda-proxy-esp32-c3-minimal.yaml

esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "ESP32 Fallback Hotspot"
    password: !secret esp32_ap_password

text_sensor: !remove

time:
  - id: !remove sntp_time
  - id: homeassistant_time
    platform: homeassistant


Correct?

  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 12-12 15:16

CDAAbeltje

Cool Down !

skank schreef op dinsdag 2 december 2025 @ 17:03:
[...]


Zopas eens clean build files geprobeerd, dan krijg ik de foutmelding:
Failed config
button.unknown: [source /config/esphome/athom-smart-plug-v3-50b330.yaml:26]
'button' requires a 'platform' key but it was not specified.

Ik denk dat ik deze avond maar dit zal doen:
Configuratie bouwen, opslaan, de node terugzetten naar fabrieksinstellingen via webui, verbinden via het AP, zorgen dat de node benaderbaar is en vervolgen de juiste configuratie te uploaden.

En dan deze config push:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
substitutions:
  name: cinema-plug
  friendly_name: Cinema - Plug ESP32
  relay_restore_mode: ALWAYS_OFF

packages:
  Athom_Technology.Smart_Plug_V3: github://athom-tech/esp32-configs/athom-smart-plug.yaml
  Bermuda.esp32: github://agittins/bermuda-proxies/packages/bermuda-proxy-esp32-c3-minimal.yaml

esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "ESP32 Fallback Hotspot"
    password: !secret esp32_ap_password

text_sensor: !remove

time:
  - id: !remove sntp_time
  - id: homeassistant_time
    platform: homeassistant


Correct?
Op jouw vraag, correct: ja. Dit kun je prima proberen. Maar ik vrees dat, wat anderen ook al aangaven, de beide packages elkaar alsnog in de weg kunnen zitten. Mocht dit zo zijn, nieuw config maken zonder package Bermuda om te zien wat dat doet. Als dat werkt is het Bermuda verhaal ook wel zonder packages toe te voegen.

  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
CDAAbeltje schreef op dinsdag 2 december 2025 @ 19:08:
[...]


Op jouw vraag, correct: ja. Dit kun je prima proberen. Maar ik vrees dat, wat anderen ook al aangaven, de beide packages elkaar alsnog in de weg kunnen zitten. Mocht dit zo zijn, nieuw config maken zonder package Bermuda om te zien wat dat doet. Als dat werkt is het Bermuda verhaal ook wel zonder packages toe te voegen.
Ik ga het proberen.
Lukt het niet, dan eerst zonder en dan verder opbouwen ;) merci voor de tips.

  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
CDAAbeltje schreef op dinsdag 2 december 2025 @ 19:08:
[...]


Op jouw vraag, correct: ja. Dit kun je prima proberen. Maar ik vrees dat, wat anderen ook al aangaven, de beide packages elkaar alsnog in de weg kunnen zitten. Mocht dit zo zijn, nieuw config maken zonder package Bermuda om te zien wat dat doet. Als dat werkt is het Bermuda verhaal ook wel zonder packages toe te voegen.
Ik heb zopas geprobeerd met de config maar kreeg direct foutmeldingen.
Ik heb toen maar beslist eerst gewoon standaard te doen zonder bermuda.
Ook dat lukt niet.
Ik heb de config in yaml gezet, dan save en download -> manually... Tijdens dat proces herstart mijn home assistant zomaar zonder reden...
Ik heb het 2 x geprobeerd, en 2x doet hij het..

Geen idee waarom.
Nog vreemder is dat ik 2 van dergelijke plugs heb, bij de ene kan ik herstart en geen OTA via de webui doen, bij de andere kan ik via de webui niet herstarten maar wel een ota via webui doen...

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 00:58

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@skank Als je HA zomaar herstart heb je wel heftigere problemen... ESPHome builder draait volledig als container dus die kan HA niet zomaar meer krijgen. Dus dan zou ik issues met de server (of VM) verwachten.

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 00:58

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
BounceMeister schreef op dinsdag 2 december 2025 @ 00:54:
Wanneer ik vanuit Devices - ESPHome - Watersensor de beschikbare sensors bekijk, dan zie ik "water pulse meter" en "water total" reageren op de sensor. Elke keer dat ik er iets langs haal, komt er een liter bij. Wanneer ik dat sneller doe wordt de "water pulse meter" een hoger getal, langzamer een lager getal. Het totaal blijft netjes oplopen.
"Water pulse" en "water usage liter" reageren niet. Het energy dashboard vindt ook de watersensor nog niet (zoals in eerdere screenshot, een lege lijst).
Morgen maar weer verder kijken.
Ik zou eens even pulse_counter eruit halen. Je hebt dan wel allow_other_uses: True maar volgens de documentatie gaan die twee niet samen.

Daarnaast, als je nu een "Water Total" hebt dan zou je die denk ik gewoon moeten kunnen toevoegen. "Water Pulse Meter" heeft wel een niet ondersteunde unit (moet L/min zijn) en geen device_class maar die heb je niet nodig voor het dashboard.

  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
Septillion schreef op dinsdag 2 december 2025 @ 21:59:
@skank Als je HA zomaar herstart heb je wel heftigere problemen... ESPHome builder draait volledig als container dus die kan HA niet zomaar meer krijgen. Dus dan zou ik issues met de server (of VM) verwachten.
Mja , ik draai eigenlijk al een jaar stabiel , zonder herstart of wat dan ook.
Nu dus wel bij die poging.. ik begrijp het ook niet hoor.
Als ik nu esphome zie, dan heb ik 1 online en 1 offline plug en 1 new disovered plug (die ik niet kan "ownen" want ik krijg een foutmelding...)

Weet niet goed wat doen nu.

  • BounceMeister
  • Registratie: Maart 2002
  • Niet online
Bockelaar schreef op dinsdag 2 december 2025 @ 13:41:
ik gebruik een oude esp met een simpele aliexpress npn sensor en dat werkt al sinds 2019 of zo.
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
esphome:
  name: watermeter
  
esp8266:
  board: nodemcuv2

# Enable logging
#
logger:
  level: DEBUG
sensor:
  - platform: pulse_counter
    pin: D2
    unit_of_measurement: 'liter'
    name: 'Water Meter'
    update_interval: 1s
    filters:
      - multiply: 0.016666667
    total:
      name: "Water Meter Total DB"
      unit_of_measurement: "m³"
      id: water_meter_total
      accuracy_decimals: 3
      device_class: water
      state_class: total_increasing
      filters:
        - multiply: 0.001      
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  fast_connect: true
  domain: .local
  min_auth_mode: WPA2
# Enable Home Assistant API
api:
ota:
  - platform: esphome

mijn log doet dan het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
INFO ESPHome 2025.11.2
INFO Reading configuration /config/esphome/watermeter.yaml...
INFO Starting log output from watermeter.local using esphome API
INFO Successfully resolved watermeter.local in 0.101s
INFO Successfully connected to watermeter @ 192.168.x.y in 0.007s
INFO Successful handshake with watermeter @ 192.168.x.y in 0.023s
[13:36:15.439][I][app:190]: ESPHome version 2025.11.2 compiled on Nov 28 2025, 12:50:28
[13:36:15.487][C][logger:261]: Logger:
[13:36:15.487][C][logger:261]:   Max Level: DEBUG
[13:36:15.487][C][logger:261]:   Initial Level: DEBUG
[13:36:15.487][C][logger:267]:   Log Baud Rate: 115200
[13:36:15.487][C][logger:267]:   Hardware UART: UART0
[13:36:15.487][C][pulse_counter:017]: Pulse Counter 'Water Meter'
[13:36:15.487][C][pulse_counter:017]:   State Class: 'measurement'
[13:36:15.487][C][pulse_counter:017]:   Unit of Measurement: 'liter'
[13:36:15.487][C][pulse_counter:017]:   Accuracy Decimals: 2
[13:36:15.487][C][pulse_counter:031]:   Icon: 'mdi:pulse'
[13:36:15.487][C][pulse_counter:172]:   Pin: GPIO4
[13:36:15.487][C][pulse_counter:173]:   Rising Edge: INCREMENT
[13:36:15.487][C][pulse_counter:173]:   Falling Edge: DISABLE
[13:36:15.487][C][pulse_counter:173]:   Filtering pulses shorter than 13 µs
[13:36:15.487][C][pulse_counter:363]:   Update Interval: 1.0s
[13:36:15.498][C][wifi:1062]: WiFi:
[13:36:15.498][C][wifi:1062]:   Connected: YES
[13:36:15.498][C][wifi:827]:   Local MAC: AB:CD:EF:FF:BE:EF
[13:36:15.520][C][wifi:834]:   IP Address: 192.168.x.y
[13:36:15.523][C][wifi:838]:   SSID: [redacted]
[13:36:15.523][C][wifi:838]:   BSSID: [redacted]
[13:36:15.523][C][wifi:838]:   Hostname: 'watermeter'
[13:36:15.523][C][wifi:838]:   Signal strength: -75 dB ▂▄▆█
[13:36:15.523][C][wifi:838]:   Channel: 11
[13:36:15.523][C][wifi:838]:   Subnet: 255.255.255.0
[13:36:15.523][C][wifi:838]:   Gateway: 192.168.x.z
[13:36:15.523][C][wifi:838]:   DNS1: 192.168.X.W
[13:36:15.523][C][wifi:838]:   DNS2: 8.8.8.8
[13:36:15.532][C][esphome.ota:093]: Over-The-Air updates:
[13:36:15.532][C][esphome.ota:093]:   Address: watermeter.local:8266
[13:36:15.532][C][esphome.ota:093]:   Version: 2
[13:36:15.544][D][pulse_counter:188]: 'Water Meter': Retrieved counter: 0.00 pulses/min
[13:36:15.565][D][sensor:133]: 'Water Meter': Sending state 0.00000 liter with 2 decimals of accuracy
[13:36:15.565][D][pulse_counter:194]: 'Water Meter': Total : 1433 pulses
[13:36:15.574][D][sensor:133]: 'Water Meter Total DB': Sending state 1.43300 m³ with 3 decimals of accuracy
[13:36:15.574][C][safe_mode:018]: Safe Mode:
[13:36:15.574][C][safe_mode:018]:   Successful after: 60s
[13:36:15.574][C][safe_mode:018]:   Invoke after: 10 attempts
[13:36:15.574][C][safe_mode:018]:   Duration: 300s
[13:36:15.586][C][api:223]: Server:
[13:36:15.586][C][api:223]:   Address: watermeter.local:6053
[13:36:15.586][C][api:223]:   Listen backlog: 1
[13:36:15.586][C][api:223]:   Max connections: 4
[13:36:15.589][C][api:235]:   Noise encryption: NO
[13:36:15.593][C][mdns:177]: mDNS:
[13:36:15.593][C][mdns:177]:   Hostname: watermeter
[13:36:16.544][D][pulse_counter:188]: 'Water Meter': Retrieved counter: 0.00 pulses/min
[13:36:16.555][D][sensor:133]: 'Water Meter': Sending state 0.00000 liter with 2 decimals of accuracy
[13:36:16.555][D][pulse_counter:194]: 'Water Meter': Total : 1433 pulses
[13:36:16.558][D][sensor:133]: 'Water Meter Total DB': Sending state 1.43300 m³ with 3 decimals of accuracy


zit het in in de device_class, state_class, of unit_of_measurement?
Thx! Ik heb hier een groot deel van overgenomen en nu kan ik hem wel aan het energy dash toevoegen, hij telt daar alleen niet. Nu zie ik dat er sinds vandaag helemaal niets meer geregistreerd is op mijn energy dashboard. En stap vooruit en weer drie achteruit. HA is inmiddels een dagtaak aan het worden. ;)

Ik sla deze watermeter yaml even op, dan heb ik die alvast, maar verder ben ik bang dat er nu iets helemaal stuk is en ik opnieuw moet beginnen, of Domoticz nog even terughangen. Ik weet het nu even niet, het is al vele dagen achter elkaar troubleshooten in HA. Ik dacht dat het al vrij volwassen was, maar toch mis ik vrij veel. Ik ben 't even zat voor nu.

  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 12-12 15:16

CDAAbeltje

Cool Down !

skank schreef op dinsdag 2 december 2025 @ 21:35:
[...]

Ik heb zopas geprobeerd met de config maar kreeg direct foutmeldingen.
Ik heb toen maar beslist eerst gewoon standaard te doen zonder bermuda.
Ook dat lukt niet.
Ik heb de config in yaml gezet, dan save en download -> manually... Tijdens dat proces herstart mijn home assistant zomaar zonder reden...
Ik heb het 2 x geprobeerd, en 2x doet hij het..

Geen idee waarom.
Nog vreemder is dat ik 2 van dergelijke plugs heb, bij de ene kan ik herstart en geen OTA via de webui doen, bij de andere kan ik via de webui niet herstarten maar wel een ota via webui doen...
Het crashen is erg vreemd maar is mij een paar jaar geleden op niet zulke krachtige hardware ook wel eens gebeurt. Op welk stukje hardware draai jij Home Assistant?

Je kunt nog proberen om de volgende regel toe te voegen aan je configuratie onder het kopje ESPHome:
code:
1
compile_process_limit: 1


The maximum number of simultaneous compile processes to run. Defaults to the number of cores of the CPU which is also the maximum you can set.

[ Voor 6% gewijzigd door CDAAbeltje op 02-12-2025 22:27 ]


  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 12-12 15:16

CDAAbeltje

Cool Down !

Als ik in mijn test machine de volgende configuratie aanmaak:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
substitutions:
  name: cinema-plug
  friendly_name: Cinema - Plug ESP32
  relay_restore_mode: ALWAYS_OFF

packages:
  Athom_Technology.Smart_Plug_V3: github://athom-tech/esp32-configs/athom-smart-plug.yaml
  Bermuda.esp32: github://agittins/bermuda-proxies/packages/bermuda-proxy-esp32-c3-minimal.yaml

esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}

wifi:
  ssid: test
  password: testtest
  ap:
    ssid: "ESP32 Fallback Hotspot"
    password: testtest

text_sensor: !remove

time:
  - id: !remove sntp_time
  - id: homeassistant_time
    platform: homeassistant
 


Faalt de validatie met de volgende reden:
code:
1
2
3
4
5
6
7
8
9
10
11
12
INFO ESPHome 2025.11.2
INFO Reading configuration /config/esphome/cinema-plug.yaml...
Failed config

sensor.wifi_signal: [source /data/packages/8f94d484/packages/bermuda-proxy-include-common.yaml:76]
  
  Duplicate sensor entity with name 'WiFi Signal dB' found. Conflicts with entity 'WiFi Signal dB' (id: wifi_signal_db) from component 'sensor.wifi_signal'. Each entity on a device must have a unique name within its platform.
  platform: wifi_signal
  name: WiFi Signal dB
  id: wifi_signal_db
  update_interval: 60s
  entity_category: diagnostic


Als ik de zelfde configuratie maak zonder Bermuda:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
substitutions:
  name: cinema-plug
  friendly_name: Cinema - Plug ESP32
  relay_restore_mode: ALWAYS_OFF

packages:
  Athom_Technology.Smart_Plug_V3: github://athom-tech/esp32-configs/athom-smart-plug.yaml

esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}

wifi:
  ssid: test
  password: testtest
  ap:
    ssid: "ESP32 Fallback Hotspot"
    password: testtest

text_sensor: !remove

time:
  - id: !remove sntp_time
  - id: homeassistant_time
    platform: homeassistant


Gaat de validatie wel goed:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
INFO ESPHome 2025.11.2
INFO Reading configuration /config/esphome/cinema-plug.yaml...
INFO Detected timezone 'Europe/Amsterdam'
substitutions:
  name: cinema-plug
  friendly_name: Cinema - Plug ESP32
  room: ''
  device_description: athom esp32-c3 smart plug
  project_name: Athom Technology.Smart Plug V3
  project_version: v2.0.0
  relay_restore_mode: ALWAYS_OFF
  sensor_update_interval: 10s
  current_limit: '16'
  dns_domain: .local
  timezone: ''
  sntp_update_interval: 6h
  sntp_server_1: 0.pool.ntp.org
  sntp_server_2: 1.pool.ntp.org
  sntp_server_3: 2.pool.ntp.org
  wifi_fast_connect: 'false'
  log_level: INFO
  hide_energy_sensor: 'true'
  ipv6_enable: 'false'
  power_plug_type: power-socket-us
esphome:
  name: cinema-plug
  friendly_name: Cinema - Plug ESP32
  comment: athom esp32-c3 smart plug
  area:
    name: ''
  name_add_mac_suffix: false
  min_version: 2025.7.0
  project:
    name: Athom Technology.Smart Plug V3
    version: v2.0.0
  platformio_options:
    board_build.mcu: esp32c3
    board_build.variant: esp32c3
    board_build.flash_mode: dio
  on_boot:
    - priority: 600.0
      then:
        - select.set_index:
            id: power_mode
            index: !lambda |-
              return id(restore_mode)-1;
        - lambda: !lambda |-
            switch(id(restore_mode))
            {
            case 1:{
                    id(relay).turn_off();
                    break;
                          }
            case 2:{
                    id(relay).turn_on();
                    break;
                          }
            default:{
                    break;
                          }
            }
  build_path: build/cinema-plug
  environment_variables: {}
  includes: []
  includes_c: []
  libraries: []
  debug_scheduler: false
  compile_process_limit: 1
  areas: []
  devices: []
esp32:
  board: esp32-c3-devkitm-1
  flash_size: 4MB
  variant: ESP32C3
  framework:
    type: esp-idf
    version: 5.5.1
    sdkconfig_options: {}
    log_level: ERROR
    advanced:
      compiler_optimization: SIZE
      enable_idf_experimental_features: false
      enable_lwip_assert: true
      ignore_efuse_custom_mac: false
      ignore_efuse_mac_crc: false
      enable_lwip_mdns_queries: true
      enable_lwip_bridge_interface: false
      enable_lwip_tcpip_core_locking: true
      enable_lwip_check_thread_safety: true
      disable_libc_locks_in_iram: true
      disable_vfs_support_termios: true
      disable_vfs_support_select: true
      disable_vfs_support_dir: true
      execute_from_psram: false
      loop_task_stack_size: 8192
    components: []
    platform_version: https://github.com/pioarduino/platform-espressif32/releases/download/55.03.31-2/platform-espressif32.zip
    source: pioarduino/framework-espidf@https://github.com/pioarduino/esp-idf/releases/download/v5.5.1/esp-idf-v5.5.1.tar.xz
  cpu_frequency: 160MHZ
preferences:
  flash_write_interval: 5min
api:
  port: 6053
  password: ''
  reboot_timeout: 15min
  batch_delay: 100ms
  custom_services: false
  homeassistant_services: false
  homeassistant_states: false
  listen_backlog: 4
  max_connections: 8
  max_send_queue: 8
ota:
  - platform: web_server
  - platform: esphome
    version: 2
    port: 3232
logger:
  level: INFO
  baud_rate: 0
  tx_buffer_size: 512
  deassert_rts_dtr: false
  task_log_buffer_size: 768
  hardware_uart: USB_SERIAL_JTAG
  logs: {}
  runtime_tag_levels: false
mdns:
  disabled: false
  services: []
web_server:
  port: 80
  version: 2
  enable_private_network_access: true
  include_internal: false
  log: true
  css_url: ''
  js_url: https://oi.esphome.io/v2/www.js
network:
  enable_ipv6: false
  min_ipv6_addr_count: 0
wifi:
  ap:
    ssid: ESP32 Fallback Hotspot
    password: testtest
    ap_timeout: 90s
  fast_connect: false
  domain: .local
  reboot_timeout: 15min
  power_save_mode: LIGHT
  enable_btm: false
  enable_rrm: false
  passive_scan: false
  enable_on_boot: true
  min_auth_mode: WPA2
  networks:
    - ssid: test
      password: testtest
      priority: 0
  use_address: cinema-plug.local
captive_portal: {}
esp32_improv:
  authorizer: null
  identify_duration: 10s
  authorized_duration: 1min
  wifi_timeout: 90s
dashboard_import:
  package_import_url: github://athom-tech/esp32-configs/athom-smart-plug.yaml
  import_full_config: false
uart:
  - rx_pin:
      number: 20
      mode:
        input: true
        output: false
        open_drain: false
        pullup: false
        pulldown: false
      inverted: false
      ignore_pin_validation_error: false
      ignore_strapping_warning: false
      drive_strength: 20.0
    baud_rate: 4800
    data_bits: 8
    stop_bits: 1
    parity: EVEN
    rx_buffer_size: 256
    rx_timeout: 2
globals:
  - id: total_energy
    type: float
    restore_value: true
    initial_value: '0.0'
  - id: restore_mode
    type: int
    restore_value: true
    initial_value: '2'
select:
  - platform: template
    name: Power On State
    id: power_mode
    optimistic: true
    icon: mdi:electric-switch
    options:
      - Always Off
      - Always On
      - Restore Power Off State
    on_value:
      - then:
          - lambda: !lambda |-
              id(restore_mode)=i+1;
    disabled_by_default: false
    update_interval: 60s
    initial_option: Always Off
binary_sensor:
  - platform: status
    name: Status
    icon: mdi:check-network-outline
    entity_category: diagnostic
    disabled_by_default: false
    device_class: connectivity
  - platform: gpio
    pin:
      number: 3
      mode:
        input: true
        pullup: true
        output: false
        open_drain: false
        pulldown: false
      inverted: true
      ignore_pin_validation_error: false
      ignore_strapping_warning: false
      drive_strength: 20.0
    name: Power Button
    id: power_button
    disabled_by_default: true
    on_multi_click:
      - timing:
          - state: true
            min_length: 0ms
            max_length: 1s
          - state: false
            min_length: 200ms
        then:
          - switch.toggle:
              id: relay
        invalid_cooldown: 1s
      - timing:
          - state: true
            min_length: 4s
        then:
          - button.press:
              id: Reset
        invalid_cooldown: 1s
    use_interrupt: true
    interrupt_type: ANY
sensor:
  - platform: uptime
    name: Uptime Sensor
    id: uptime_sensor
    entity_category: diagnostic
    disabled_by_default: false
    force_update: false
    icon: mdi:timer-outline
    accuracy_decimals: 0
    device_class: timestamp
    type: timestamp
  - platform: wifi_signal
    name: WiFi Signal dB
    id: wifi_signal_db
    update_interval: 60s
    entity_category: diagnostic
    disabled_by_default: false
    force_update: false
    unit_of_measurement: dBm
    accuracy_decimals: 0
    device_class: signal_strength
    state_class: measurement
  - platform: copy
    source_id: wifi_signal_db
    name: WiFi Signal Percent
    filters:
      - lambda: !lambda |-
          return min(max(2 * (x + 100.0), 0.0), 100.0);
    unit_of_measurement: Signal %
    entity_category: diagnostic
    device_class: ''
    disabled_by_default: false
    force_update: false
    accuracy_decimals: 0
    state_class: measurement
  - platform: cse7766
    id: athom_cse7766
    current:
      name: Current
      icon: mdi:current-ac
      filters:
        - throttle_average: 10s
        - lambda: !lambda |-
            if (x < 0.060) return 0.0; else return x;
      on_value_range:
        - above: 16.0
          then:
            - switch.turn_off:
                id: relay
      disabled_by_default: false
      force_update: false
      unit_of_measurement: A
      accuracy_decimals: 2
      device_class: current
      state_class: measurement
    voltage:
      name: Voltage
      icon: mdi:sine-wave
      filters:
        - throttle_average: 10s
      disabled_by_default: false
      force_update: false
      unit_of_measurement: V
      accuracy_decimals: 1
      device_class: voltage
      state_class: measurement
    power:
      name: Power
      id: power_sensor
      icon: mdi:power
      filters:
        - throttle_average: 10s
        - lambda: !lambda |-
            if (x < 3.0) return 0.0; else return x;
      disabled_by_default: false
      force_update: false
      unit_of_measurement: W
      accuracy_decimals: 1
      device_class: power
      state_class: measurement
    energy:
      name: Energy
      id: energy
      icon: mdi:lightning-bolt
      unit_of_measurement: kWh
      filters:
        - throttle: 10s
        - multiply: 0.001
      on_value:
        - then:
            - lambda: !lambda |-
                static float previous_energy_value = 0.0;
                float current_energy_value = id(energy).state;
                id(total_energy) += current_energy_value - previous_energy_value;
                previous_energy_value = current_energy_value;
                id(total_energy_sensor).update();
      disabled_by_default: false
      force_update: false
      accuracy_decimals: 3
      device_class: energy
      state_class: total_increasing
    apparent_power:
      name: Apparent Power
      icon: mdi:power
      filters:
        - throttle_average: 10s
      disabled_by_default: false
      force_update: false
      unit_of_measurement: VA
      accuracy_decimals: 1
      device_class: apparent_power
      state_class: measurement
    reactive_power:
      name: Reactive Power
      icon: mdi:flash
      filters:
        - throttle_average: 10s
      disabled_by_default: false
      force_update: false
      unit_of_measurement: var
      accuracy_decimals: 1
      device_class: reactive_power
      state_class: measurement
    power_factor:
      name: Power Factor
      icon: mdi:percent-outline
      filters:
        - throttle_average: 10s
      disabled_by_default: false
      force_update: false
      accuracy_decimals: 2
      device_class: power_factor
      state_class: measurement
  - platform: template
    name: Total Energy
    id: total_energy_sensor
    unit_of_measurement: kWh
    device_class: energy
    state_class: total_increasing
    icon: mdi:lightning-bolt
    accuracy_decimals: 3
    lambda: !lambda |-
      return id(total_energy);
    update_interval: 10s
    disabled_by_default: false
    force_update: false
  - platform: total_daily_energy
    name: Total Daily Energy
    restore: true
    power_id: power_sensor
    unit_of_measurement: kWh
    icon: mdi:hours-24
    accuracy_decimals: 3
    filters:
      - multiply: 0.001
    disabled_by_default: false
    force_update: false
    device_class: energy
    state_class: total_increasing
    method: right
button:
  - platform: restart
    name: Restart
    entity_category: config
    disabled_by_default: false
    icon: mdi:restart
    device_class: restart
  - platform: factory_reset
    name: Factory Reset
    id: Reset
    entity_category: config
    disabled_by_default: false
    icon: mdi:restart-alert
    device_class: restart
  - platform: safe_mode
    name: Safe Mode
    internal: false
    entity_category: config
    disabled_by_default: false
    icon: mdi:restart-alert
    device_class: restart
switch:
  - platform: gpio
    name: Switch
    pin:
      number: 5
      mode:
        output: true
        input: false
        open_drain: false
        pullup: false
        pulldown: false
      inverted: false
      ignore_pin_validation_error: false
      ignore_strapping_warning: false
      drive_strength: 20.0
    id: relay
    restore_mode: ALWAYS_OFF
    icon: mdi:power-socket-us
    disabled_by_default: false
    interlock_wait_time: 0ms
light:
  - platform: status_led
    name: Status LED
    id: blue_led
    icon: mdi:lightbulb-outline
    disabled_by_default: true
    pin:
      inverted: true
      number: 6
      mode:
        output: true
        input: false
        open_drain: false
        pullup: false
        pulldown: false
      ignore_pin_validation_error: false
      ignore_strapping_warning: false
      drive_strength: 20.0
    restore_mode: ALWAYS_OFF
time:
  - platform: homeassistant
    id: homeassistant_time
    timezone: CET-1CEST,M3.5.0,M10.5.0/3
    update_interval: 15min
output: []

INFO Configuration is valid!


Met alleen de package van Athom zou je dus prima moeten kunnen compilen en aan het einde een configuratie moeten krijgen. Als ik bovenstaande config zie kan ik me voorstellen dat 'low powered hardware' het zwaar heeft en daarom crasht. Even een aanname dat jij Home Assistant / ESPHome op dit soort hardware draait.

Als ik trouwens de c3-minimal package toevoeg loopt ie in eerste instantie spaak op wifi_signal_db. Deze is vrij gemakkelijk te verhelpen door de volgende regel:
YAML:
1
2
sensor:
  id: !remove wifi_signal_db


Vervolgens komen we inderdaad op het stukje van de restart button:
code:
1
2
3
4
5
6
7
8
9
10
INFO ESPHome 2025.11.2
INFO Reading configuration /config/esphome/cinema-plug.yaml...
Failed config

button.restart: [source /data/packages/8f94d484/packages/bermuda-proxy-include-common.yaml:55]
  
  Duplicate button entity with name 'Restart' found. Conflicts with entity 'Restart' (id: ) from component 'button.restart'. Each entity on a device must have a unique name within its platform.
  platform: restart
  name: Restart
  entity_category: config


Dit komt doordat meneer of mevrouw agittins van bermuda geen id heeft toegevoegd aan zijn of haar config:
YAML:
1
2
3
4
button:
  - platform: restart
    name: "Restart"
    entity_category: config


Je / we kunnen deze configuratie uitkleden om zonder packages te werken of je kunt een issue aanmaken op zijn of haar GitHub pagina met de vraag om deze id alsnog toe te voegen.

https://github.com/agittins/bermuda-proxies

[ Voor 9% gewijzigd door CDAAbeltje op 02-12-2025 22:55 ]


  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 12-12 15:16

CDAAbeltje

Cool Down !

Even inhakend op het verhaal watermeter. Ik draai hier een zelf gemaakte watermeter met een ESP8266 icm LJ18A3-8-Z/BX-5V pulse counter. De volgende configuratie gebruik ik hiervoor:

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
# ESPHome instellingen
esphome:
  name: "watermeter"
  friendly_name: "Watermeter"
  comment: "ESP8266 met LJ18A3-8-Z/BX-5V pulse counter"

esp8266:
  board: d1_mini
  restore_from_flash: true

# Schakel logging in
logger:

# Debug:
debug:
  update_interval: 10s  

# Home Assistant API aan
api:
  encryption:
    key: !secret api_password
  services:
    - service: meterstand_water
      variables:
        meter_value: float
      then:
        - globals.set:
            id: initial_water_usage
            value: !lambda "return ( meter_value - (id(total_water_pulses)) * atof(id(Select_pulse_water).state.c_str()) ) ;"
        - globals.set:
            id: total_water_pulses
            value:  "0"

# OTA instellingen
ota:
  platform: esphome
  password: !secret ota_password

# WiFi instellingen:
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  power_save_mode: none

  # Statische IP instellingen
  manual_ip:
    static_ip: xxx.xxx.xxx.xxx
    gateway: xxx.xxx.xxx.xxx
    subnet: xxx.xxx.xxx.xxx

# Tijd Synchroniseren met Home Assistant:
time:
  - platform: homeassistant
    id: huidige_tijd
    on_time_sync:
      - component.update: uptime_timestamp

# Globals
globals:
  - id: initial_water_usage
    type: float
    restore_value: yes      
    initial_value: '010' 
  - id: total_water_pulses
    type: int
    restore_value: yes

# Water Per m³ Rate
select:
  - platform: template
    name: "Pulsrate Water Per  (0.001 default)"
    id: Select_pulse_water
    optimistic: true
    options:
      - "0.0001"
      - "0.0005"
      - "0.001"  
      - "0.01"  
      - "0.1"                   
    initial_option: "0.001"
    restore_value: yes
    on_value:
      then:
        - logger.log:
            format: "Chosen option: %s "
            args: ["x.c_str()"]

# Watermeter
binary_sensor:
  - platform: gpio
    id: internal_pulse_counter
    name: Pulssensor Bedrijf
    pin:
      number: GPIO12
      allow_other_uses: true
      inverted: true
      mode:
        input: true
    on_press:
      - then:
          lambda: id(total_water_pulses) += 1;
# Status Watermeter
  - platform: status
    name: "Status"

# Herstart Informatie:
text_sensor:
  - platform: debug
    reset_reason:
      name: Herstart Informatie
# IP Adres & SSID
  - platform: wifi_info
    ip_address:
      name: IP Address
      icon: mdi:ip-network-outline
    ssid:
      name: SSID
      icon: mdi:wifi-lock
# ESPHome Versie
  - platform: version
    name: ESPHome Versie
    hide_timestamp: true
    entity_category: diagnostic

sensor:
# Watermeter Pulsen
  - platform: pulse_counter
    pin: 
      number: GPIO12
      allow_other_uses: true
    id: watermeter_pulse
    name: "Liters Per Minuut"
    update_interval: 5s
    state_class: measurement
    unit_of_measurement: "l/min"    
    accuracy_decimals: 1
    icon: "mdi:water-pump"
    filters:
      lambda: return x * atof(id(Select_pulse_water).state.c_str()) * 1000;

# Totaal Watermeter
    total:
      id: sensor_pulse_meter_total
      name: "Waterverbruik Totaal"
      unit_of_measurement: "m³"
      state_class: total_increasing
      icon: mdi:pulse
      device_class: water
      accuracy_decimals: 3
      filters:
        lambda: return x * atof(id(Select_pulse_water).state.c_str());

# Uptime Sensor
  - platform: uptime
    name: Uptime Verborgen
    id: uptime_seconds    
    unit_of_measurement: h
    device_class: duration
    state_class: total_increasing
    entity_category: diagnostic
    update_interval: 10s
    icon: mdi:clock-start
    internal: true
  - platform: template
    id: uptime_timestamp
    name: Uptime
    device_class: timestamp
    entity_category: diagnostic
    accuracy_decimals: 0
    update_interval: never
    icon: mdi:clock-start
    lambda: |-
      static float timestamp = (
        id(huidige_tijd).utcnow().timestamp - id(uptime_seconds).state
      );
      return timestamp;  

# Wi-Fi Signaal Info
  - platform: wifi_signal
    name: Wi-Fi Signaalsterkte dB
    icon: mdi:wifi
    id: wifi_signal_db
    update_interval: 10s
    entity_category: "diagnostic"
  - platform: copy # Reports the WiFi signal strength in %
    source_id: wifi_signal_db
    name: Wi-Fi Signaalsterkte
    icon: mdi:signal
    filters:
      - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
    unit_of_measurement: "%"
    entity_category: "diagnostic"
    device_class: ""
  - platform: template
    name: Wi-Fi Kanaal
    icon: mdi:wifi-settings
    lambda: return WiFi.channel();
    entity_category: "diagnostic"
    accuracy_decimals: 0
    update_interval: 60s   
      
# Watermeterstand Bij Benadering
  - platform: template
    id: watermeter_total
    name: "Meterstand"
    state_class: "total_increasing"
    icon: mdi:counter
    unit_of_measurement: "m³"
    accuracy_decimals: 3
    update_interval: 10s
    lambda: return id(initial_water_usage) + (id(total_water_pulses) * atof(id(Select_pulse_water).state.c_str()));

# Waterverbruik HA Energy Dashboard
  - platform: template
    id: watermeter_pulses
    name: "Water Verbruik Totaal"
    device_class: "energy"
    unit_of_measurement: "m3"
    state_class: "total_increasing"
    icon: mdi:pulse
    accuracy_decimals: 0
    lambda: return id(total_water_pulses);
    internal: True

# VCC
  - platform: adc
    pin: VCC
    name: "VCC Voltage"

# Herstart Node
button:
  - platform: restart
    name: "Herstart"
    icon: "mdi:restart"
# Safe Mode
  - platform: safe_mode
    name: "! Safe Mode !"
    icon: mdi:alert-octagram-outline
    entity_category: "config"    

# Status LED:    
status_led:
  pin: 
    number: GPIO2
    inverted: true


Wellicht heeft iemand er hier wat aan :)

  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
CDAAbeltje schreef op dinsdag 2 december 2025 @ 22:26:
[...]


Het crashen is erg vreemd maar is mij een paar jaar geleden op niet zulke krachtige hardware ook wel eens gebeurt. Op welk stukje hardware draai jij Home Assistant?

Je kunt nog proberen om de volgende regel toe te voegen aan je configuratie onder het kopje ESPHome:
code:
1
compile_process_limit: 1


The maximum number of simultaneous compile processes to run. Defaults to the number of cores of the CPU which is also the maximum you can set.
Ik weet niet of ik het goed doe, maar ik kon hem daarpas de plug controle over nemen. Ik heb geen idee of alles nu goed gelopen is.. maar kreeg nu de vraag of ik de config wou pushen of iets in die aard:, ik klik ja
Toen liep hij ik krijg ik weer dit:
Afbeeldingslocatie: https://i.ibb.co/hRHFfQ4M/1.jpg


Ik draai alles op een pi 4 met SSD (dus geen SD kaartje), en eigenlijk nog nooit problemen gehad.

Hij is volgens mij dus terug herstart...

  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 12-12 15:16

CDAAbeltje

Cool Down !

skank schreef op woensdag 3 december 2025 @ 10:26:
[...]


Ik weet niet of ik het goed doe, maar ik kon hem daarpas de plug controle over nemen. Ik heb geen idee of alles nu goed gelopen is.. maar kreeg nu de vraag of ik de config wou pushen of iets in die aard:, ik klik ja
Toen liep hij ik krijg ik weer dit:
[Afbeelding]


Ik draai alles op een pi 4 met SSD (dus geen SD kaartje), en eigenlijk nog nooit problemen gehad.

Hij is volgens mij dus terug herstart...
Heb je het volgende stukje code toegevoegd onder de regel esphome?:
code:
1
 compile_process_limit: 1

  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
CDAAbeltje schreef op woensdag 3 december 2025 @ 10:53:
[...]


Heb je het volgende stukje code toegevoegd onder de regel esphome?:
code:
1
 compile_process_limit: 1
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
substitutions:
  name: athom-smart-plug-v3-50b0c4
  friendly_name: Cinema
packages:
  Athom_Technology.Smart_Plug_V3: github://athom-tech/esp32-configs/athom-smart-plug.yaml
esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
  compile_process_limit: 1
api:
  encryption:
    key: R6BlgudqJ9XgvnyT8abz47k9+sIXnqXLRMtc6klUOlA=


wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password


Zo he.
Ik heb nu save gedaan en dan install wirelesly, hij is nu bezig

  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 12-12 15:16

CDAAbeltje

Cool Down !

skank schreef op woensdag 3 december 2025 @ 11:08:
[...]

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
substitutions:
  name: athom-smart-plug-v3-50b0c4
  friendly_name: Cinema
packages:
  Athom_Technology.Smart_Plug_V3: github://athom-tech/esp32-configs/athom-smart-plug.yaml
esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
  compile_process_limit: 1
api:
  encryption:
    key: R6BlgudqJ9XgvnyT8abz47k9+sIXnqXLRMtc6klUOlA=


wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password


Zo he.
Ik heb nu save gedaan en dan install wirelesly, hij is nu bezig
Yep, correct. Ben benieuwd of het compilen nu wel goed gaat. Zal wel even duren gok ik.
Let me know!

  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
CDAAbeltje schreef op woensdag 3 december 2025 @ 11:14:
[...]


Yep, correct. Ben benieuwd of het compilen nu wel goed gaat. Zal wel even duren gok ik.
Let me know!
Duurde idd even, maar niet herstart nu.
Ik denk dat het gelukt is?
Afbeeldingslocatie: https://i.ibb.co/XfP82NJ4/1.jpg

Mag ik dat nu sluiten?
En wat met die bermuda nu?

Ik moet ook nog de andere plug doen

  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 12-12 15:16

CDAAbeltje

Cool Down !

skank schreef op woensdag 3 december 2025 @ 11:54:
[...]


Duurde idd even, maar niet herstart nu.
Ik denk dat het gelukt is?
[Afbeelding]

Mag ik dat nu sluiten?
En wat met die bermuda nu?

Ik moet ook nog de andere plug doen
Nice! Compilen en uploaden is dus gelukt. Mooizo. Mag je sluiten inderdaad.
Zal even kijken of ik vanmiddag nog tijd heb om naar Bermuda te kijken. Iets met de goedheiligman..

Is de plug nu online? Zowel via het ESPHome Dashboard en de web interface?

  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 12-12 15:16

CDAAbeltje

Cool Down !

Oke, ik heb het verhaal Bermuda even snel voor je ontleed. Hieronder de configuratie met Bermuda opties, zonder package. Als ik in mijn test omgeving deze configuratie valideer dan is ie valide.

Kopieer dus deze configuratie in jouw ESPHome dashboard -> Save -> Validate -> Clean Build Files -> Install Wireless.

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
substitutions:
  name: cinema-plug
  friendly_name: Cinema - Plug ESP32
  relay_restore_mode: ALWAYS_OFF

packages:
  Athom_Technology.Smart_Plug_V3: github://athom-tech/esp32-configs/athom-smart-plug.yaml

esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}

esp32:
  framework: 
    type: esp-idf
    sdkconfig_options: 
      CONFIG_BT_BLE_42_FEATURES_SUPPORTED: y
      CONFIG_ESP_TASK_WDT_TIMEOUT_S: "10"

logger:
  baud_rate: 0

api:
  on_client_connected:
     - esp32_ble_tracker.start_scan:
        continuous: true
  on_client_disconnected:
    if:
      condition:
        not:
          api.connected:
      then:
        - esp32_ble_tracker.stop_scan:
  encryption:
    key: R6BlgudqJ9XgvnyT8abz47k9+sIXnqXLRMtc6klUOlA=          

esp32_ble_tracker:
  scan_parameters:
    continuous: False
    active: True
    interval: 320ms
    window: 300ms

bluetooth_proxy:
  active: True                   

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "ESP32 Fallback Hotspot"
    password: eigenwachtwoord

text_sensor: !remove

time:
  - id: !remove sntp_time
  - id: homeassistant_time
    platform: homeassistant


Verander onder ap even 'eigenwachtwoord' naar jouw wachtwoord.

Clean Build Files is wel weer even belangrijk gezien er een aantal opties bijkomen en je nog met de Athom package zit. Wederom geduldig zijn tijdens het compilen. Ik hoor wel of het gelukt is en alles naar wens is :)

  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
CDAAbeltje schreef op woensdag 3 december 2025 @ 12:08:
[...]


Nice! Compilen en uploaden is dus gelukt. Mooizo. Mag je sluiten inderdaad.
Zal even kijken of ik vanmiddag nog tijd heb om naar Bermuda te kijken. Iets met de goedheiligman..

Is de plug nu online? Zowel via het ESPHome Dashboard en de web interface?
Beide zijn online:
Afbeeldingslocatie: https://i.ibb.co/NnnKXX4F/2.jpg

De tweede kan ik via de knop visit niet bezoeken, de eerste wel, heel vreemd.
Ik kreeg ook dit te zien:
Afbeeldingslocatie: https://i.ibb.co/d0LHYVQd/1.jpg

Beide zijn wel via ip te bereiken.

  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
CDAAbeltje schreef op woensdag 3 december 2025 @ 12:50:
Oke, ik heb het verhaal Bermuda even snel voor je ontleed. Hieronder de configuratie met Bermuda opties, zonder package. Als ik in mijn test omgeving deze configuratie valideer dan is ie valide.

Kopieer dus deze configuratie in jouw ESPHome dashboard -> Save -> Validate -> Clean Build Files -> Install Wireless.

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
substitutions:
  name: cinema-plug
  friendly_name: Cinema - Plug ESP32
  relay_restore_mode: ALWAYS_OFF

packages:
  Athom_Technology.Smart_Plug_V3: github://athom-tech/esp32-configs/athom-smart-plug.yaml

esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}

esp32:
  framework: 
    type: esp-idf
    sdkconfig_options: 
      CONFIG_BT_BLE_42_FEATURES_SUPPORTED: y
      CONFIG_ESP_TASK_WDT_TIMEOUT_S: "10"

logger:
  baud_rate: 0

api:
  on_client_connected:
     - esp32_ble_tracker.start_scan:
        continuous: true
  on_client_disconnected:
    if:
      condition:
        not:
          api.connected:
      then:
        - esp32_ble_tracker.stop_scan:
  encryption:
    key: R6BlgudqJ9XgvnyT8abz47k9+sIXnqXLRMtc6klUOlA=          

esp32_ble_tracker:
  scan_parameters:
    continuous: False
    active: True
    interval: 320ms
    window: 300ms

bluetooth_proxy:
  active: True                   

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "ESP32 Fallback Hotspot"
    password: eigenwachtwoord

text_sensor: !remove

time:
  - id: !remove sntp_time
  - id: homeassistant_time
    platform: homeassistant


Verander onder ap even 'eigenwachtwoord' naar jouw wachtwoord.

Clean Build Files is wel weer even belangrijk gezien er een aantal opties bijkomen en je nog met de Athom package zit. Wederom geduldig zijn tijdens het compilen. Ik hoor wel of het gelukt is en alles naar wens is :)
Voordat ik validate , clean files en install wireless doe, moet dit terug onder esphome:
compile_process_limit:
?

  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 12-12 15:16

CDAAbeltje

Cool Down !

skank schreef op woensdag 3 december 2025 @ 13:43:
[...]


Beide zijn online:
[Afbeelding]

De tweede kan ik via de knop visit niet bezoeken, de eerste wel, heel vreemd.
Ik kreeg ook dit te zien:
[Afbeelding]

Beide zijn wel via ip te bereiken.
@skank, deze foutmelding komt voort uit het resolven van de node via mdns omdat je geen vaste IP adressen hebt opgenomen in jouw configuratie(s).
Op welk IP adres zit jouw plug? Wat is jouw subnet en wat is jouw gateway adres?
Mag je ook even via een privé bericht doen hoor als je dat prettiger vind. Kan je dan zo even de configuratie aanpassen zodat je met vaste IP adressen gaat werken. Is sowieso wel aan te raden, minder foutgevoelig, stabieler en meer toekomstbestendig.

[ Voor 35% gewijzigd door CDAAbeltje op 03-12-2025 15:08 ]


  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 12-12 15:16

CDAAbeltje

Cool Down !

skank schreef op woensdag 3 december 2025 @ 13:49:
[...]


Voordat ik validate , clean files en install wireless doe, moet dit terug onder esphome:
compile_process_limit:
?
Yes!
code:
1
compile_process_limit: 1
moet er nog wel weer even bij in onder het kopje esphome. Goed opgemerkt!

  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
CDAAbeltje schreef op woensdag 3 december 2025 @ 14:08:
[...]


Hier kijk ik vanavond of morgen even naar.
Compiling lijkt te lukken, alleen het uploaden niet.
Afbeeldingslocatie: https://i.ibb.co/TMXLL6K0/1.jpg

Dan maar manually via OTA webui?

  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 12-12 15:16

CDAAbeltje

Cool Down !

skank schreef op woensdag 3 december 2025 @ 15:07:
[...]


Compiling lijkt te lukken, alleen het uploaden niet.
[Afbeelding]

Dan maar manually via OTA webui?
Voor nu idd even via de webui OTA. Met een vast IP adres zul je alsnog een keer via de webui moeten updaten. Hierna kan het OTA via ESPHome Dashboard.

  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
CDAAbeltje schreef op woensdag 3 december 2025 @ 15:11:
[...]


Voor nu idd even via de webui OTA. Met een vast IP adres zul je alsnog een keer via de webui moeten updaten. Hierna kan het OTA via ESPHome Dashboard.
Ok zal hem es opnieuw doen p:
Merci voor je hulp he

  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 12-12 15:16

CDAAbeltje

Cool Down !

skank schreef op woensdag 3 december 2025 @ 15:25:
[...]


Ok zal hem es opnieuw doen p:
Merci voor je hulp he
Graag gedaan! Zie mijn eerdere bericht van 14:08u (aangepast) voor wat betreft de foutmelding en vaste IP adressen.

  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
CDAAbeltje schreef op woensdag 3 december 2025 @ 15:47:
[...]


Graag gedaan! Zie mijn eerdere bericht van 14:08u (aangepast) voor wat betreft de foutmelding en vaste IP adressen.
pb

  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 12-12 15:16

CDAAbeltje

Cool Down !

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
substitutions:
  name: cinema-plug
  friendly_name: Cinema - Plug ESP32
  relay_restore_mode: ALWAYS_OFF

packages:
  Athom_Technology.Smart_Plug_V3: github://athom-tech/esp32-configs/athom-smart-plug.yaml

esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
  compile_process_limit: 1

esp32:
  framework: 
    type: esp-idf
    sdkconfig_options: 
      CONFIG_BT_BLE_42_FEATURES_SUPPORTED: y
      CONFIG_ESP_TASK_WDT_TIMEOUT_S: "10"

logger:
  baud_rate: 0

api:
  on_client_connected:
     - esp32_ble_tracker.start_scan:
        continuous: true
  on_client_disconnected:
    if:
      condition:
        not:
          api.connected:
      then:
        - esp32_ble_tracker.stop_scan:
  encryption:
    key: R6BlgudqJ9XgvnyT8abz47k9+sIXnqXLRMtc6klUOlA=          

esp32_ble_tracker:
  scan_parameters:
    continuous: False
    active: True
    interval: 320ms
    window: 300ms

bluetooth_proxy:
  active: True                   

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "ESP32 Fallback Hotspot"
    password: eigenwachtwoord
  manual_ip: 
    static_ip: 123.123.123.123
    subnet: 123.123.123.123
    gateway: 123.123.123.123

text_sensor: !remove

time:
  - id: !remove sntp_time
  - id: homeassistant_time
    platform: homeassistant


Verander 123.123.123.123 even in jouw eigen IP adres, subnet en gateway. Pak het IP adres waarop het betreffende apparaat momenteel beschikbaar is.
Save -> Validate -> Clean Build Files -> Install /Manual Download -> Upload via Web GUI.

Let me know! :)

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 00:58

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@CDAAbeltje Ipv een statisch IP is het makkelijker om use_address om het adres (eenmalig) goed te zetten.

  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 12-12 15:16

CDAAbeltje

Cool Down !

Septillion schreef op woensdag 3 december 2025 @ 20:44:
@CDAAbeltje Ipv een statisch IP is het makkelijker om use_address om het adres (eenmalig) goed te zetten.
Dat kan inderdaad ook. Ik zie er persoonlijk geen reden toe om dit niet hard in de configuratie te zetten. Door een statisch IP toe te wijzen vanuit een configuratie ben je wat mij betreft wat toekomst bestendiger met eventuele wijzigingen aan de kant van ESPHome :)

code:
1
use_address
is met name handig als je een statisch IP adres in je configuratie hebt staan en deze wil wijzigen naar een nieuw (gewijzigd) IP adres.

code:
1
 Example, if you have changed your static IP and want to flash OTA to the previously configured IP address.

[ Voor 22% gewijzigd door CDAAbeltje op 04-12-2025 00:30 ]


  • Bockelaar
  • Registratie: Juli 2001
  • Laatst online: 13-12 12:49
ik gebruik eigenlijk nooit statische adressen anders dan reserveringen in de DHCP. Op die manier blijft de ESP altijd op hetzelfde ipadres maar kun je op 1 plek je IPAM doen ipv per device configureren :)

Remember: A CRAY is the only computer that runs an endless loop in just 4 hours...


  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 23:35
Is het mogelijk om met ESPHome piepjes te herkennen? Denk aan een afwasmachine die een piep patroon heeft als die klaar is. Volgens mij heb ik wel eens zo'n ESP projectjes gezien, maar ik denk "op maat" en niet met ESPHome.

Pluspunten als het met een gewone microfoon kan die tegelijkertijd ook voor voice gebruikt kan worden :p

  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 12-12 15:16

CDAAbeltje

Cool Down !

Bockelaar schreef op donderdag 4 december 2025 @ 10:07:
ik gebruik eigenlijk nooit statische adressen anders dan reserveringen in de DHCP. Op die manier blijft de ESP altijd op hetzelfde ipadres maar kun je op 1 plek je IPAM doen ipv per device configureren :)
Uiteraard ook een prima insteek!

Ik zie het door een andere bril.. Voor de gebruikers met een modem/router vanuit een provider, stel deze wordt vervangen, gewist of je stapt over. DHCP reserveringen zijn weg en zo kun je opnieuw beginnen. Daarentegen heb je hier met vaste IP adressen geen last van. Je tuigt het juiste netwerk op en alle nodes zijn weer online.

Voor de gebruikers met een eigen router vind ik het een vrije logische aanpak. Al moet een migratie/export/import van de DHCP reserveringen wel mogelijk zijn mocht er een router swap plaatsvinden.

Zo heeft iedereen een eigen aanpak. Er is geen goed of fout. If it works it ain’t stupid :)

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 23:35
CDAAbeltje schreef op donderdag 4 december 2025 @ 10:30:
Voor de gebruikers met een modem/router vanuit een provider, stel deze wordt vervangen, gewist of je stapt over. DHCP reserveringen zijn weg en zo kun je opnieuw beginnen. Daarentegen heb je hier met vaste IP adressen geen last van. Je tuigt het juiste netwerk op en alle nodes zijn weer online.
Het subnet van een provider router aanpassen is ook niet altijd even makkelijk. En het kan ook nog wel eens voor komen dat specifieke subnets helemaal niet aangepast kunnen worden.
Als je dus tegen zo'n probleem aanloopt ben je nog verder van huis.

Overigens werkt in mijn ervaring mDNS tussen ESPHome en HA ook prima. Ik zie zelf niet eens de behoefte om de IPs vast te zetten. Waarbij de ESP32s IIRC intussen ook prima over IPv6 verbinden (ESP8266 ondersteund geen IPv6 denk ik). IPv6 moet je wel specifiek aan zetten in de device yaml.

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 00:58

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@CDAAbeltje Dan verschilt onze bril 180 graden. Ik doe statische IP's juist altijd via DHCP omdat ik op die manier maar een enkele plek heb waar ik dat bij hoef te houden. Geen losse lijstjes, IP conflicten etc. Gewoon één automatisch overzicht. En zou ik overgaan hoef ik alleen die ene lijst 1 op 1 over te zetten.

Maar als we het hebben over de meeste smart devices incl ESPHome, gewoon geen vast IP. De lijst met vaste IP's is hier dus ook best beperkt.

Er is inderdaad geen goed of fout, maar ik zit met @RobertMe in een team :+

  • DjoeC
  • Registratie: November 2018
  • Laatst online: 22:51
Ik geef ook zoveel mogelijk vaste IP's in de DHCP. Op die manier zijn ze ook na wat geklooi (zolang ze hetzelfde MAC adres hebben) gewoon bereikbaar. Ik probeer een vast adres in de devices te vermijden maar gebruik als mogelijk daar wel een vaste hostnaam (ESP-01, ESP-02, etc.) Als je dan ook het MAC adres nog in de code kunt spoofen kun je ook makkelijk een device vervangen.

Correctie: Niet in de DHCP maar een IP adres buiten de DHCP in de Fritzbox. Ik heb inmiddels mijn netmask opgerekt naar 255.255.254.0/23 waardoor ik nu 500 IP adressen (in het 10.x.x.x netwerk) beschikbaar heb. Daarvan 100 in DHCP. Sommige devices hebben meerdere IP adressen.

[ Voor 26% gewijzigd door DjoeC op 05-12-2025 00:10 ]


  • babbelbox
  • Registratie: Maart 2003
  • Laatst online: 18:56
DjoeC schreef op donderdag 4 december 2025 @ 11:44:
Ik geef ook zoveel mogelijk vaste IP's in de DHCP. Op die manier zijn ze ook na wat geklooi (zolang ze hetzelfde MAC adres hebben) gewoon bereikbaar. Ik probeer een vast adres in de devices te vermijden maar gebruik als mogelijk daar wel een vaste hostnaam (ESP-01, ESP-02, etc.) Als je dan ook het MAC adres nog in de code kunt spoofen kun je ook makkelijk een device vervangen.

Correctie: Niet in de DHCP maar een IP adres buiten de DHCP in de Fritzbox. Ik heb inmiddels mijn netmask opgerekt naar 255.255.254/23 waardoor ik nu 500 IP adressen (in het 10.x.x.x netwerk) beschikbaar heb. Daarvan 100 in DHCP. Sommige devices hebben meerdere IP adressen.
Je bedoelt 255.255.254.0 ofwel een /23 ;)

  • heintjeput
  • Registratie: Juni 2003
  • Laatst online: 21:43
RobertMe schreef op donderdag 4 december 2025 @ 10:27:
Is het mogelijk om met ESPHome piepjes te herkennen? Denk aan een afwasmachine die een piep patroon heeft als die klaar is. Volgens mij heb ik wel eens zo'n ESP projectjes gezien, maar ik denk "op maat" en niet met ESPHome.

Pluspunten als het met een gewone microfoon kan die tegelijkertijd ook voor voice gebruikt kan worden :p
Ik denk dat zoiets wel kan, je wilt dan waarschijnlijk een FFT algoritme draaien om de piep met frequentie te detecteren. Anders dan wordt het snel heel foutgevoelig.

Ik kan er alleen niet direct één vinden die al geïmplementeerd is ESPhome. Dus ik zou daar eens naar zoeken als ik jou was.

  • skank
  • Registratie: Januari 2003
  • Laatst online: 00:06
CDAAbeltje schreef op woensdag 3 december 2025 @ 19:35:
[...]


YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
substitutions:
  name: cinema-plug
  friendly_name: Cinema - Plug ESP32
  relay_restore_mode: ALWAYS_OFF

packages:
  Athom_Technology.Smart_Plug_V3: github://athom-tech/esp32-configs/athom-smart-plug.yaml

esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
  compile_process_limit: 1

esp32:
  framework: 
    type: esp-idf
    sdkconfig_options: 
      CONFIG_BT_BLE_42_FEATURES_SUPPORTED: y
      CONFIG_ESP_TASK_WDT_TIMEOUT_S: "10"

logger:
  baud_rate: 0

api:
  on_client_connected:
     - esp32_ble_tracker.start_scan:
        continuous: true
  on_client_disconnected:
    if:
      condition:
        not:
          api.connected:
      then:
        - esp32_ble_tracker.stop_scan:
  encryption:
    key: R6BlgudqJ9XgvnyT8abz47k9+sIXnqXLRMtc6klUOlA=          

esp32_ble_tracker:
  scan_parameters:
    continuous: False
    active: True
    interval: 320ms
    window: 300ms

bluetooth_proxy:
  active: True                   

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "ESP32 Fallback Hotspot"
    password: eigenwachtwoord
  manual_ip: 
    static_ip: 123.123.123.123
    subnet: 123.123.123.123
    gateway: 123.123.123.123

text_sensor: !remove

time:
  - id: !remove sntp_time
  - id: homeassistant_time
    platform: homeassistant


Verander 123.123.123.123 even in jouw eigen IP adres, subnet en gateway. Pak het IP adres waarop het betreffende apparaat momenteel beschikbaar is.
Save -> Validate -> Clean Build Files -> Install /Manual Download -> Upload via Web GUI.

Let me know! :)
Top!
Werkt!
Alles nu :)
Hartelijk bedankt !

  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 17:33
Heeft hier iemand ervaring met de LILYGO T5 4.7 e-paper esp32-s3 en of T5 2.66 Inch E-Paper ESP32?

Ik heb beide schermen geprobeerd, maar het lukt mij dus niet om maar iets op het scherm te krijgen.
Ik wil een schermpje in huis neerzetten waarop eenvoudig de electriciteit uurprijzen te zien zijn.
Ik wil dit neer kunnen zetten zonder kabel, dus met een batterij.

Zoals gezegd met beiden mislukt. Iemand ervaring met deze boards?

  • Villager
  • Registratie: September 2013
  • Laatst online: 20:01
Obelixxx schreef op woensdag 10 december 2025 @ 14:51:
Heeft hier iemand ervaring met de LILYGO T5 4.7 e-paper esp32-s3 en of T5 2.66 Inch E-Paper ESP32?

Ik heb beide schermen geprobeerd, maar het lukt mij dus niet om maar iets op het scherm te krijgen.
Ik wil een schermpje in huis neerzetten waarop eenvoudig de electriciteit uurprijzen te zien zijn.
Ik wil dit neer kunnen zetten zonder kabel, dus met een batterij.

Zoals gezegd met beiden mislukt. Iemand ervaring met deze boards?
Met deze componenten specifiek niet, maar wel met een Waveshare eInk screen. Ik heb dus wel een tip voor je. Voer de gegevens van het scherm (merk, model, type) en welke ESP32 je wilt gebruiken in Claude en deze zal je vraag voor een code voor in ESPhome beantwoorden. Mogelijk niet in een keer helemaal goed, maar met een paar keer wat aanpassingen komen jullie er samen wel uit. Ik heb zelf ongelofelijke resultaten behaald op deze manier (nee, geen aandelen o.i.d.) Succes! ;)
o ja, en werk met een secrets file waar je o.a. de ota key, wifi wachtwoord en api key in bewaard. Zo kun je de gehele code meteen weer veilig in Claude dumpen. Zoiets dus:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ota:
  - platform: esphome
    id: my_ota
    password: !secret guition2_ota_pw

# Enable Home Assistant API
api:
  encryption:
    key: !secret guition2_key

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "Guition-Thermostaat-480"
    password: !secret guition2_fallback_pw

[ Voor 19% gewijzigd door Septillion op 11-12-2025 16:38 . Reden: Denk aan de 'yaml' bij de code tags aub! Zie topic warning en hoe deze post is aangepast. ]


  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 17:33
Villager schreef op donderdag 11 december 2025 @ 16:27:
[...]

Met deze componenten specifiek niet, maar wel met een Waveshare eInk screen. Ik heb dus wel een tip voor je. Voer de gegevens van het scherm (merk, model, type) en welke ESP32 je wilt gebruiken in Claude en deze zal je vraag voor een code voor in ESPhome beantwoorden. Mogelijk niet in een keer helemaal goed, maar met een paar keer wat aanpassingen komen jullie er samen wel uit. Ik heb zelf ongelofelijke resultaten behaald op deze manier (nee, geen aandelen o.i.d.) Succes! ;)
o ja, en werk met een secrets file waar je o.a. de ota key, wifi wachtwoord en api key in bewaard. Zo kun je de gehele code meteen weer veilig in Claude dumpen. Zoiets dus:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ota:
  - platform: esphome
    id: my_ota
    password: !secret guition2_ota_pw

# Enable Home Assistant API
api:
  encryption:
    key: !secret guition2_key

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "Guition-Thermostaat-480"
    password: !secret guition2_fallback_pw
Ga ik proberen.
Waveshare is dus wellicht beter voor mijn project?

  • Villager
  • Registratie: September 2013
  • Laatst online: 20:01
Obelixxx schreef op vrijdag 12 december 2025 @ 10:09:
[...]


Ga ik proberen.
Waveshare is dus wellicht beter voor mijn project?
Nee hoor. Hoeft niet. Het is misschien heel goed mogelijk met jouw hardware. Daar kom je dan wel achter als je de vraag stelt aan Claude. Dus ik stel voor dat je het eerst daarmee probeert.

  • Villager
  • Registratie: September 2013
  • Laatst online: 20:01
Obelixxx schreef op vrijdag 12 december 2025 @ 10:09:
[...]


Ga ik proberen.
Waveshare is dus wellicht beter voor mijn project?
Op basis van wat je aangaf heb ik het even in Claude gestopt:
"Ik heb een LILYGO T5 4.7 e-paper display en wil die aansturen met een ESP32-S3. Kun je een code schrijven die ik kan gebruiken in ESPhome?"
en hier komt hij mee:

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
esphome:
  name: lilygo-epaper
  friendly_name: LILYGO E-Paper Display

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: arduino

# WiFi configuratie
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  
  # Fallback hotspot als WiFi niet werkt
  ap:
    ssid: "Lilygo-Epaper Fallback"
    password: "12345678"

# Captive portal voor configuratie
captive_portal:

# Web server voor diagnostics
web_server:
  port: 80

# Home Assistant API
api:
  encryption:
    key: !secret api_encryption_key

# OTA updates
ota:
  - platform: esphome
    password: !secret ota_password

# Logger
logger:
  level: DEBUG

# SPI bus configuratie
spi:
  clk_pin: GPIO18
  mosi_pin: GPIO23

# Fonts die je wilt gebruiken
font:
  - file: "fonts/arial.ttf"
    id: font_small
    size: 14
  - file: "fonts/arial.ttf"
    id: font_medium
    size: 24
  - file: "fonts/arial.ttf"
    id: font_large
    size: 48
  - file: "fonts/materialdesignicons-webfont.ttf"
    id: font_icons
    size: 48
    glyphs:
      - "\U000F0590" # mdi-weather-cloudy
      - "\U000F0594" # mdi-weather-sunny
      - "\U000F0593" # mdi-weather-rainy
      - "\U000F050F" # mdi-thermometer

# E-paper display configuratie
display:
  - platform: waveshare_epaper
    cs_pin: GPIO5
    dc_pin: GPIO17
    busy_pin: GPIO4
    reset_pin: GPIO16
    model: 4.70in-bw
    rotation: 0
    update_interval: 5min
    
    lambda: |-
      // Achtergrond wit maken
      it.fill(COLOR_OFF);
      
      // Header met donkere balk
      it.filled_rectangle(0, 0, it.get_width(), 60, COLOR_ON);
      
      // Titel in header (wit op zwart)
      it.print(20, 15, id(font_large), COLOR_OFF, "LILYGO T5");
      
      // Huidige tijd
      it.strftime(20, 100, id(font_medium), COLOR_ON, 
                  "Tijd: %H:%M", id(homeassistant_time).now());
      it.strftime(20, 130, id(font_small), COLOR_ON, 
                  "Datum: %d-%m-%Y", id(homeassistant_time).now());
      
      // Lijn
      it.line(20, 160, it.get_width() - 20, 160, COLOR_ON);
      
      // Sensor waarden (voorbeelden)
      it.printf(20, 200, id(font_medium), COLOR_ON, "Temperatuur:");
      if (id(buiten_temp).has_state()) {
        it.printf(20, 230, id(font_large), COLOR_ON, "%.1f°C", 
                  id(buiten_temp).state);
      }
      
      it.printf(20, 290, id(font_medium), COLOR_ON, "Luchtvochtigheid:");
      if (id(buiten_humidity).has_state()) {
        it.printf(20, 320, id(font_large), COLOR_ON, "%.0f%%", 
                  id(buiten_humidity).state);
      }
      
      // Rechthoek met info
      it.rectangle(20, 380, 500, 100, COLOR_ON);
      it.printf(40, 410, id(font_medium), COLOR_ON, "Home Assistant");
      it.printf(40, 440, id(font_small), COLOR_ON, "ESP32-S3 E-paper");
      
      // Footer met update tijd
      it.printf(20, it.get_height() - 40, id(font_small), COLOR_ON, 
                "Laatste update: %s", id(homeassistant_time).now().strftime("%H:%M:%S").c_str());

# Tijd synchronisatie met Home Assistant
time:
  - platform: homeassistant
    id: homeassistant_time
    timezone: Europe/Amsterdam

# Voorbeeld sensoren uit Home Assistant
# Pas deze aan naar jouw eigen sensoren!
sensor:
  - platform: homeassistant
    id: buiten_temp
    entity_id: sensor.buiten_temperatuur
    internal: true
    
  - platform: homeassistant
    id: buiten_humidity
    entity_id: sensor.buiten_luchtvochtigheid
    internal: true
  
  # WiFi signaalsterkte
  - platform: wifi_signal
    name: "WiFi Signaal"
    update_interval: 60s

# Voorbeeld text sensoren
text_sensor:
  - platform: homeassistant
    id: weather_state
    entity_id: weather.thuis
    internal: true

# Voorbeeld binary sensor (knop op het board, indien aanwezig)
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO39
      inverted: true
    name: "Knop"
    on_press:
      - logger.log: "Knop ingedrukt - display update geforceerd"
      - component.update: lilygo_epaper_display

# Deep sleep configuratie (optioneel, voor batterijbesparing)
# Uncomment onderstaande voor batterijgebruik
# deep_sleep:
#   run_duration: 30s
#   sleep_duration: 10min
#   id: deep_sleep_control


Je moet ook een secrets.yaml bestand maken in dezelfde map.
Fonts installeren
Download fonts naar een fonts/ map in je ESPHome configuratie folder:

Arial: Download van je systeem of gebruik Google Fonts
Material Design Icons: Download van materialdesignicons.com

Belangrijke aanpassingen

Display model: Als 4.70in-bw niet werkt, probeer dan:

4.70in-bw-v2
gdey047t01


Sensor entities: Vervang de entity_id's door jouw eigen Home Assistant sensoren
Update interval: Pas update_interval: 5min aan naar gewenste frequentie
Deep sleep: Uncomment de deep sleep sectie als je op batterij werkt

Installatie stappen

Plaats de YAML file in je ESPHome folder
Maak secrets.yaml aan met je gegevens
Download fonts naar de fonts/ map
Run: esphome run lilygo-epaper.yaml
Kies je upload methode (USB/OTA)

Tips

Eerste keer: Upload via USB, daarna kan het via OTA
Debug: Check de logs met esphome logs lilygo-epaper.yaml
Batterij: Gebruik deep sleep en verhoog update_interval naar 15-30 minuten

AI gebruiken is prima, maar minder hele responses copy-pasten graag.

[ Voor 1% gewijzigd door Septillion op 13-12-2025 11:54 . Reden: Denk aan de 'yaml' bij de code tags aub! Zie topic warning en hoe deze post is aangepast. ]


  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 23:35
@Villager heb je ook wel eens aan Claude gevraagd of dit wel klopt? display: waveshare is best wel "interessant" voor een niet Waveshare display zeg maar.

En even zoeken op DuckDuckGo geeft mij deze custom component als resultaat, die ook verwijst naar deze feature request, die nog open staat. Vrij grote kans dat Claude dus aan het hallucineren is en jij hier mee hallicuneert door te stellen dat Claude het beste sinds gesneden brood is.

  • alex3305
  • Registratie: Januari 2004
  • Laatst online: 16:50
Daar komt nog bij dat van o.a. de ESP32-S3 er twee DevKit versies zijn, de DevKitM en DevKitC. Dat heeft te maken met de hoeveelheid geheugen en de mapping daarvan. Deze versies door elkaar heen flashen is niet aanbevolen.

Zoals in het door @RobertMe genoemde GitHub issue te lezen is zijn er dus ook meerdere versies van het display. Zomaar ff iets flashen van een taalmodel zou ik dus niet doen :X.

  • Rouwette
  • Registratie: Maart 2007
  • Laatst online: 02:03

Rouwette

Rouwette.com

Iemand ervaring met dit scherm met esp32-s3?
https://nl.aliexpress.com/item/1005007218278451.html
Afbeeldingslocatie: https://ae-pic-a1.aliexpress-media.com/kf/S5f3f1d256ed24624a1e9a174c97785d0P.jpg_640x640q75.jpg_.avif
Ook vind ik de boot knop niet. alleen ene reset

[ Voor 53% gewijzigd door Rouwette op 13-12-2025 17:54 ]

https://www.rouwette.com/

Pagina: 1 ... 12 13 Laatste

Let op:
Zet je code tussen [code=yaml] [/code] tags om het goed leesbaar te houden; ook makkelijker voor de eventuele foutopsporing.