Het grote ESPhome topic

Pagina: 1 ... 13 14 Laatste
Acties:

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 15:11

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@Rouwette Doet het ding niet gewoon auto-reset?

  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

Ik kocht laatst een printje met esp32 voor de P1 meter, en die heeft ook een uitgang, voor een volgende P1 meter.
Nu heb ik gewoon vrijwel de standaard code van het voorbeeld gepakt, alleen met andere pin nummers:
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
# define multiple uart's
uart:
  - id: p1_uart
    rx_pin:
      number: 4
      inverted: true
    baud_rate: 115200
    rx_buffer_size: 1700
  - id: p1_bridge_uart
    tx_pin:
      number: 10
    baud_rate: 115200

# link input uart to dsmr
dsmr:
  uart_id: p1_uart
  max_telegram_length: 1700

# log the telegram and pass telegram to p1_bridge_uart
text_sensor:
  - platform: dsmr
    telegram:
      name: "telegram"
      on_value:
        then:
          - lambda: |-
              ESP_LOGV("dsrm", "telegram: %s", x.c_str());
              p1_bridge_uart->write_str(x.c_str());

En ik zie ook een bericht gaan;
Afbeeldingslocatie: https://tweakers.net/i/G6spnsAKhYYbo1FtN33GhEgdz9k=/x800/filters:strip_exif()/f/image/OxEWVtYlr9sOuohGCnSou2nW.png?f=fotoalbum_large
Alleen snapt de P1 meter die ingeplugd zit er niets van.
Heb ook de uitgang nog geinverteerd, want mijn P1 meter is ook geinverteerd, maar dat mocht niet baten.
Nu kan ik nog met de scoop kijken ofdat ze bitwise overeenkomen, of zou er iets in de code niet kloppen?

edit;
Volgens https://cese.pages.ewi.tu...-1/individual/manual.html
Moet de telegram worden afgesloten met
code:
1
1.2.0#(END)

Dat is niet het geval, en ik zie op het oog ook niet alle waardes er in terug zoals L1 voltage, dus ik vermoed dat er wat data weg valt.

[ Voor 9% gewijzigd door _ferry_ op 16-12-2025 09:41 ]


  • Trent
  • Registratie: Maart 2011
  • Laatst online: 12:36
Bestaat er zoiets als een ESPhome soldeerdienst waar je betaalt om voor het soldeerwerk? Ik had dat ooit ergens gelezen, dacht ik, maar ik vind het niet meer:)

  • Seafarer
  • Registratie: November 2012
  • Laatst online: 15:08

Seafarer

XXX

Trent schreef op dinsdag 16 december 2025 @ 15:48:
Bestaat er zoiets als een ESPhome soldeerdienst waar je betaalt om voor het soldeerwerk? Ik had dat ooit ergens gelezen, dacht ik, maar ik vind het niet meer:)
Hobby electronica club in de buurt?

Mrfix.nl

Een CV-Ketel is een vlamkoeler en een radiator is een waterkoeler. :) Debiet is vermogen en niet de temperatuur.


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 15:11

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@_ferry_ Paar dingen die ik mij kan bedenken:

Heeft dat bordje iets van een opto erop? Immers verwacht het aangesloten device inverted en open collector (dus mag naar 5V getrokken worden) signaal.

In je screenshot is inderdaad geen volledige telegram. Mist ook de header. Optie om een USB-serial of andere ESP aan te sluiten?

Krijg je in je sensoren wel alle waardes? Of wordt ook niet alles door de ESP geparst en is er een ontvangst issue? Je zou eens UART debugging kunnen doen. Zou ik dat gewoon op \n doen.

  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

@Septillion
Ik zat het schema te bekijken en inderdaad geen optocoupler, wat wel jammer is, want de output van de meter heeft dat natuurlijk ook en dan ben je niet zo afhankelijk van hoe de dongle zelf zijn signaal wil hebben. De boel hangt dan ook allemaal weer met de GND en +5V aan elkaar, wat een beetje onhandig is.

Ik heb nog wat met buffers gespeeld, geen effect. De waardes in HA komen wel prima binnen, dus ik ga er eigenlijk ook gewoon niet teveel tijd in stoppen, soldeer mijn eigen splitter wel af, en deze ESP gaat naar een familielid die de meter wil uitlezen.

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 15:11

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@_ferry_ Mja, dan zit je altijd te klooien omdat het niet is wat de andere kant verwacht :/

  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 15:25
verkeerde topic :(

[ Voor 98% gewijzigd door Obelixxx op 19-12-2025 16:30 ]


  • Gondelier
  • Registratie: Maart 2014
  • Laatst online: 17-01 00:15

Gondelier

HP-ThinCient T630, HA OS

Goedenavond,
Zijn er meer mensen die een probleem ondervinden bij het installeren van de ESPHome 2025.12.1 van vandaag.

Probleempje opgelost !!

[ Voor 79% gewijzigd door Gondelier op 19-12-2025 23:26 ]


  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 03-02 20:02

CDAAbeltje

Cool Down !

Ik kwam een tijdje terug de erg uitgebreide tool ESPConnect tegen. Hij kwam me vanavond goed van pas met een ESP32 bordje waarvan ik het type niet langer kon lezen. Wellicht hebben jullie er ook wat aan :)

https://github.com/thelastoutpostworkshop/ESPConnect

  • bbn_ldp
  • Registratie: December 2014
  • Laatst online: 03-02 19:12
Kan iemand mij vertellen wat er fout gaat als ik de melding van onderstaande tekst krijg bij het compileren van de yaml via ESPHomebuilding naar een Atom S3 lite?

src/main.cpp: In function 'void setup()': src/main.cpp:647:7: error: 'class esphome::Application' has no member named 'register_climate' 647 | App.register_climate(comfoair_climate);

Onderstaand de totale yaml die bij familie wel draait op de Zehnder WHR930, maar waar het updaten van ESPHome niet lukt. Ook op een Atom s3 lite.

Afbeeldingslocatie: https://tweakers.net/i/L_D709UqXI7-UcQkWKV9h6_GZQE=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/c0n7I5ovQTh83nCVzY84tU1K.png?f=user_large
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
###########################
# Configuration variables #
###########################

substitutions:
  device_name: whr930
  filter_time: 10s
  filter_send_every: '1'
  filter_window_size: '3'

# Wifi status
  update_interval: 10s  

#############################################################
##### No need to edit anything below this line          #####
# based on https://github.com/LukasdeBoer/esp8266-whr930-mqtt
# and https://github.com/nilsbebelaar/esphome-comfoair
#############################################################

external_components:
  - source:
      type: git
      url: https://github.com/tieskuh/esphome-comfoair
    components: [comfoair]
    refresh: 0s


#  includes:
#  - components/comfoair.h
#  - components/esphome.h
#  - components/climate/climate.h
#  - components/climate/climate_mode.h
#  - components/climate/climate_traits.h
#  - components/climate/custom_climate.h
#  - components/climate_mode.h
#  - components/climate_traits.h
#  - components/custom_climate.h

esphome:
  name: whr930
  friendly_name: WHR930

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: esp-idf

# Enable logging
logger:
  baud_rate: 0
  logs:
    esp32.preferences: DEBUG
    sensor: DEBUG
    text_sensor: DEBUG
    switch: DEBUG
    button: DEBUG
    number: DEBUG
    climate: DEBUG
    component: ERROR

# Enable Home Assistant API
api:
  encryption:
    key: "mYBYjWJChjUbuP0cPGhthvmnqer9Rys/5QQfRPsOdMA="

ota:
  - platform: esphome
    password: "4c3c14163210eb985d0092398b1c33ce"

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

  # Optional manual IP
  manual_ip:
    static_ip: 192.168.2.79
    gateway: 192.168.2.1
    subnet: 255.255.255.0  

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

captive_portal:

web_server:
  port: 80
  
# ==== Algemene items ========================================
globals:
  - id: my_time_internal_led
    type: int
    restore_value: no
    initial_value: '10'
  - id: my_status_internal_led 
    type: bool
    restore_value: no
    initial_value: 'false'

binary_sensor:   
#The GPIO Binary Sensor platform allows you to use any input pin on your device as a binary sensor.
# mdi:check-network-outline
  - platform: status
    name: "NodeESP Status"

sensor:
# Wifi Signal
  - platform: wifi_signal # Reports the WiFi signal strength/RSSI in dB
    name: "WiFi Signal Sensor"
    update_interval:  ${update_interval}

# gegevens hieronder van UART Climates ed.
#======================================

uart:
  id: uart_bus
  baud_rate: 9600
  tx_pin: GPIO6
  rx_pin: GPIO5

comfoair:
  name: "WHR 950"
  id: comfoair_climate
  uart_id: uart_bus
  fan_supply_air_percentage:
    name: "Supply fan"
  fan_exhaust_air_percentage:
    name: "Exhaust fan"
  fan_speed_supply:
    name: "Supply fan speed"
  fan_speed_exhaust:
    name: "Exhaust fan speed"
  is_bypass_valve_open:
    name: "Bypass"
  is_preheating:
    name: "Preheating"
  outside_air_temperature:
    name: "Outside temperature"
  supply_air_temperature:
    name: "Supply temperature"
  return_air_temperature:
    name: "Return temperature"
  exhaust_air_temperature:
    name: "Exhaust temperature"
  is_supply_fan_active:
    name: "Supply fan"
  is_filter_full:
    name: "Filter status"
  bypass_step:
    name: "Bypass valve"
  is_summer_mode:
    name: "Summer mode"

button:
  - platform: template
    name: "Reset filter"
    on_press:
      then:
        - lambda: |-
              id(comfoair_climate)->reset_filter();


# end gegevens van UART Climates ed.
#======================================
switch:
# Interval voor RUN led  
  - platform: gpio
    pin: 2   #PCB D4 = Blue led  
    inverted: True
    name: 'Run_led'
    id: internal_led

#interval:
#  - interval: 10ms
#    then:
#    - lambda: |-
#        id(my_time_internal_led) -= 1;
#        if (id(my_time_internal_led)== 0) {    
#          if (id(my_status_internal_led) == false) {        
#            id(my_status_internal_led) = true;
#            id(internal_led).publish_state(true);
#            id(internal_led).turn_on();
#            id(my_time_internal_led) += 20;  
#          } else {
#            id(my_status_internal_led) = false;
#            id(internal_led).publish_state(false);
#            id(internal_led).turn_off();
#            id(my_time_internal_led) += 500;  
#          }
#        }

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

Zubadan 11,2, 50x170Wp SF, WTW Orcon HRC400, Douche WTW Qblue v6, Wijas POW lcd multi doorstromer


  • Hermarcel
  • Registratie: April 2003
  • Niet online
@bbn_ldp
ESPhome al ge-update naar de laatste versie?

  • Obelixxx
  • Registratie: Juli 2020
  • Laatst online: 15:25
Villager schreef op zaterdag 13 december 2025 @ 09:01:
[...]

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.
Ook met Claud kreeg ik mijn nieuw ontvangen LilyGO niet aan de gang. Volgens leverancier niet compatible met de laatste versies van ESPHome. Jammer.

Kan iemand me adviseren betreffende Waveshare? Of ander merk?
Ik zou graag een wat groter scherm willen. (> 4 Inch)
Kleur zou ook leuk zijn.
Batterij aanwezig of aansluitbaar.

Maar belangrijkste is dat ESPHome zonder problemen te gebruiken zou moeten zijn.
Iemand een advies?

  • bbn_ldp
  • Registratie: December 2014
  • Laatst online: 03-02 19:12
Hermarcel schreef op zaterdag 27 december 2025 @ 20:45:
@bbn_ldp
ESPhome al ge-update naar de laatste versie?
Idd geupdated.

Als ik het stuk vanaf Comfoair weglaat krijg ik geen foutmeldingen

[ Voor 15% gewijzigd door bbn_ldp op 29-12-2025 18:09 ]

Zubadan 11,2, 50x170Wp SF, WTW Orcon HRC400, Douche WTW Qblue v6, Wijas POW lcd multi doorstromer


  • chaoscontrol
  • Registratie: Juli 2005
  • Laatst online: 14:55
bbn_ldp schreef op maandag 29 december 2025 @ 18:07:
[...]

Idd geupdated.

Als ik het stuk vanaf Comfoair weglaat krijg ik geen foutmeldingen
Even build files deleten en opnieuw proberen.

Inventaris - Koop mijn meuk!


  • Lord Anubis
  • Registratie: Juni 2009
  • Laatst online: 04-02 20:17
vraag over de gebruikte displays izm een esp32 en ESPhome. Er zullen wel mensen zijn die dit gebruiken bij een vijver of iets buiten. Nu wil ik een controller buiten plaatsen, in een kast weliswaar , maar de controller heeft een display nodig. Iemand ervaring daarmee tijdens de vrieskou ( nu dus 😉) of dat het overleeft?

  • Seafarer
  • Registratie: November 2012
  • Laatst online: 15:08

Seafarer

XXX

Lord Anubis schreef op maandag 29 december 2025 @ 22:42:
vraag over de gebruikte displays izm een esp32 en ESPhome. Er zullen wel mensen zijn die dit gebruiken bij een vijver of iets buiten. Nu wil ik een controller buiten plaatsen, in een kast weliswaar , maar de controller heeft een display nodig. Iemand ervaring daarmee tijdens de vrieskou ( nu dus 😉) of dat het overleeft?
Misschien even exact proberen te vermelden wat je wilt?

Maar een ESP32 heeft wifi en dan kun je vanachter je triple glas met een pot bier in de hand deze met een browser uitlezen bij een kamer temperatuur van 21°, lijkt me heel comfortabel. ;)

Een CV-Ketel is een vlamkoeler en een radiator is een waterkoeler. :) Debiet is vermogen en niet de temperatuur.


  • Lord Anubis
  • Registratie: Juni 2009
  • Laatst online: 04-02 20:17
Seafarer schreef op maandag 29 december 2025 @ 23:04:
[...]

Misschien even exact proberen te vermelden wat je wilt?

Maar een ESP32 heeft wifi en dan kun je vanachter je triple glas met een pot bier in de hand deze met een browser uitlezen bij een kamer temperatuur van 21°, lijkt me heel comfortabel. ;)
Lijkt me comfortabel, maar is niet de vraag. Het gaat over een display in een buiten kast. Simpel en niet anders.

  • MazzHead
  • Registratie: September 2022
  • Laatst online: 15:58
Lord Anubis schreef op maandag 29 december 2025 @ 22:42:
vraag over de gebruikte displays izm een esp32 en ESPhome. Er zullen wel mensen zijn die dit gebruiken bij een vijver of iets buiten. Nu wil ik een controller buiten plaatsen, in een kast weliswaar , maar de controller heeft een display nodig. Iemand ervaring daarmee tijdens de vrieskou ( nu dus 😉) of dat het overleeft?
Vrieskou is het minste probleem, heb je al eens specificaties gelezen? Een -20 t/m 70°C operating temperature is redelijk normaal zo te zien.

Moet je 'm inderdaad wel waterdicht neerzetten zoals een kast, maar dat is niet alles. Electronica kan slecht tegen water in de vorm van regen, maar ook niet best tegen condens. Tegen condensatie kun je een weerstand gebruiken om warmte te genereren, kun je mooi aan/uit schakelen op basis van een vochtigheidssensor om beneden de 90-95% te blijven, maar lager is beter. Als je toch met 230V voor voeding zit kun je ook een gloeilamp gebruiken via relais, dat warmt ook lekker op in een kleine ruimte.

  • Lord Anubis
  • Registratie: Juni 2009
  • Laatst online: 04-02 20:17
MazzHead schreef op woensdag 31 december 2025 @ 17:55:
[...]

Vrieskou is het minste probleem, heb je al eens specificaties gelezen? Een -20 t/m 70°C operating temperature is redelijk normaal zo te zien.

Moet je 'm inderdaad wel waterdicht neerzetten zoals een kast, maar dat is niet alles. Electronica kan slecht tegen water in de vorm van regen, maar ook niet best tegen condens. Tegen condensatie kun je een weerstand gebruiken om warmte te genereren, kun je mooi aan/uit schakelen op basis van een vochtigheidssensor om beneden de 90-95% te blijven, maar lager is beter. Als je toch met 230V voor voeding zit kun je ook een gloeilamp gebruiken via relais, dat warmt ook lekker op in een kleine ruimte.
De weerstand stond wel op BOM maar moet nog uitrekenen hoeveel ohm/watt het zou moeten worden. Voeding is POE vanaf een tweede mcu waar wel 230vac aanwezig is. Dus je lamp/weerstand idee is wel goed; alleen geen ervaring ermee. Ben bang dat de lamp eerder dan een weerstand kapot gaat als het droog vriesweer is en de lamp gaat aan of uit.

Heb wel een camera gemaakt en die in plastic dip gedompeld en werkt prima maar of het intern is.. geen idee.

Thanks.

[ Voor 4% gewijzigd door Lord Anubis op 01-01-2026 13:13 ]


  • Seafarer
  • Registratie: November 2012
  • Laatst online: 15:08

Seafarer

XXX

Lord Anubis schreef op woensdag 31 december 2025 @ 15:48:
[...]

Lijkt me comfortabel, maar is niet de vraag. Het gaat over een display in een buiten kast. Simpel en niet anders.
Ik probeerde uit te vinden waarom een display buiten? Als je een esp32 ook met je telefoon of pc kunt bereiken en vandaar af je informatie kunt lezen.

Een CV-Ketel is een vlamkoeler en een radiator is een waterkoeler. :) Debiet is vermogen en niet de temperatuur.


  • bbn_ldp
  • Registratie: December 2014
  • Laatst online: 03-02 19:12
chaoscontrol schreef op maandag 29 december 2025 @ 19:19:
[...]

Even build files deleten en opnieuw proberen.
Kan je mij vertellen waar ik die vind?

Zubadan 11,2, 50x170Wp SF, WTW Orcon HRC400, Douche WTW Qblue v6, Wijas POW lcd multi doorstromer


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 15:11

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@bbn_ldp ESPHome => 3-dots bij het device => Clean build files.

De menu's van ESPHome zijn een rotzooi. Waarom dat menu en de log niet ook gewoon in de edit zit snap ik ook echt niet.

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 14:40
"Raar". Ik probeer een ESP based media spelertje (/smart speakertje?) te maken met ESPHome. Alleen "doet die het niet" als ik de media_player: platform:speaker gebruik. YAML is in principe exact zoals het example op die pagina (enige verschil is dat i2s_audio.sample_rate een error geeft / niet bestaat, en ik heb hier en daar een id aangepast).
Als ik nu een stream start dan errort die met:
Media reader encountered an error: ESP_ERR_NOT_SUPPORTED
Wat uiteraard nogal een erg vage error is, vooral gezien "ik geen code schrijf" :P Dus hoe kan ik nu weten wat ESPHome aan code genereert waarbij esp-idf ergens deze error opgooit.

En extra gek, ik had eerst geprobeerd met media_player: platform: i2s_audio, en dan werkt exact dezelfde stream (URL) wel. Waarbij het wel zo is dat met het speaker platform HA de stream doet transcoden naar flac, maar ook als ik format: NONE toepas werkt het niet (terwijl ik in de logging wel de originele mp3 URL zie binnen komen, i.t.t. zonder format, dus die transcode niet meer (zonder format is de URL het IP van mijn HA instance met iets van ffmpeg_proxy? en dan ook met een flac extensie dat overeen komt met het default flac format dus).

Ik kwam daarbij ook nog tegen dat bij het switchen tussen arduino & esp-idf frameworks een volledige reflash ("met kabeltje") nodig is/zou zijn. Dus dat ook al eens geprobeerd, maar met hetzelfde resultaat.

Iemand enig idee?

Het bordje is overigens een ("antieke") "ESP32 DEVKIT V1". Waar blijkbaar geen PSRAM op zit, en dus ook niet ideaal is :X. Waarbij ik 2 weken terug nog wat spullen van Ali heb besteld, en een voorraadje ESP32 S3s me niet perse nodig leek. En ik er maar 1 "omdat het kan" heb besteld. Dus ik kan wel daarop proberen maar dan is mijn "omdat het kan" bordje meteen in gebruik.

Edit:
Met verbose logging in ESPHome + verbose logging in esp-idf (en na strippen van regels van de wifi component):
[23:03:52.642][D][media_player:091]: Media URL: https://playerservices.st...eam-redirect/RADIO538.mp3
[23:03:52.649][D][speaker_media_player:406]: State changed to PLAYING
[23:03:52.657][V][esp-idf:000][med_read]: D (25148) HTTP_CLIENT: Begin connect to: https://playerservices.streamtheworld.com:443
[23:03:52.658][V][esp-idf:000][med_read]: D (25150) esp-tls: host:playerservices.streamtheworld.com: strlen 33
[23:03:52.687][V][esp-idf:000][med_read]: D (25160) esp-tls: [sock=58] Resolved IPv4 address: 208.92.53.43
[23:03:52.700][V][esp-idf:000][med_read]: D (25162) esp-tls: Enable TCP keep alive. idle: 5, interval: 5, count: 3
[23:03:52.704][V][esp-idf:000][med_read]: D (25163) esp-tls: [sock=58] Connecting to server. HOST: playerservices.streamtheworld.com, Port: 443
[23:03:52.708][V][esp-idf:000][med_read]: D (25195) esp-tls-mbedtls: Use certificate bundle
[23:03:52.722][V][esp-idf:000][med_read]: D (25197) esp-tls: handshake in progress...
[23:03:52.846][V][esp-idf:000][med_read]: D (25313) esp-x509-crt-bundle: 150 certificates in bundle
[23:03:52.847][V][esp-idf:000][med_read]: I (25336) esp-x509-crt-bundle: Certificate validated
[23:03:53.398][V][esp-idf:000][sys_evt]: D (25886) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:1 posted to loop 0x3ffc2fa0

[23:03:53.398]User-Agent: ESP32 HTTP Client/1.0

[23:03:53.398]Host: playerservices.streamtheworld.com


[23:03:53.399][V][esp-idf:000][sys_evt]: D (25891) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:2 posted to loop 0x3ffc2fa0
[23:03:53.674][V][esp-idf:000][med_read]: D (25954) HTTP_CLIENT: on_message_begin
[23:03:53.714][V][esp-idf:000][med_read]: D (25955) HTTP_CLIENT: HEADER=date:Fri, 02 Jan 2026 22:03:53 GMT
[23:03:53.726][V][esp-idf:000][med_read]: D (25956) HTTP_CLIENT: HEADER=access-control-allow-origin:*
[23:03:53.745][V][esp-idf:000][sys_evt]: D (25955) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:3 posted to loop 0x3ffc2fa0
[23:03:53.775][V][esp-idf:000][med_read]: D (25956) HTTP_CLIENT: HEADER=access-control-allow-credentials:true
[23:03:53.787][V][esp-idf:000][med_read]: D (26029) HTTP_CLIENT: HEADER=x-stw-site:LDN
[23:03:53.808][V][esp-idf:000][med_read]: D (26234) esp-tls: Enable TCP keep alive. idle: 5, interval: 5, count: 3
[23:03:53.863][V][esp-idf:000][med_read]: D (26285) esp-tls-mbedtls: Use certificate bundle
[23:03:53.864][V][esp-idf:000][med_read]: D (26286) esp-tls: handshake in progress...
[23:03:53.951][V][esp-idf:000][med_read]: D (26418) esp-x509-crt-bundle: 150 certificates in bundle
[23:03:53.963][V][esp-idf:000][med_read]: I (26448) esp-x509-crt-bundle: Certificate validated
[23:03:54.495][V][esp-idf:000][sys_evt]: D (26978) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:1 posted to loop 0x3ffc2fa0

[23:03:54.502]User-Agent: ESP32 HTTP Client/1.0

[23:03:54.502]Host: 23543.live.streamtheworld.com


[23:03:54.502][V][esp-idf:000][sys_evt]: D (26982) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:2 posted to loop 0x3ffc2fa0
[23:03:55.005][V][esp-idf:000][med_read]: D (27497) HTTP_CLIENT: on_message_begin
[23:03:55.026][V][esp-idf:000][med_read]: D (27498) HTTP_CLIENT: HEADER=Expires:Thu, 01 Dec 2003 16:00:00 GMT
[23:03:55.094][V][esp-idf:000][sys_evt]: D (27498) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:3 posted to loop 0x3ffc2fa0
[23:03:55.251][V][esp-idf:000][med_read]: D (27499) HTTP_CLIENT: HEADER=Cache-Control:no-cache, must-revalidate
[23:03:55.283][V][esp-idf:000][sys_evt]: D (27500) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:3 posted to loop 0x3ffc2fa0
[23:03:55.346][V][esp-idf:000][med_read]: D (27500) HTTP_CLIENT: HEADER=Pragma:no-cache
[23:03:55.360][V][esp-idf:000][sys_evt]: D (27511) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:3 posted to loop 0x3ffc2fa0
[23:03:55.428][V][esp-idf:000][med_read]: D (27532) HTTP_CLIENT: HEADER=Access-Control-Allow-Credentials:true
[23:03:55.474][V][esp-idf:000][med_read]: D (27768) HTTP_CLIENT: HEADER=icy-description:
[23:03:55.506][V][esp-idf:000][med_read]: D (27839) HTTP_CLIENT: HEADER=icy-br:128
[23:03:55.515][V][esp-idf:000][sys_evt]: D (27870) event: no handlers have been registered for event ESP_HTTP_CLIENT_EVENT:3 posted to loop 0x3ffc2fa0
[23:03:55.527][V][esp-idf:000][med_read]: D (27931) HTTP_CLIENT: content_length = -1
[23:03:55.558][E][speaker_media_player.pipeline:112]: Media reader encountered an error: ESP_ERR_NOT_SUPPORTED
[23:03:55.565][E][speaker_media_player:315]: The media pipeline's file reader encountered an error.

[23:03:55.614][V][esp-idf:000][med_read]: D (28108) HTTP_CLIENT: Begin connect to: https://playerservices.streamtheworld.com:443
[23:03:55.615][V][esp-idf:000][med_read]: D (28111) esp-tls: host:playerservices.streamtheworld.com: strlen 33
[23:03:55.635][V][esp-idf:000][med_read]: D (28118) esp-tls: [sock=58] Resolved IPv4 address: 192.173.29.77
[23:03:55.640][V][esp-idf:000][med_read]: D (28120) esp-tls: Enable TCP keep alive. idle: 5, interval: 5, count: 3
[23:03:55.650][V][esp-idf:000][med_read]: D (28123) esp-tls: [sock=58] Connecting to server. HOST: playerservices.streamtheworld.com, Port: 443
(Emphasis mine is de error output van ESPHome die ook zonder verbose zichtbaar is)

Echt totaal niks dus. Er wordt geconnect, en vervolgens knalt die er uit (nadat die een content length van -1 ontvangt, dat mogelijk niet heel gek is voor een radio stream). En daarna begint die weer opnieuw te connecten.

[ Voor 59% gewijzigd door RobertMe op 02-01-2026 23:07 ]


  • bbn_ldp
  • Registratie: December 2014
  • Laatst online: 03-02 19:12
Septillion schreef op donderdag 1 januari 2026 @ 17:25:
@bbn_ldp ESPHome => 3-dots bij het device => Clean build files.

De menu's van ESPHome zijn een rotzooi. Waarom dat menu en de log niet ook gewoon in de edit zit snap ik ook echt niet.
Had alleen de keuze Clean all, maar probleem is er niet door opgelost. Zodra ik het stuk vanaf Comfoair in de yaml plaats komen de foutmeldingen. Het lijkt wel of het komt door de laatste versies van esphome.

Is er iemand die een werkende yaml heeft van een whr930 / Comfoair 350 die wel werkt met de meest recente versie van ESPHome?

Zubadan 11,2, 50x170Wp SF, WTW Orcon HRC400, Douche WTW Qblue v6, Wijas POW lcd multi doorstromer


  • Reptile-X
  • Registratie: Oktober 2001
  • Laatst online: 04-02 20:16

Reptile-X

߀ åf®åîÐ!

Ik wil even een discussie openen over ESPHome in combinatie met Home Assistant. Ik ben benieuwd naar de ervaringen van andere ESPHome i.c.m. HA medegebruikers.

Twee weken terug heb ik een ESPHome-temperatuursensor gebouwd en geïntegreerd in HA. Na veel lezen heb ik besloten om met een BME280 sensor te gaan.

Alles ging goed tot ik de sensor in gebruik nam in HA. Het viel gelijk op dat de meting te hoog was. Na even wat zoeken is het me duidelijk geworden BME280 “self-heating issues” heeft, Dus een behuizing ontworpen met zoveel mogelijk gaten erin, maar dat hielp niet. Er zijn verschillende manieren om dit te compenseren. Ik heb de makkelijkste weg gekozen door offset te gebruiken. Dit heb ik bepaald door twee sensoren te vergelijken, de andere sensor was de Aqara sensor die al jaren daar staat. Dit is wel de minste goede manier van calibreren, maar het gaf me wel een idee. Na paar dagen monitoren kwam ik op -3,6 graden uit.

Het draait nu redelijk goed, paar tiendes verschil is te verwaarlozen. De blauwe lijn is de NME280:
Afbeeldingslocatie: https://tweakers.net/i/_wRxvJ__kfcDqIGphB8jlNw1o4Y=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/VimvPVIOFbAuOnIYZx8W2uYP.png?f=user_large

Even voor de duidelijkheid; sensor heb ik nodig om virtuele thermostaat aan te sturen, daar was de Aqara-sensor te traag voor. Aqara werkt voor normale situaties goed, maar niet voor dit. Als de virtuele sensor op 20°C ingesteld wordt en Aqara stuurt de ketel uit dan is het te laat, temperatuur loopt op tot bijna 24°C uit, dit is wel verholpen met BME280.

Conclusie is dat je internet niet moet vertrouwen. Dit wist ik al, maar je moet toch ergens beginnen. De meeste deden alsof het een perfecte sensor was, maar heeft toch zijn nukken… 

Maar ik ben waarschijnlijk niet slim genoeg om daar les uit te trekken. Volgend project was een presence sensor bouwen. Na weer op internet te hebben gestruind, kwam ik op een LD2450-sensor uit. Het zou een geweldige sensor zijn.

Min of meer is het ook zo, maar stilstaand doel detecteren, ho maar, dat schijnt niet zijn sterkste kant te zijn, maar daar wil ik het juist voor. Na bijna alle kamers in huis te hebben geprobeerd, kwam ik erachter dat het weer te goed was voor het detecteren van dingen dwars door deuren en muren (gipsblokwanden). Uiteindelijk heb ik het in mijn hobbykamer geplaatst. Gelukkig is het mogelijk om zones in te stellen via Bluetooth en een app van HKL (merk van de sensor) of via HA.

Eerlijk is eerlijk, het is wel erg goedkoop om er een te bouwen. Totale kosten voor deze sensor samen met een ESP32 C3 super mini waren maar €5 (en een USB-voeding natuurlijk). Dit voor EU en NL invoerrechten en toeslaggedoe net voor 2026.

Het is ook mogelijk om radar in een dashboard toe te voegen via een custom card:
Afbeeldingslocatie: https://tweakers.net/i/nGvZLdUgDbRd7qSOJVTsuGA8pME=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/kVhL00nRqLFByp7pOviusW3A.png?f=user_large

Omdat ik toch graag stilstaande objecten wil detecteren, heb ik een andere sensor besteld, dit keer een LD2410C. Schijnt beter te zijn voor stilstaan target presence. 

Ben benieuwd of deze sensor weer andere problemen geeft, want je komt er pas achter als je er een in gebruik neemt. Dan pas ga je naar een specifiek probleem zoeken op interwebs…

Ik zou graag willen weten wat jullie bevindingen zijn met ESPHome en zelfgebouwde sensoren. Ik vind het leuk om ermee te experimenteren, nu ik even vrije tijd heb. Maar ik had iets meer solide “DIY” sensoren verwacht.

Onder aan de streep meer een ESPHome discussie

[ Voor 0% gewijzigd door Septillion op 06-01-2026 12:55 ]


  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 14:40
Reptile-X schreef op dinsdag 6 januari 2026 @ 01:06:
Ik zou graag willen weten wat jullie bevindingen zijn met ESPHome en zelfgebouwde sensoren. Ik vind het leuk om ermee te experimenteren, nu ik even vrije tijd heb. Maar ik had iets meer solide “DIY” sensoren verwacht.
Dat ligt toch 100% aan wat je bouwt en waarmee? Ik heb al vele jaren (7? 8?) naar tevredenheid een "bed presence" sensor op basis van een antiek NodeMCU bord met ESP8266 met 4 load cells, werkt vaak lang prima (totdat er iets te veel aan de kabels gerammeld wordt?). Ook de kledingkast met een ESP32 dev board zelf 4 contact sensoren in gemaakt (i.p.v. 4 Zigbee sensoren op een oppervlakte van niks) en ook dat werkt gewoon prima.

mmwave radar heb ik mijn vingers ook aan gebrand. HLK LD2411(S?), die heeft geen "makkelijke" connector, geen ESPHome support (wist ik al bij bestellen) en nooit fatsoenlijk gesoldeerd gekregen. Wel zelf een ESPHome component voor gemaakt die an zich werkte. Maar de sensor zelf is lang niet zo goed als de oudere LD2410, veel minder mogelijkheden (niet eens een rechtstreekse trigger pin).

En daarnaast natuurlijk ook hardware besteld voor projecten die ik nooit heb opgepakt :+. Heb ook nog een NFC lezer liggen bv.

  • Stef012
  • Registratie: September 2013
  • Laatst online: 09:57
@Reptile-X ik heb ook veel met temperatuur senoren gespeeld, tegenwoordig gebruik ik dallas senoren. Deze zijner in een soort 3p vorm en een "pt100" vorm. Ik meet bijvoorbeeld de cv aanvoer en retour. Als het verschil groter is dan 2 graden, schakelen mijn pompen in. Dit werkt al ruim 2 jaar prima.

  • Reptile-X
  • Registratie: Oktober 2001
  • Laatst online: 04-02 20:16

Reptile-X

߀ åf®åîÐ!

RobertMe schreef op dinsdag 6 januari 2026 @ 06:45:

[...]

Dat ligt toch 100% aan wat je bouwt en waarmee?
@RobertMe, Klopt inderdaad, mechanische onderdelen zoals een schakelaar zal minder problemen opleveren. ESP-borden en ESPHome doen hun werk goed, het gaat meer om de sensoren. Temperatuur sensor heb ik ook op basis van een ESP8266 gebouwd. 

Ik heb ook 4 jaar terug twee bed presence sensoren gebouwd, op basis van een Aqara deur/raam sensor met een microswitch. Werkt ook heel goed.

LD2410C werkt goed voor de rest, als “still target” goed had gewerkt, was het perfect geweest. Daar bouw je een presence sensor voor, anders kan je net zo goed een PIR sensor nemen.

Ik ben benieuwd hoe LD2410C gaat werken, het is ook een ouder model sensor. Ik heb ook LD2420 besteld, en daar ga ik ook mee experimenteren. 

@Stef012, Ik ben ook van plan om dallas sensoren gebruiken voor in de enclosure van mijn 3D printer, omdat ik bijna alleen met ABS print, heb ik verwarming ingebouwd. Op dit moment zit er een Aqara sensor met een display in. Daar heb ik de sensor verlengd met een flat cable. Goed om te horen dat dallas sensoren werken.

Volgend project is een CO₂-sensor op basis van SCD41, ben benieuwd hoe dat gaat werken.

Ik heb ook een JSN-SR04T / AJ-SR04M ultrasoon sensor liggen om het waterniveau te meten in een waterton. Ik moet wel eerst een waterton kopen 8)7

  • paul-s83
  • Registratie: Juni 2010
  • Laatst online: 10:54
Reptile-X schreef op dinsdag 6 januari 2026 @ 01:06:
Ik wil even een discussie openen over ESPHome in combinatie met Home Assistant. Ik ben benieuwd naar de ervaringen van andere ESPHome i.c.m. HA medegebruikers.

Even voor de duidelijkheid; sensor heb ik nodig om virtuele thermostaat aan te sturen, daar was de Aqara-sensor te traag voor. Aqara werkt voor normale situaties goed, maar niet voor dit. Als de virtuele sensor op 20°C ingesteld wordt en Aqara stuurt de ketel uit dan is het te laat, temperatuur loopt op tot bijna 24°C uit, dit is wel verholpen met BME280.

Ik zou graag willen weten wat jullie bevindingen zijn met ESPHome en zelfgebouwde sensoren. Ik vind het leuk om ermee te experimenteren, nu ik even vrije tijd heb. Maar ik had iets meer solide “DIY” sensoren verwacht.
Heb hier nu een weekje de Diyless Thermostat draaien en werkt als een tierelier moet ik zeggen.

Afbeeldingslocatie: https://tweakers.net/i/TKxJu8o0dbpklg-JzN1lNuDdSoo=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/wD44eMbG4rGyUa0HjtQgnbqK.png?f=user_large

De aqara sensor stuurt als ik mij niet vergis elke 5 minuten de actuele temperatuur uit. Omdat de afstand tussen ketel en de aqara sensor te groot is publiceer ik elke x minuten de actuele waarde via MQTT naar mijn Opentherm gateway.

Dus om de paar minuten vind er wel verandering plaats, lijkt mij niet dat je daardoor van 20 naar 24 graden kan doorschieten?

  • Reptile-X
  • Registratie: Oktober 2001
  • Laatst online: 04-02 20:16

Reptile-X

߀ åf®åîÐ!

paul-s83 schreef op dinsdag 6 januari 2026 @ 12:23:
[...]
Dus om de paar minuten vind er wel verandering plaats, lijkt mij niet dat je daardoor van 20 naar 24 graden kan doorschieten?
Aqara zigbee sensor die ik had gebruikt "zou" na elk 0,5 °C verschil moeten updaten, maar dat deed ie niet. Soms duurt het wel meer dan 30 minuten voordat het reageert, dit met een volle batterij, dus daardoor was het niet betrouwbaar. Kamer is 9m x 3m met een 500x1800 T22 - 3472 watt radiator, met een temperatuurupdate van 20 minuten (in de meeste gevallen) was het veel te laat.

Hieronder een voorbeeld van twee sensoren, de blauwe lijn is van ESPHome sensor en de gele lijn is van de Aqara zigbee sensor. Zie update verschillen en hoe mooi de ESP sensor reageert. Dit was een moment toen verwarming aangezet werd.
Afbeeldingslocatie: https://tweakers.net/i/kl8rTo3MhghkhhQjOjJ4unUqMkM=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/rAwwY7hVjfmaKoOkCPbIgww8.png?f=user_large

Moment dat ze elkaar kruisen, zie je dat zigbee sensor hele tijd hetzelfde blijft en dat is meer dan 30 minuten. Graad verschil bovenaan was 1 °C , lijkt niet veel maar dit komt door dat ESP sensor ketel heeft uitgezet, toen het andersom was geconfigureerd, dus zigbee sensor aansturing regelde, ESP sensor was al lang op 20 °C maar zigbee sensor had nog lang niet gereageerd, je ziet het wel langzaam omhoog gaan maar niet snel genoeg updates geeft.

  • jvanderneut
  • Registratie: Augustus 2017
  • Laatst online: 14:59
Reptile-X schreef op dinsdag 6 januari 2026 @ 01:06:
Ik wil even een discussie openen over ESPHome in combinatie met Home Assistant. Ik ben benieuwd naar de ervaringen van andere ESPHome i.c.m. HA medegebruikers.

Twee weken terug heb ik een ESPHome-temperatuursensor gebouwd en geïntegreerd in HA. Na veel lezen heb ik besloten om met een BME280 sensor te gaan.

Alles ging goed tot ik de sensor in gebruik nam in HA. Het viel gelijk op dat de meting te hoog was. Na even wat zoeken is het me duidelijk geworden BME280 “self-heating issues” heeft, Dus een behuizing ontworpen met zoveel mogelijk gaten erin, maar dat hielp niet. Er zijn verschillende manieren om dit te compenseren. Ik heb de makkelijkste weg gekozen door offset te gebruiken. Dit heb ik bepaald door twee sensoren te vergelijken, de andere sensor was de Aqara sensor die al jaren daar staat. Dit is wel de minste goede manier van calibreren, maar het gaf me wel een idee. Na paar dagen monitoren kwam ik op -3,6 graden uit.
Ik zou graag willen weten wat jullie bevindingen zijn met ESPHome en zelfgebouwde sensoren. Ik vind het leuk om ermee te experimenteren, nu ik even vrije tijd heb. Maar ik had iets meer solide “DIY” sensoren verwacht.
Ik denk dat je ESPHome moet zien als een doos Lego. Om iets moois te maken moet je het ook slim in elkaar zetten en slim programmeren.

Zo'n BME280 zelf zal geen self-heating issues hebben, dat stroomverbruik meet je in µA. Een ESP met wifi aan verstookt 1000x zoveel. Een andere warmtebron zijn de spanningsregelaars, voor de ESP, en soms hebben BME280 modules ook een (overbodige) regelaar aan boord. Dingen die je kan doen:
- sensor zo ver mogelijk van je ESP
- deep sleep mode van de ESP gebruiken
- clock speed van de ESP naar beneden

Met een warmtebeeld camera is een BME280 niet zichtbaar:
Afbeeldingslocatie: https://tweakers.net/i/GDPDKXBjp6PCVhAlYItHn7slzvY=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/pZVoqYM4x4LbOtZSIra7cWX2.png?f=user_large

  • Reptile-X
  • Registratie: Oktober 2001
  • Laatst online: 04-02 20:16

Reptile-X

߀ åf®åîÐ!

@jvanderneut Bedankt voor de tips. Het was mijn eerste ESPHome project, ik heb na self heating probleem ook zelfde gelezen wat jij beschrijft. Ik heb oversampling lager gezet en het update-interval is op 60s. Ik heb de 3D print case aangepast met ventilatiegaten en de sensor verder geplaatst. Dit heeft wel een graad of anderhalf geholpen.

Ik kan even niet bij de sensor, maar hier is de tekening.
Afbeeldingslocatie: https://tweakers.net/i/9Vc5gr8opWidXehO26THbNjFtxI=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/dm4KBJEYKGBL5M7TF7eYOJDf.png?f=user_large

Ik laat het nu zoals het is, ik ben tevreden hoe het werkt, maar volgende keer ga ik daar zeker rekening mee houden.

Ik ben net klaar met een 3D tekening voor een SCD41 sensor i.c.m. C3 Supermini. Daar heb ik zelfs veel meer gaten in gemaakt. Ik ga het morgen in elkaar zetten.

  • jvanderneut
  • Registratie: Augustus 2017
  • Laatst online: 14:59
Reptile-X schreef op dinsdag 6 januari 2026 @ 19:09:
Ik ben net klaar met een 3D tekening voor een SCD41 sensor i.c.m. C3 Supermini. Daar heb ik zelfs veel meer gaten in gemaakt. Ik ga het morgen in elkaar zetten.
Je kan eventueel ook met wat schuim o.i.d. je sensor nog wat meer scheiden van de ESP.

De meeste ESP C3 Supermini's hebben trouwens een verkeerd uitgevoerde wifi-antenne, waardoor het wifi signaal zeer matig is en de chip extra opwarmt. Een kleine antenne modificatie los dat op. (Zie bijv. https://hackaday.com/2025...for-better-esp32-c3-wifi/)

  • Reptile-X
  • Registratie: Oktober 2001
  • Laatst online: 04-02 20:16

Reptile-X

߀ åf®åîÐ!

@jvanderneut Weer goeie tips, bedankt, Ik zat te denken om iets in de doorloop te proppen waar draden lopen, thermische overdracht van de draden helpt waarschijnlijk ook niet.

Die antenne is een goeie oplossing, C3 supermini die ik voor de presence sensor gebruik, wordt 55°C met uitschieters tot 60°C. Wifi verbinding lijk goed te gaan tot nu toe.

Ik heb exact hetzelfde model als die gemodificeerde C3. Ik heb er nog 10 van liggen, vorige maand ingeslagen voordat gedoe begint met NL/EU nvoerkosten. Voor het aankomende project heb ik al de behuizing geprint, maar de volgende ga ik wel met zo'n antenne proberen, denk ik. Moet nog wel de juiste draad bestellen daarvoor.

EDIT:
Ongeduldig dat ik ben, ik kon het niet laten om zo'n antenne op te solderen, ik had 0.8 mm draad of 1.5mm installatiedraad. In het artikel deed 0.8 niet zo goed als 1mm dus maar met 1.5mm draad gedaan. Ik ga het morgen vergelijken als ik tijd heb.

Zo is het geworden, koper gaat uiteindelijk oxideren, maar ik kan het altijd vervangen door een verzilverd koperdraad.
Afbeeldingslocatie: https://tweakers.net/i/UCasGeER_EZE4BkH_mfiLI-7Utc=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/9OqhYqBCHHSAMrRMSjOcMjgW.png?f=user_large

Nu moet ik de behuizing aanpassen...
Afbeeldingslocatie: https://tweakers.net/i/b9GCfUmt_zBSuH8uL2MD4qqwJFo=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/YgfcCrnqHSPRQRg9CVKenhO0.png?f=user_large

[ Voor 38% gewijzigd door Reptile-X op 06-01-2026 22:55 ]


  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 14:40
Reptile-X schreef op dinsdag 6 januari 2026 @ 21:30:
Ik heb exact hetzelfde model als die gemodificeerde C3. Ik heb er nog 10 van liggen, vorige maand ingeslagen voordat gedoe begint met NL/EU nvoerkosten.
Echt exact dezelfde, tot op de millimeter? Want ik had het nog even nagekeken, en het verschil tussen goed en fout is letterlijk 1 millimeter. Er "hoort" ~3,5mm te zijn van het zichtbare randje tot waar het PCB "gebruikt" wordt (/de eerste/laatste pin) en bij de foute is dat ~2,5mm. Die "C3" bovenaan is de antenne en die hoort vrij geplaatst te zijn, en dat beetje verschil (door het 1mm korter zijnde PCB?) is al "voldoende" dat het bereik flink afneemt.

Plaatje van Reddit:
Afbeeldingslocatie: https://external-preview.redd.it/warning-some-c3-super-mini-boards-have-a-design-flaw-that-v0-wEo40lwkzzgAd4-AtkYX2MrQYk7PjVoSLPcLbJRradA.jpg?width=640&crop=smart&auto=webp&s=0ae991c34cbc537d36c2416beec54134dafa5eae

  • Reptile-X
  • Registratie: Oktober 2001
  • Laatst online: 04-02 20:16

Reptile-X

߀ åf®åîÐ!

@RobertMe, Ik heb hem toevallig in mijn hand, samen met een schuifmaat, om de behuizing aan te passen. Die van mij is 2.5mm versie.,,,

[ Voor 5% gewijzigd door Reptile-X op 06-01-2026 23:14 ]


  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 14:40
Reptile-X schreef op dinsdag 6 januari 2026 @ 23:13:
@RobertMe, Ik heb hem toevallig in mijn hand, samen met een schuifmaat, om de behuizing aan te passen. Die van mij is 2.5mm versie.,,,
Ik had zelf net ook eens gemeten, heb er een paar, ongebruikt, en die binnen handbereik was wel juist. Je zou het natuurlijk ook kunnen zien aan de afstand tussen C3 en de "(soldeer)lijnen" op het PCB, in dat plaatje van mijn vorige post zie je links duidelijk iets van afstand en rechts veel minder. Dat heb ikzelf "nu" niet nagekeken.

Maar wel crap dat je nu nieuwe hebt en ze niet goed zijn. Ik heb al maanden terug van dit probleem gelezen. Je zou dus verwachten dat "ze" allemaal hun proces hebben aangepast.

  • Reptile-X
  • Registratie: Oktober 2001
  • Laatst online: 04-02 20:16

Reptile-X

߀ åf®åîÐ!

@RobertMe Eerlijk gezegd maak ik me er niet zo druk om. Eerst heb ik al drie dagen draaien geen problemen met verbinding gehad, meerdere malen wireless updates uitgevoerd, anderhalf uur geleden nog gecontroleerd. Het is niet perfect, maar ziet er ook niet heel slecht uit:
Afbeeldingslocatie: https://tweakers.net/i/9WOcZfobzDBYbTPZaA4wjt8DsUo=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/7O7xyFx8nmu8Ia5NhyLEQo6U.png?f=user_large

Ben benieuwd of de antenneversie betere verbinding heeft.

  • Btje
  • Registratie: November 2002
  • Laatst online: 14:49
welke custom card is dit?
Reptile-X schreef op dinsdag 6 januari 2026 @ 01:06:
Ik wil even een discussie openen over ESPHome in combinatie met Home Assistant. Ik ben benieuwd naar de ervaringen van andere ESPHome i.c.m. HA medegebruikers.

Twee weken terug heb ik een ESPHome-temperatuursensor gebouwd en geïntegreerd in HA. Na veel lezen heb ik besloten om met een BME280 sensor te gaan.

Alles ging goed tot ik de sensor in gebruik nam in HA. Het viel gelijk op dat de meting te hoog was. Na even wat zoeken is het me duidelijk geworden BME280 “self-heating issues” heeft, Dus een behuizing ontworpen met zoveel mogelijk gaten erin, maar dat hielp niet. Er zijn verschillende manieren om dit te compenseren. Ik heb de makkelijkste weg gekozen door offset te gebruiken. Dit heb ik bepaald door twee sensoren te vergelijken, de andere sensor was de Aqara sensor die al jaren daar staat. Dit is wel de minste goede manier van calibreren, maar het gaf me wel een idee. Na paar dagen monitoren kwam ik op -3,6 graden uit.

Het draait nu redelijk goed, paar tiendes verschil is te verwaarlozen. De blauwe lijn is de NME280:
[Afbeelding]

Even voor de duidelijkheid; sensor heb ik nodig om virtuele thermostaat aan te sturen, daar was de Aqara-sensor te traag voor. Aqara werkt voor normale situaties goed, maar niet voor dit. Als de virtuele sensor op 20°C ingesteld wordt en Aqara stuurt de ketel uit dan is het te laat, temperatuur loopt op tot bijna 24°C uit, dit is wel verholpen met BME280.

Conclusie is dat je internet niet moet vertrouwen. Dit wist ik al, maar je moet toch ergens beginnen. De meeste deden alsof het een perfecte sensor was, maar heeft toch zijn nukken… 

Maar ik ben waarschijnlijk niet slim genoeg om daar les uit te trekken. Volgend project was een presence sensor bouwen. Na weer op internet te hebben gestruind, kwam ik op een LD2450-sensor uit. Het zou een geweldige sensor zijn.

Min of meer is het ook zo, maar stilstaand doel detecteren, ho maar, dat schijnt niet zijn sterkste kant te zijn, maar daar wil ik het juist voor. Na bijna alle kamers in huis te hebben geprobeerd, kwam ik erachter dat het weer te goed was voor het detecteren van dingen dwars door deuren en muren (gipsblokwanden). Uiteindelijk heb ik het in mijn hobbykamer geplaatst. Gelukkig is het mogelijk om zones in te stellen via Bluetooth en een app van HKL (merk van de sensor) of via HA.

Eerlijk is eerlijk, het is wel erg goedkoop om er een te bouwen. Totale kosten voor deze sensor samen met een ESP32 C3 super mini waren maar €5 (en een USB-voeding natuurlijk). Dit voor EU en NL invoerrechten en toeslaggedoe net voor 2026.

Het is ook mogelijk om radar in een dashboard toe te voegen via een custom card:
[Afbeelding]

Omdat ik toch graag stilstaande objecten wil detecteren, heb ik een andere sensor besteld, dit keer een LD2410C. Schijnt beter te zijn voor stilstaan target presence. 

Ben benieuwd of deze sensor weer andere problemen geeft, want je komt er pas achter als je er een in gebruik neemt. Dan pas ga je naar een specifiek probleem zoeken op interwebs…

Ik zou graag willen weten wat jullie bevindingen zijn met ESPHome en zelfgebouwde sensoren. Ik vind het leuk om ermee te experimenteren, nu ik even vrije tijd heb. Maar ik had iets meer solide “DIY” sensoren verwacht.

[mbr]Onder aan de streep meer een ESPHome discussie[/]

Xiaomi 13T Pro


  • Reptile-X
  • Registratie: Oktober 2001
  • Laatst online: 04-02 20:16

Reptile-X

߀ åf®åîÐ!


  • Btje
  • Registratie: November 2002
  • Laatst online: 14:49

Xiaomi 13T Pro


  • Reptile-X
  • Registratie: Oktober 2001
  • Laatst online: 04-02 20:16

Reptile-X

߀ åf®åîÐ!

@Btje Natuurlijk wil ik dat wel, maar het is best lastig uit te leggen wat je allemaal moet veranderen. Ik had zelf ook eerst moeite met kant-en-klare yaml's.

Deze jongen hier legt precies uit wat je moet doen om het werkend te krijgen, hij heeft ook yaml op zijn website.
Video start waar hij begint uit te leggen
Zijn website waar hij het over heeft met de yaml, ergens onderaan

  • Reptile-X
  • Registratie: Oktober 2001
  • Laatst online: 04-02 20:16

Reptile-X

߀ åf®åîÐ!

CO₂-sensor bij elkaar gesoldeerd en toegevoegd in ESPHome en HA. Ik heb de ESP32-C3 Super Mini gebruikt met de antenne die ik gisteren opgezet had.

Ik heb de eerder gemaakte Presence Sensor met hetzelfde type ESP32-C3 en nieuwe 5cm naast elkaar gezet en het verschil in wifi-verbinding is duidelijk te zien. Temperaturen zijn ook behoorlijk uit elkaar. Natuurlijk hebben beide borden verschillende sensoren nu, maar als de presence sensor niet bezig is, dus geen mensen/dieren in de buurt, dan heeft 'ie weinig te verwerken.

Nieuwe CO₂-sensor:
Afbeeldingslocatie: https://tweakers.net/i/UWKvm_Os9HwAUOfnJvIfzsF_bkA=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/SckrL50nrB2PFqRW4ESxZdIl.png?f=user_large

Presence sensor:
Afbeeldingslocatie: https://tweakers.net/i/tH4QQt0Gt3PrY-lTD6tJJ5CG_z4=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/CcKCrjjbRHIxjqjHZLaJxBhn.png?f=user_large

Sensor ziet er zo uit:
Afbeeldingslocatie: https://tweakers.net/i/Ac-DpYf-mVtybO8Wc93g2A0t8UE=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/OODegU3HQTFJaPqw74XgV6pV.jpg?f=user_large
ABS printen met veel gaten in de print in een koude hobbykamer, ondanks verwarmde behuizing, was best moeizaam.

@jvanderneut Nogmaals bedankt voor de antene tip, werkt heel goed!

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 15:11

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@Reptile-X Heb je foto hoe je antennemod er nu bij jouw uitziet?

Moet ik hier misschien ook eens proberen :)

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 14:40
Septillion schreef op woensdag 7 januari 2026 @ 17:41:
@Reptile-X Heb je foto hoe je antennemod er nu bij jouw uitziet?

Moet ik hier misschien ook eens proberen :)
Die staat hier: Reptile-X in "Het grote ESPhome topic"

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 15:11

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@RobertMe Ja, hé, edits nadat ik de post al gelezen had :+

  • Reptile-X
  • Registratie: Oktober 2001
  • Laatst online: 04-02 20:16

Reptile-X

߀ åf®åîÐ!

@Septillion Oeps, sorry ik dacht niemand heeft na mij gepost en het was maar anderhalve uur later :o

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 14:40
Ik probeer ESPHome op mijn (tot nu toe enige) ESP32 S3 bordje te zetten (van Ali, lijkt de devkitm-1 te zijn gaat om een devkitc-1, dubbele USB-C poort etc). Alleen, it no worky. Op web.esphome.io in Chromium kan die niet verbinden en spuugt in de dev console ook "No serial data received" errors.

esptool zelf soort van idem dito:
esptool.py v4.10.0
Serial port /dev/ttyACM0
Connecting....
Detecting chip type... ESP32-S3
Chip is ESP32-S3 (QFN56) (revision v0.2)
Features: WiFi, BLE, Embedded PSRAM 8MB (AP_3v3)
Crystal is 40MHz
MAC: <knip>
Uploading stub...
Running stub...
Stub running...

A fatal error occurred: Unable to verify flash chip connection (No serial data received.).
Gezien die wel kan lezen om welk apparaat het gaat (ESP32-S3 (QFN56)) en een mac adres er uit lepelt zou ik dus zeggen dat er wel iets gebeurd. Maar installeren ho maar.

Ook het indrukken (en al dan niet permanent ingedrukt houden) van de boot knop maakt geen verschil. Noch werkt "de andere" USB-C poort. Met de USB kabel in de "COM" poort (staat onderop het PCB, zijnde de rechter poort) knipperen wel een aantal keren de 2 blauwe LEDs (naast de oranje? power LED) tijdens het "uitlezen" (vooraf aan de "Uploading stub"), maar daarna blijft die dus uit (en duurt het nog even voordat esptool errort). Bij het gebruik van de "USB" poort (de linker dus) gebeurd helemaal niks en blijft de power LED om de X seconden even knipperen (continu aan met een kleine onderbreking naar uit) en blijft "Linux" ook de hele tijd meldingen geven van een nieuw aangesloten USB apparaat.

Het enige dat ik op internet tegen kom is "controleer de USB kabel", maar daarvan heb ik er al twee geprobeerd. Waarvan 1 die van het toetsenbord is, en ik weet "vrij zeker" dat die kabel gewoon werkt :+. Iemand dus een idee wat hier aan de hand kan zijn?

  • Reptile-X
  • Registratie: Oktober 2001
  • Laatst online: 04-02 20:16

Reptile-X

߀ åf®åîÐ!

@RobertMe Ik ben te nieuw (n00b) in ESP spullen, maar bij mijn eerste project had ik ook moeite om te verbinden. Ik maak de eerste verbinding via USB op de NUC waar Home Assistant op staat met ESPHome Builder. Het was een oude ESP8266 met een micro usb, en ik had geen idee of mijn kabels data kon overdragen, uiteindelijk niet dus. Ik had nog zo'n USB-kabeltester liggen, daarmee heb ik een kabel kunnen vinden die werkt. Ik zou je kabels testen om bijvoorbeeld je telefoon op je PC te aansluiten en kijken of je foto's kan afhalen bijvoorbeeld.


Ik heb zelf ook een vraagje, de CO2 sensor draait al een tijdje. Fijn om te weten dat het bij ons iets te hoog is we kunnen er in ieder geval wat aan doen.

Echter, ESPHome laat de waarde zonder punten zien als het boven 1000 komt, maar HA laat 1.000 zien, ik heb juist een template sensor gemaakt om het visueel makkelijk leesbaar te maken.

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
    - sensor:
      - unique_id: 2dfb8359123-1234-9909-123456789123
        name: "CO2 Meting WK"
        icon: mdi:molecule-co2
        state: >-
          {% set temp = states('sensor.wk_co2_sensor_woonkamer_co2') | float %}
          {% if temp <= 800 %}
            goed
          {% elif temp <= 1200 %}
            redelijk
          {% elif temp >= 1201 %}
            slecht
          {% else %}
            error
          {% endif %}


En ik voeg het toe aan het dashboard, zodat je alleen kleuren ziet:
YAML:
1
2
3
4
5
6
7
8
      - type: image
        entity: sensor.co2_meting_wk
        state_image:
          goed: local/images/groen.png
          redelijk: local/images/geel.png
          slecht: local/images/rood.png
          unavailable: local/images/nav.png
 


Dit werkte natuurlijk niet toen het net boven 1000 schoot, zoals ik had gezegd. Ik heb ESPHome nagekeken, daar is het 1032 en in HA verschijnt het als 1.032

Ik zocht een filter hiervoor, maar het is me niet duidelijk of er een bestaat. In HA Precisie weergeven heeft ook geen optie om een te kiezen zonder punt.

[ Voor 0% gewijzigd door Reptile-X op 07-01-2026 22:40 . Reden: Er zat een foutje in de code, dit hersteld. ]


  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 14:40
Reptile-X schreef op woensdag 7 januari 2026 @ 21:16:
@RobertMe Ik ben te nieuw (n00b) in ESP spullen, maar bij mijn eerste project had ik ook moeite om te verbinden. Ik maak de eerste verbinding via USB op de NUC waar Home Assistant op staat met ESPHome Builder. Het was een oude ESP8266 met een micro usb, en ik had geen idee of mijn kabels data kon overdragen, uiteindelijk niet dus. Ik had nog zo'n USB-kabeltester liggen, daarmee heb ik een kabel kunnen vinden die werkt. Ik zou je kabels testen om bijvoorbeeld je telefoon op je PC te aansluiten en kijken of je foto's kan afhalen bijvoorbeeld.
Als de kabel niet werkt kan esptool natuurlijk niet weergeven dat het om een ESP32-S3 gaat incl het mac adres ervan ;) Nog los van dat ik aangeef dat ik ook met de kabel van mijn (bedrade) toetsenbord heb getest en die kabel dus werkt omdat ik anders het bericht niet kon typen :p En "linux" plingeld dus ook voor nieuw aangesloten hardware. Als de kabel alleen stroom leverde kon die niet weten dat (/wat) iets was aangesloten. (Incl vermelding van of een "Chinese" seriële adapter of Espressif USB/JTAG afhankelijk van de gebruikte USB poort).

+ intussen heb ik nog een C3 over dezelfde (niet toetsenbord) kabel geflasht.

  • Reptile-X
  • Registratie: Oktober 2001
  • Laatst online: 04-02 20:16

Reptile-X

߀ åf®åîÐ!

@RobertMe zoals ik al had gezegd, het was een n00b suggestie 8)7

  • Reptile-X
  • Registratie: Oktober 2001
  • Laatst online: 04-02 20:16

Reptile-X

߀ åf®åîÐ!

Om mijn eigen vraag hier te beantwoorden, ik heb het gevonden. Duizend wordt nu al 1000 weergegeven i.p.v. 1.000

Het zat in de gebruikersinstellingen van HA, getalnotatie zat op automatisch. Ik heb het nu op Geen gezet:
Afbeeldingslocatie: https://tweakers.net/i/oueqcghcxUdpJdGOnw89ONZEOYQ=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/JshCdmyWboJKjVefKYdNdCBE.png?f=user_large

[ Voor 9% gewijzigd door Reptile-X op 07-01-2026 22:21 ]


  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 14:40
Reptile-X schreef op woensdag 7 januari 2026 @ 22:20:
Om mijn eigen vraag hier te beantwoorden, ik heb het gevonden. Duizend wordt nu al 1000 weergegeven i.p.v. 1.000

Het zat in de gebruikersinstellingen van HA, getalnotatie zat op automatisch. Ik heb het nu op Geen gezet:
[Afbeelding]
Volgens mij maakt dat niks uit? De aanpassing die je nu hebt gedaan is puur voor het frontend. Ik zie bij mij ook "Number format: Automatic" met als voorbeeld "1,234,567.89". Maar als ik vervolgens bij DevTools => States kijk staan daar gewoon sensoren in de vorm van 1234567.89. En automations werken ook gewoon met de ruwe state en niet met de formatted state. Dus als de sensor 1000 is dan moet states(...) ook de string 1000 zijn en na de float filter dus 1000 als float. En de rest van het Jinja2 template moet dan ook gewoon werken. De getalnotatie die je hebt ingesteld heeft hier dus geen betrekking op.

Edit/aanvulling:
Ook dus omdat de getalnotatie een gebruiekrsspecifieke instelling is en automations natuurlijk niet gekoppeld aan een gebruiker zijn. Dus er is niet eens een "getalnotatie".

[ Voor 7% gewijzigd door RobertMe op 07-01-2026 22:41 ]


  • chaoscontrol
  • Registratie: Juli 2005
  • Laatst online: 14:55
RobertMe schreef op woensdag 7 januari 2026 @ 19:17:
Ik probeer ESPHome op mijn (tot nu toe enige) ESP32 S3 bordje te zetten (van Ali, lijkt de devkitm-1 te zijn gaat om een devkitc-1, dubbele USB-C poort etc). Alleen, it no worky. Op web.esphome.io in Chromium kan die niet verbinden en spuugt in de dev console ook "No serial data received" errors.

esptool zelf soort van idem dito:
esptool.py v4.10.0
Serial port /dev/ttyACM0
Connecting....
Detecting chip type... ESP32-S3
Chip is ESP32-S3 (QFN56) (revision v0.2)
Features: WiFi, BLE, Embedded PSRAM 8MB (AP_3v3)
Crystal is 40MHz
MAC: <knip>
Uploading stub...
Running stub...
Stub running...

A fatal error occurred: Unable to verify flash chip connection (No serial data received.).
Gezien die wel kan lezen om welk apparaat het gaat (ESP32-S3 (QFN56)) en een mac adres er uit lepelt zou ik dus zeggen dat er wel iets gebeurd. Maar installeren ho maar.

Ook het indrukken (en al dan niet permanent ingedrukt houden) van de boot knop maakt geen verschil. Noch werkt "de andere" USB-C poort. Met de USB kabel in de "COM" poort (staat onderop het PCB, zijnde de rechter poort) knipperen wel een aantal keren de 2 blauwe LEDs (naast de oranje? power LED) tijdens het "uitlezen" (vooraf aan de "Uploading stub"), maar daarna blijft die dus uit (en duurt het nog even voordat esptool errort). Bij het gebruik van de "USB" poort (de linker dus) gebeurd helemaal niks en blijft de power LED om de X seconden even knipperen (continu aan met een kleine onderbreking naar uit) en blijft "Linux" ook de hele tijd meldingen geven van een nieuw aangesloten USB apparaat.

Het enige dat ik op internet tegen kom is "controleer de USB kabel", maar daarvan heb ik er al twee geprobeerd. Waarvan 1 die van het toetsenbord is, en ik weet "vrij zeker" dat die kabel gewoon werkt :+. Iemand dus een idee wat hier aan de hand kan zijn?
je moet de poort met COM gebruiken. Misschien moet je hem in boot mode zetten. BOOT ingedrukt houden, dan even resetten met de andere button (RST) en dan BOOT weer los laten.

Inventaris - Koop mijn meuk!


  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 14:40
chaoscontrol schreef op woensdag 7 januari 2026 @ 22:52:
[...]

je moet de poort met COM gebruiken. Misschien moet je hem in boot mode zetten. BOOT ingedrukt houden, dan even resetten met de andere button (RST) en dan BOOT weer los laten.
Helaas had ik dat ook al geprobeerd (ook weer op beide poorten), maar vergeten te vermelden. Incl dus boot ingedrukt houden, reset "klikken" en boot los laten.

Ik vermoed dat er dus ergens een hardwarematig defect is waardoor die de boot mode niet activeert. Noch via de boot button noch via de serial interface / chip. Want normaliter zou die dus "automatisch" geactiveerd moeten worden door esptool, apart serial commando waarmee die de "juiste" GPIOs hoog/laag trekt om boot mode te activeren op de ESP.

Ik zou nog zelf een serial adapter er aan kunnen hangen (heb zo'n USB serial adapter met de 4 headers voor TX/RX/GND/(5V/3.3V)), maar ik verwacht daarvan hetzelfde resultaat. Ik vermoed dat ik dan sowieso boot zelf moet activeren (niet over serial kan) waarbij het dus niet uit zal maken of die aan USB of aan "GPIOs" hangt v.w.b. stroom en serial.

Of wat ik nog kan proberen is de GPIOs voor boot en reset. Boot is GPIO0 en die zit volgens mij ook gewoon op een "poort" (/header na solderen) en reset is mogelijk ook exposed. Misschien dat die wel werken. (En mogelijk kan ik de werking van de knoppen testen met een multimeter op de headers)

Edit/aanvulling:
Trouwens exposed de C3 (super mini) zich over USB als "Espressif USB/JTAG" of zoiets. En dat is identiek aan de USB poort op de S3. Eigenlijk verwacht ik dus dat beiden zouden moeten werken. [small]Maakt alleen het boot/reset verhaal over serial "raar". Want dan zit er geen losse serial adapter meer op die de GPIOs kan pullen. Zal dan wel weer een "software" feature in de ESP zelf zijn. Om bij bepaalde commando's boot mode te activeren (al dan niet door binnen de ESP zelf de GPIOs te pullen, of gewoon een software based "reboot" te doen).

[ Voor 16% gewijzigd door RobertMe op 07-01-2026 23:10 ]


  • DjoeC
  • Registratie: November 2018
  • Nu online
Ik heb alleen ervaring met de esp8266 en die heeft naar ik meen een verbinding tussen RST en GND nodig om via te kunnen flashen en rebooten. Kan dat hier ook het probleem zijn?

  • Reptile-X
  • Registratie: Oktober 2001
  • Laatst online: 04-02 20:16

Reptile-X

߀ åf®åîÐ!

@RobertMe Ik weet het niet, maar mijn template sensor heeft niet gewerkt, omdat er een punt in duizend zat. Toen ik het had gemaakt, was de waarde ergens net boven 800. Zodra deze boven 1200 ging, kreeg ik de error die ik zelf had ingezet. Ik heb die instelling veranderd, of het gebruikerafhankelijk is of niet, template sensor begon te werken na een restart. (Ik had eerst ook een restart gedaan natuurlijk.)

Ik hou het in de gaten, het blijft net boven 1200 hangen. Kijken of het allemaal goed werkt of ik toch iets fout gedaan heb. Dat zie ik pas als het weer lager dan 1200 wordt. Ik ga geen ramen openen met dit weer, terwijl ik hier zit :P

Morgenochtend gaat de ventilatie open.
Ik ben raamventilaties aan het automatiseren, vandaar deze sensor ook.

  • InjecTioN
  • Registratie: Juli 2005
  • Laatst online: 16:07

InjecTioN

¯\_(ツ)_/¯

RobertMe schreef op woensdag 7 januari 2026 @ 23:06:
[...]

Helaas had ik dat ook al geprobeerd (ook weer op beide poorten), maar vergeten te vermelden. Incl dus boot ingedrukt houden, reset "klikken" en boot los laten.

Ik vermoed dat er dus ergens een hardwarematig defect is waardoor die de boot mode niet activeert. Noch via de boot button noch via de serial interface / chip. Want normaliter zou die dus "automatisch" geactiveerd moeten worden door esptool, apart serial commando waarmee die de "juiste" GPIOs hoog/laag trekt om boot mode te activeren op de ESP.

Ik zou nog zelf een serial adapter er aan kunnen hangen (heb zo'n USB serial adapter met de 4 headers voor TX/RX/GND/(5V/3.3V)), maar ik verwacht daarvan hetzelfde resultaat. Ik vermoed dat ik dan sowieso boot zelf moet activeren (niet over serial kan) waarbij het dus niet uit zal maken of die aan USB of aan "GPIOs" hangt v.w.b. stroom en serial.

Of wat ik nog kan proberen is de GPIOs voor boot en reset. Boot is GPIO0 en die zit volgens mij ook gewoon op een "poort" (/header na solderen) en reset is mogelijk ook exposed. Misschien dat die wel werken. (En mogelijk kan ik de werking van de knoppen testen met een multimeter op de headers)

Edit/aanvulling:
Trouwens exposed de C3 (super mini) zich over USB als "Espressif USB/JTAG" of zoiets. En dat is identiek aan de USB poort op de S3. Eigenlijk verwacht ik dus dat beiden zouden moeten werken. [small]Maakt alleen het boot/reset verhaal over serial "raar". Want dan zit er geen losse serial adapter meer op die de GPIOs kan pullen. Zal dan wel weer een "software" feature in de ESP zelf zijn. Om bij bepaalde commando's boot mode te activeren (al dan niet door binnen de ESP zelf de GPIOs te pullen, of gewoon een software based "reboot" te doen).
Ik heb een tijd geleden een ESP32 uit China over laten komen die een configuratie erop had staan die op geen enkele manier in boot mode wilde gaan. Vervolgens heb ik een pin van GPIO0 naar GND verbonden, opnieuw via usb ingeprikt, waarna die direct naar boot mode ging. Vervolgens ESPhome erop gezet. Sindsdien ook geen issues meer met in boot mode starten.

Misschien dat het werkt? ¯\_(ツ)_/¯

Edit: zoek het vooral ook even op in de datasheet van jouw specifieke model.

1995: 486 AM5x86-p75@160 512kb L2, 64MB, S3 Stealth 64 3000 4MB VLB, AWE64 Value, 8GB CFµDrive
1998: K6-III 400MHz, 384MB, Voodoo4 AGP, AWE64 Gold!, Adaptec AHA-29160+2x 72GB 10krpm SCSI


  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 14:40
InjecTioN schreef op donderdag 8 januari 2026 @ 08:31:
[...]

Ik heb een tijd geleden een ESP32 uit China over laten komen die een configuratie erop had staan die op geen enkele manier in boot mode wilde gaan. Vervolgens heb ik een pin van GPIO0 naar GND verbonden, opnieuw via usb ingeprikt, waarna die direct naar boot mode ging. Vervolgens ESPhome erop gezet. Sindsdien ook geen issues meer met in boot mode starten.

Misschien dat het werkt? ¯\_(ツ)_/¯

Edit: zoek het vooral ook even op in de datasheet van jouw specifieke model.
Thanks voor de suggestie, en in principe wat ik gisteren ook zelf al aangaf dat wellicht zou kunnen werken.

Net even geprobeerd, maar... ook dit werkt niet. Verschillende kabels geprobeerd in combinatie met 2 verschillende GND poorten (GPIO0 is er uiteraard maar 1). Op https://docs.espressif.co.../boot-mode-selection.html staat ook dat het om GPIO0 gaat bij de ESP32-S3, die met GND verbonden moet worden. Dus het is wel de correcte "procedure". Daarnaast staat daar ook dat vele bordjes een FLASH of BOOT knop hebben die hetzelfde doet tijdens reset / opstarten. En dat had ik gisteren ook al geprobeerd.

Wat jij impliciet wel aangeeft is dat USB aansluiten ook een RESET is (gelijk aan de knop en ook daarvoor is er een GPIO). Dus een defecte RESET knop/aansluiting is daarmee ook uitgesloten.

Ik ga er dan maar vanuit dat het een defect bord is. En later vandaag maar eens kijken wat de verkoper / Ali er van zegt. Het was in ieder geval wel een shop die al vele bordjes verkocht had incl. positieve reviews. Dus (dit keer eens :P) niet gewoon de goedkoopste shop met 5 verkocht en 0 reviews.

  • InjecTioN
  • Registratie: Juli 2005
  • Laatst online: 16:07

InjecTioN

¯\_(ツ)_/¯

RobertMe schreef op donderdag 8 januari 2026 @ 09:16:
[...]

Thanks voor de suggestie, en in principe wat ik gisteren ook zelf al aangaf dat wellicht zou kunnen werken.

Net even geprobeerd, maar... ook dit werkt niet. Verschillende kabels geprobeerd in combinatie met 2 verschillende GND poorten (GPIO0 is er uiteraard maar 1). Op https://docs.espressif.co.../boot-mode-selection.html staat ook dat het om GPIO0 gaat bij de ESP32-S3, die met GND verbonden moet worden. Dus het is wel de correcte "procedure". Daarnaast staat daar ook dat vele bordjes een FLASH of BOOT knop hebben die hetzelfde doet tijdens reset / opstarten. En dat had ik gisteren ook al geprobeerd.

Wat jij impliciet wel aangeeft is dat USB aansluiten ook een RESET is (gelijk aan de knop en ook daarvoor is er een GPIO). Dus een defecte RESET knop/aansluiting is daarmee ook uitgesloten.

Ik ga er dan maar vanuit dat het een defect bord is. En later vandaag maar eens kijken wat de verkoper / Ali er van zegt. Het was in ieder geval wel een shop die al vele bordjes verkocht had incl. positieve reviews. Dus (dit keer eens :P) niet gewoon de goedkoopste shop met 5 verkocht en 0 reviews.
Ik doelde met USB aansluiten meer op voeding (en direct serial connection) inschakelen. Dat is direct een reset. Maar je kan natuurlijk het apparaat gewoon verbinden met je PC en eerst eens zien of de serial port beschikbaar komt in `/dev/ttyUSB*` of onder Device Manager. Als dat zo is, even een console starten met bijvoorbeeld `screen` of putty onder Windows. Dan zie je of er überhaupt iets gebeurt. Dan kan je ook zien of de knoppen iets van feedback geven. (let wel even op de baud rate, wat kan verschillen per ESP model - ik heb uit mijn hoofd geen idee welke baud rate die gebruikt). :)

1995: 486 AM5x86-p75@160 512kb L2, 64MB, S3 Stealth 64 3000 4MB VLB, AWE64 Value, 8GB CFµDrive
1998: K6-III 400MHz, 384MB, Voodoo4 AGP, AWE64 Gold!, Adaptec AHA-29160+2x 72GB 10krpm SCSI


  • Ruimzicht
  • Registratie: Juni 2004
  • Laatst online: 04-02 16:43
@Reptile-X Nog een vraag over jouw antenne: heb jij de totale lengte wel op 31mm gehouden? Ik las wat verwarring over - en dat het nogal invloed heeft of alleen het opstaande deel 31mm is of de totale lengte van draad inclusief loop.

Hier ondertussen ook maar wat ESP32-C3's besteld om mee te klussen...

  • Reptile-X
  • Registratie: Oktober 2001
  • Laatst online: 04-02 20:16

Reptile-X

߀ åf®åîÐ!

@Ruimzicht Ik heb inderdaad 31mm aangehouden, eerst 10cm 1,5mm² installatiedraad gestript en 31mm ergens in het midden gemarkeerd, om een boor van 5mm gevouwen en dan op de markeringen geknipt.

Ik heb wel 1mm² verzilverd koperen draad besteld, 1,5mm² is net even te stug om goed mee te werken op zo'n printplaatje.

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 14:40
InjecTioN schreef op donderdag 8 januari 2026 @ 10:02:
Maar je kan natuurlijk het apparaat gewoon verbinden met je PC en eerst eens zien of de serial port beschikbaar komt in `/dev/ttyUSB*` of onder Device Manager. Als dat zo is, even een console starten met bijvoorbeeld `screen` of putty onder Windows. Dan zie je of er überhaupt iets gebeurt.
Serieel werkt, want esptool kan de hardware info opvragen (laat zien dat het om een ESP32-S3 gaat en geeft het MAC adres weer). Dat zou natuurlijk niet kunnen zonder werkende seriele verbinding.
Dan kan je ook zien of de knoppen iets van feedback geven.
Gezien die ook niet in de boot/flash mode komt bij het "kortsluiten" van GPIO0 en GND zal het niet heel veel uit maken of de knoppen enig teken van leven geven.
Effectief zouden er 3 manieren zijn om in boot/flash mode te komen. Via de seriële interface in combinatie met een specifiek commando; Via de boot knop (gecombineerd met reset / stroom aansluiten); Door GPIO0 op GND aan te sluiten (gecombineerd met reset / stroom aansluiten).
Dat één methode defect is en de rest werkt lijkt ne onwaarschijnlijk. Dat 2 of 3 methode defect zijn maar er nog een derde/vierde methode is die wel werkt lijkt me onwaarschijnlijk. Het meest voordehand liggende zal zijn dat de ESP zelf of een defecte GPIO0 of iets dergelijks heeft of dat op het bord deze drie methode dan alle drie op GPIO0 zijn aangesloten met een gecombineerde trace die ergens eerder stuk is.
Ik zou dus de multimeter op GPIO0 en GND kunnen zetten en ik vermoed dan te zien dat die "open" / "dicht" staat afhankelijk van of de boot knop is ingedrukt. En theoretisch zou je dat lijkt mij ook behoren te zien als je over USB een flash start en de seriële chip dus een boot triggert over de GPIO (alleen zal die zo kort triggeren dat je het op een multimeter waarschijnlijk niet ziet).

  • Driek
  • Registratie: Maart 2002
  • Nu online
Voor mijn onthadingszoutvoorraad uit te lezen wil graag een hc-sr04 op een esp32 c3 aansluiten.
Ik dien dan de trigger en de echo pin (naast de 5v en ggnd) aan te sluiten.
Ik zou alleen niet weten welke pinnen er geschikt zijn.

YAML:
1
2
3
4
5
sensor:
  - platform: ultrasonic
    trigger_pin: D1
    echo_pin: D2
    name: "Ultrasonic Sensor"

https://esphome.io/components/sensor/ultrasonic/

iemand een idee welke pinnen ik voor de trigger en echo van de c3 kan gebruiken?

Tijd van werken, tijd van rusten


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 15:11

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@Driek Heb je geen specifieke pin voor nodig dus elke die je anders ook zou gebruiken. Mooie uiteenzetting van de pinnen hier.

Let wel op, de echo pin stuurt 5V uit en de ESP kan daar officieel niet tegen. Dus die voorzien van een spanningsdeler.

  • Driek
  • Registratie: Maart 2002
  • Nu online
Septillion schreef op donderdag 8 januari 2026 @ 16:01:
@Driek Heb je geen specifieke pin voor nodig dus elke die je anders ook zou gebruiken. Mooie uiteenzetting van de pinnen hier.

Let wel op, de echo pin stuurt 5V uit en de ESP kan daar officieel niet tegen. Dus die voorzien van een spanningsdeler.
Thanks,
ik heb nog een nodemcu ESP8266 liggen, dan kan ik de spanningsdeler skippen en deze layout volgen.
https://randomnerdtutoria...-sr04-ultrasonic-arduino/

Tijd van werken, tijd van rusten


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 15:11

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@Driek Nee, die kan er ook niet tegen. Nu zeggen veel dat hun ESP het overleeft maar officieel zijn alle ESP's niet 5V compatible.

  • Reptile-X
  • Registratie: Oktober 2001
  • Laatst online: 04-02 20:16

Reptile-X

߀ åf®åîÐ!

@RobertMe Ik kreeg vandaag 5 super mini's binnen. Omdat wij over de afstand van de antenne op de printplaat hadden besproken, viel me bij de nieuwe gelijk op dat deze meer ruimte had.

Toen dacht ik, ik ga even de andere borden controleren die ik heb, want ik heb de laatste tijd bij verschillende Aliexpress winkels besteld.

Ik heb het even nagemeten, het kan zelfs nog erger dan 2,5mm zijn, ik heb paar tussen zitten met 1.8mm afstand.

Afbeeldingslocatie: https://tweakers.net/i/XmjZuS4NSY0gSCr-y6o8QR9zE7E=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/y77iRfvJD45EbitouRx11SrS.png?f=user_large

Linker heb ik vandaag binnengekregen, met merk Tenstar op, ik had het 3 januari besteld en het heeft maar 5 dagen geduurd voordat het geleverd werd, er is ook geen EU/NL toeslag opgelegd, ik weet niet wanneer ze daarmee beginnen.

Ik heb €1,69 p.s. voor betaald met zo'n choice-optie na €10 gratis verzenden.
Het is nu iets duurder, maar als mensen willen bestellen:
https://nl.aliexpress.com/item/1005006599545782.html

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 14:40
Reptile-X schreef op donderdag 8 januari 2026 @ 16:05:
Linker heb ik vandaag binnengekregen, met merk Tenstar op
Daar kwamen de mijne zo te zien ook vandaan. Zo te zien besteld op 12 januari, 2024, en nog niks mee gedaan :+. Zo te zien nu wel nog iets goedkoper (paar cent).

En mijn bestelling "van kerst" (letterlijk tijdens het kerstdiner mail krijgen dat "vliegtuig is geland") zit een H2 van bij hun bij. En daar heb ik nu net even een compleet lege ESPHome firmware op gezet. Ding doet "dus" geen wifi, dus de wifi, network, ota, integraties er allemaal uit gegooid. Gewoon even lekker compacte firmware (scheelt compilatie tijd op mijn N5105 servertje) en die flashte vanaf de CLI gewoon prima (vanuit Chromium leek die het niet te doen, geen idee).

En de S3, van andere store, net maar eens een bericht gestuurd....

  • Driek
  • Registratie: Maart 2002
  • Nu online
Septillion schreef op donderdag 8 januari 2026 @ 16:05:
@Driek Nee, die kan er ook niet tegen. Nu zeggen veel dat hun ESP het overleeft maar officieel zijn alle ESP's niet 5V compatible.
Oh, dat leek de link wel te suggeren.
Dan moet ik me toch even verdiepen in een spanningsdeler.

Tijd van werken, tijd van rusten


  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Je kunt ook een level-shifter ertussen zetten voor de trigger en echo. Dan weet je in ieder geval dat ook de trigger 5v krijgt ipv de 3,3 volt die de esp levert.

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


  • Der Rudi
  • Registratie: Mei 2002
  • Laatst online: 16:14
Idd level shifter is beter. Bv deze https://nl.aliexpress.com/item/1005006255186878.html
Maar er zijn op andere plaatsen ook te vinden Tinytronics bv https://www.tinytronics.n...level-converter-4-kanaals

[ Voor 50% gewijzigd door Der Rudi op 08-01-2026 18:59 ]


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 15:11

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
Levelshifter kan ook. Maar van 3v3 is boven de threshold van meeste 5V TTL devices. En bijvoorbeeld Mouser zegt dat het prima is. En dan zou ik ook niet moeilijker doen dan nodig voor signaal terug. 10k en 15k en gaan. Zelfs 2x 10k zal al wel prima werken.

Ik zie overigens ook dat er specifiek 3V3 modellen van de HC-SR04 verkrijgbaar zijn.

  • Driek
  • Registratie: Maart 2002
  • Nu online
Ik zie dat het de 3,3v versie zou moeten zijn. Komt als het goed is morgen binnen. Maakt het een stuk makkelijker

Tijd van werken, tijd van rusten


  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 14:40
RobertMe schreef op woensdag 7 januari 2026 @ 19:17:
Ik probeer ESPHome op mijn (tot nu toe enige) ESP32 S3 bordje te zetten (van Ali, lijkt de devkitm-1 te zijn gaat om een devkitc-1, dubbele USB-C poort etc). Alleen, it no worky. Op web.esphome.io in Chromium kan die niet verbinden en spuugt in de dev console ook "No serial data received" errors.

esptool zelf soort van idem dito:
esptool.py v4.10.0
Serial port /dev/ttyACM0
Connecting....
Detecting chip type... ESP32-S3
Chip is ESP32-S3 (QFN56) (revision v0.2)
Features: WiFi, BLE, Embedded PSRAM 8MB (AP_3v3)
Crystal is 40MHz
MAC: <knip>
Uploading stub...
Running stub...
Stub running...

A fatal error occurred: Unable to verify flash chip connection (No serial data received.).
Gezien die wel kan lezen om welk apparaat het gaat (ESP32-S3 (QFN56)) en een mac adres er uit lepelt zou ik dus zeggen dat er wel iets gebeurd. Maar installeren ho maar.

Ook het indrukken (en al dan niet permanent ingedrukt houden) van de boot knop maakt geen verschil. Noch werkt "de andere" USB-C poort. Met de USB kabel in de "COM" poort (staat onderop het PCB, zijnde de rechter poort) knipperen wel een aantal keren de 2 blauwe LEDs (naast de oranje? power LED) tijdens het "uitlezen" (vooraf aan de "Uploading stub"), maar daarna blijft die dus uit (en duurt het nog even voordat esptool errort). Bij het gebruik van de "USB" poort (de linker dus) gebeurd helemaal niks en blijft de power LED om de X seconden even knipperen (continu aan met een kleine onderbreking naar uit) en blijft "Linux" ook de hele tijd meldingen geven van een nieuw aangesloten USB apparaat.

Het enige dat ik op internet tegen kom is "controleer de USB kabel", maar daarvan heb ik er al twee geprobeerd. Waarvan 1 die van het toetsenbord is, en ik weet "vrij zeker" dat die kabel gewoon werkt :+. Iemand dus een idee wat hier aan de hand kan zijn?
Hierop terugkomende...
offtopic:
Op AliExpress via het message center contact met de shop gehad. Eerst werd om mijn mailsdres gevraagd zodat ze me de documentatie konden sturen. Uberhaupt al "neej", laat staan dat, al dan niet op keyword of eerste bericht, er een waarschuwing onder stond om geen privégegevens (of betaalgegevens) te delen. Vervolgens wat gepingpong verder waarbij ik ook aangaf wat ik dan deed met de vraag of ze me konden aangeven wat dan wel de juiste esptool.py ... write_flash zou zijn. Maar ik moest maar op YouTube kijken dan :X. Vervolgens "net" een refund aangevraagd en binnen volgens mij half uur goedgekeurd. Maar AE wordt er niet duidelijker op (vast bewust).
Verder had ik nog vanalles geprobeerd. Met picocom (/elk prog dat serial kan gebruiken dan) kreeg ik wel mooi een oneindige stroom aan "invalid header" errors, vast omdat die dus leeg was. Bij enablen download mode (boot + reset knoppen dus) stopte die berichten met een bevestiging van het feit dat... (exacte tekst heb ik niet bij de hand).
Ik heb zelfs nog een serial USB kabel aangesloten (op de TX/RX GPIOs dus) om zo misschien "mee te kunnen kijken" wat wel iets van data opleverde bij de USB flash (als in: USB kabel op de COM poort en dus over de serial chip op het bord). Om vervolgens toch een andere (software) route te kiezen waarbij je nogal extreem strace kunt gebruiken om IO te loggen.
Om vervolgens maar eens in de esptool code te neuzen, en weet niet meer hoe, maar liep op een gegeven moment gewoon tegen documentatie aan dat er een --trace flag is :+ esptool.py --trace [port, baud rate, ...] [commando] .... Waarbij natuurlijk ook alles zichtbaar wordt v.w.b. gewone logging in code maar dan logt die dus ook de "ruwe" bytes die die schrijft/leest.

Conclusie is in ieder geval dat er bij gebruik van de stub wel iets van communicatie is. Waarbij de ESP zijn (volgens documentatie) enige bericht op eigen initiatief stuurt "OHAI" (als soort van bevestiging dat de stub geupload is?). Vervolgens stuurt esptool command 0x02 (IIRC) gedocumenteerd als "begin flash", en dan houd het op. Geen reactie, en uiteindelijk een timeout.

Waar ik nog vermoede dat misschien de RX of TX niet aangesloten zou zijn is dat nu dus ook uitgesloten. Gezien niet alleen de download mode bevestiging (de TX werkt), maar ook die "OHAI" die in antwoord op komt. (En nja, het uitlezen van het model + MAC werkte ook, daarvoor zal ook wel tweeweg verkeer met de ESP nodig zijn).

En het "mysterie" van de "USB" poort die de hele tijd aan/uit/aan/uit doet maar soms niet is ook verklaarbaar. In download mode is de USB poort gewoon "verbonden". Als de ESP normaal opstart is die USB poort uiteraard beheerd door de ESP zelf. En de ESP reboot dus continu / in een loop. Waardoor die dus steeds wel/niet beschikbaar is. (Totdat je download mode activeert).

Edit:
Owja, ESPHome topic :+
Ik heb sowieso nog wat producten in mijn Ali mandje waar vast een "nieuwe" ESP32 S3 N16R8 devkit-c-1 bij komt. Maar ik zit ook serieus een nFR52840 te overwegen :o Alhoewel ik niet weet of ik die met ESPHome ga gebruiken. Support staat op experimenteel. En áls ik er echt iets mee ga doen is de kans groot dat het Zigbee wordt.
En waarom? Omdat deze chip schijnbaar veel zuiniger is dan de ESPs (incl dan de ESP32 H2, die al in mijn vorige bestelling zat :+).
Maar ESPHome is mogelijk ook niet lekker in sleep? ESP32 ondersteund twee sleep modes? Waarvan ESPHome alleen deep sleep ondersteund. Maar deep sleep resulteert in een (re)boot oftewel is (erg) traag (lees in combinatie met Thread tot 40 sec na "wakeup" voordat data door komt :X).

En volgens mij had ik hier al geschreven over mogelijk zelf een batterij gevoede brievenbussensor? En nu met 1 Aqara contactsensor onder de klep is het nogal eens dat ik de notificatie krijg van "er is post" terwijl de klep nog dicht moet gaan :+ Zo'n reactietijd is dan wel cool. Zelfbouw om ook een sensor op het deurtje te doen v.w.b. "brievenbus is leeg gemaakt". En misschien doe ik nog wel een load cell onder het roostertje zodat ik weet hoe zwaar de post is :+

[ Voor 11% gewijzigd door RobertMe op 12-01-2026 18:33 ]


  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 03-02 20:02

CDAAbeltje

Cool Down !

CDAAbeltje schreef op donderdag 27 november 2025 @ 23:30:
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!
Ik ben weer een stapje verder met de implementatie van het H-Bridge verhaal. H-Bridge is ESPHome native maar helaas flikkert de verlichting met deze implementatie. LT-Hbridge is een 3 jaar oud alternatief welke ik gisteravond maar eens met ESPHome in een nieuwe 123-LED stekker heb ge-flashed.
Werkend getest op nieuwe Lumineo Icicle Twinkle (IJspegels) welke je aan het huis of dakgoot maakt.
Deze keer zonder enig geflikker van de verlichting! 8)

Verdere uitwerking en opschoning van Github repo's komt er nog aan maar voor nu alvast een kijkje in de keuken:

LT-Hbridge:

code:
1
https://github.com/AbeltjeNL/lt-hbridge/tree/main

  • alex3305
  • Registratie: Januari 2004
  • Laatst online: 04-02 21:56
Ik heb een aantal van de LSC Smart Connect slimme stekkers die na het flashen al tijden verrassend goed werken met ESPHome. Idem trouwens voor ook wat andere apparaten die ik heb en op het Beken platform werken, waaronder LSC en Kruidvat Smart.

Het enige wat mij (enorm) stoort is dat het relais schakelt bij een boot wanneer deze aanstaat. Ik gebruik daarbij de volgende configuratie waarbij ik mijzelf afvraag of het überhaupt mogelijk is om het relais aan te houden bij een boot.

YAML:
1
2
3
4
5
6
switch:
  - platform: gpio
    id: switch_gpio_relay_1
    name: ${friendly_name}
    pin: P8
    restore_mode: RESTORE_DEFAULT_ON

En een van mijn stekkers heeft een brakke power meter erin zitten. Maar dat is voor de prijs niet het einde van de wereld.

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 15:11

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@alex3305 Pin aan houden is nooit te doen op een microcontroller. Dus je kan hoogstens geluk hebben dat een restart snel genoeg gebeurd zodat hij herstelt kan worden. En een Beken lijkt vrij traag te starten, waarschijnlijk door hoe de bootloader werkt die na een boot eerst even gaat kijken of er seriële data is.

  • Lord Anubis
  • Registratie: Juni 2009
  • Laatst online: 04-02 20:17
alex3305 schreef op maandag 19 januari 2026 @ 17:28:

Het enige wat mij (enorm) stoort is dat het relais schakelt bij een boot wanneer deze aanstaat. Ik gebruik daarbij de volgende configuratie waarbij ik mijzelf afvraag of het überhaupt mogelijk is om het relais aan te houden bij een boot.
misschien begrijp ik je verkeerd maar het
lijkt me ongewenst om ongecontroleerd een relais tijdens een boot geschakeld te houden. Wat als je boot of wat dan ook hangt ?
Gebruik dan een relais met nc of no en gebruik een van deze als standaard toestand voor je apparaat.

  • alex3305
  • Registratie: Januari 2004
  • Laatst online: 04-02 21:56
@Lord Anubis Ik denk dat je me niet verkeerd begrijpt :). Ik weet niet precies wat voor relais er in de LSC stekker zit, maar er zijn producten op de markt die 'andersom' werken en dus geschakeld blijven bij een reboot. Als ik het relais uitzet en vervolgens een reboot doet wordt deze namelijk ook niet geschakeld.

@Septillion Dat begrijp ik :). Ik zag wat posts langskomen waarbij mensen op het ESP8266 platform de optie early_pin_init konden zetten waardoor een reboot (of firmware update) dus geen invloed had op de schakeling.

Ik vind het verder ook geen ramp, maar misschien onhandig wanneer bijvoorbeeld het draadloos netwerk er (te) lang uitligt. En dat betekend ook dat ik zo'n stekker niet kan gebruiken voor een aantal apparaten.

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 15:11

Septillion

Moderator Wonen & Mobiliteit
Topicstarter
@alex3305 Zoals de naam ook doet vermoeden is en blijft het gewoon zo snel mogelijk weer de state herstellen na boot. En hopen dat je sneller bent dan het relais afvalt :+

Maar ja, een van mijn grootste hekelpunten met heel ESPHome is hoe het standaard netwerk loss doet. Dat zou voor mij geen reboot moeten geven. Maar ik heb helaas nog steeds geen manier gevonden hoe je AP-mode aan kunt zetten met een actie. Dus voor die keer dat ik het netwerk zou willen wisselen. En volgens de doc heeft de IP stack moeite met herverbinden. Ook al zou dat best wel eens ESP-only kunnen zijn. Dus misschien dat ik reboot_timeout toch maar eens uit ga zetten. Maar blijft dus wel een pijnpunt in ESPHome :/

  • alex3305
  • Registratie: Januari 2004
  • Laatst online: 04-02 21:56
@Septillion Volgens mij hoef ik jou niet te vertellen hoe kritisch ik soms ben O-), dus mij frustreert wel meer aan ESPHome :+.

Tegelijkertijd vind ik het AP mode met Captive Portal niet super vervelend. Eerder had ik problemen dat de verbinding van die krengen soms plots wegviel en ook niet meer terugkwam. Dat was nogal frustrerend omdat een restart van de ESP het wel oploste. Tegelijkertijd was het ook geen echt fraaie oplossing als 's nachts ineens wat (status) LEDs onverwacht aangaan en/of gereset worden :X. Of relais die elke x-minuten geswitcht worden. Blijkbaar is het wel mogelijk om on-demand de AP modus te activeren:

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
wifi:
  id: wificomp

binary_sensor:
  - platform: gpio
    pin: D4
    name: btntest
    filters: 
      - invert:
    on_click:
      - min_length: 2000ms
        max_length: 5000ms
        then:
          - lambda: |-
              id(wificomp).set_ap_timeout(1);
              id(wificomp).disable();
              id(wificomp).clear_sta();
              id(wificomp).enable(); 


Dat heeft er dus voor gezorgd dat ik maanden geleden al mijn ESPHome apparaten heb afgekoppeld en in de kast heb gelegd. Ik had simpelweg geen zin meer in vage issues op ongunstige momenten.

Inmiddels heb ik ook alweer een tijdje nieuwe netwerkapparatuur en wilde ik daarom nogmaals een poging wagen. Ik moet zeggen dat het inmiddels dus ook een stuk stabieler werkt. En wellicht ook door updates aan de kant van ESPHome / ESP-IDF.

Daarop voortbordurend heb ik inmiddels ook een aantal apparaten draaien met ESPHome over Thread. Dat werkt verrassend goed, snel en stabiel. Ook zijn die ESP's ook direct Thread Routers die ik goed kan gebruiken met mijn startend netwerk. Configuratie is eveneens bijzonder eenvoudig door de TLV vanuit Home Assistant in het OpenThread component van ESPHome mee te geven. Eveneens heb ik ook geen gare wifi (antenne) issues meer waar ik eerder in dit topic al eens over schreef.

Het enige wat ik nog niet werkend heb gekregen is OTA updates en logging vanuit ESPHome. ESPHome ziet wel mDNS. ESPHome krijgt zelfs via Router Advertisments netjes de (twee) Thread Border Router(s), maar DNS lookup werkt niet.

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 14:40
alex3305 schreef op maandag 19 januari 2026 @ 21:13:
Het enige wat ik nog niet werkend heb gekregen is OTA updates en logging vanuit ESPHome. ESPHome ziet wel mDNS. ESPHome krijgt zelfs via Router Advertisments netjes de (twee) Thread Border Router(s), maar DNS lookup werkt niet.
Je bedoelt specifiek OTA updates en logging m.b.t. Thread devices? Of in het algemeen (als in: wifi)?

Edit:
En in het algemeen: gebruik je de C6 of H2? (Of zijn er al meer 802.15.4 compatible ESPs?)

[ Voor 10% gewijzigd door RobertMe op 19-01-2026 21:43 ]


  • alex3305
  • Registratie: Januari 2004
  • Laatst online: 04-02 21:56
RobertMe schreef op maandag 19 januari 2026 @ 21:41:
[...]

Je bedoelt specifiek OTA updates en logging m.b.t. Thread devices? Of in het algemeen (als in: wifi)?
Met Thread devices inderdaad. Met wifi werkt het prima.
En in het algemeen: gebruik je de C6 of H2? (Of zijn er al meer 802.15.4 compatible ESPs?)
Allebei :D. Ik heb een aantal DFRobot ESP32-C6 Beetle en toevallig een OEM ESP32-H2 Supermini.

De Beetle had problemen wifi en bijv. een LD2410. Omdat de UART zo dicht op de antenne zit krijg je dan interferentie. Allemaal omheen te werken, maar niet ideaal. Met Thread vooralsnog geen enkel probleem. Vandaar dat ik ook de H2 Supermini had besteld. De C3 Supermini die ik heb zijn nog erger dan de Beetle's, daarbij valt de wifi verbinding na ~9m line of sight gewoon weg. Maar dat lijkt niet bestaand te zijn bij de H2 Supermini en Thread. Waarschijnlijk vanwege de meerdere router(s).

[ Voor 57% gewijzigd door alex3305 op 19-01-2026 21:50 ]


  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 14:40
Nice. In 2026.1 zit ondersteuning voor Zigbee op het nRF52 platform. Waarbij er, blijkbaar, ook is samengewerkt met de developer van de Zigbee custom component voor ESP32 chips. En ook daarvoor ligt er een PR, voor Zigbee support voor esp32 (H2 / C6 dus).

Daarnaast hebben ze in 2026.1 verbeteringen gedaan aan ESP8266 en is er de toezegging dit platform niet meer te "verwaarlozen". Het is uiteraard (te) makkelijk om te wijzen naar "ESP32 is beter gebruik dat". Maar onder de beloften van de Open Home Foundation, waaronder duurzaamheid, willen ze beter waken dat de kwaliteit van in dit geval dan ESP8266 niet achteruit gaat. In de zin van dat de afgelopen jaren er te veel een push was voor nieuwe features / componenten waardoor het te log werd en niet meer (lekker) draaide op de ESP8266 waar oudere versies dat wel deden. Nu moet dat "hersteld" zijn incl dus de toezegging dat de ESP8266 nog langdurig ondersteund zal worden voor in ieder geval bestaande hardware (nieuwe hardware zal de aanbeveling vast wel nog steeds zijn om geen ESP8266 meer te gebruiken omdat er betere opties zijn).

  • BounceMeister
  • Registratie: Maart 2002
  • Niet online
Vaevictis_ schreef op maandag 7 juli 2025 @ 15:37:
[...]


@Septillion Hoe dan? Want dat staat niet bij de documentatie van de sensor component.
Ik heb wel accuracy_decimals gebruikt maar de API stuurt dus de volledige waarde door naar HA.
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
sensor:
  - platform: pulse_counter
    pin: GPIO13
    id: watermeter_pulse
    name: "Water Pulse Counter"
    state_class: total_increasing
    device_class: water
    unit_of_measurement: "liter/min"
    accuracy_decimals: 1
    icon: "mdi:water-pump"
    internal_filter: 50ms
    update_interval: 5s
    
    total:
      name: 'Totaal aantal'
      id: sensor_pulse_meter_total
      unit_of_measurement: "m³"
      state_class: total_increasing
      device_class: water
      accuracy_decimals: 1
      filters:
      - multiply: 0.001
  
  - platform: template
    id: watermeter_pulses
    name: "watermeter pulses totaal"
    state_class: "total_increasing"
    accuracy_decimals: 0
    lambda: return id(total_water_pulses);
Ik heb (weer) problemen met mijn watermeter via esphome. Ik heb inmiddels totaal geen idee meer wat er nou in moet staan, ik begrijp de documentatie niet, deels omdat deze niet wordt bijgewerkt en dus het overgrote deel wat ik online vind, verouderd is en niet werkt. Bij bovenstaande yaml krijg ik de foutmelding:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
INFO ESPHome 2026.1.1
INFO Reading configuration /config/esphome/watermeter.yaml...
Failed config

sensor.template: [source /config/esphome/watermeter.yaml:56]
  platform: template
  id: watermeter_pulses
  name: watermeter pulses totaal
  state_class: total_increasing
  accuracy_decimals: 0
  
  Couldn't find ID 'total_water_pulses'. Please check you have defined an ID with that name in your configuration. These IDs look similar: "watermeter_pulses", "watermeter_pulse".
  lambda: !lambda |-
    return id(total_water_pulses);
  disabled_by_default: False
  force_update: False
  update_interval: 60s
En deze stuur je naar de watermeter via ESPHome Device Builder toch? Of moet dit in configuration.yaml? Ik heb geen idee waarom er overal wat staat.

[ Voor 3% gewijzigd door BounceMeister op 23-01-2026 19:24 ]


  • BounceMeister
  • Registratie: Maart 2002
  • Niet online
CDAAbeltje schreef op dinsdag 2 december 2025 @ 23:01:
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 :)
Ik ga deze eens proberen, de hele boel was in de war nadat ik een tweede device had aangemaakt met esp builder.
Welke device entry heb je gebruikt op het energy dashboard?

  • MJV
  • Registratie: Mei 2003
  • Laatst online: 16:04

MJV

BounceMeister schreef op vrijdag 23 januari 2026 @ 19:18:
[...]

Ik heb (weer) problemen met mijn watermeter via esphome. Ik heb inmiddels totaal geen idee meer wat er nou in moet staan, ik begrijp de documentatie niet, deels omdat deze niet wordt bijgewerkt en dus het overgrote deel wat ik online vind, verouderd is en niet werkt. Bij bovenstaande yaml krijg ik de foutmelding:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
INFO ESPHome 2026.1.1
INFO Reading configuration /config/esphome/watermeter.yaml...
Failed config

sensor.template: [source /config/esphome/watermeter.yaml:56]
  platform: template
  id: watermeter_pulses
  name: watermeter pulses totaal
  state_class: total_increasing
  accuracy_decimals: 0
  
  Couldn't find ID 'total_water_pulses'. Please check you have defined an ID with that name in your configuration. These IDs look similar: "watermeter_pulses", "watermeter_pulse".
  lambda: !lambda |-
    return id(total_water_pulses);
  disabled_by_default: False
  force_update: False
  update_interval: 60s
En deze stuur je naar de watermeter via ESPHome Device Builder toch? Of moet dit in configuration.yaml? Ik heb geen idee waarom er overal wat staat.
Ik heb even niet niet meegelezen dus misschien is jouw esp32 anders dan die van mij (ik gebruik die van pbrink), ik heb alleen dit stukje in mijn esp32-build:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sensor:
  - platform: pulse_meter
    pin: 
      number: GPIO12
    name: "Water Pulse Meter"
    unit_of_measurement: "liter/min"
    icon: "mdi:water"
    total:
      name: "Water Meter Total"
      unit_of_measurement: "m³"
      id: water_meter_total
      accuracy_decimals: 3
      device_class: water
      state_class: total_increasing
      filters:
        - multiply: 0.001
In mijn configuration.yaml staat het volgende stukje:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
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

[ Voor 10% gewijzigd door MJV op 23-01-2026 21:08 ]


  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 03-02 20:02

CDAAbeltje

Cool Down !

BounceMeister schreef op vrijdag 23 januari 2026 @ 19:35:
[...]

Ik ga deze eens proberen, de hele boel was in de war nadat ik een tweede device had aangemaakt met esp builder.
Welke device entry heb je gebruikt op het energy dashboard?
In mijn geval heb ik voor het HA Energy Dashboard gebruikt:
YAML:
1
2
3
4
5
6
7
8
9
10
11
# 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());

  • BounceMeister
  • Registratie: Maart 2002
  • Niet online
MJV schreef op vrijdag 23 januari 2026 @ 21:06:
[...]

Ik heb even niet niet meegelezen dus misschien is jouw esp32 anders dan die van mij (ik gebruik die van pbrink), ik heb alleen dit stukje in mijn esp32-build:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sensor:
  - platform: pulse_meter
    pin: 
      number: GPIO12
    name: "Water Pulse Meter"
    unit_of_measurement: "liter/min"
    icon: "mdi:water"
    total:
      name: "Water Meter Total"
      unit_of_measurement: "m³"
      id: water_meter_total
      accuracy_decimals: 3
      device_class: water
      state_class: total_increasing
      filters:
        - multiply: 0.001
In mijn configuration.yaml staat het volgende stukje:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
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
Ik ben momenteel met deze bezig, ik vraag me af of de "sensor.water_total" in configration.yaml wel bekend is, want die zie ik bij de yaml van esphome niet terug? Hij lijkt ook geen waarde te hebben of krijgen.
CDAAbeltje schreef op vrijdag 23 januari 2026 @ 23:43:
[...]


In mijn geval heb ik voor het HA Energy Dashboard gebruikt:
YAML:
1
2
3
4
5
6
7
8
9
10
11
# 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());
Hier ben ik gisteren mee bezig geweest. Ik durf het bijna niet te vragen, maar ik kan in het HA Energy Dashboard heen YAML code plakken volgens mij? Waar heb je dit staan?

  • Reptile-X
  • Registratie: Oktober 2001
  • Laatst online: 04-02 20:16

Reptile-X

߀ åf®åîÐ!

Vandaag derde CO2 sensor gebouwd met een C3 super mini. ik kan weinig zeggen over hoe accuraat CO₂-metingen zijn, in een goed geventileerde ruimte zakt het tot 420 ppm CO₂.

Wij hebben nu een in de woonkamer en twee in verschillende slaapkamers. De sensor die ik heb gebruikt is een SCD41. Ze zijn niet goedkoop op Aliexpress maar zal wel een dure sensor zijn, 3 sensoren in totaal samen met C3 Super Mini heeft me €63 gekost. Het is toch wel veel goedkoper dan kant en klare sensoren.
Sensor heb ik hier vandaan:
https://nl.aliexpress.com/item/1005005075052056.html
was €19 toen ik het kocht.

Self heating is nog steeds een probleem, maar was goed te krijgen met offset. Ik heb een gecalibreerde Vaisala meter van werk geleend en daarmee offset bepaald. Na 4 uur metingen ziet het er echt goed uit. Metingen in koude en verwarmde ruimte gedaan om zo goed mogelijk te kunnen krijgen. Elke sensor had toch verschillende offsets nodig.

Een voet geprint waarbij USB-C kabel ingeschoven kan worden, connector steekt net genoeg uit om de sensor op te prikken, sensor wordt door de USB-C connector vastgehouden.

Afbeeldingslocatie: https://tweakers.net/i/3oa9P_9jcj9uwKD7JuvEqAh4vyM=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/rReWJSPzvdlLdxSRswYA5JXL.jpg?f=user_large

  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 03-02 20:02

CDAAbeltje

Cool Down !

BounceMeister schreef op zondag 25 januari 2026 @ 13:39:

[...]

Hier ben ik gisteren mee bezig geweest. Ik durf het bijna niet te vragen, maar ik kan in het HA Energy Dashboard heen YAML code plakken volgens mij? Waar heb je dit staan?
De eerder door mij beschreven code staat in de configuratie van de ESPHome node (het ESPHome apparaat).
Als het volledige ESPHome configuratie bestand geldig is dan kun je deze uploaden naar jouw node. Home Assistant zal dan vervolgens de sensoren aanmaken/importeren zodat jij deze betreffende sensor toe kunt voegen aan het Energy Dashboard :)

  • CDAAbeltje
  • Registratie: Maart 2007
  • Laatst online: 03-02 20:02

CDAAbeltje

Cool Down !

CDAAbeltje schreef op dinsdag 2 december 2025 @ 23:01:
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 :)
@BounceMeister zie hier mijn eerder gedeelde configuratie. Hier kom je vast wel mee uit de voeten :)

  • databeestje
  • Registratie: Oktober 2002
  • Laatst online: 04-02 17:15

databeestje

Von PrutsHausen

Niet zeker of dit de juiste plek is, maar hier gaat ie.

Een 4 inch display met ESPHome om de laadpaal om te schakelen van Slim laden naar Zon laden. Deze gaat elke nacht van 2-6 naar slim laden, daarbuiten naar zon laden. Soms hebben we overdag prik nodig en kunnen we deze nu binnen omzetten met een knop op een LCD.

Het is deze: https://devices.esphome.i...3-4.0-inch-smart-display/

Een aantal van de templates hebben vreemde benaming, I know. Deel komt van https://github.com/jtenniswood/esphome-lvgl
Thematisch probeerde ik de knoppen nog een andere kleur te geven voor Checked, maar had met Gemini niet echt succes.

3D Print voor dimmer wandplaat waar het 4 inch scherm in past.
https://www.thingiverse.com/thing:7283457
Ondersteboven printen ;)
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
esphome:
  name: displee
  friendly_name: displee

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "dpMjHsGEaiq34F1Y8x+="

ota:
  - platform: esphome
    password: "assdfsasfsfsf"
    on_begin: # prevent screen flickering during OTA
      - light.turn_off:
          id: display_backlight
          transition_length: 0s
      - lambda: "id(display_backlight).loop();"


esp32:
  variant: esp32s3
  framework:
    type: esp-idf

psram:
  mode: octal
  speed: 80MHz

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

# Snmp Time
time:
  - platform: sntp
    id: sntp_time
    timezone: Europe/Amsterdam
    servers:
     - 0.pool.ntp.org
     - 1.pool.ntp.org
     - 2.pool.ntp.org
    on_time_sync:
      - script.execute: time_update
    on_time:
      - minutes: '*'
        seconds: 0
        then:
          - script.execute: time_update

# Clock
script:
  - id: time_update
    then:
      - lvgl.label.update:
          id: display_time
          text: !lambda |-
            static char time_buf[17];
            auto now = id(sntp_time).now();
            snprintf(time_buf, sizeof(time_buf), "%02d:%02d", now.hour, now.minute);
            return time_buf;

switch:
  - platform: gpio
    name: Relay 1
    pin:
      number: GPIO40
      inverted: true
  - platform: gpio
    name: Relay 2
    pin:
      number: GPIO2
      inverted: true
  - platform: gpio
    name: Relay 3
    pin:
      number: GPIO1
      inverted: true

output:
  - platform: ledc
    id: backlight_output
    pin: GPIO38
    frequency: 150Hz
    min_power: 0.01
    zero_means_zero: true

light:
  - platform: monochromatic
    name: Backlight
    id: display_backlight
    output: backlight_output
    restore_mode: ALWAYS_ON
    default_transition_length: 1s

spi:
  - id: lcd_spi
    clk_pin: GPIO48
    mosi_pin: GPIO47

i2c:
  id: touchscreen_bus
  sda: GPIO19
  scl:
    number: 45
    ignore_strapping_warning: true

display:
  - platform: st7701s
    id: tft_display
    dimensions:
      width: 480
      height: 480
    #    rotation: 270    #uncomment for placement with down-facing USB socket
    spi_mode: MODE3
    data_rate: 2MHz
    color_order: RGB
    invert_colors: False
    cs_pin: 39
    de_pin: 18
    hsync_pin: 16
    vsync_pin: 17
    pclk_pin: 21
    pclk_frequency: 12MHz
    pclk_inverted: False
    hsync_pulse_width: 8
    hsync_front_porch: 10
    hsync_back_porch: 20
    vsync_pulse_width: 8
    vsync_front_porch: 10
    vsync_back_porch: 10
    update_interval: never
    auto_clear_enabled: False
    init_sequence:
      - 1
      - [0xFF, 0x77, 0x01, 0x00, 0x00, 0x10] # CMD2_BKSEL_BK0
      - [0xCD, 0x00] # disable MDT flag
    data_pins:
      red: [11, 12, 13, 14, 0]
      green: [8, 20, 3, 46, 9, 10]
      blue: [4, 5, 6, 7, 15]

touchscreen:
  - platform: gt911
    id: tft_touch
    display: tft_display
#    transform:     #uncomment for placement with down-facing USB socket
#      swap_xy: true
#      mirror_x: true

font:
  - file: "gfonts://Roboto"
    id: roboto17_font
    size: 17
    bpp: 4

  - file: "gfonts://Roboto"
    id: roboto15_font
    size: 15
    bpp: 4

# http://materialdesignicons.com/cdn/7.4.47/

  - file: 'https://github.com/Templarian/MaterialDesign-Webfont/raw/v7.4.47/fonts/materialdesignicons-webfont.ttf'
    id: icon_font
    size: 36
    bpp: 4
    glyphs: [
      "\U000F0335",  # mdi-lightbulb
      "\U000F042B",  # mdi-printer-3d
      "\U000F0D43",  # mdi-air-filter
      "\U000F1051",  # mdi-led-strip-variant
      "\U000F03D7",  # mdi-package-variant-closed
      "\U000F07D6",  # mdi-led-strip
      "\U000F00AC",  # mdi-blinds-closed
      "\U000F1011",  # mdi-blinds-open
      "\U000F1A4C",  # mdi-lightbulb-night
      "\U000F1087",  # mdi-router-network
      "\U000F036B",  # mdi-message-video
      "\U000F0614",  # mdi-application-outline
      "\U000F089E",  # mdi-battery
      "\U000F07DE",  # mdi-filament
      "\U000F0317",  # mdi-lan
      ]

# Map icons to names
substitutions:
  lightbulb:      "\U000F0335"
  printer:        "\U000F042B"
  aircon:         "\U000F0D43"
  ledstrip:       "\U000F1051"
  led_strip_variant: "\U000F1051"
  package:        "\U000F03D7"
  lights:         "\U000F07D6"
  blinds_closed:  "\U000F00AC"
  blinds_open:    "\U000F1011"
  nightlight:     "\U000F1A4C"
  network:        "\U000F1087"
  videocall:      "\U000F036B"
  application:    "\U000F0614"
  battery:        "\U000F089E"
  filament:       "\U000F07DE"
  lan:            "\U000F0317"
  icon_font: icon_font
  text_font: roboto17_font
  button_on_color: "0xFF8C00"
  button_text_color: "0xFFFFFF"
  button_control_color: "0x313131"
  button_webhook_color: "0x212121"
  button_height_single: 103px
  button_height_double: 216px
  button_width: 150px
  padding: 12px
  radius: 8px
  slider_background_color: "0x505050"
  slider_active_color: "0x2D2D2D"
  slider_knob_color: "0xE5E5E5"

sensor:
  # Header Outdoor Temperate
  - platform: homeassistant
    entity_id: sensor.overkapping_overkapping_temperature
    id: outdoor_temperature
    on_value:
      - lvgl.label.update:
          id: temperatures
          text:
            format: "%d° / %d°"
            args: [ '(int)round(id(office_temperature).state)', '(int)round(x)' ]

  - platform: homeassistant
    entity_id: sensor.ecodan_heatpump_zone_1_ruimte_temp
    id: office_temperature
    on_value:
      - lvgl.label.update:
          id: temperatures
          text:
            format: "%d° / %d°"
            args: [ '(int)round(x)', '(int)round(id(outdoor_temperature).state)' ]

text_sensor:
  - platform: homeassistant
    id: charger_mode_ha
    entity_id: select.peblar_ev_charger_slim_laden
    on_value:
      then:
        - lvgl.widget.update:
                id: btn_pure_solar
                state:
                  checked: !lambda 'return x == "pure_solar";'
        - lvgl.widget.update:
            id: btn_default
            state:
              checked: !lambda 'return x == "default";'

binary_sensor:
  # Office Storage Lights
  - platform: homeassistant
    id: office_storage_lights
    entity_id: switch.shellyplusplugs_08f9e0fee554_switch_0
    trigger_on_initial_state: true
    on_state:
      then:
        lvgl.widget.update:
          id: storage_lights_button
          state:
            checked: !lambda return x;

  # Battery Charger
  - platform: homeassistant
    id: office_battery_charger
    entity_id: switch.shellyplusplugs_fcb4672587a4_switch_0
    trigger_on_initial_state: true
    on_state:
      then:
        lvgl.widget.update:
          id: battery_charger_button
          state:
            checked: !lambda return x;



lvgl:
  style_definitions:
    - id: webhook
      bg_color: $button_webhook_color

    - id: control
      bg_color: $button_control_color
    - id: roboto15_style
      text_font: roboto15_font
  theme:
    button:
      text_font: $text_font
      scroll_on_focus: false
      radius: $radius
      width: $button_width
      height: $button_height_single
      pad_all: $padding
      shadow_width: 0
      text_color: $button_text_color
      checked:
        bg_color: $button_on_color
        text_color: $button_text_color
  top_layer:
    widgets:   
      # Temperature
      - label:
          text: "-° / -°"
          id: temperatures
          styles: roboto15_style
          align: top_left
          x: 8
          y: 4
          text_color: 0xFFFFFF

      # Clock
      - label:
          text: "--:--"
          id: display_time
          styles: roboto15_style
          align: top_mid
          x: 0
          y: 4
          text_align: center
          text_color: 0xFFFFFF
          
  pages:
    - id: main_page
      layout: 
        type: flex
        flex_flow: row_wrap
      scrollbar_mode: "off"
      width: 100%
      bg_color: Black
      bg_opa: cover
      pad_top: 30
      pad_bottom: 5
      pad_left: 5
      pad_right: 5
      
      widgets:
        # --- BUTTON 1: PURE SOLAR ---
        - button:
            id: btn_pure_solar
            width: 45%
            height: 80
            widgets:
              - label: { text: "Zon laden" }
            bg_color: !lambda |-
              return (id(charger_mode_ha).state == "pure_solar") ? lv_color_make(0, 200, 0) : lv_color_make(60, 60, 60);
            #styles: style_pure_solar # Points to the yellow style above
            on_click:
              - homeassistant.service:
                  service: select.select_option
                  data:
                    entity_id: select.peblar_ev_charger_slim_laden
                    option: "pure_solar"

        # --- BUTTON 2: DEFAULT ---
        - button:
            id: btn_default
            width: 45%
            height: 80
            widgets:
              - label: { text: "Normaal laden" }
            bg_color: !lambda |-
              return (id(charger_mode_ha).state == "default") ? lv_color_make(0, 120, 255) : lv_color_make(60, 60, 60);
            #styles: style_default_laden # Points to the yellow style above
            on_click:
              - homeassistant.service:
                  service: select.select_option
                  data:
                    entity_id: select.peblar_ev_charger_slim_laden
                    option: "default"

        # Storage Lights
        - button: 
            height: $button_height_single
            width: $button_width
            checkable: true
            id: storage_lights_button
            styles: control
            widgets:
              - label:
                  text_font: $icon_font
                  align: top_left
                  id: storage_lights_icon
                  text: $package
              - label:
                  align: bottom_left
                  id: storage_lights_label
                  text: "Vitrinekast"
            on_click:
              - homeassistant.service:
                  service: switch.toggle
                  data:
                    entity_id: switch.shellyplusplugs_08f9e0fee554_switch_0

        # Battery Charger
        - button: 
            height: $button_height_single
            width: $button_width
            checkable: true
            id: battery_charger_button
            styles: control
            widgets:
              - label:
                  text_font: $icon_font
                  align: top_left
                  id: battery_charger_icon
                  text: $battery
              - label:
                  align: bottom_left
                  id: battery_charger_label
                  text: "Kerstboom"
            on_click:
              - homeassistant.service:
                  service: switch.toggle
                  data:
                    entity_id: switch.shellyplusplugs_fcb4672587a4_switch_0

  • manusjevanalles
  • Registratie: Januari 2009
  • Laatst online: 16:10
databeestje schreef op woensdag 28 januari 2026 @ 15:43:
Niet zeker of dit de juiste plek is, maar hier gaat ie.

Een 4 inch display met ESPHome om de laadpaal om te schakelen van Slim laden naar Zon laden. Deze gaat elke nacht van 2-6 naar slim laden, daarbuiten naar zon laden. Soms hebben we overdag prik nodig en kunnen we deze nu binnen omzetten met een knop op een LCD.

Het is deze: https://devices.esphome.i...3-4.0-inch-smart-display/

Een aantal van de templates hebben vreemde benaming, I know. Deel komt van https://github.com/jtenniswood/esphome-lvgl
Thematisch probeerde ik de knoppen nog een andere kleur te geven voor Checked, maar had met Gemini niet echt succes.

3D Print voor dimmer wandplaat waar het 4 inch scherm in past.
https://www.thingiverse.com/thing:7283457
Ondersteboven printen ;)
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
esphome:
  name: displee
  friendly_name: displee

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "dpMjHsGEaiq34F1Y8x+="

ota:
  - platform: esphome
    password: "assdfsasfsfsf"
    on_begin: # prevent screen flickering during OTA
      - light.turn_off:
          id: display_backlight
          transition_length: 0s
      - lambda: "id(display_backlight).loop();"


esp32:
  variant: esp32s3
  framework:
    type: esp-idf

psram:
  mode: octal
  speed: 80MHz

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

# Snmp Time
time:
  - platform: sntp
    id: sntp_time
    timezone: Europe/Amsterdam
    servers:
     - 0.pool.ntp.org
     - 1.pool.ntp.org
     - 2.pool.ntp.org
    on_time_sync:
      - script.execute: time_update
    on_time:
      - minutes: '*'
        seconds: 0
        then:
          - script.execute: time_update

# Clock
script:
  - id: time_update
    then:
      - lvgl.label.update:
          id: display_time
          text: !lambda |-
            static char time_buf[17];
            auto now = id(sntp_time).now();
            snprintf(time_buf, sizeof(time_buf), "%02d:%02d", now.hour, now.minute);
            return time_buf;

switch:
  - platform: gpio
    name: Relay 1
    pin:
      number: GPIO40
      inverted: true
  - platform: gpio
    name: Relay 2
    pin:
      number: GPIO2
      inverted: true
  - platform: gpio
    name: Relay 3
    pin:
      number: GPIO1
      inverted: true

output:
  - platform: ledc
    id: backlight_output
    pin: GPIO38
    frequency: 150Hz
    min_power: 0.01
    zero_means_zero: true

light:
  - platform: monochromatic
    name: Backlight
    id: display_backlight
    output: backlight_output
    restore_mode: ALWAYS_ON
    default_transition_length: 1s

spi:
  - id: lcd_spi
    clk_pin: GPIO48
    mosi_pin: GPIO47

i2c:
  id: touchscreen_bus
  sda: GPIO19
  scl:
    number: 45
    ignore_strapping_warning: true

display:
  - platform: st7701s
    id: tft_display
    dimensions:
      width: 480
      height: 480
    #    rotation: 270    #uncomment for placement with down-facing USB socket
    spi_mode: MODE3
    data_rate: 2MHz
    color_order: RGB
    invert_colors: False
    cs_pin: 39
    de_pin: 18
    hsync_pin: 16
    vsync_pin: 17
    pclk_pin: 21
    pclk_frequency: 12MHz
    pclk_inverted: False
    hsync_pulse_width: 8
    hsync_front_porch: 10
    hsync_back_porch: 20
    vsync_pulse_width: 8
    vsync_front_porch: 10
    vsync_back_porch: 10
    update_interval: never
    auto_clear_enabled: False
    init_sequence:
      - 1
      - [0xFF, 0x77, 0x01, 0x00, 0x00, 0x10] # CMD2_BKSEL_BK0
      - [0xCD, 0x00] # disable MDT flag
    data_pins:
      red: [11, 12, 13, 14, 0]
      green: [8, 20, 3, 46, 9, 10]
      blue: [4, 5, 6, 7, 15]

touchscreen:
  - platform: gt911
    id: tft_touch
    display: tft_display
#    transform:     #uncomment for placement with down-facing USB socket
#      swap_xy: true
#      mirror_x: true

font:
  - file: "gfonts://Roboto"
    id: roboto17_font
    size: 17
    bpp: 4

  - file: "gfonts://Roboto"
    id: roboto15_font
    size: 15
    bpp: 4

# http://materialdesignicons.com/cdn/7.4.47/

  - file: 'https://github.com/Templarian/MaterialDesign-Webfont/raw/v7.4.47/fonts/materialdesignicons-webfont.ttf'
    id: icon_font
    size: 36
    bpp: 4
    glyphs: [
      "\U000F0335",  # mdi-lightbulb
      "\U000F042B",  # mdi-printer-3d
      "\U000F0D43",  # mdi-air-filter
      "\U000F1051",  # mdi-led-strip-variant
      "\U000F03D7",  # mdi-package-variant-closed
      "\U000F07D6",  # mdi-led-strip
      "\U000F00AC",  # mdi-blinds-closed
      "\U000F1011",  # mdi-blinds-open
      "\U000F1A4C",  # mdi-lightbulb-night
      "\U000F1087",  # mdi-router-network
      "\U000F036B",  # mdi-message-video
      "\U000F0614",  # mdi-application-outline
      "\U000F089E",  # mdi-battery
      "\U000F07DE",  # mdi-filament
      "\U000F0317",  # mdi-lan
      ]

# Map icons to names
substitutions:
  lightbulb:      "\U000F0335"
  printer:        "\U000F042B"
  aircon:         "\U000F0D43"
  ledstrip:       "\U000F1051"
  led_strip_variant: "\U000F1051"
  package:        "\U000F03D7"
  lights:         "\U000F07D6"
  blinds_closed:  "\U000F00AC"
  blinds_open:    "\U000F1011"
  nightlight:     "\U000F1A4C"
  network:        "\U000F1087"
  videocall:      "\U000F036B"
  application:    "\U000F0614"
  battery:        "\U000F089E"
  filament:       "\U000F07DE"
  lan:            "\U000F0317"
  icon_font: icon_font
  text_font: roboto17_font
  button_on_color: "0xFF8C00"
  button_text_color: "0xFFFFFF"
  button_control_color: "0x313131"
  button_webhook_color: "0x212121"
  button_height_single: 103px
  button_height_double: 216px
  button_width: 150px
  padding: 12px
  radius: 8px
  slider_background_color: "0x505050"
  slider_active_color: "0x2D2D2D"
  slider_knob_color: "0xE5E5E5"

sensor:
  # Header Outdoor Temperate
  - platform: homeassistant
    entity_id: sensor.overkapping_overkapping_temperature
    id: outdoor_temperature
    on_value:
      - lvgl.label.update:
          id: temperatures
          text:
            format: "%d° / %d°"
            args: [ '(int)round(id(office_temperature).state)', '(int)round(x)' ]

  - platform: homeassistant
    entity_id: sensor.ecodan_heatpump_zone_1_ruimte_temp
    id: office_temperature
    on_value:
      - lvgl.label.update:
          id: temperatures
          text:
            format: "%d° / %d°"
            args: [ '(int)round(x)', '(int)round(id(outdoor_temperature).state)' ]

text_sensor:
  - platform: homeassistant
    id: charger_mode_ha
    entity_id: select.peblar_ev_charger_slim_laden
    on_value:
      then:
        - lvgl.widget.update:
                id: btn_pure_solar
                state:
                  checked: !lambda 'return x == "pure_solar";'
        - lvgl.widget.update:
            id: btn_default
            state:
              checked: !lambda 'return x == "default";'

binary_sensor:
  # Office Storage Lights
  - platform: homeassistant
    id: office_storage_lights
    entity_id: switch.shellyplusplugs_08f9e0fee554_switch_0
    trigger_on_initial_state: true
    on_state:
      then:
        lvgl.widget.update:
          id: storage_lights_button
          state:
            checked: !lambda return x;

  # Battery Charger
  - platform: homeassistant
    id: office_battery_charger
    entity_id: switch.shellyplusplugs_fcb4672587a4_switch_0
    trigger_on_initial_state: true
    on_state:
      then:
        lvgl.widget.update:
          id: battery_charger_button
          state:
            checked: !lambda return x;



lvgl:
  style_definitions:
    - id: webhook
      bg_color: $button_webhook_color

    - id: control
      bg_color: $button_control_color
    - id: roboto15_style
      text_font: roboto15_font
  theme:
    button:
      text_font: $text_font
      scroll_on_focus: false
      radius: $radius
      width: $button_width
      height: $button_height_single
      pad_all: $padding
      shadow_width: 0
      text_color: $button_text_color
      checked:
        bg_color: $button_on_color
        text_color: $button_text_color
  top_layer:
    widgets:   
      # Temperature
      - label:
          text: "-° / -°"
          id: temperatures
          styles: roboto15_style
          align: top_left
          x: 8
          y: 4
          text_color: 0xFFFFFF

      # Clock
      - label:
          text: "--:--"
          id: display_time
          styles: roboto15_style
          align: top_mid
          x: 0
          y: 4
          text_align: center
          text_color: 0xFFFFFF
          
  pages:
    - id: main_page
      layout: 
        type: flex
        flex_flow: row_wrap
      scrollbar_mode: "off"
      width: 100%
      bg_color: Black
      bg_opa: cover
      pad_top: 30
      pad_bottom: 5
      pad_left: 5
      pad_right: 5
      
      widgets:
        # --- BUTTON 1: PURE SOLAR ---
        - button:
            id: btn_pure_solar
            width: 45%
            height: 80
            widgets:
              - label: { text: "Zon laden" }
            bg_color: !lambda |-
              return (id(charger_mode_ha).state == "pure_solar") ? lv_color_make(0, 200, 0) : lv_color_make(60, 60, 60);
            #styles: style_pure_solar # Points to the yellow style above
            on_click:
              - homeassistant.service:
                  service: select.select_option
                  data:
                    entity_id: select.peblar_ev_charger_slim_laden
                    option: "pure_solar"

        # --- BUTTON 2: DEFAULT ---
        - button:
            id: btn_default
            width: 45%
            height: 80
            widgets:
              - label: { text: "Normaal laden" }
            bg_color: !lambda |-
              return (id(charger_mode_ha).state == "default") ? lv_color_make(0, 120, 255) : lv_color_make(60, 60, 60);
            #styles: style_default_laden # Points to the yellow style above
            on_click:
              - homeassistant.service:
                  service: select.select_option
                  data:
                    entity_id: select.peblar_ev_charger_slim_laden
                    option: "default"

        # Storage Lights
        - button: 
            height: $button_height_single
            width: $button_width
            checkable: true
            id: storage_lights_button
            styles: control
            widgets:
              - label:
                  text_font: $icon_font
                  align: top_left
                  id: storage_lights_icon
                  text: $package
              - label:
                  align: bottom_left
                  id: storage_lights_label
                  text: "Vitrinekast"
            on_click:
              - homeassistant.service:
                  service: switch.toggle
                  data:
                    entity_id: switch.shellyplusplugs_08f9e0fee554_switch_0

        # Battery Charger
        - button: 
            height: $button_height_single
            width: $button_width
            checkable: true
            id: battery_charger_button
            styles: control
            widgets:
              - label:
                  text_font: $icon_font
                  align: top_left
                  id: battery_charger_icon
                  text: $battery
              - label:
                  align: bottom_left
                  id: battery_charger_label
                  text: "Kerstboom"
            on_click:
              - homeassistant.service:
                  service: switch.toggle
                  data:
                    entity_id: switch.shellyplusplugs_fcb4672587a4_switch_0
Nice, ben ook wel benieuwd naar een foto hoe het geheel eruit ziet.

☀️ 6440 Wp zuid | 🌡️ Stiebel Eltron WPL 15 ACS, HM Trend | Home Assistant


  • databeestje
  • Registratie: Oktober 2002
  • Laatst online: 04-02 17:15

databeestje

Von PrutsHausen

manusjevanalles schreef op woensdag 28 januari 2026 @ 16:06:
[...]


Nice, ben ook wel benieuwd naar een foto hoe het geheel eruit ziet.
Afbeeldingslocatie: https://tweakers.net/i/mUIgLr8Q5zfJNRzcZ4M8nwwgI68=/x800/filters:strip_icc():strip_exif()/f/image/djqHX7VzoniXZQnfHe0OMFsF.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/rtxFR8MVFIa-CM-BmZOT-P6DfAk=/x800/filters:strip_icc():strip_exif()/f/image/jOGPOYh2A2930Fo3RbLjcdED.jpg?f=fotoalbum_large

  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 14:40
Ik zit nog steeds een beetje te rommelen om een muziek speler / smart speaker te maken, maar loop nogal (snel :P) vast.

Met een ESP32 (oud ding dus, zonder toevoeging) krijg ik met Arduino framework audio uit mijn MAX98357A. Switch ik naar esp-idf errort die met een not supported achtige melding. Voeg ik psram: toe dan errort die met een no memory error en bij boot ook dat er helemaal geen psram is. Op een ESP32-S3 (devkit-c-1 N16R8) met 16MB flash en 8MB psram krijg ik noch met arduino noch met esp-idf audio er uit. Geen errors (als ik psram.mode: octal gebruik), maar ook geen geluid.
Mijn config is nu als volgt:
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
substitutions:
  name: "music"
  friendly_name: music

esphome:
  name: music
  friendly_name: music
  name_add_mac_suffix: false

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: esp-idf
    sdkconfig_options:
      CONFIG_MBEDTLS_SSL_PROTO_TLS1_3: 'y'

logger:
  level: VERY_VERBOSE

api:

ota:
- platform: esphome

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

psram:
  mode: octal

web_server:

i2s_audio:
  - id: i2s_out
    i2s_bclk_pin: GPIO09
    i2s_lrclk_pin: GPIO08

speaker:
  - platform: i2s_audio
    dac_type: external
    i2s_audio_id: i2s_out
    i2s_dout_pin: GPIO10
    id: spkr
    sample_rate: 48000
  - platform: mixer
    id: mixer_spkr
    output_speaker: spkr
    source_speakers: 
      - id: announcement_spkr_mixer_input
      - id: media_spkr_mixer_input
  - platform: resampler
    id: media_spkr_resampling_input
    output_speaker: media_spkr_mixer_input
  - platform: resampler
    id: announcement_spkr_resampling_input
    output_speaker: announcement_spkr_mixer_input

media_player:
  - platform: speaker
    name: ESPHome I2S Media Player
    id: media_plyr
    media_pipeline: 
      speaker: media_spkr_resampling_input
      num_channels: 2
      format: NONE
    announcement_pipeline: 
      speaker: announcement_spkr_resampling_input
      num_channels: 1
En de logging vanaf de "play" in HA:
[20:54:51.887][VV][api.service:016]: on_media_player_command_request: MediaPlayerCommandRequest {
[20:54:51.887][VV][api.service:016]: key: 3210548230
[20:54:51.888][VV][api.service:016]: has_command: NO
[20:54:51.889][VV][api.service:016]: command: MEDIA_PLAYER_COMMAND_PLAY
[20:54:51.889][VV][api.service:016]: has_volume: NO
[20:54:51.889][VV][api.service:016]: volume: 0
[20:54:51.890][VV][api.service:016]: has_media_url: YES
[20:54:51.892][VV][api.service:016]: media_url: 'https://playerservices.streamtheworld.com/api/livestream-redirect/RADIO538.mp3?u'
[20:54:51.892][VV][api.service:016]: has_announcement: NO
[20:54:51.893][VV][api.service:016]: announcement: NO
[20:54:51.893][VV][api.service:016]: }
[20:54:51.895][D][media_player:084]: 'ESPHome I2S Media Player' - Setting
[20:54:51.897][D][media_player:091]: Media URL: https://playerservices.st...eam-redirect/RADIO538.mp3
[20:54:51.901][D][speaker_media_player:410]: State changed to PLAYING
[20:54:52.012][VV][api.service:012]: send_message media_player_state_response: MediaPlayerStateResponse {
[20:54:52.012][VV][api.service:012]: key: 3210548230
[20:54:52.013][VV][api.service:012]: state: MEDIA_PLAYER_STATE_PLAYING
[20:54:52.013][VV][api.service:012]: volume: 1
[20:54:52.014][VV][api.service:012]: muted: NO
[20:54:52.014][VV][api.service:012]: }
[20:54:55.098][VV][app:499]: logger loop enabled from ISR
[20:54:55.101][D][speaker_media_player.pipeline:114]: Reading MP3 file type
[20:54:55.105][D][ring_buffer:034][med_read]: Created ring buffer with size 1000000
[20:54:55.122][VV][component:302]: logger loop disabled
[20:54:55.334][D][speaker_media_player.pipeline:124]: Decoded audio has 2 channels, 44100 Hz sample rate, and 16 bits per sample
[20:54:55.440][D][ring_buffer:034]: Created ring buffer with size 19200
[20:54:55.448][D][resampler_speaker:064]: Starting resampler task
[20:54:55.454][D][resampler_speaker:085]: Started resampler task
[20:54:55.462][VV][app:499]: logger loop enabled from ISR
[20:54:55.469][D][speaker_mixer:317]: Starting speaker mixer
[20:54:55.480][D][speaker_mixer:325]: Started speaker mixer
[20:54:55.489][D][ring_buffer:034][sample]: Created ring buffer with size 17640
[20:54:55.510][D][ring_buffer:034][speaker_task]: Created ring buffer with size 48000
[20:54:55.518][D][i2s_audio.speaker:102]: Starting
[20:54:55.524][D][i2s_audio.speaker:106]: Started
[20:54:55.530][VV][component:302]: logger loop disabled
[small]Klein opvallend dingetje is de [mono]?u] op het eind van de URL in de logging van de "MediaPlayerCommandRequest", deze staat niet in de (HA) service call noch in de logging van de media_player component. Daarnaast, for better or for worse, als ik format: NONE weg haal in de ESPHome config dan gebruikt die een URL naar de HA instance (/ffmpeg_proxy/....), en deze URL kan ik prima openen / afspelen op mijn PC dus die transcode / proxy werkt prima (en maakt er een flac van die dus zou moeten werken).
Daarnaast heb ik ook al meerdere pinnen geprobeerd, dus het is geen slechte verbinding in het (eigen) soldeerwerk en zonder stroom er op ook al de multimeter er aan gehouden, alhoewel dat natuurlijk meer zegt over de kabel dan de daadwerkelijke soldeerbinding gezien het meten aan de bovenkant van de pin/soldeer wat niks zegt over of het soldeer ook met het PCB verbind. En de DAC werkt dus bewezen want op de ESP32 werkt die wel (incl. zelfde dupont kabel).

Heeft iemand dus een idee wat hier mogelijk mis zou kunnen gaan?

Edit:
De hele mixer + resampler(s) er uit gegooid en vervolgens ook bij de media player de media_pipeline er uit en de announcement_pipeline (verplicht) rechtstreeks aan de spkr speaker gehangen. Als ik dan een tts.speak doe werkt het nog (steeds) niet. Dus het lijkt ook niet in de mixer/resampler te zitten.

  • chaoscontrol
  • Registratie: Juli 2005
  • Laatst online: 14:55
RobertMe schreef op zondag 1 februari 2026 @ 22:21:
Ik zit nog steeds een beetje te rommelen om een muziek speler / smart speaker te maken, maar loop nogal (snel :P) vast.

Met een ESP32 (oud ding dus, zonder toevoeging) krijg ik met Arduino framework audio uit mijn MAX98357A. Switch ik naar esp-idf errort die met een not supported achtige melding. Voeg ik psram: toe dan errort die met een no memory error en bij boot ook dat er helemaal geen psram is. Op een ESP32-S3 (devkit-c-1 N16R8) met 16MB flash en 8MB psram krijg ik noch met arduino noch met esp-idf audio er uit. Geen errors (als ik psram.mode: octal gebruik), maar ook geen geluid.
Mijn config is nu als volgt:
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
substitutions:
  name: "music"
  friendly_name: music

esphome:
  name: music
  friendly_name: music
  name_add_mac_suffix: false

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: esp-idf
    sdkconfig_options:
      CONFIG_MBEDTLS_SSL_PROTO_TLS1_3: 'y'

logger:
  level: VERY_VERBOSE

api:

ota:
- platform: esphome

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

psram:
  mode: octal

web_server:

i2s_audio:
  - id: i2s_out
    i2s_bclk_pin: GPIO09
    i2s_lrclk_pin: GPIO08

speaker:
  - platform: i2s_audio
    dac_type: external
    i2s_audio_id: i2s_out
    i2s_dout_pin: GPIO10
    id: spkr
    sample_rate: 48000
  - platform: mixer
    id: mixer_spkr
    output_speaker: spkr
    source_speakers: 
      - id: announcement_spkr_mixer_input
      - id: media_spkr_mixer_input
  - platform: resampler
    id: media_spkr_resampling_input
    output_speaker: media_spkr_mixer_input
  - platform: resampler
    id: announcement_spkr_resampling_input
    output_speaker: announcement_spkr_mixer_input

media_player:
  - platform: speaker
    name: ESPHome I2S Media Player
    id: media_plyr
    media_pipeline: 
      speaker: media_spkr_resampling_input
      num_channels: 2
      format: NONE
    announcement_pipeline: 
      speaker: announcement_spkr_resampling_input
      num_channels: 1
En de logging vanaf de "play" in HA:

[...]

[small]Klein opvallend dingetje is de [mono]?u] op het eind van de URL in de logging van de "MediaPlayerCommandRequest", deze staat niet in de (HA) service call noch in de logging van de media_player component. Daarnaast, for better or for worse, als ik format: NONE weg haal in de ESPHome config dan gebruikt die een URL naar de HA instance (/ffmpeg_proxy/....), en deze URL kan ik prima openen / afspelen op mijn PC dus die transcode / proxy werkt prima (en maakt er een flac van die dus zou moeten werken).
Daarnaast heb ik ook al meerdere pinnen geprobeerd, dus het is geen slechte verbinding in het (eigen) soldeerwerk en zonder stroom er op ook al de multimeter er aan gehouden, alhoewel dat natuurlijk meer zegt over de kabel dan de daadwerkelijke soldeerbinding gezien het meten aan de bovenkant van de pin/soldeer wat niks zegt over of het soldeer ook met het PCB verbind. En de DAC werkt dus bewezen want op de ESP32 werkt die wel (incl. zelfde dupont kabel).

Heeft iemand dus een idee wat hier mogelijk mis zou kunnen gaan?

Edit:
De hele mixer + resampler(s) er uit gegooid en vervolgens ook bij de media player de media_pipeline er uit en de announcement_pipeline (verplicht) rechtstreeks aan de spkr speaker gehangen. Als ik dan een tts.speak doe werkt het nog (steeds) niet. Dus het lijkt ook niet in de mixer/resampler te zitten.
Probeer eens andere gpio, volgens mij is gpio8 een strapping pin op de s3. Probeer eens io4 en io5 voor i2c.

Inventaris - Koop mijn meuk!


  • RobertMe
  • Registratie: Maart 2009
  • Laatst online: 14:40
chaoscontrol schreef op maandag 2 februari 2026 @ 09:00:
[...]

Probeer eens andere gpio, volgens mij is gpio8 een strapping pin op de s3. Probeer eens io4 en io5 voor i2c.
Ik had ook al 12, 13, 14 geprobeerd zonder succes.
Vanmorgen kwam ik op Reddit nog een voorbeeld tegen: https://www.reddit.com/r/...ice_to_turn_any_existing/ / https://github.com/rgnyld...ance-media-player-v2.yaml . Vanavond dus eens vergelijken en zijn pins gebruiken die dus sowieso zouden moeten werken dan (ook gezien ook daar de devkit-c-1 gebruikt wordt).
Pagina: 1 ... 13 14 Laatste

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