• breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
Mede-auteur:
  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online

AUijtdehaag

Mitsubishi warmtepomp besturen met procon, ESPhome

Dit topic gaat over het besturen en uitlezen van je Mitsubishi warmtepomp met behulp van een procon A1M melcobems mini in combinatie met een ESP32 en ESPhome. Niet dat we andere besturingen willen uitsluiten maar de ESP32 methode is lekker toegankelijk en momenteel het meest gebruikt. Daardoor is het makkelijker om in dit topic de laatste wijzigingen bij te houden en samen verder te ontwikkelen.

Daar ESPhome wordt gebruikt sluit dit ook heel goed aan op het gebruik van Home Assistant. Ook code die de weergave en besturing in Home Assistant regelt is welkom zodat we van elkaar kunnen jatten leren.
Informatie over de Mitsubishi warmtepompen
Dit topic is mede ontstaan om verdere vervuiling van het Mitsubishi Electric Ecodan Lucht/Water Warmtepompen te voorkomen. In dat topic kan je alle informatie vinden over- en vragen kwijt over de interne regelingen van de warmtepomp, het gedrag, stooklijnen, etc.
Procon aansluiten op je warmtepomp en via wifi naar HA
Hier heeft @DaWizza een heel duidelijk stuk over geschreven in bovengenoemd topic. Daar verwijzen we dan ook graag naar: DaWizza in "Mitsubishi Electric Ecodan Lucht/Water Warmtepompen". De officiële Mitsubishi handleiding staat hier. Mocht na het aansluiten de boel niet correct werken dan zou het kunnen dat je MAX485 defect is. Dat is iets wat vaker voorkomt. Ook als je rare resultaten lijkt te krijgen (verschoven registers) dan kan dit het euvel zijn.
Verkrijgbaarheid procon
Een Procon A1M melcobems mini wordt vaak op ebay.co.uk aangeboden. Kies voor een Procon A1M melcobems mini versie en niet de Procon A1M. Er zijn meldingen geweest waarbij de A1M niet goed werkte.
Probeer ook te kijken of er een afbeelding is met de firmware versie (staat vaak op het boekje).
Helaas is de procon niet altijd verkrijgbaar. Het kan zo maar zijn dat je een paar weken tot maanden moet rondneuzen op ebay alvorens er een te vinden. Hou rekening met inklaringskosten als je het uit de UK (of een ander niet-EU land) koopt.
Updaten procon
Draait de door jouw verkregen procon nog een oude firmware? In Remco45 in "Mitsubishi Electric Ecodan Lucht/Water Warmtepompen" staat uitgelegd hoe je die kan updaten.

De ESPhome code

Met dank aan onder andere @Chronos en @AUijtdehaag voor het schrijven.
Let op: de eerste stukken van de code moeten aangepast worden op het door jou gebruikte ESP bordje, aangesloten pinnen en wifi wensen.

Wil je zelf aan de slag met doorontwikkelen dan staan alle registers hier beschreven. De Engelstalige versie is hier te vinden. Let op, je zult ook met hexadecimale getallen aan de slag moeten, een handige tool daarvoor is bijvoorbeeld https://www.rapidtables.c...umber/decimal-to-hex.html.

De basic code wordt vanaf nu bijgehouden op github:
https://github.com/clandmeter/esphome/tree/main/ecodan

Geef eventuele verbeteringen of suggesties door in dit topic of direct op github.

Een aantal zaken kan je nog zelf aanpassen ten opzichte van de standaardcode. Zo gebruikt niet iedereen bijvoorbeeld twee zones. Door middel van een # voor de regel kan je die delen van de code die je niet gebruikt uitschakelen. Een andere optie is hoe je de temperatuur in de interface graag instelt: dat kan met een schuifje of met een vakje met up- en down pijltjes. Als je de een of de ander wilt forceren kan dat: Defines how the number should be displayed in the UI. It's recommended to use the default auto. Can be box or slider to force a display mode.
ESPhome webinterface
In de webinterface van je ESP kan je alle uitlezen en instellen:
In Home Assistant
Na opnemen van je ESP in Home Assistant krijg je dan de beschikking over dezelfde sensoren en opties:

[Voor 92% gewijzigd door breinonline op 09-02-2023 06:45. Reden: link naar github toegevoegd]

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.

Goed initiatief! Tip (Dank @Proton_ ): Je kunt dat hele lange codeblok een stuk korter maken (en de post dus veel beter leesbaar) door er (ook) quote tags omheen te zetten.
Ik heb dit topic ook gelinkt vanaf de post in het Ecodan topic over monitoring en besturing op afstand, zodat alles netjes gevonden wordt: Andrehj in "Mitsubishi Electric Ecodan Lucht/Water Warmtepompen"

[Voor 58% gewijzigd door Andrehj op 26-12-2022 10:21]

WP: ME PUHZ-SW75YAA + ERSD-VM2D + EV-WP-TWS-1W 300; AC: ME MXZ-2F42VF + 2x MSZ-LN25VGV; PV: 14.08 kWp O/W + SMA STP 8.0; Vent: Zehnder Q600 + Ubbink AirExcellent. Stuur DM voor €50 Raisin bonus.


  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
En om meteen maar een (al dan niet) nuttige toevoeging te doen: ik het het standaard legionellaprogramma tegenwoordig uit staan en regel dat zelf met een automation. Het is makkelijker omdat ik dat kan onderbreken en overslaan of verplaatsen naar een andere datum of tijd.
Daarnaast kijk ik eerst wat de buitentemperatuur is (van de WTW, want als de Mitsubishi net in een defrost zit is die buitentemperatuurmeter niet betrouwbaar) en als die vrij laag is verhoog ik tijdelijk de ingestelde temperatuur. Daarna loopt de run in twee delen om zo ver mogelijk op de compressor te komen en dus ook zo efficient mogelijk te zijn.

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
automation manual:
## Legionella regeling ##
- id: "20221217123001"
  alias: Legionella regeling
  description: Tijdelijk verhoging setpoint SWW voor efficiëntere legionellarun
  trigger:
    - platform: state
      entity_id: schedule.legionellarun1
      from: "off"
      to: "on"
      id: "stap 1"
    - platform: state
      entity_id: schedule.legionellarun2
      from: "off"
      to: "on"
      id: "stap 2"
    - platform: state
      entity_id: schedule.legionellarun3
      from: "off"
      to: "on"
      id: "stap 3"
    - platform: numeric_state
      entity_id: sensor.tank_temperature ## temp sensor bovenste vat hoger dan 60 graden voor 20 min
      above: 60
      for:
        minutes: 20
      id: "legionellarun klaar"
  action:
    - choose:
        - conditions: #Leg temperatuurinstelling woonkamer vast en verhoog thermostaat temperatuur tijdelijk voor legionellarun
            - condition: trigger
              id: "stap 1"
            - condition: numeric_state
              entity_id: sensor.comfoairq_outside_temperature
              below: 5
            - condition:
                - or:
                    - condition: state
                      entity_id: select.h_c_mode
                      state: "Heating room"
                    - condition: state
                      entity_id: select.h_c_mode
                      state: "Heating flow"
                    - condition: state
                      entity_id: select.h_c_mode
                      state: "Heating curve"
          sequence:
            - service: number.set_value
              data_template:
                entity_id: input_number.woonkamer_temperatuur
                value: "{{ states('sensor.h_c_temperature_set') }}"
            - service: number.set_value
              data_template:
                entity_id: number.setpoint_h_c_temperature
                value: "{{ states('input_number.woonkamer_temperatuur') | float + 1 }}"
        - conditions: #Verhoog setpoint tijdelijk voor legionellarun. Deze start automatisch (daling is groter dan ingestelde daling)
            - condition: trigger
              id: "stap 2"
          sequence:
            - service: number.set_value #leg standaardinstelling vast
              data_template:
                entity_id: input_number.sww_setpoint
                value: "{{ states('sensor.tank_temperature_set') }}"
            - service: number.set_value
              data_template:
                entity_id: number.setpoint_tank_temperature
                value: "{{ states('input_number.legionellarun_setpoint') | float }}"
        - conditions: #Start SWW verwarmen een tweede keer
            - condition: trigger
              id: "stap 3"
          sequence:
            - service: switch.turn_on
              target:
                entity_id: switch.set_force_sww
        - conditions:
            - condition: trigger
              id: "legionellarun klaar"
          sequence:
            - service: number.set_value #verlaag SWW setpoint naar standaardwaarde
              data_template:
                entity_id: number.setpoint_tank_temperature
                value: "{{ states('input_number.sww_setpoint') | float }}"
            - service: number.set_value #verlaag woonkamertemperatuur
              data_template:
                entity_id: number.setpoint_h_c_temperature
                value: "{{ states('input_number.woonkamer_temperatuur') | float }}"
  mode: single
  trace:
    stored_traces: 10

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • MrScratch
  • Registratie: December 2001
  • Laatst online: 09:11

MrScratch

I am rubber, you are glue

Even terugkomend op de vraag die ik stelde in het Mitsubishi topic over tijdelijk verhogen van de setpoint van het SWW-water bij een legionella run, dit heb ik nu als volgt opgelost mbv de tips en bovenstaande (zeer interessante, doch complex stukje code :-) )

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
alias: Legionella Regeling
description: Verhoog Setpoint zo ver als mogelijk bij Legionella Run
trigger:
  - platform: state
    entity_id:
      - sensor.system_operating_mode
    to: Legionella
    id: "1"
  - platform: state
    entity_id:
      - sensor.system_operating_mode
    from: Legionella
    id: "2"
action:
  - choose:
      - conditions:
          - condition: trigger
            id: "1"
        sequence:
          - service: number.set_value
            data:
              value: "58"
            target:
              entity_id: number.setpoint_tank_temperature
      - conditions:
          - condition: trigger
            id: "2"
        sequence:
          - service: number.set_value
            data:
              value: "48"
            target:
              entity_id: number.setpoint_tank_temperature
mode: single

Zodra de legionella run start, zet deze de SWW setpoint op 58 graden (met als doel dat deze tot 58 graden op de compressor gaat werken). En als deze klaar is, wordt het SWW setpoint weer teruggezet naar mijn normale stand van 48 graden.

Look behind you! A three headed monkey!


  • zwakie
  • Registratie: Januari 2018
  • Laatst online: 04-06 21:59
Goed initiatief!

Ik heb meteen een inhoudelijke vraag als ik naar dat screenshot van de webinterface kijk: hoe leest ESPHome de flow en retour-temperaturen en de flow uit met deze nauwkeurigheid? Ik krijg voor deze temperatuur nauwkeurigheid van 0,5 graad en voor de flow 1 l/h.

PV: 7670Wp 180°Z 40° PVOutput | WP: ME SUZ-SWM80VA ERSD-VM2D | gasloos | EV: Ioniq 5 Lounge 77kWh RWD

Mocht er iemand interesse hebben in een kant en klaar modbus bordje met esp32 (MH-ET-LIVE) met 3d geprinte behuizing, ik heb er nog wel een paar liggen.
Gebruik er ook een voor mijn Brink flair wtw.

Edit 15-01-2023
Heb nu een "redesign" gemaakt met een MAX3485 (XY-017 op ebay) printje ipv de max485
Geschikt voor wemos d1 mini, esp32 MH-ET-Live en Wemos s2 mini (esp32)
Een losse micro of usb3 230V adapter is nog wel noodzakelijk.

Binnenkort een uitgebreidere print met voeding gedeelte er op verwerkt

[Voor 65% gewijzigd door AUijtdehaag op 18-01-2023 11:41]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • DaWizza
  • Registratie: Augustus 2001
  • Nu online
MrScratch schreef op maandag 26 december 2022 @ 11:43:
Even terugkomend op de vraag die ik stelde in het Mitsubishi topic over tijdelijk verhogen van de setpoint van het SWW-water bij een legionella run, dit heb ik nu als volgt opgelost mbv de tips en bovenstaande (zeer interessante, doch complex stukje code :-) )

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
alias: Legionella Regeling
description: Verhoog Setpoint zo ver als mogelijk bij Legionella Run
trigger:
  - platform: state
    entity_id:
      - sensor.system_operating_mode
    to: Legionella
    id: "1"
  - platform: state
    entity_id:
      - sensor.system_operating_mode
    from: Legionella
    id: "2"
action:
  - choose:
      - conditions:
          - condition: trigger
            id: "1"
        sequence:
          - service: number.set_value
            data:
              value: "58"
            target:
              entity_id: number.setpoint_tank_temperature
      - conditions:
          - condition: trigger
            id: "2"
        sequence:
          - service: number.set_value
            data:
              value: "48"
            target:
              entity_id: number.setpoint_tank_temperature
mode: single

Zodra de legionella run start, zet deze de SWW setpoint op 58 graden (met als doel dat deze tot 58 graden op de compressor gaat werken). En als deze klaar is, wordt het SWW setpoint weer teruggezet naar mijn normale stand van 48 graden.
Gisteravond heb ik eenzelfde idee gebruikt.
Die van mij loopt met een kalender (elke 2 weken) en zet de temp tijdelijk op 61.
De laatste 3 of 4 graden gaat met het element, dat is prima.
Als de 61 graden gehaald is, word de tijdelijke temp weer teruggezet.

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
- id: '1672002015239'
  alias: LegionellaRun
  description: ''
  trigger:
  - platform: calendar
    event: start
    offset: 0:0:0
    entity_id: calendar.legionella
    id: '1'
  - platform: calendar
    event: start
    offset: '2:0:0'
    entity_id: calendar.legionella
    id: '2'
  condition: []
  action:
  - choose:
    - conditions:
      - condition: trigger
        id: '1'
      sequence:
      - device_id: edd3b135d1a1113c31d7bace0a60d630
        domain: number
        entity_id: number.setpoint_tank_temperature
        type: set_value
        value: 61
      - type: turn_on
        device_id: edd3b135d1a1113c31d7bace0a60d630
        entity_id: switch.set_force_sww
        domain: switch
    - conditions:
      - condition: trigger
        id: '2'
      - type: is_value
        condition: device
        device_id: edd3b135d1a1113c31d7bace0a60d630
        entity_id: sensor.tank_temperature
        domain: sensor
        above: 60
      sequence:
      - device_id: edd3b135d1a1113c31d7bace0a60d630
        domain: number
        entity_id: number.setpoint_tank_temperature
        type: set_value
        value: 50
  mode: single


Niet zo mooi als de jouwe, wel flexibeler met kiezen wanneer de legionella run draait.

[Voor 26% gewijzigd door DaWizza op 26-12-2022 12:15]


  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
zwakie schreef op maandag 26 december 2022 @ 11:51:
Goed initiatief!

Ik heb meteen een inhoudelijke vraag als ik naar dat screenshot van de webinterface kijk: hoe leest ESPHome de flow en retour-temperaturen en de flow uit met deze nauwkeurigheid? Ik krijg voor deze temperatuur nauwkeurigheid van 0,5 graad en voor de flow 1 l/h.
Hij haalt deze waarden direct van de warmtepomp vandaan. En die laat ze inderdaad per 0,5ºC en 1l/min nauwkeurigheid zien.
MrScratch schreef op maandag 26 december 2022 @ 11:43:
Even terugkomend op de vraag die ik stelde in het Mitsubishi topic over tijdelijk verhogen van de setpoint van het SWW-water bij een legionella run, dit heb ik nu als volgt opgelost mbv de tips en bovenstaande (zeer interessante, doch complex stukje code :-) )

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
alias: Legionella Regeling
description: Verhoog Setpoint zo ver als mogelijk bij Legionella Run
trigger:
  - platform: state
    entity_id:
      - sensor.system_operating_mode
    to: Legionella
    id: "1"
  - platform: state
    entity_id:
      - sensor.system_operating_mode
    from: Legionella
    id: "2"
action:
  - choose:
      - conditions:
          - condition: trigger
            id: "1"
        sequence:
          - service: number.set_value
            data:
              value: "58"
            target:
              entity_id: number.setpoint_tank_temperature
      - conditions:
          - condition: trigger
            id: "2"
        sequence:
          - service: number.set_value
            data:
              value: "48"
            target:
              entity_id: number.setpoint_tank_temperature
mode: single

Zodra de legionella run start, zet deze de SWW setpoint op 58 graden (met als doel dat deze tot 58 graden op de compressor gaat werken). En als deze klaar is, wordt het SWW setpoint weer teruggezet naar mijn normale stand van 48 graden.
Dat had ik eerst ook maar dat leverde problemen op. Af en toe bleef de legionellarun 'hangen'. Hij bereikte dan nooit de temperatuur, ook al stond het element nog aan en hij diende de volledige tijd (ingesteld 4 uur) uit. Volgens de Alklima mijnheer die het probleem heeft geanalyseerd moet je niet meer het setpoint aanpassen als de run al gestart is, dat zou wellicht tot dit probleem kunnen leiden. Dus mocht je daar tegenaan lopen, dan moet je toch je code aanpassen.

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • Hermarcel
  • Registratie: April 2003
  • Niet online
AUijtdehaag schreef op maandag 26 december 2022 @ 11:56:
Mocht er iemand interesse hebben in een kant en klaar modbus bordje met esp32 (MH-ET-LIVE) met 3d geprinte behuizing, ik heb er nog wel een paar liggen.
Gebruik er ook een voor mijn Brink flair wtw.
You've got PM :)

  • MrScratch
  • Registratie: December 2001
  • Laatst online: 09:11

MrScratch

I am rubber, you are glue

breinonline schreef op maandag 26 december 2022 @ 12:36:
Dat had ik eerst ook maar dat leverde problemen op. Af en toe bleef de legionellarun 'hangen'. Hij bereikte dan nooit de temperatuur, ook al stond het element nog aan en hij diende de volledige tijd (ingesteld 4 uur) uit. Volgens de Alklima mijnheer die het probleem heeft geanalyseerd moet je niet meer het setpoint aanpassen als de run al gestart is, dat zou wellicht tot dit probleem kunnen leiden. Dus mocht je daar tegenaan lopen, dan moet je toch je code aanpassen.
Bij mij werkte het toen ik nog MelCloud had icm Home Assistant wel goed, maar of dat ook zo blijft met de Procon weet ik nog niet. Dank voor de tip, ik zal het in de gaten houden.

Look behind you! A three headed monkey!

zwakie schreef op maandag 26 december 2022 @ 11:51:
Goed initiatief!

Ik heb meteen een inhoudelijke vraag als ik naar dat screenshot van de webinterface kijk: hoe leest ESPHome de flow en retour-temperaturen en de flow uit met deze nauwkeurigheid? Ik krijg voor deze temperatuur nauwkeurigheid van 0,5 graad en voor de flow 1 l/h.
Dat is de resolutie die uit de WP komt (nauwkeurigheid is iets heel anders). Beter krijg je er ook op andere manieren niet uit.

[Voor 10% gewijzigd door Andrehj op 26-12-2022 15:10]

WP: ME PUHZ-SW75YAA + ERSD-VM2D + EV-WP-TWS-1W 300; AC: ME MXZ-2F42VF + 2x MSZ-LN25VGV; PV: 14.08 kWp O/W + SMA STP 8.0; Vent: Zehnder Q600 + Ubbink AirExcellent. Stuur DM voor €50 Raisin bonus.

breinonline schreef op maandag 26 december 2022 @ 12:36:
Volgens de Alklima mijnheer die het probleem heeft geanalyseerd moet je niet meer het setpoint aanpassen als de run al gestart is, dat zou wellicht tot dit probleem kunnen leiden.
Dat doe ik (via Melcloud2Domoticz) al jaren probleemloos. De WP bepaalt bij mij wanneer een legionellarun draait. In mijn script check ik (elke minuut) de status van de unit. Zodra die is gewijzigd naar "legionella", wijzig ik de SWW-setpoint naar 56 graden. De rest gaat dan dus met het element.
Zodra de status van de unit weer iets anders is als "legionella", gaat het setpoint weer terug naar normaal.

WP: ME PUHZ-SW75YAA + ERSD-VM2D + EV-WP-TWS-1W 300; AC: ME MXZ-2F42VF + 2x MSZ-LN25VGV; PV: 14.08 kWp O/W + SMA STP 8.0; Vent: Zehnder Q600 + Ubbink AirExcellent. Stuur DM voor €50 Raisin bonus.


  • ocaj
  • Registratie: Juli 2011
  • Niet online
Ik ben nog steeds aan het stoeien om de legionella-run in alle situaties te laten werken. Vooralsnog zit de intelligentie in node-red:


In het onderste deel bepaal ik wanneer ik geen legionella-run wil doen (als het systeem uit staat, SWW op verboden staat of op dagen dat hij ook al defrosts gedaan heeft)
Bovenin zit de aansturing om tijdelijk de boiler-temperatuur op te hogen en na afloop weer te resetten. Tevens zet ik de sww-mode dan op NORM ipv ECO.

In principe doet ik het op de oneven weken op vrijdag om 12:45, maar als ik op die dag toevallig in de ochtend het warme water al opgemaakt heb dan neem ik hem gelijk in de ochtend mee.

Voor de liefhebbers, de node-red code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
[
    {
        "id": "2b84f1ca2cbd9c03",
        "type": "group",
        "z": "90954defc8f855c9",
        "name": "Legionella",
        "style": {
            "fill": "#d1d1d1",
            "label": true,
            "label-position": "n",
            "color": "#000000"
        },
        "nodes": [
            "3323af14eada66e3",
            "d504ebf17610e0b4",
            "b89d59c22d6e4d7d",
            "83b1d524e3bedae3",
            "0b8d5b2d172b39b0",
            "74ddbe04fc7b8b55",
            "096b9ba2d754770e",
            "d62e356f3d8e4618",
            "07754d98572254e1",
            "70c2f437bc9ff336",
            "0e55de8a90864ed9",
            "1f7ef1a27b067c32",
            "588fbc20a8c9d9d7",
            "6afe12599f012da4",
            "a07af68c6cdb10af",
            "fa74a34bbfaf91cc",
            "272f30164e595f8c",
            "27b864a368e45909",
            "b5ecf0ba1ef20338",
            "12c2878fddc60440",
            "646e085a5f9afb59",
            "9ca973c81343dfcd",
            "cbdfa8b9179721ed",
            "f46981141e8b0e1d",
            "994d5faf1c828f1d",
            "18a20f50bdeec71d",
            "95c5d8ded0815989",
            "ac9ee652807d2840",
            "69153d107b0df251",
            "d56b4d09f404f1fd",
            "e07526f3f94e9d79",
            "13e373788533f9bc",
            "a527e0123ecd872f",
            "1ed0026361998d46",
            "32b2b47f7dddd0cb",
            "12281c2d6e5a90a9",
            "dc54844d56b73a06",
            "f160aed32da0949b",
            "0199cf95e5020b73",
            "7e63edc99db3a551",
            "39c60e3349d096a4",
            "152d72a79baa89fc",
            "9a969450996e0326",
            "3dbb31df3e2ce594",
            "3bba61c76bbd4630",
            "69689ed830e95c34",
            "2f6563426c2e3eea",
            "7d1b6e7c8f5ee78f",
            "f5ed745bb4d9a6dd",
            "6ecda64bf33062ae",
            "26ecd059fb3c215b",
            "488d628e2c30de70",
            "948811cc99c52859"
        ],
        "x": 84,
        "y": 939,
        "w": 1618.2500305175781,
        "h": 742
    },
    {
        "id": "3323af14eada66e3",
        "type": "switch",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "SWW Verboden?",
        "property": "sww_verbod",
        "propertyType": "flow",
        "rules": [
            {
                "t": "eq",
                "v": "1",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 760,
        "y": 1600,
        "wires": [
            [
                "f160aed32da0949b"
            ]
        ]
    },
    {
        "id": "d504ebf17610e0b4",
        "type": "change",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "sww_verbod",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 390,
        "y": 1600,
        "wires": [
            [
                "3323af14eada66e3"
            ]
        ]
    },
    {
        "id": "b89d59c22d6e4d7d",
        "type": "link in",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "SWW_Verbod",
        "links": [
            "2216453de8b7a30e"
        ],
        "x": 200,
        "y": 1600,
        "wires": [
            [
                "d504ebf17610e0b4"
            ]
        ],
        "l": true
    },
    {
        "id": "83b1d524e3bedae3",
        "type": "change",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "klaar",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1570,
        "y": 1160,
        "wires": [
            []
        ]
    },
    {
        "id": "0b8d5b2d172b39b0",
        "type": "switch",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Tb >5 ?",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "gt",
                "v": "5",
                "vt": "str"
            },
            {
                "t": "else"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 2,
        "x": 1040,
        "y": 1500,
        "wires": [
            [
                "74ddbe04fc7b8b55",
                "39c60e3349d096a4"
            ],
            [
                "f160aed32da0949b"
            ]
        ]
    },
    {
        "id": "74ddbe04fc7b8b55",
        "type": "change",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Legionella niet geblokkeerd",
        "rules": [
            {
                "t": "set",
                "p": "legioblock",
                "pt": "flow",
                "to": "false",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1320,
        "y": 1500,
        "wires": [
            []
        ]
    },
    {
        "id": "096b9ba2d754770e",
        "type": "change",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Legionella = true",
        "rules": [
            {
                "t": "set",
                "p": "legionella",
                "pt": "flow",
                "to": "true",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 680,
        "y": 1080,
        "wires": [
            [
                "a07af68c6cdb10af"
            ]
        ]
    },
    {
        "id": "d62e356f3d8e4618",
        "type": "mqtt out",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "",
        "topic": "procon/cmnd/set_boiler",
        "qos": "",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "b0a4b8a51e97466f",
        "x": 1560,
        "y": 1100,
        "wires": []
    },
    {
        "id": "07754d98572254e1",
        "type": "delay",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "",
        "pauseType": "delay",
        "timeout": "5",
        "timeoutUnits": "minutes",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": false,
        "allowrate": false,
        "outputs": 1,
        "x": 570,
        "y": 1260,
        "wires": [
            [
                "70c2f437bc9ff336"
            ]
        ]
    },
    {
        "id": "70c2f437bc9ff336",
        "type": "switch",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Warm water?",
        "property": "mode",
        "propertyType": "flow",
        "rules": [
            {
                "t": "eq",
                "v": "1",
                "vt": "num"
            },
            {
                "t": "else"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 2,
        "x": 400,
        "y": 1360,
        "wires": [
            [
                "07754d98572254e1"
            ],
            [
                "d56b4d09f404f1fd"
            ]
        ]
    },
    {
        "id": "0e55de8a90864ed9",
        "type": "link in",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "WP-Mode",
        "links": [
            "72f2ce89ad338954"
        ],
        "x": 230,
        "y": 1200,
        "wires": [
            [
                "1f7ef1a27b067c32"
            ]
        ],
        "l": true
    },
    {
        "id": "1f7ef1a27b067c32",
        "type": "change",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "mode",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 325,
        "y": 1200,
        "wires": [
            []
        ],
        "l": false
    },
    {
        "id": "588fbc20a8c9d9d7",
        "type": "change",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Legionella = false",
        "rules": [
            {
                "t": "set",
                "p": "legionella",
                "pt": "flow",
                "to": "false",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 820,
        "y": 1360,
        "wires": [
            [
                "6afe12599f012da4"
            ]
        ]
    },
    {
        "id": "6afe12599f012da4",
        "type": "change",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Herstel boiler-doel",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "boiler_previous",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1020,
        "y": 1360,
        "wires": [
            [
                "d62e356f3d8e4618"
            ]
        ]
    },
    {
        "id": "a07af68c6cdb10af",
        "type": "change",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Bewaar boiler-doel",
        "rules": [
            {
                "t": "set",
                "p": "boiler_previous",
                "pt": "flow",
                "to": "boiler-doel",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1040,
        "y": 1060,
        "wires": [
            [
                "b5ecf0ba1ef20338",
                "12c2878fddc60440",
                "646e085a5f9afb59"
            ]
        ]
    },
    {
        "id": "fa74a34bbfaf91cc",
        "type": "link in",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Boiler-doel",
        "links": [
            "762f9a6935570306"
        ],
        "x": 230,
        "y": 1260,
        "wires": [
            [
                "272f30164e595f8c"
            ]
        ],
        "l": true
    },
    {
        "id": "272f30164e595f8c",
        "type": "change",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "boiler-doel",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 325,
        "y": 1260,
        "wires": [
            []
        ],
        "l": false
    },
    {
        "id": "27b864a368e45909",
        "type": "mqtt out",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "",
        "topic": "procon/cmnd/sww_mode",
        "qos": "",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "b0a4b8a51e97466f",
        "x": 1560,
        "y": 1040,
        "wires": []
    },
    {
        "id": "b5ecf0ba1ef20338",
        "type": "change",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "NORM",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "NORM",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1240,
        "y": 1040,
        "wires": [
            [
                "e07526f3f94e9d79"
            ]
        ]
    },
    {
        "id": "12c2878fddc60440",
        "type": "change",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "60",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "60",
                "tot": "num"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1316.25,
        "y": 1101.25,
        "wires": [
            [
                "d62e356f3d8e4618",
                "69153d107b0df251"
            ]
        ]
    },
    {
        "id": "646e085a5f9afb59",
        "type": "change",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Aan (1)",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "1",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1240,
        "y": 980,
        "wires": [
            [
                "ac9ee652807d2840"
            ]
        ]
    },
    {
        "id": "9ca973c81343dfcd",
        "type": "mqtt out",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "",
        "topic": "procon/cmnd/forcesww",
        "qos": "",
        "retain": "",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "b0a4b8a51e97466f",
        "x": 1566.2500305175781,
        "y": 980.0000228881836,
        "wires": []
    },
    {
        "id": "cbdfa8b9179721ed",
        "type": "comment",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Na afloop of na maximum tijd boiler-temperatuur herstellen",
        "info": "",
        "x": 740,
        "y": 1160,
        "wires": []
    },
    {
        "id": "f46981141e8b0e1d",
        "type": "cronplus",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "1e, 3e en 5e vrijdag om 12:45",
        "outputField": "payload",
        "timeZone": "",
        "persistDynamic": false,
        "commandResponseMsgOutput": "output1",
        "outputs": 1,
        "options": [
            {
                "name": "1e vrijdag vd maand",
                "topic": "topic1",
                "payloadType": "default",
                "payload": "",
                "expressionType": "cron",
                "expression": "0 45 12 * * 5#1 *",
                "location": "",
                "offset": "0",
                "solarType": "all",
                "solarEvents": "sunrise,sunset"
            },
            {
                "name": "3e vrijdag vd maand",
                "topic": "topic2",
                "payloadType": "default",
                "payload": "",
                "expressionType": "cron",
                "expression": "0 45 12 * * 5#3 *",
                "location": "",
                "offset": "0",
                "solarType": "all",
                "solarEvents": "sunrise,sunset"
            },
            {
                "name": "5e vrijdag vd maand",
                "topic": "topic3",
                "payloadType": "default",
                "payload": "",
                "expressionType": "cron",
                "expression": "0 45 12 * * 5#5 *",
                "location": "",
                "offset": "0",
                "solarType": "all",
                "solarEvents": "sunrise,sunset"
            }
        ],
        "x": 260,
        "y": 1020,
        "wires": [
            [
                "13e373788533f9bc"
            ]
        ]
    },
    {
        "id": "994d5faf1c828f1d",
        "type": "comment",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Legionella-run simuleren door boilertemp tijdelijk op 60 te zetten",
        "info": "",
        "x": 340,
        "y": 980,
        "wires": []
    },
    {
        "id": "18a20f50bdeec71d",
        "type": "inject",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Initieer flow.legionella",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": true,
        "onceDelay": 0.1,
        "topic": "",
        "payloadType": "date",
        "x": 145,
        "y": 1300,
        "wires": [
            [
                "95c5d8ded0815989"
            ]
        ],
        "l": false
    },
    {
        "id": "95c5d8ded0815989",
        "type": "change",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "legionella",
                "pt": "flow",
                "to": "false",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 280,
        "y": 1300,
        "wires": [
            []
        ]
    },
    {
        "id": "ac9ee652807d2840",
        "type": "delay",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "30s",
        "pauseType": "delay",
        "timeout": "30",
        "timeoutUnits": "seconds",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": false,
        "allowrate": false,
        "outputs": 1,
        "x": 1380,
        "y": 980,
        "wires": [
            [
                "9ca973c81343dfcd"
            ]
        ]
    },
    {
        "id": "69153d107b0df251",
        "type": "calculator",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "",
        "inputMsgField": "payload",
        "outputMsgField": "payload",
        "operation": "sub",
        "constant": "1",
        "round": false,
        "decimals": 0,
        "x": 1445,
        "y": 1160,
        "wires": [
            [
                "83b1d524e3bedae3"
            ]
        ],
        "l": false
    },
    {
        "id": "d56b4d09f404f1fd",
        "type": "switch",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Klaar?",
        "property": "klaar",
        "propertyType": "flow",
        "rules": [
            {
                "t": "gt",
                "v": "Tmidden",
                "vt": "flow"
            },
            {
                "t": "else"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 2,
        "x": 560,
        "y": 1360,
        "wires": [
            [
                "07754d98572254e1"
            ],
            [
                "588fbc20a8c9d9d7",
                "dc54844d56b73a06"
            ]
        ]
    },
    {
        "id": "e07526f3f94e9d79",
        "type": "delay",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "10s",
        "pauseType": "delay",
        "timeout": "10",
        "timeoutUnits": "seconds",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": false,
        "allowrate": false,
        "outputs": 1,
        "x": 1380,
        "y": 1040,
        "wires": [
            [
                "27b864a368e45909"
            ]
        ]
    },
    {
        "id": "13e373788533f9bc",
        "type": "switch",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Legio niet geblokkeerd?",
        "property": "legioblock",
        "propertyType": "flow",
        "rules": [
            {
                "t": "false"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 540,
        "y": 1020,
        "wires": [
            [
                "9a969450996e0326"
            ]
        ]
    },
    {
        "id": "a527e0123ecd872f",
        "type": "comment",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Alleen als buitentemp hoog genoeg is, systeem aan is, SWW niet geblokkeerd is en er 0 defrosts zijn geweest",
        "info": "Gemiddelde over 1 uur ivm mogelijk warmer tijdens defrosts\n-> Werkt niet betrouwbaar (2-12-2022), dus expliciet controleren dat het een no-defrost-dag is",
        "x": 480,
        "y": 1460,
        "wires": []
    },
    {
        "id": "1ed0026361998d46",
        "type": "link in",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "On/Off",
        "links": [
            "07f4f02a79b6e775"
        ],
        "x": 180,
        "y": 1560,
        "wires": [
            [
                "0199cf95e5020b73"
            ]
        ],
        "l": true
    },
    {
        "id": "32b2b47f7dddd0cb",
        "type": "switch",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Systeem uit?",
        "property": "onoff",
        "propertyType": "flow",
        "rules": [
            {
                "t": "eq",
                "v": "0",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 520,
        "y": 1560,
        "wires": [
            [
                "f160aed32da0949b"
            ]
        ]
    },
    {
        "id": "12281c2d6e5a90a9",
        "type": "delay",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "",
        "pauseType": "delay",
        "timeout": "5",
        "timeoutUnits": "hours",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": false,
        "allowrate": false,
        "outputs": 1,
        "x": 590,
        "y": 1200,
        "wires": [
            [
                "588fbc20a8c9d9d7"
            ]
        ]
    },
    {
        "id": "dc54844d56b73a06",
        "type": "change",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Reset",
        "rules": [
            {
                "t": "set",
                "p": "reset",
                "pt": "msg",
                "to": "1",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 800,
        "y": 1260,
        "wires": [
            [
                "12281c2d6e5a90a9"
            ]
        ]
    },
    {
        "id": "f160aed32da0949b",
        "type": "change",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Legionella geblokkeerd",
        "rules": [
            {
                "t": "set",
                "p": "legioblock",
                "pt": "flow",
                "to": "true",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 1320,
        "y": 1560,
        "wires": [
            []
        ]
    },
    {
        "id": "0199cf95e5020b73",
        "type": "change",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "onoff",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 330,
        "y": 1560,
        "wires": [
            [
                "32b2b47f7dddd0cb"
            ]
        ]
    },
    {
        "id": "7e63edc99db3a551",
        "type": "switch",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "SWW-run al eerder gestart?",
        "property": "mode",
        "propertyType": "flow",
        "rules": [
            {
                "t": "eq",
                "v": "1",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 1510,
        "y": 1440,
        "wires": [
            [
                "69689ed830e95c34"
            ]
        ]
    },
    {
        "id": "39c60e3349d096a4",
        "type": "switch",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Legionella nog niet gestart?",
        "property": "legionella",
        "propertyType": "flow",
        "rules": [
            {
                "t": "false"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 1250,
        "y": 1440,
        "wires": [
            [
                "7e63edc99db3a551"
            ]
        ]
    },
    {
        "id": "152d72a79baa89fc",
        "type": "comment",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Als SWW-run in de ochtend al loopt dan gelijk legionellarun activeren ",
        "info": "",
        "x": 1380.833381652832,
        "y": 1409.9999351501465,
        "wires": []
    },
    {
        "id": "9a969450996e0326",
        "type": "switch",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Boiler <48",
        "property": "Tmidden",
        "propertyType": "flow",
        "rules": [
            {
                "t": "lt",
                "v": "48",
                "vt": "num"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 340,
        "y": 1080,
        "wires": [
            [
                "096b9ba2d754770e",
                "12281c2d6e5a90a9",
                "07754d98572254e1"
            ]
        ]
    },
    {
        "id": "3dbb31df3e2ce594",
        "type": "cronplus",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "1e, 3e en 5e vrijdag van 7-14 1x/min",
        "outputField": "payload",
        "timeZone": "",
        "persistDynamic": false,
        "commandResponseMsgOutput": "output1",
        "outputs": 1,
        "options": [
            {
                "name": "1e vrijdag vd maand",
                "topic": "topic1",
                "payloadType": "default",
                "payload": "",
                "expressionType": "cron",
                "expression": "0 * 7-13 * * 5#1 *",
                "location": "",
                "offset": "0",
                "solarType": "all",
                "solarEvents": "sunrise,sunset"
            },
            {
                "name": "3e vrijdag vd maand",
                "topic": "topic2",
                "payloadType": "default",
                "payload": "",
                "expressionType": "cron",
                "expression": "0 * 7-13 * * 5#3 *",
                "location": "",
                "offset": "0",
                "solarType": "all",
                "solarEvents": "sunrise,sunset"
            },
            {
                "name": "5e vrijdag vd maand",
                "topic": "topic3",
                "payloadType": "default",
                "payload": "",
                "expressionType": "cron",
                "expression": "0 * 7-13 * * 5#5 *",
                "location": "",
                "offset": "0",
                "solarType": "all",
                "solarEvents": "sunrise,sunset"
            }
        ],
        "x": 145,
        "y": 1500,
        "wires": [
            [
                "3bba61c76bbd4630"
            ]
        ],
        "l": false
    },
    {
        "id": "3bba61c76bbd4630",
        "type": "change",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "1e,3e,5e vr 7-14 1x per min. Tbuiten",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "Tbuiten",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 320,
        "y": 1500,
        "wires": [
            [
                "26ecd059fb3c215b"
            ]
        ]
    },
    {
        "id": "69689ed830e95c34",
        "type": "link out",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Start Legionella eerder",
        "mode": "link",
        "links": [
            "2f6563426c2e3eea"
        ],
        "x": 1655,
        "y": 1440,
        "wires": []
    },
    {
        "id": "2f6563426c2e3eea",
        "type": "link in",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "",
        "links": [
            "69689ed830e95c34"
        ],
        "x": 195,
        "y": 1080,
        "wires": [
            [
                "9a969450996e0326"
            ]
        ]
    },
    {
        "id": "7d1b6e7c8f5ee78f",
        "type": "link in",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Aantal defrosts",
        "links": [
            "b6630113bd8fb196"
        ],
        "x": 210,
        "y": 1640,
        "wires": [
            [
                "f5ed745bb4d9a6dd"
            ]
        ],
        "l": true
    },
    {
        "id": "f5ed745bb4d9a6dd",
        "type": "change",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "set flow.defrosts",
        "rules": [
            {
                "t": "set",
                "p": "defrosts",
                "pt": "flow",
                "to": "payload",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 410,
        "y": 1640,
        "wires": [
            [
                "6ecda64bf33062ae"
            ]
        ]
    },
    {
        "id": "6ecda64bf33062ae",
        "type": "switch",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Vandaag defrosts?",
        "property": "defrosts",
        "propertyType": "flow",
        "rules": [
            {
                "t": "gt",
                "v": "0",
                "vt": "num"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 760,
        "y": 1640,
        "wires": [
            [
                "f160aed32da0949b"
            ]
        ]
    },
    {
        "id": "26ecd059fb3c215b",
        "type": "switch",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "Aan?",
        "property": "onoff",
        "propertyType": "flow",
        "rules": [
            {
                "t": "eq",
                "v": "1",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 550,
        "y": 1500,
        "wires": [
            [
                "488d628e2c30de70"
            ]
        ]
    },
    {
        "id": "488d628e2c30de70",
        "type": "switch",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "SWW toegestaan?",
        "property": "sww_verbod",
        "propertyType": "flow",
        "rules": [
            {
                "t": "false"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 710,
        "y": 1500,
        "wires": [
            [
                "948811cc99c52859"
            ]
        ]
    },
    {
        "id": "948811cc99c52859",
        "type": "switch",
        "z": "90954defc8f855c9",
        "g": "2b84f1ca2cbd9c03",
        "name": "No defrosts?",
        "property": "defrosts",
        "propertyType": "flow",
        "rules": [
            {
                "t": "eq",
                "v": "0",
                "vt": "num"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 890,
        "y": 1500,
        "wires": [
            [
                "0b8d5b2d172b39b0"
            ]
        ]
    },
    {
        "id": "b0a4b8a51e97466f",
        "type": "mqtt-broker",
        "name": "MQTT",
        "broker": "mqtt",
        "port": "1883",
        "clientid": "",
        "usetls": false,
        "protocolVersion": "5",
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthRetain": "false",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closeRetain": "false",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willRetain": "false",
        "willPayload": "",
        "willMsg": {},
        "sessionExpiry": ""
    }
]
(Ik gebruik overigens geen ESPHome, maar ter inspiratie wellicht toch interessant?)
Update: Let dus op, deze flow werkt niet met de in dit topic beschreven ESPHome-oplossing, maar met mijn eigen procon-script dat andere MQTT-topics gebruikt. Niet 1:1 bruikbaar dus (maar wel vrij simpel aan te passen)

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 04-06 17:15

HaTe

haat niet

Andrehj schreef op maandag 26 december 2022 @ 15:13:
[...]

Dat doe ik (via Melcloud2Domoticz) al jaren probleemloos. De WP bepaalt bij mij wanneer een legionellarun draait. In mijn script check ik (elke minuut) de status van de unit. Zodra die is gewijzigd naar "legionella", wijzig ik de SWW-setpoint naar 56 graden. De rest gaat dan dus met het element.
Zodra de status van de unit weer iets anders is als "legionella", gaat het setpoint weer terug naar normaal.
Ik dacht dat de SWW temperatuur vóór de legionella start op de hogere temperatuur moest staan om de legionella cyclus voor een groter deel op de comprossor te doen. Als dit zo is maakt het mijn automatiseringsregel een stuk makkelijker.

Op het moment update ik een invoerveld met de datum van legionella en op die datum een uur voor de legionella start, zet ik de temperatuur omhoog.

Edit: lees nu het stukje hieronder, wat mijn vermoedens bevestigd.
breinonline schreef op maandag 26 december 2022 @ 12:36:
Dat had ik eerst ook maar dat leverde problemen op. Af en toe bleef de legionellarun 'hangen'. Hij bereikte dan nooit de temperatuur, ook al stond het element nog aan en hij diende de volledige tijd (ingesteld 4 uur) uit. Volgens de Alklima mijnheer die het probleem heeft geanalyseerd moet je niet meer het setpoint aanpassen als de run al gestart is, dat zou wellicht tot dit probleem kunnen leiden. Dus mocht je daar tegenaan lopen, dan moet je toch je code aanpassen.

[Voor 26% gewijzigd door HaTe op 28-12-2022 00:17]

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


  • ocaj
  • Registratie: Juli 2011
  • Niet online
Bijzonder verhaal. Net als Andrehj verander ik de boiler-temperatuur ook tijdens de SWW-run. Mijn normale SWW-run staat gepland om 12:30 en zoals je in de flow hierboven ziet verzet ik pas om 12:45 de doel-temperatuur naar 60. Nooit problemen mee gehad.

Als ik - om wat voor reden dan ook - een SWW-run af wil breken dan zet ik de doel-temperatuur lager dan de gemeten temperatuur en dan stopt hij vrij snel daarna. Lijkt geen enkel probleem en de binnenunit volgt wat je instelt via de procon, ook als de sww-run al loopt.

Misschien is er een verschil in instellen via de procon of via de controller in de binnenunit zelf? Dat het bladeren door de menus iets raars triggert of zo?

Ik herken de "hangende" sww-run overigens wel, heb het een paar keer gezien. Maar dat is eigenlijk alleen als hij begint bij boilertemperaturen vanaf een graad of 50. Als de SWW-run start bij lagere temperaturen heb ik het nog nooit gezien.

  • JustMyOpinion
  • Registratie: November 2012
  • Laatst online: 08:15
ocaj schreef op maandag 26 december 2022 @ 21:22:
Ik ben nog steeds aan het stoeien om de legionella-run in alle situaties te laten werken. Vooralsnog zit de intelligentie in node-red:
[Afbeelding]

In het onderste deel bepaal ik wanneer ik geen legionella-run wil doen (als het systeem uit staat, SWW op verboden staat of op dagen dat hij ook al defrosts gedaan heeft)
Bovenin zit de aansturing om tijdelijk de boiler-temperatuur op te hogen en na afloop weer te resetten. Tevens zet ik de sww-mode dan op NORM ipv ECO.

In principe doet ik het op de oneven weken op vrijdag om 12:45, maar als ik op die dag toevallig in de ochtend het warme water al opgemaakt heb dan neem ik hem gelijk in de ochtend mee.

Voor de liefhebbers, de node-red code:

[...]


(Ik gebruik overigens geen ESPHome, maar ter inspiratie wellicht toch interessant?)
Heb net even je flow ingelezen, maar begrijp ik nu goed dat je dus niet het Legionella programma gebruikt van de unit zelf, maar een Legionella run "simuleert" via Node Red?

Is dat ook de enige manier? M.a.w. je kunt niet een command sturen "start Legionella run"?

2,1 kWp OZO / 2,4 kWp WNW (SolarEdge) + 3,6 kWp S (Solis)


  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
Nee, die optie is er helaas niet.

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • JustMyOpinion
  • Registratie: November 2012
  • Laatst online: 08:15
Ergo, als je legionella run via HA wilt doen moet je hem altijd "simuleren"?

2,1 kWp OZO / 2,4 kWp WNW (SolarEdge) + 3,6 kWp S (Solis)


  • DaWizza
  • Registratie: Augustus 2001
  • Nu online
JustMyOpinion schreef op woensdag 28 december 2022 @ 13:58:
Ergo, als je legionella run via HA wilt doen moet je hem altijd "simuleren"?
Een correcte conclusie.

Alleen al de optie om makkelijker in te stellen op welke dag ie draait zou leuk zijn, dan kun je daar met HA al rekening mee houden,

  • TEAMIKKE
  • Registratie: Februari 2006
  • Niet online
Ik heb het script uit de TS geïnstalleerd via ESPhome i.c.m. een Procon maar het lijkt alsof de registers versprongen zijn:



Return temperature zou de outlet temperature moeten zijn. En de tank temperature is de return temperature. Iemand enig idee hoe dat kan :?

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
Hij weet ook niet zeker of je systeem wel aan of uit staat... :? Welke unit heb je precies aangesloten?

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • TEAMIKKE
  • Registratie: Februari 2006
  • Niet online
Het is een FTC6 (Firmware 1700) op een Procon met firmware 3.0025. Binnenunit is een EHST20D-VM2DR.1UK en buitenunit een SUZ-SVM60VA2.

Las hiervoor de unit uit middels een ESP8266 serieel via een eigen Python script. Dat werkte prima dus ligt niet aan de unit zelf.

Er zit een max485 tussen de ESP32 en de FTC6. Heb deze al vervangen maar geen ander resultaat. Ook een weerstand geplaatst op de rs485 aansluiting maar ook geen verandering.

  • JustMyOpinion
  • Registratie: November 2012
  • Laatst online: 08:15
Dan kan je de registers toch vergelijken met je eigen scripts?

2,1 kWp OZO / 2,4 kWp WNW (SolarEdge) + 3,6 kWp S (Solis)


  • TEAMIKKE
  • Registratie: Februari 2006
  • Niet online
TEAMIKKE schreef op woensdag 28 december 2022 @ 20:44:
Ik heb het script uit de TS geïnstalleerd via ESPhome i.c.m. een Procon maar het lijkt alsof de registers versprongen zijn:

[Afbeelding]

Return temperature zou de outlet temperature moeten zijn. En de tank temperature is de return temperature. Iemand enig idee hoe dat kan :?
Het bleek uiteindelijk een hardware fout te zijn. MAX485 TTL adapter bleek defect (2 stuks :') ). Hierdoor was de communicatie gebrekkig en kwamen sommige waardes niet goed door. Hierdoor ontbrak soms een waarde waardoor de volgende waarde aan de verkeerde variabele werd gehangen.
Er zitten veel DOA (dead on arrival) MAX485 TTL's tussen inderdaad.
edit: Maar mogelijk ligt dat aan de 3.3V voedingspanning terwijl deze 5V benodigd heeft?
Vreemd dat sommigen het wel gewoon doen.

Ik test ze in ieder geval eerst voordat ik "het setje" verstuur.

[Voor 63% gewijzigd door AUijtdehaag op 02-01-2023 12:51]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • clandmeter
  • Registratie: April 2007
  • Laatst online: 03-06 09:50
AUijtdehaag schreef op donderdag 29 december 2022 @ 15:04:
Er zitten veel DOA (dead on arrival) MAX485 TTL's tussen inderdaad.
edit: Maar mogelijk ligt dat aan de 3.3V voedingspanning terwijl deze 5V benodigd heeft?
Vreemd dat sommigen het wel gewoon doen.

Ik test ze in ieder geval eerst voordat ik "het setje" verstuur.
Misschien een idee om te melden in het overzicht over de vaak defecte MAX485, had mij ook een boel tijd gescheeld.

mbt tot de esphome config, is het een idee om deze op github te hosten? Het is nogal een lap tekst en het is lastig bij te houden mbt tot updates. Is deze nu bijv dezelfde als in de main ecodan topic?
Ik heb zelf ook wat registers toegevoegd, misschien dat die interessant kunnen zijn voor andere.

Is het niet beter om de Engelstalig Procon register PDF te linken, dit omdat de hele esphome config engels gebaseerd is en zo makkelijker dingen terug te vinden zijn.

Install Manual
Registers

Weet iemand zo waar die modicon adressen gebruikt voor worden?

Heeft iemand al zitten stoeien om dit mooi in home assistant te krijgen (ipv van de default)
@clandmeter
Ik kwam daar pas vorige week achter toen ik 75% weg kon gooien van de 40 stuks die ik had liggen.
Ben nu overgegaan naar zijn equivalent, en dat schijnt goed te werken (nog maar met 2 getest)

Github en overige vragen laat ik aan @breinonline over. Dit is zijn topic :>

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • JustMyOpinion
  • Registratie: November 2012
  • Laatst online: 08:15
Nou ik weer wat tijd heb om met de WP te spelen.... wat voor stukje code in Node Red moet ik nu gebruiken om het setpoint voor de boiler (tijdelijk) te verhogen?

Ik heb dit gevonden (van @AUijtdehaag ):
https://tweakers.net/i/e4rW0BusVmXi3TlBDRnMO037ul0=/800x/filters:strip_exif()/f/image/fMdMOqKKCQoxVlZ0DYmNGHz0.png?f=fotoalbum_large

Maar in het stukje Node Red wat ook hier te downloaden is (van @ocaj ):
https://tweakers.net/i/SAxmjuDozMInefN7n390SVObDfA=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/yCwxFMIye3aHMZ9sMElO5nz7.png?f=user_large

Wat is nu de juiste weg...?

2,1 kWp OZO / 2,4 kWp WNW (SolarEdge) + 3,6 kWp S (Solis)


  • TEAMIKKE
  • Registratie: Februari 2006
  • Niet online
AUijtdehaag schreef op donderdag 5 januari 2023 @ 15:50:
@clandmeter
Ik kwam daar pas vorige week achter toen ik 75% weg kon gooien van de 40 stuks die ik had liggen.
Ben nu overgegaan naar zijn equivalent, en dat schijnt goed te werken (nog maar met 2 getest)

Github en overige vragen laat ik aan @breinonline over. Dit is zijn topic :>
Dat is de XY-K485 module? Gewoon van Ali besteld?
@TEAMIKKE
Klopt helemaal of hier of hier (geen pinheaders en connector) als je het ietsjes sneller wilt hebben

[Voor 20% gewijzigd door AUijtdehaag op 05-01-2023 17:58]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • ocaj
  • Registratie: Juli 2011
  • Niet online
JustMyOpinion schreef op donderdag 5 januari 2023 @ 16:46:
Nou ik weer wat tijd heb om met de WP te spelen.... wat voor stukje code in Node Red moet ik nu gebruiken om het setpoint voor de boiler (tijdelijk) te verhogen?

Maar in het stukje Node Red wat ook hier te downloaden is (van @ocaj ):
[Afbeelding]

Wat is nu de juiste weg...?
Zoals ik in mijn eerdere post al schreef gebruik ik niet de ESPHome die in dit topic gebruikt wordt.
Ik heb een eigen procon-interface-script gemaakt (draait op een pi waar een USB-RS485-adapter aan zit) en die luistert naar het MQTT-topic zoals in mijn plaatje staat.

Mijn eerdere post was meer bedoeld ter illustratie hoe de logica zou kunnen werken.

  • JustMyOpinion
  • Registratie: November 2012
  • Laatst online: 08:15
Maar welk adres schrijf je aan voor je SWW temp?

2,1 kWp OZO / 2,4 kWp WNW (SolarEdge) + 3,6 kWp S (Solis)


  • ocaj
  • Registratie: Juli 2011
  • Niet online
SWW temp zetten is functie code 6, register 30

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
clandmeter schreef op donderdag 5 januari 2023 @ 11:22:
[...]


Misschien een idee om te melden in het overzicht over de vaak defecte MAX485, had mij ook een boel tijd gescheeld.

mbt tot de esphome config, is het een idee om deze op github te hosten? Het is nogal een lap tekst en het is lastig bij te houden mbt tot updates. Is deze nu bijv dezelfde als in de main ecodan topic?
Ik heb zelf ook wat registers toegevoegd, misschien dat die interessant kunnen zijn voor andere.

Is het niet beter om de Engelstalig Procon register PDF te linken, dit omdat de hele esphome config engels gebaseerd is en zo makkelijker dingen terug te vinden zijn.

Install Manual
Registers

Weet iemand zo waar die modicon adressen gebruikt voor worden?

Heeft iemand al zitten stoeien om dit mooi in home assistant te krijgen (ipv van de default)
@clandmeter
Ik heb de opmerking over defecte MAX485 toegevoegd aan de startpost en ook de Engelstalige adressenlijst en installatie handleiding.

Wat betreft de registers die je hebt toegevoegd: laat maar doorkomen, dan kunnen we ze toevoegen.

Volgens mij zijn de modicon de 'volledige' modbus adressen, zie https://www.fernhillsoftw.../data-address-format.html

Github vind ik op zich een prima idee maar eerlijk gezegd heb ik nooit wat met github gedaan dus hoe dat precies werkt.... Kan jij eventueel een versie gaan bijhouden ten behoeve van dit topic?

Ik heb het nu zo in HA, maar ben bezig met een verbeterde visualisatie:

[Voor 15% gewijzigd door breinonline op 05-01-2023 18:59]

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • JustMyOpinion
  • Registratie: November 2012
  • Laatst online: 08:15
Nou, hierbij mijn inzending voor de legionella run :)

Ik heb het wat eenvoudiger gehouden. Ik heb een extra elektrisch verwarmingselement in de boiler hangen en ik heb deze gebruikt voor het laatste deel.

In basis wordt er elke 15 dagen een run uitgevoerd. Ik heb hiervoor gewoon een input number gemaakt in HA en deze telt elke dag af tot 0 (Laatste flow in afbeelding). Op dag 0 wordt er via Telegram een bericht naar mij gestuurd met de vraag of de run uitgevoerd kan worden of dat het bericht over 4 uur nogmaals moet komen.

Bij een "Ja voer maar uit" wordt de run gestart. Het setpoint van de boiler wordt op 55C gezet en een geforceerde SWW uitgevoerd.

Op het moment dat de temperatuur in de boiler 55C is wordt de geforceerde SWW weer uitgezet, de boiler set temperatuur op 48C en wordt het elektrisch element in de boiler gestart.

Deze wordt als de temperatuur in de boiler 5 minuten 62C is uitgeschakeld waarbij de run wordt afgemeld (input_boolean naar off en melding via Telegram).

2,1 kWp OZO / 2,4 kWp WNW (SolarEdge) + 3,6 kWp S (Solis)


Acties:
  • +4Henk 'm!
  • Pinned

  • clandmeter
  • Registratie: April 2007
  • Laatst online: 03-06 09:50
breinonline schreef op donderdag 5 januari 2023 @ 18:44:
[...]

@clandmeter
Github vind ik op zich een prima idee maar eerlijk gezegd heb ik nooit wat met github gedaan dus hoe dat precies werkt.... Kan jij eventueel een versie gaan bijhouden ten behoeve van dit topic?
Paar avondjes de documentatie van esphome/modbus en de register tables binnenstebuiten gekeerd ben ik tot het volgende gekomen.

https://github.com/clandmeter/esphome/tree/main/ecodan

Let wel op dat er heel veel adressen zijn aangepast en toegevoegd. Ook zijn er addresses verwijderd omdat die er dubbel in staan. Bijvoorbeeld die geschreven worden kunnen ook uitgelezen worden, dus die heb je niet en lees en schrijf nodig. Ik heb zelf 2 issues toegevoegd welke onduidelijk waren in de docs, als iemand iets anders vindt dan kan je ze toevoegen dan kijk ik er naar.

De device info is nu ook gebaseerd op de WEMOS S2 mini omdat dit bordje goedkoper is en meer IO heeft. Het is alleen wat lastig aan de gang te krijgen maar met de included config moet dat geen probleem zijn.

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 04-06 17:15

HaTe

haat niet

clandmeter schreef op vrijdag 13 januari 2023 @ 00:35:
[...]


Paar avondjes de documentatie van esphome/modbus en de register tables binnenstebuiten gekeerd ben ik tot het volgende gekomen.

https://github.com/clandmeter/esphome/tree/main/ecodan

Let wel op dat er heel veel adressen zijn aangepast en toegevoegd. Ook zijn er addresses verwijderd omdat die er dubbel in staan. Bijvoorbeeld die geschreven worden kunnen ook uitgelezen worden, dus die heb je niet en lees en schrijf nodig. Ik heb zelf 2 issues toegevoegd welke onduidelijk waren in de docs, als iemand iets anders vindt dan kan je ze toevoegen dan kijk ik er naar.

De device info is nu ook gebaseerd op de WEMOS S2 mini omdat dit bordje goedkoper is en meer IO heeft. Het is alleen wat lastig aan de gang te krijgen maar met de included config moet dat geen probleem zijn.
Goed werk! Je hebt er duidelijk veel aandacht aan besteed om het nog een stap verder te brengen.
Ik zelf heb aan alle namen ook een prefix toegevoegd (iemand anders hier had ook hetzelfde gedaan zag ik). Misschien voel je er wat voor om dit ook te doen?
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
substitutions:
  devicename: esp-warmtepomp
  long_devicename: Mitsubishi warmtepomp incl. elektriciteitsmeters.
  name_prefix: Ecodan

esphome:
  name: $devicename
  comment: $long_devicename
  platform: esp32
  board: esp32dev

.......

    ## Flow
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_flow
    name: ${name_prefix} Flow
    icon: mdi:waves-arrow-right
    address: 0xAD ## Flow - FC4: 173
    unit_of_measurement: "l/min"
    register_type: read
    value_type: U_WORD
    accuracy_decimals: 0

Het voordeel is dat bij het zoeken op entity (in mijn geval "Ecodan") ik gelijk alle items krijg en ook dat ik wat meer unieke entity-id's krijg. Zo kan ik aan het entity ID al zien waar dit bij hoort. Bijvoorbeeld in het schrijven van automations is dit handig. Ik heb namelijk meerdere "buitentemperatuur" sensoren bijvoorbeeld en het is anders lastig deze uit elkaar te halen.

Eventueel maak ik een keer een pull request.

[Voor 6% gewijzigd door HaTe op 13-01-2023 09:45]

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


  • clandmeter
  • Registratie: April 2007
  • Laatst online: 03-06 09:50
HaTe schreef op vrijdag 13 januari 2023 @ 09:43:
[...]

Goed werk! Je hebt er duidelijk veel aandacht aan besteed om het nog een stap verder te brengen.
Ik zelf heb aan alle namen ook een prefix toegevoegd (iemand anders hier had ook hetzelfde gedaan zag ik). Misschien voel je er wat voor om dit ook te doen?
YAML:
1
2
3
4
5
6
7
8
9
10
11
    ## Flow
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_flow
    name: ${name_prefix} Flow
    icon: mdi:waves-arrow-right
    address: 0xAD ## Flow - FC4: 173
    unit_of_measurement: "l/min"
    register_type: read
    value_type: U_WORD
    accuracy_decimals: 0

Het voordeel is dat bij het zoeken op entity (in mijn geval "Ecodan") ik gelijk alle items krijg en ook dat ik wat meer unieke entity-id's krijg. Zo kan ik aan het entity ID al zien waar dit bij hoort. Bijvoorbeeld in het schrijven van automations is dit handig. Ik heb namelijk meerdere "buitentemperatuur" sensoren bijvoorbeeld en het is anders lastig deze uit elkaar te halen.

Eventueel maak ik een keer een pull request.
Exactly, dat stond boven aan mijn lijst van issues die ik wilde aanpakken, ik heb ook zitten denken aan een prefix. Maar ik had liever gehad dat de entity name en id afzonderlijk instelbaar waren. Maar dit lijkt niet zo te zijn. Met een prefix moet ik wss alle namen in de UI weer gaan aanpassen.
@clandmeter
Ik maak voor de s2 mini gebruik van arduino framework, dan heb je ook de webserver in ESPhome.
De flow ctrl is er tussenuit ivm MAX3485 printje ipv MAX485
Hier mijn code:
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
esphome:
  name: ecodan
  comment: Mitsubishi warmtepomp

  platformio_options:
    board_build.extra_flags:
      - "-DARDUINO_USB_CDC_ON_BOOT=0"  # Override, defaults to '-DARDUINO_USB_CDC_ON_BOOT=1'

# Flash S2: press "O" and hold, press "RST", com port changes, esp connects, flash manual in web-esphome after manual download
esp32:
  board: lolin_s2_mini
  variant: ESP32S2
  framework:
    type: arduino
#    version: 2.0.3
#    platform_version: 5.2.0

# Enable logging
logger:
  logs:
    modbus_controller.sensor: DEBUG
    modbus_controller.output: DEBUG     
    esp32.preferences: DEBUG
    sensor: DEBUG

# Enable Home Assistant API
api:
  reboot_timeout: 0s

ota:
#  password: !secret ota_password

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

# Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Ecodan"
    password: "configesp"
    
captive_portal:
    
web_server:
  port: 80

uart:
  id: mod_bus
  tx_pin: 11  # GPIO6
  rx_pin: 9   # GPIO4
  baud_rate: 9600
  stop_bits: 1
  
modbus:
  #flow_control_pin: 7
  id: mitsubishi1
  send_wait_time: 2000ms

modbus_controller:
  - id: mitsubishi
    ## the Modbus device addr 1  (hex: 0x01)
    address: 0x01
    modbus_id: mitsubishi1
    setup_priority: -10
    #command_throttle: 250ms
    update_interval: 20s

status_led:
  pin:
    number: GPIO15

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • clandmeter
  • Registratie: April 2007
  • Laatst online: 03-06 09:50
AUijtdehaag schreef op vrijdag 13 januari 2023 @ 12:02:
@clandmeter
Ik maak voor de s2 mini gebruik van arduino framework, dan heb je ook de webserver in ESPhome.
De flow ctrl is er tussenuit ivm MAX3485 printje ipv MAX485
Hier mijn code:


[...]
Nice, ik neem aan dat DARDUINO_USB_CDC_ON_BOOT een workaround is voor de serial error bij het compileren?

Voor mij brengt de web interface niet echt voordelen. Het wordt ook geadviseerd niet te gebruiken ivm met high cpu load. Als je geen HA gebruikt is dat natuurlijk anders.
@clandmeter Die workarround kwam ik onlangs tegen inderdaad.
Vind het wel makkelijk buiten HA ook te kunnen zien dat de esp het doet via de webserver.
"Stel" dat je ooit mqtt: er in zet voor domoticz bijvoorbeeld

Zoveel mensen zoveel wensen ;)

[Voor 18% gewijzigd door AUijtdehaag op 13-01-2023 15:36]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
Ik heb de github link ook aan de startpost toegevoegd.

Een wens die ik nog wel heb is om de climate component in ESPhome te gebruiken. Maar ik moet toegeven dat ik niet snap hoe dat te fabriceren met wat we al aan code hebben. De voorbeelden die ik kan vinden geven ook niet echt veel houvast.

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 04-06 17:15

HaTe

haat niet

Tnx! Ben wel benieuwd waarom je de prefix ook voor de id's hebt gezet. Dat voegt niks toe denk ik en maakt de variabelen minder goed leesbaar. Is daar wel een reden voor? Voor zover ik weet wordt dit in HA niet gebruikt.

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 04-06 17:15

HaTe

haat niet

breinonline schreef op vrijdag 13 januari 2023 @ 16:07:
Ik heb de github link ook aan de startpost toegevoegd.

Een wens die ik nog wel heb is om de climate component in ESPhome te gebruiken. Maar ik moet toegeven dat ik niet snap hoe dat te fabriceren met wat we al aan code hebben. De voorbeelden die ik kan vinden geven ook niet echt veel houvast.
Ik ben er een dagje voor gaan zitten maar het is niet makkelijk.. Ik heb ook in de Discord om hulp gevraagd en daar raden ze aan een template climate component te maken. Heb er even ingedoken maar kreeg eigenlijk niet snel wat voor elkaar.. Ik kan een beetje C++ programmeren, maar dit was toch iets te hoog gegrepen om even in een middag te begrijpen en uit te voeren.

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


  • clandmeter
  • Registratie: April 2007
  • Laatst online: 03-06 09:50
HaTe schreef op vrijdag 13 januari 2023 @ 16:53:
[...]

Tnx! Ben wel benieuwd waarom je de prefix ook voor de id's hebt gezet. Dat voegt niks toe denk ik en maakt de variabelen minder goed leesbaar. Is daar wel een reden voor? Voor zover ik weet wordt dit in HA niet gebruikt.
De id’s hadden al een device name prefix. Dus daarom het nieuwe device name gebruikt.

Id’s worden wel degelijk intern in esphome gebruikt om te refereren zoals in de templates of in lambda code. Dit hoeft niet per se een device name te bevatten maar dat was nu al eenmaal zo.

edit: prefix nu verwijderd, heeft totaal geen zin om het wel te doen.

[Voor 5% gewijzigd door clandmeter op 13-01-2023 22:06]


  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
clandmeter schreef op vrijdag 13 januari 2023 @ 00:35:
[...]


Paar avondjes de documentatie van esphome/modbus en de register tables binnenstebuiten gekeerd ben ik tot het volgende gekomen.

https://github.com/clandmeter/esphome/tree/main/ecodan

Let wel op dat er heel veel adressen zijn aangepast en toegevoegd. Ook zijn er addresses verwijderd omdat die er dubbel in staan. Bijvoorbeeld die geschreven worden kunnen ook uitgelezen worden, dus die heb je niet en lees en schrijf nodig. Ik heb zelf 2 issues toegevoegd welke onduidelijk waren in de docs, als iemand iets anders vindt dan kan je ze toevoegen dan kijk ik er naar.

De device info is nu ook gebaseerd op de WEMOS S2 mini omdat dit bordje goedkoper is en meer IO heeft. Het is alleen wat lastig aan de gang te krijgen maar met de included config moet dat geen probleem zijn.
Ik zie dat je bijna overal device_class hebt toegevoegd. Maar bij de energy consumption FC4 156/157 ontbreken ze. Was dat bewust?

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • clandmeter
  • Registratie: April 2007
  • Laatst online: 03-06 09:50
breinonline schreef op vrijdag 13 januari 2023 @ 21:17:
[...]

Ik zie dat je bijna overal device_class hebt toegevoegd. Maar bij de energy consumption FC4 156/157 ontbreken ze. Was dat bewust?
The type of data a sensor returns impacts how it is displayed in the frontend. This is controlled by the sensor’s device class designation.

Die twee hebben geen name attribute en komen dus ook niet terug in de frontend. Deze worden gebruikt in de template daaronder welke wel een device_class heeft.

  • clandmeter
  • Registratie: April 2007
  • Laatst online: 03-06 09:50
breinonline schreef op vrijdag 13 januari 2023 @ 16:07:
Een wens die ik nog wel heb is om de climate component in ESPhome te gebruiken. Maar ik moet toegeven dat ik niet snap hoe dat te fabriceren met wat we al aan code hebben. De voorbeelden die ik kan vinden geven ook niet echt veel houvast.
Ik begrijp niet goed waar je dit voor wilt gaan gebruiken?
Zolang die climate components voor airco's gemaakt worden lijken ze me niet interessant voor l/w warmtepompen.

Ik mis een aantal modes, zoals heating room, heating water temperature, heating war :o
en cooling room, cooling water temperature.

[Voor 37% gewijzigd door AUijtdehaag op 14-01-2023 04:33]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
Ik mis eigenlijk vooral de thermostaat lovelace kaart in Home Assistant. Dat is een visuele weergave van de ingestelde temperatuur en makkelijk bedienbaar. Die krijg je echter niet zonder dat de climate component actief is. Het is op zich geen bezwaar om een losse thermostaat te hebben voor alle modussen, of een voor verwarmen en koelen en op de achtergrond te kiezen hoe (WAR, curve, room). In de MELcloud integratie zit het ook verwerkt en staat het dacht ik los van hoe je verwarmt of koelt.

In ESPhome lijkt climate alleen vooral gericht op het aansturen van een bepaalde pin terwijl dat bij ons modbus zaken zouden moeten zijn.
clandmeter schreef op vrijdag 13 januari 2023 @ 22:05:
[...]


The type of data a sensor returns impacts how it is displayed in the frontend. This is controlled by the sensor’s device class designation.

Die twee hebben geen name attribute en komen dus ook niet terug in de frontend. Deze worden gebruikt in de template daaronder welke wel een device_class heeft.
Ah, logisch. dank.

[Voor 41% gewijzigd door breinonline op 14-01-2023 06:34]

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • JustMyOpinion
  • Registratie: November 2012
  • Laatst online: 08:15
Zou je hier niet iets mee kunnen doen?

https://developers.home-a...docs/core/entity/climate/

Ik ben geen programmeur, maar het lijkt alsof je een climate entity kan namaken.

Hier een video van iemand die volgens mij maakt wat jij wilt?
YouTube: Q & A, creating Home Assistant Climate entities and dashboard for fa...

[Voor 42% gewijzigd door JustMyOpinion op 14-01-2023 07:17]

2,1 kWp OZO / 2,4 kWp WNW (SolarEdge) + 3,6 kWp S (Solis)


  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 04-06 17:15

HaTe

haat niet

JustMyOpinion schreef op zaterdag 14 januari 2023 @ 07:13:
Zou je hier niet iets mee kunnen doen?

https://developers.home-a...docs/core/entity/climate/

Ik ben geen programmeur, maar het lijkt alsof je een climate entity kan namaken.

Hier een video van iemand die volgens mij maakt wat jij wilt?
YouTube: Q & A, creating Home Assistant Climate entities and dashboard for fa...
Dat kan wel, maar vind ik een wat minder mooie oplossing in dit geval als het in theorie ook door de esp gedaan kan worden. Ik heb voor de Nefit Easy in het verleden ook een home assistant integratie gemaakt en dat was goed te doen. Het is in mijn ogen meer een workaround.

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
Is https://tweakers.net/i/xqjVsBYVMgEUOcNnl5YziHBHv3o=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/f8lSAfXkaOi5CHMuqk56qwXp.png?f=user_largenog wat om toe te voegen? Als ik het correct interpreteer geef die aan als het legionellaprogramma actief is. Operation mode doet dat in principe ook maar die geeft het ook wel eens fout weer heb ik gemerkt.

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.

@clandmeter
Krijg nog wel een foutmelding bij het compilen van de code op je github.
First character in ID cannot be a digit.
Regel 793 en 818
YAML:
1
2
    id: 7_segment_display_error_code_digit_1
    id: 7_segment_display_error_code_digit_2
heb ik van gemaakt
YAML:
1
2
    id: seven_segment_display_error_code_digit_1
    id: seven_segment_display_error_code_digit_2


En misschien kan je de blauwe led nog toevoegen?
YAML:
1
2
3
status_led:
  pin:
    number: GPIO15

:P

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • clandmeter
  • Registratie: April 2007
  • Laatst online: 03-06 09:50
AUijtdehaag schreef op zondag 15 januari 2023 @ 12:33:
@clandmeter
Krijg nog wel een foutmelding bij het compilen van de code op je github.
First character in ID cannot be a digit.
Regel 793 en 818
YAML:
1
2
    id: 7_segment_display_error_code_digit_1
    id: 7_segment_display_error_code_digit_2
heb ik van gemaakt
YAML:
1
2
    id: seven_segment_display_error_code_digit_1
    id: seven_segment_display_error_code_digit_2


En misschien kan je de blauwe led nog toevoegen?
YAML:
1
2
3
status_led:
  pin:
    number: GPIO15

:P
Done

  • clandmeter
  • Registratie: April 2007
  • Laatst online: 03-06 09:50
breinonline schreef op zondag 15 januari 2023 @ 11:14:
Is [Afbeelding]nog wat om toe te voegen? Als ik het correct interpreteer geef die aan als het legionellaprogramma actief is. Operation mode doet dat in principe ook maar die geeft het ook wel eens fout weer heb ik gemerkt.
Ik heb nog niet gemerkt dat dit niet klopt, kan iemand anders dit ook bevestigen?
De Read only values gebruik ik standaard niet omdat deze kopieën zijn. Lees ook:

Some BMS controllers can only read Modbus Holding Registers, so the MelcoBEMS MINI (A1M) also exposes all Discrete, Coil and Input Registers as Holding Registers.
The Discrete Input registers and Input registers are not writable so their equivalent Holding Register is read only and marked [READ ONLY].


Het correct adres zou dan zijn: 10099

  • clandmeter
  • Registratie: April 2007
  • Laatst online: 03-06 09:50
Weet iemand wat het verschil en waarom de registers de volgende naam hebben?

40033 H/C Thermostat Target Temperature – Zone 1 (signed)
vs
40055 Thermostat Target Temperature – Zone 1 (signed)

Het lijkt er op dat 40033 de nodige Ta is bij WAR en misschien ook wel de waarde van een eventueel een vast ingestelde flow temperatuur?
En 40055 de ingestelde thermostaat setpoint wanneer je op binnentemperatuur stuurt?

Ik zie ook referenties naar H/C en naar A/C, weet niet precies wat de definitie/verschil hiervan is?

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
A/C staat voor air conditioning. Sommige Mitsubishi units kunnen dat ook (de L/L varianten). In de documentatie houdt Mitsubishi die naam aan, maar ik feite doen de L/W warmtepompen niks aan conditioneren. Daarom heb (onder andere) ik de term voor mijn fronteind gewijzigd naar H/C, Heating/Cooling want dat is hetgeen ik tussen kan kiezen :)

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • clandmeter
  • Registratie: April 2007
  • Laatst online: 03-06 09:50
Ik begrijp waar de afkortingen voor staan, maar alleen de functie van die twee registers lijkt op voorhand dezelfde te zijn maar de values zijn anders.

Laat ik het anders formuleren, wat is het verschil tussen "Heat/Cool Thermostaat" en de (non prefix) "Thermostaat"?

Voor zover ik kan zien zijn die sensors hetzelfde als de values van de Setpoint sensors welke readonly zijn, de "Temperature setpoint" en de ""Flow temperature setpoint"

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
O, dan begreep ik je vraag verkeerd. Maar het antwoord weet ik ook niet.

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • Chronos
  • Registratie: Januari 2000
  • Laatst online: 04-06 09:11
Dit is wat ik nou zo mooi vind aan Tweakers, ik let even paar weken niet op en mijn zooitje code wordt verbeterd, opgepoetst en komt netjes op Github. Chapeau @clandmeter @AUijtdehaag en anderen :-)

  • JustMyOpinion
  • Registratie: November 2012
  • Laatst online: 08:15
Heren, even (wellicht domme) vraag....

Maar als het systeem bezig is met verwarmen van boiler (dus standaard geinnitieerd door de unit zelf). Is er dan een manier om deze te annuleren dat hij gewoon weer verder gaat met verwarmen van het huis?

Moet ik dan bv "Geforceerd verwarmen" een "0" sturen? Of is er een andere manier voor?

2,1 kWp OZO / 2,4 kWp WNW (SolarEdge) + 3,6 kWp S (Solis)


  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
Ik ben er eindelijk aan toegekomen om de code die op de ESP had staan om te zetten naar de nieuwe standaard. Een hoop werk in het omzetten van automations, lovelace dashboard etc.

Wat mij opvalt: de numbers zijn sliders en zijn niet per halve graad bedienbaar. Dat lijkt mij wel handig. Door het toevoegen van
YAML:
1
step: 0.5
kan dat wel. Is dat wat om de standaard mee te updaten?

En ik heb zelf liever een box dan een slider. Is het wat om ook dat op te nemen, maar dan met een # ervoor zodat het voor mensen duidelijk is dat dit ook beschikbare optie is?
YAML:
1
#    mode: box

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
Aanvullende vraag. De energy sensors zijn total_increasing. Dat is correct want ze gaan niet standaard terug naar 0, maar kunnen dat wel doen. Maar in HA in het energy dashboard lijk ik toch het verschil met de voorgaande dag te zien, in plaats van dat hij total_increasing interpreteert:




Hebben anderen dat ook?

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • ocaj
  • Registratie: Juli 2011
  • Niet online
Kun jij de totalen uitlezen?

Ik kan (via mijn Procon) alleen de dag-cijfers van de vorige dag opvragen. Die zijn alleen stijgend zolang het elke dag een beetje kouder wordt :)
Totalen reken ik dus zelf uit.

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
Nee, het totaal stijgt niet nee. Je krijgt per dag een dagtotaal te zien.

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • clandmeter
  • Registratie: April 2007
  • Laatst online: 03-06 09:50
breinonline schreef op zaterdag 4 februari 2023 @ 16:35:

Wat mij opvalt: de numbers zijn sliders en zijn niet per halve graad bedienbaar. Dat lijkt mij wel handig. Door het toevoegen van
YAML:
1
step: 0.5
kan dat wel. Is dat wat om de standaard mee te updaten?
Dit is denk ik per ongeluk weggevallen. Het is weer toegevoegd.
breinonline schreef op zaterdag 4 februari 2023 @ 16:35:

En ik heb zelf liever een box dan een slider. Is het wat om ook dat op te nemen, maar dan met een # ervoor zodat het voor mensen duidelijk is dat dit ook beschikbare optie is?
YAML:
1
#    mode: box
https://developers.home-a...entity/number/#properties
Defines how the number should be displayed in the UI. It's recommended to use the default auto. Can be box or slider to force a display mode.

Dit laat ik aan de gebruiker om dit aan te passen. Denk niet dat we alle mogelijkheden als comments moeten gaan toevoegen?

  • MrScratch
  • Registratie: December 2001
  • Laatst online: 09:11

MrScratch

I am rubber, you are glue

Ik heb nu enige tijd de Procon met ESP draaien, werkt prima icm Home Assistant.

Echter, de webinterface van de ESP is niet meer te bereiken. http://esp-mitsubishi.local/ geeft geen reactie. Ook op het ip-adres van de esp is er geen web-interface te vinden. Home Assistant doet het wel gewoon prima.

Ook vraag ik me af hoe ik de firmware versie van de Procon kan uitlezen. Ik heb geen idee of ik een recente versie heb of niet. @AUijtdehaag misschien een tip voor me? Ik heb de procon en esp via jou, waarvoor nogmaals dank.

Look behind you! A three headed monkey!

@MrScratch
Zend die geen eigen hotspot uit?
Misschien is je wifi gewijzigd?

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • MrScratch
  • Registratie: December 2001
  • Laatst online: 09:11

MrScratch

I am rubber, you are glue

AUijtdehaag schreef op dinsdag 28 maart 2023 @ 13:14:
@MrScratch
Zend die geen eigen hotspot uit?
Misschien is je wifi gewijzigd?
Inderdaad ben ik een tijd geleden overgestapt op een ander wifi netwerk met UniFi Access Points. Toen heb ik de esp met zijn eigen hotspot verbonden en het nieuwe wifi netwerk ingesteld. Dit werkte allemaal prima en ook Home Assistant kon sindsdien verbinding maken en ik zie alle metrics in Home Assistant ook gewoon realtime terug.

UniFi netwerk tool geeft goede verbindingscondities weer en zegt dat alles in orde is. Alleen de dashboard via de directe pagina is niet meer te vinden voor mij.

Look behind you! A three headed monkey!


  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
MrScratch schreef op dinsdag 28 maart 2023 @ 12:33:
Ik heb nu enige tijd de Procon met ESP draaien, werkt prima icm Home Assistant.

Echter, de webinterface van de ESP is niet meer te bereiken. http://esp-mitsubishi.local/ geeft geen reactie. Ook op het ip-adres van de esp is er geen web-interface te vinden. Home Assistant doet het wel gewoon prima.

Ook vraag ik me af hoe ik de firmware versie van de Procon kan uitlezen. Ik heb geen idee of ik een recente versie heb of niet. @AUijtdehaag misschien een tip voor me? Ik heb de procon en esp via jou, waarvoor nogmaals dank.
Als je gewoon het ip van de ESP intikt zou je in de webinterface terecht moeten komen.

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • MrScratch
  • Registratie: December 2001
  • Laatst online: 09:11

MrScratch

I am rubber, you are glue

breinonline schreef op dinsdag 28 maart 2023 @ 16:52:
[...]

Als je gewoon het ip van de ESP intikt zou je in de webinterface terecht moeten komen.
Ik probeer het nu op een andere laptop en met Chrome ipv Firefox en nu zie ik een duidelijke melding:

192.168.178.207 heeft de verbinding geweigerd.

Het lijkt erop dat ik bij het opnieuw instellen van het wifi netwerk misschien de webinterface uit heb gezet. Vanavond maar eens de ESP in hotspot mode laten gaan en kijken of ik het kan fixen.

Look behind you! A three headed monkey!


Acties:
  • +7Henk 'm!

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
Even een schopje: de besturing werkt hier perfect. Geen fouten of gekke dingen meegemaakt d:)b

Hoewel niet iedereen in dit topic met Home Assistant werkt is het denk ik wel de meest logische plek om dit te delen: ik heb een visualisatie gemaakt die de belangrijkste parameters toont en visueel maakt wat de warmtepomp aan het doen is. Zo zijn de leidingen rood/blauw gekleurd richting de vloerverwarming of richting de SWW tank. En als de warmtepomp standby staat zijn alle leidingen grijs (zoals op het ene voorbeeld). Mocht iemand geïnteresseerd zijn, hieronder de lovelace code.


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
type: picture-elements
image: local/images/ecodan/ecodan-basis.png?v=1
elements:
  - type: conditional
    conditions:
      - entity: sensor.ecodan_operating_mode
        state: Stop
    elements:
      - type: image
        image: local/images/ecodan/ecodan-off.png?v=2
        style:
          top: 50%
          left: 50%
          width: 100%
  - type: conditional
    conditions:
      - entity: sensor.ecodan_operating_mode
        state: Heating
      - entity: sensor.ecodan_defrost
        state: 'Off'
    elements:
      - type: image
        image: local/images/ecodan/ecodan-heating.png?v=2
        style:
          top: 50%
          left: 50%
          width: 100%
      - type: state-label
        entity: sensor.actueel_uitgangsvermogen
        style:
          top: 51%
          left: 10%
          color: white
  - type: conditional
    conditions:
      - entity: sensor.ecodan_operating_mode
        state: Hot Water
    elements:
      - type: image
        image: local/images/ecodan/ecodan-hot-water.png?v=2
        style:
          top: 50%
          left: 50%
          width: 100%
  - type: conditional
    conditions:
      - entity: sensor.ecodan_defrost
        state: Defrost
    elements:
      - type: image
        image: local/images/ecodan/ecodan-defrost.png?v=2
        style:
          top: 50%
          left: 50%
          width: 100%
  - type: conditional
    conditions:
      - entity: sensor.ecodan_operating_mode
        state: Cooling
    elements:
      - type: image
        image: local/images/ecodan/ecodan-cooling.png?v=2
        style:
          top: 50%
          left: 50%
          width: 100%
      - type: state-label
        entity: sensor.actueel_uitgangsvermogen
        style:
          top: 51%
          left: 10%
          color: white
  - type: conditional
    conditions:
      - entity: sensor.ecodan_operating_mode
        state: Hot Water
      - entity: sensor.ecodan_heat_source_status
        state: Electric heater
    elements:
      - type: image
        image: local/images/ecodan/ecodan-element.png?v=2
        style:
          top: 50%
          left: 50%
          width: 100%
  - type: conditional
    conditions:
      - entity: input_boolean.wtw_naloop_aan
        state: 'on'
      - entity: sensor.comfoairq_percentage
        state: '100'
    elements:
      - type: state-label
        entity: sensor.shelly_hw_temperature
        style:
          top: 30%
          left: 64%
          color: white
      - type: icon
        icon: mdi:faucet
        style:
          top: 29%
          left: 55%
          color: red
  - type: state-label
    entity: sensor.ecodan_room_temperature_zone_1
    style:
      top: 86.5%
      left: 21%
      color: black
  - type: state-label
    entity: number.ecodan_thermostat_target_temperature_zone_1
    style:
      top: 80%
      left: 21%
      color: black
  - type: state-label
    entity: sensor.ecodan_flow_temperature
    style:
      top: 19%
      left: 74%
      color: white
      align: right
  - type: state-label
    entity: sensor.delta_t
    prefix: 'Δt: '
    style:
      top: 35%
      left: 10%
      color: white
  - type: state-label
    entity: sensor.ecodan_return_temperature
    style:
      top: 38%
      left: 74%
      color: white
      align: right
  - type: state-label
    entity: sensor.ecodan_tank_water_temperature
    style:
      top: 31%
      left: 42%
      color: white
  - type: state-label
    entity: sensor.shelly_lower_tank_temperature
    style:
      top: 51%
      left: 42%
      color: white
  - type: state-label
    entity: sensor.ecodan_refrigerant_liquid_temperature
    style:
      top: 54%
      left: 85%
      color: white
  - type: state-label
    entity: sensor.ecodan_outdoor_ambient_temperature
    style:
      top: 92%
      left: 82%
      color: white
  - type: state-label
    entity: sensor.ecodan_heat_pump_frequency_master
    style:
      top: 68%
      left: 83%
      color: white
  - type: state-label
    entity: sensor.ecodan_flow_rate
    style:
      top: 13%
      left: 72%
      color: white
  - type: service-button
    title: ':'
    style:
      top: 79%
      left: 33%
      color: black
    service: homeassistant.turn_on
    service_data:
      entity_id: script.temperature_up
  - type: service-button
    title: .
    style:
      top: 87%
      left: 33%
      color: black
    service: homeassistant.turn_on
    service_data:
      entity_id: script.temperature_down


En de bijbehorende plaatjes:
https://tweakers.net/gallery/27131/fotoalbum/?MapID=175184

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • MrScratch
  • Registratie: December 2001
  • Laatst online: 09:11

MrScratch

I am rubber, you are glue

breinonline schreef op dinsdag 18 april 2023 @ 21:35:
Even een schopje: de besturing werkt hier perfect. Geen fouten of gekke dingen meegemaakt d:)b

Hoewel niet iedereen in dit topic met Home Assistant werkt is het denk ik wel de meest logische plek om dit te delen: ik heb een visualisatie gemaakt die de belangrijkste parameters toont en visueel maakt wat de warmtepomp aan het doen is. Zo zijn de leidingen rood/blauw gekleurd richting de vloerverwarming of richting de SWW tank. En als de warmtepomp standby staat zijn alle leidingen grijs (zoals op het ene voorbeeld). Mocht iemand geïnteresseerd zijn, hieronder de lovelace code.
[Afbeelding]
[Afbeelding]
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
type: picture-elements
image: local/images/ecodan/ecodan-basis.png?v=1
elements:
  - type: conditional
    conditions:
      - entity: sensor.ecodan_operating_mode
        state: Stop
    elements:
      - type: image
        image: local/images/ecodan/ecodan-off.png?v=2
        style:
          top: 50%
          left: 50%
          width: 100%
  - type: conditional
    conditions:
      - entity: sensor.ecodan_operating_mode
        state: Heating
      - entity: sensor.ecodan_defrost
        state: 'Off'
    elements:
      - type: image
        image: local/images/ecodan/ecodan-heating.png?v=2
        style:
          top: 50%
          left: 50%
          width: 100%
      - type: state-label
        entity: sensor.actueel_uitgangsvermogen
        style:
          top: 51%
          left: 10%
          color: white
  - type: conditional
    conditions:
      - entity: sensor.ecodan_operating_mode
        state: Hot Water
    elements:
      - type: image
        image: local/images/ecodan/ecodan-hot-water.png?v=2
        style:
          top: 50%
          left: 50%
          width: 100%
  - type: conditional
    conditions:
      - entity: sensor.ecodan_defrost
        state: Defrost
    elements:
      - type: image
        image: local/images/ecodan/ecodan-defrost.png?v=2
        style:
          top: 50%
          left: 50%
          width: 100%
  - type: conditional
    conditions:
      - entity: sensor.ecodan_operating_mode
        state: Cooling
    elements:
      - type: image
        image: local/images/ecodan/ecodan-cooling.png?v=2
        style:
          top: 50%
          left: 50%
          width: 100%
      - type: state-label
        entity: sensor.actueel_uitgangsvermogen
        style:
          top: 51%
          left: 10%
          color: white
  - type: conditional
    conditions:
      - entity: sensor.ecodan_operating_mode
        state: Hot Water
      - entity: sensor.ecodan_heat_source_status
        state: Electric heater
    elements:
      - type: image
        image: local/images/ecodan/ecodan-element.png?v=2
        style:
          top: 50%
          left: 50%
          width: 100%
  - type: conditional
    conditions:
      - entity: input_boolean.wtw_naloop_aan
        state: 'on'
      - entity: sensor.comfoairq_percentage
        state: '100'
    elements:
      - type: state-label
        entity: sensor.shelly_hw_temperature
        style:
          top: 30%
          left: 64%
          color: white
      - type: icon
        icon: mdi:faucet
        style:
          top: 29%
          left: 55%
          color: red
  - type: state-label
    entity: sensor.ecodan_room_temperature_zone_1
    style:
      top: 86.5%
      left: 21%
      color: black
  - type: state-label
    entity: number.ecodan_thermostat_target_temperature_zone_1
    style:
      top: 80%
      left: 21%
      color: black
  - type: state-label
    entity: sensor.ecodan_flow_temperature
    style:
      top: 19%
      left: 74%
      color: white
      align: right
  - type: state-label
    entity: sensor.delta_t
    prefix: 'Δt: '
    style:
      top: 35%
      left: 10%
      color: white
  - type: state-label
    entity: sensor.ecodan_return_temperature
    style:
      top: 38%
      left: 74%
      color: white
      align: right
  - type: state-label
    entity: sensor.ecodan_tank_water_temperature
    style:
      top: 31%
      left: 42%
      color: white
  - type: state-label
    entity: sensor.shelly_lower_tank_temperature
    style:
      top: 51%
      left: 42%
      color: white
  - type: state-label
    entity: sensor.ecodan_refrigerant_liquid_temperature
    style:
      top: 54%
      left: 85%
      color: white
  - type: state-label
    entity: sensor.ecodan_outdoor_ambient_temperature
    style:
      top: 92%
      left: 82%
      color: white
  - type: state-label
    entity: sensor.ecodan_heat_pump_frequency_master
    style:
      top: 68%
      left: 83%
      color: white
  - type: state-label
    entity: sensor.ecodan_flow_rate
    style:
      top: 13%
      left: 72%
      color: white
  - type: service-button
    title: ':'
    style:
      top: 79%
      left: 33%
      color: black
    service: homeassistant.turn_on
    service_data:
      entity_id: script.temperature_up
  - type: service-button
    title: .
    style:
      top: 87%
      left: 33%
      color: black
    service: homeassistant.turn_on
    service_data:
      entity_id: script.temperature_down


En de bijbehorende plaatjes:
https://tweakers.net/gallery/27131/fotoalbum/?MapID=175184
Dit ziet er echt heel vet uit. Geweldig gemaakt. Dat wil ik ook hebbon!

Alleen heb je misschien wat tips hoe dit in HA is in te passen? Is dit een apart dashboard of moet ik dit op een bepaalde manier in mijn huidige dashboard plaatsen?

De yaml-code, is dat voor in configuration.yaml of werkt dat anders?

Look behind you! A three headed monkey!


  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
MrScratch schreef op woensdag 19 april 2023 @ 14:14:
[...]

Dit ziet er echt heel vet uit. Geweldig gemaakt. Dat wil ik ook hebbon!

Alleen heb je misschien wat tips hoe dit in HA is in te passen? Is dit een apart dashboard of moet ik dit op een bepaalde manier in mijn huidige dashboard plaatsen?

De yaml-code, is dat voor in configuration.yaml of werkt dat anders?
Je kan dit overal in de lovelace interface invoegen. Het is gebaseerd op een picture-elements card. Verder ga ik er van uit dat je de procon met esp gebruikt (maar andere besturingen, al dan niet via node red of zelfs melcloud zouden ook kunnen). Verder staat er nog een shelly ding in, die kan je negeren, daarmee kijk ik of er warm water wordt gevraagd en dat geef ik ook weer op de afbeelding. Afbeeldingen gaan in je www/images/ folder.

En mocht iemand de afbeelding willen aanpassen dan heb ik een svg bestand waar alles in getekend is. Die mag ik alleen niet in het tweaker fotoalbum kwijt. Dus als je die wil stuur dan even een DM.

[Voor 9% gewijzigd door breinonline op 19-04-2023 20:20]

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • dunklefaser
  • Registratie: Oktober 2012
  • Laatst online: 11:07

dunklefaser

Point Of KnowReturn

@breinonline De cijfers in jouw plaatje zijn wel met een korreltje zout te nemen, of niet?
4709,2 W vs. deltaT van 2,5°C en een flow van 23,0 l/min - aantal significante cijfers?
en 2,5 K x 1380 l/h x 1,156 Wh/(l K) = 4,0 kW en niet 4,7 kW

Nobody is perfeckt - But who wants to be Nobody? - Vrijwillig Energycoach Fiat LUXus! - Some Insights


  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
Ik heb ooit de berekening uit een van de warmtepomp topics gehaald en bereken het als volgt:
YAML:
1
2
3
4
5
6
7
8
9
10
11
template:
  - sensor:
      - name: Actueel uitgangsvermogen
        state: >
          {% if states('sensor.ecodan_operating_mode') == 'Stop' %}
            0
          {% else %} 
            {{ ((states('sensor.delta_t') | float(0)) * 4.186 * (states('sensor.ecodan_flow_temperature') | float(0)) / 60) | round(4) }}
          {% endif %}
        unit_of_measurement: "kW"
        unique_id: "20221226131101"

Als daar wat fout aan is hoor ik het graag :)

Edit: als ik het nareken dan komt het op 4.01kW uit inderdaad. Misschien dat de template entity net even later update dan de andere cijfers en daar een verschil in is geslopen?

Nee, het is fout, het moet natuurlijk zijn:
YAML:
1
2
3
4
5
6
7
8
9
10
11
template:
  - sensor:
      - name: Actueel uitgangsvermogen
        state: >
          {% if states('sensor.ecodan_operating_mode') == 'Stop' %}
            0
          {% else %} 
            {{ ((states('sensor.delta_t') | float(0)) * 4.186 * (states('sensor.ecodan_flow_rate') | float(0)) / 60) | round(4) }}
          {% endif %}
        unit_of_measurement: "kW"
        unique_id: "20221226131101"

Ik heb gewoon twee sensors verward :X

[Voor 38% gewijzigd door breinonline op 19-04-2023 20:12]

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • dunklefaser
  • Registratie: Oktober 2012
  • Laatst online: 11:07

dunklefaser

Point Of KnowReturn

@breinonline Zo zie je maar weer: "Meten is weten" - maar weet wat je meet cq. gebruikt.
Normaalgesproken bepaalt de precisie van de temperatuurmeting cq. de deltaT
hoe exact de vermogensberekening kan zijn, tenminste bij een warmtepomp met kleine deltaT en grote flow.

[Voor 12% gewijzigd door dunklefaser op 19-04-2023 20:42]

Nobody is perfeckt - But who wants to be Nobody? - Vrijwillig Energycoach Fiat LUXus! - Some Insights


  • nighthunter
  • Registratie: December 2007
  • Laatst online: 04-06 21:01
breinonline schreef op dinsdag 7 februari 2023 @ 21:17:
Aanvullende vraag. De energy sensors zijn total_increasing. Dat is correct want ze gaan niet standaard terug naar 0, maar kunnen dat wel doen.
Hebben anderen dat ook?
Bij mij gaan ze inderdaad terug naar 0 wanneer de warmtepomp herstart of de voeding is onderbroken. Maar eigenlijk zou ik de waarden ook naar 0 willen hebben om middernacht wat nu niet gebeurd:


Heb momenteel de energie sensoren als gas verbruik in het energie dashboard zitten (eens, niet geweldig en loopt 1 dag achter maar het werkt en ben zeker niet de enige) echter heeft dit als probleem dat deze enkel de positieve delta tussen de 2 waarden pakt, waarmee je effectief te zien krijgt hoeveel energie je meer hebt gebruikt dan gister i.p.v het totaal. Heb al geprobeerd om een dagelijkse helper nuts sensor aan te maken die de bronsensoren als delta waarden inleest, dat werkt prima totdat de ESP herstart en de waarde opnieuw stuurt waarna die as-is in de helper sensor wordt toegevoegd en verdubbelt wat ook weer niet wenselijk is.

Kortom ik ben nog aan het stoeien om ESPHome de dagelijkse reset naar 0 te laten doen, hopelijk door middel van Total Daily Energy Sensor maar het wil nog niet echt lukken.
breinonline schreef op woensdag 19 april 2023 @ 19:17:
Nee, het is fout, het moet natuurlijk zijn:
YAML:
1
2
3
4
5
6
7
8
9
10
11
template:
  - sensor:
      - name: Actueel uitgangsvermogen
        state: >
          {% if states('sensor.ecodan_operating_mode') == 'Stop' %}
            0
          {% else %} 
            {{ ((states('sensor.delta_t') | float(0)) * 4.186 * (states('sensor.ecodan_flow_rate') | float(0)) / 60) | round(4) }}
          {% endif %}
        unit_of_measurement: "kW"
        unique_id: "20221226131101"

Ik heb gewoon twee sensors verward :X
Wellicht een optie om deze door ESPHome te laten berekenen? Blijft de logica op 1 plek laat maar zeggen.

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
nighthunter schreef op zaterdag 22 april 2023 @ 15:29:
[...]


Bij mij gaan ze inderdaad terug naar 0 wanneer de warmtepomp herstart of de voeding is onderbroken. Maar eigenlijk zou ik de waarden ook naar 0 willen hebben om middernacht wat nu niet gebeurd:
[Afbeelding]

Heb momenteel de energie sensoren als gas verbruik in het energie dashboard zitten (eens, niet geweldig en loopt 1 dag achter maar het werkt en ben zeker niet de enige) echter heeft dit als probleem dat deze enkel de positieve delta tussen de 2 waarden pakt, waarmee je effectief te zien krijgt hoeveel energie je meer hebt gebruikt dan gister i.p.v het totaal. Heb al geprobeerd om een dagelijkse helper nuts sensor aan te maken die de bronsensoren als delta waarden inleest, dat werkt prima totdat de ESP herstart en de waarde opnieuw stuurt waarna die as-is in de helper sensor wordt toegevoegd en verdubbelt wat ook weer niet wenselijk is.

Kortom ik ben nog aan het stoeien om ESPHome de dagelijkse reset naar 0 te laten doen, hopelijk door middel van Total Daily Energy Sensor maar het wil nog niet echt lukken.
Het klinkt toch als iets wat eenvoudig moet kunnen. Maar ik krijg het dus ook gewoon niet voor elkaar. Even over jouw nuts sensor: zou je niet kunnen instellen (automation voorwaarde?) dat die alleen een resultaat tussen 23.55u en 24.00/00.00u mag inlezen? Dan kan je buiten die tijden gerust herstarten zonder dat dat tot toevoeging van een waarde leidt.
[...]


Wellicht een optie om deze door ESPHome te laten berekenen? Blijft de logica op 1 plek laat maar zeggen.
Dat kan volgens mij door deze template aan ESPHome toe te voegen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
    ## Current power output (template)
  - platform: template
    id: current_power_output
    name: ${device} Current power output
    icon: mdi:home-lightning-bolt
    device_class: power
    state_class: measurement
    unit_of_measurement: "kW"
    accuracy_decimals: 3
    lambda: |-
      return (id(flow_temperature).state - id(return_temperature).state) * id(flow_rate).state * 4.186 / 60;
    update_interval: 60s

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 04-06 17:15

HaTe

haat niet

breinonline schreef op zondag 30 april 2023 @ 06:07:
[...]

Het klinkt toch als iets wat eenvoudig moet kunnen. Maar ik krijg het dus ook gewoon niet voor elkaar. Even over jouw nuts sensor: zou je niet kunnen instellen (automation voorwaarde?) dat die alleen een resultaat tussen 23.55u en 24.00/00.00u mag inlezen? Dan kan je buiten die tijden gerust herstarten zonder dat dat tot toevoeging van een waarde leidt.

[...]

Dat kan volgens mij door deze template aan ESPHome toe te voegen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
    ## Current power output (template)
  - platform: template
    id: current_power_output
    name: ${device} Current power output
    icon: mdi:home-lightning-bolt
    device_class: power
    state_class: measurement
    unit_of_measurement: "kW"
    accuracy_decimals: 3
    lambda: |-
      return (id(flow_temperature).state - id(return_temperature).state) * id(flow_rate).state * 4.186 / 60;
    update_interval: 60s
Hoe ik het heb opgelost:
3 input velden aangemaakt om het totale verbruik bij te houden
Elke dag om 0:00 wordt deze opgehoogd met de nieuwe waarde
Een template sensor die van de waarde van het input veld een sensor waarde maakt

Automatiseren voor het updaten:
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
alias: Update Ecodan production
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.ecodan_energy_produced_date
    for:
      hours: 0
      minutes: 1
      seconds: 0
condition:
  - condition: time
    after: "00:00:00"
    before: "00:05:00"
action:
  - service: input_number.set_value
    data:
      value: >-
        {{ states('input_number.ecodan_produced_dhw') | float +
        states('sensor.ecodan_energy_produced_dhw') | float }}
    target:
      entity_id: input_number.ecodan_produced_dhw
  - service: input_number.set_value
    data:
      value: >-
        {{ states('input_number.ecodan_produced_heating') | float +
        states('sensor.ecodan_energy_produced_heating') | float }}
    target:
      entity_id: input_number.ecodan_produced_heating
  - service: input_number.set_value
    data:
      value: >-
        {{ states('input_number.ecodan_produced_cooling') | float +
        states('sensor.ecodan_energy_produced_cooling') | float }}
    target:
      entity_id: input_number.ecodan_produced_cooling
mode: single


YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    - name: Ecodan energy produced heating total
      unique_id: ecodan_energy_produced_heating_total
      state: "{{ states('input_number.ecodan_produced_heating') | float }}"
      unit_of_measurement: kWh
      device_class: energy
      state_class: total_increasing
    - name: Ecodan energy produced cooling total
      unique_id: ecodan_energy_produced_cooling_total
      state: "{{ states('input_number.ecodan_produced_cooling') | float }}"
      unit_of_measurement: kWh
      device_class: energy
      state_class: total_increasing
    - name: Ecodan energy produced DHW total
      unique_id: ecodan_energy_produced_dhw_total
      state: "{{ states('input_number.ecodan_produced_dhw') | float }}"
      unit_of_measurement: kWh
      device_class: energy
      state_class: total_increasing 


Helaas gaat ook dit nog niet werken in het Energy dashboard, maar het is wel bruikbaar om de COP te berekenen in totaal en van gisteren bijvoorbeeld.

In het energy dashboard gebruik ik het elektrische verbruik. Dat is eigenlijk ook veel leuker om visueel te zien:


[Voor 4% gewijzigd door HaTe op 30-04-2023 09:09]

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


  • nighthunter
  • Registratie: December 2007
  • Laatst online: 04-06 21:01
breinonline schreef op zondag 30 april 2023 @ 06:07:
[...]
Het klinkt toch als iets wat eenvoudig moet kunnen. Maar ik krijg het dus ook gewoon niet voor elkaar. Even over jouw nuts sensor: zou je niet kunnen instellen (automation voorwaarde?) dat die alleen een resultaat tussen 23.55u en 24.00/00.00u mag inlezen? Dan kan je buiten die tijden gerust herstarten zonder dat dat tot toevoeging van een waarde leidt.
Dat is misschien ook nog een idee inderdaad, ik heb nu tijdelijk een kopie template sensor aangemaakt die kortstondig een reset naar 0 doet op het moment dat de nieuwe waarde minimaal 0.001kWh afwijkt maar slaat de reset over bij een N/A -> waarde bij opstarten van ESPHome:
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
    ## Energy used heating 
  - platform: template
    id: ${device_id}_energy_used_heating
    name: "${device_name} Energy Used Heating"
    icon: mdi:heat-wave
    device_class: energy
    state_class: total_increasing
    unit_of_measurement: "kWh"
    accuracy_decimals: 3
    lambda: |-
      return id(mitsubishi_heating_kwh).state + (id(mitsubishi_heating_wh).state/100);
    filters:
      - delta: 0.001
    on_value:
      then:
        lambda: |-
          if (isnan(id(${device_id}_energy_used_heating_yesterday).raw_state)) {
              id(${device_id}_energy_used_heating_yesterday).publish_state(x);
          } else {
              id(${device_id}_energy_used_heating_yesterday).publish_state(0);
              delay(1000);
              id(${device_id}_energy_used_heating_yesterday).publish_state(x);
            }
    update_interval: 60s

  - platform: template
    name: "${device_name} Energy Used Heating Yesterday"
    id: ${device_id}_energy_used_heating_yesterday
    icon: mdi:heat-wave
    device_class: energy
    state_class: total_increasing
    unit_of_measurement: "kWh"
    accuracy_decimals: 3

Enige probleem is dat wanneer de warmtepomp nog aan het opstarten is (na stroomuitval) en de waarde wordt uitgelezen gaat deze ook kortstondig naar 0 en zorgt voor dubbele waarden, maar dat gebeurd sporadisch en deze zijn vrij makkelijk in HomeAssistant te verwijderen.
HaTe schreef op zondag 30 april 2023 @ 09:08:
[...]
Hoe ik het heb opgelost:
3 input velden aangemaakt om het totale verbruik bij te houden
Elke dag om 0:00 wordt deze opgehoogd met de nieuwe waarde
Een template sensor die van de waarde van het input veld een sensor waarde maakt
Vind ik een charmante oplossing, maar hoe gaat dit met zomer/winter tijd? Zover ik weet moet je op de thermostaat handmatig aangeven dat het wel/geen zomertijd is. Als deze uit sync is met HomeAssistant/ESPHome wordt de oude waarde ingelezen?

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
HaTe schreef op zondag 30 april 2023 @ 09:08:
[...]

Helaas gaat ook dit nog niet werken in het Energy dashboard, maar het is wel bruikbaar om de COP te berekenen in totaal en van gisteren bijvoorbeeld.

In het energy dashboard gebruik ik het elektrische verbruik. Dat is eigenlijk ook veel leuker om visueel te zien:
[Afbeelding]

[Afbeelding]
Maar hoe heb je dan je elektrisch verbruik in het energy dashboard gekregen? Is dat een losse meter of lees je de warmtepomp uit op dit punt? Wat je nu laat zien is wat ik zoek maar niet betrouwbaar voor elkaar krijg.

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 04-06 17:15

HaTe

haat niet

nighthunter schreef op zondag 30 april 2023 @ 12:56:
[...]

Vind ik een charmante oplossing, maar hoe gaat dit met zomer/winter tijd? Zover ik weet moet je op de thermostaat handmatig aangeven dat het wel/geen zomertijd is. Als deze uit sync is met HomeAssistant/ESPHome wordt de oude waarde ingelezen?
Ja daar moet je scherp op zijn inderdaad, maar je kan altijd handmatig een correctie doen. Bij mij gaat het al bijna een jaar goed zonder correcties.
Het is volgens mij ook mogelijk om via modbus de tijd te zetten. Dan moet je dus niet zomer/wintertijd gebruiken maar kan je de tijd gewoon synchroniseren.
breinonline schreef op zondag 30 april 2023 @ 16:42:
[...]

Maar hoe heb je dan je elektrisch verbruik in het energy dashboard gekregen? Is dat een losse meter of lees je de warmtepomp uit op dit punt? Wat je nu laat zien is wat ik zoek maar niet betrouwbaar voor elkaar krijg.
Dat is inderdaad met een losse meter!

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


  • nighthunter
  • Registratie: December 2007
  • Laatst online: 04-06 21:01
breinonline schreef op zondag 30 april 2023 @ 16:42:
Maar hoe heb je dan je elektrisch verbruik in het energy dashboard gekregen? Is dat een losse meter of lees je de warmtepomp uit op dit punt? Wat je nu laat zien is wat ik zoek maar niet betrouwbaar voor elkaar krijg.
In mijn geval worden ze netjes door ESPHome als nuts meters doorgegeven waardoor ik ze in het energy dashboard als volgt kan toevoegen:

Waarnaar het er zo uitziet elke ochtend, weliswaar loopt het een dag achter en staat er gasverbruik maar ach :P :
HaTe schreef op zondag 30 april 2023 @ 19:54:
Het is volgens mij ook mogelijk om via modbus de tijd te zetten. Dan moet je dus niet zomer/wintertijd gebruiken maar kan je de tijd gewoon synchroniseren.
Daar heb ik naar zitten kijken inderdaad, neem aan dat je deze bedoelt?:

Wellicht eens leuk om naar te kijken, want ik merk dat de klok nog wel eens een paar minuten scheef loopt na enige tijd.

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 04-06 17:15

HaTe

haat niet

nighthunter schreef op zondag 30 april 2023 @ 20:03:


Daar heb ik naar zitten kijken inderdaad, neem aan dat je deze bedoelt?:
[Afbeelding]
Wellicht eens leuk om naar te kijken, want ik merk dat de klok nog wel eens een paar minuten scheef loopt na enige tijd.
Dit inderdaad ja! Ik heb het zelf ook nog niet geprobeerd

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


Acties:
  • 0Henk 'm!

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
nighthunter schreef op zondag 30 april 2023 @ 20:03:
[...]

In mijn geval worden ze netjes door ESPHome als nuts meters doorgegeven waardoor ik ze in het energy dashboard als volgt kan toevoegen:
[Afbeelding]
Waarnaar het er zo uitziet elke ochtend, weliswaar loopt het een dag achter en staat er gasverbruik maar ach :P :
[Afbeelding]
Even geprobeerd. Ik kan ze daar rechtstreeks toevoegen inderdaad. Maar hier is hetzelfde euvel, hij pakt het verschil van tijd tot tijd:
Heb jij daar dan geen last van?

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


Acties:
  • +1Henk 'm!

  • nighthunter
  • Registratie: December 2007
  • Laatst online: 04-06 21:01
Heb je wel mijn yaml config overgenomen en dan de 'yesterday' sensoren aan het energy dashboard toegevoegd? De oorspronkelijke template sensoren blijven namelijk het zelfde gedrag houden, dit heb ik gedaan zodat de ruwe waarden inzichtelijk blijven en ik kan controleren dat de waarden correct worden overgenomen door de 'yesterday' vervangers.

Edit:
Oh en ik heb enkel de 'heating' config geplaatst anders werd de post zo lang. De SWW en cooling zijn hetzelfde enkel dan met een ander id/name.

[Voor 18% gewijzigd door nighthunter op 01-05-2023 07:29]


Acties:
  • 0Henk 'm!

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
nighthunter schreef op maandag 1 mei 2023 @ 07:25:
Heb je wel mijn yaml config overgenomen en dan de 'yesterday' sensoren aan het energy dashboard toegevoegd? De oorspronkelijke template sensoren blijven namelijk het zelfde gedrag houden, dit heb ik gedaan zodat de ruwe waarden inzichtelijk blijven en ik kan controleren dat de waarden correct worden overgenomen door de 'yesterday' vervangers.

Edit:
Oh en ik heb enkel de 'heating' config geplaatst anders werd de post zo lang. De SWW en cooling zijn hetzelfde enkel dan met een ander id/name.
Nee, ik heb inderdaad jouw code nog niet genoeg bestudeerd zie ik. Ik ga eens kijken wat ik kan brouwen :)

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


  • kimjansen
  • Registratie: Maart 2001
  • Laatst online: 04-06 23:07

kimjansen

Nu ff niks...

Nadat ik een tijd terug al wat warmtepompen heb gekocht en opgesteld, worden ze nu dan eindelijk ook aangesloten :S ... Ook komen er zonnepanelen bij en links- en rechts wat kWh-meters.

Dat nodigt uit om het uitlezen er van gelijk goed op te pakken. Op mijn omvormers (SolarEdge) zit naast een Ethernet aansluiting ook Modbus en voor de kWh- en warmtemeters heb ik ook gekozen voor uitvoeringen met Modbus. En links-en-rechts wat aanvullende DS18B20 sensoren. Ik zit nog met een FTC5 dus de 0..50..75..100% stand van de buitenunit kan dan mooi ook via Modbus met een relais moduletje geschakeld worden.

De hele spullenboel wil ik via Home Assistant visualiseren en uiteindelijk automatiseren.

Vaak zie ik hier een Modbus naar USB converter voorbij komen, ik ga zelf voor een POE Modbus gateway (https://www.waveshare.com/wiki/RS485_TO_POE_ETH_(B)). Als het allemaal draait komt er wel een post met mijn ervaringen met diverse zaken.

Nu heeft het topic 'warmtepomp' in de titel staan, maar het gaat exclusief over de L/W WP's...
Omdat er bij mij ook een Mitsubishi Electric airco staat en de Wi-Fi module van de binnenunits van de L/W WP's dezelfde is en op dezelfde CN105 interfacestekker gaat vroeg ik mij af: wat gebeurt er als je een Procon op een Mitsubishi MXZ/MSZ L/L warmtepomp aansluit?

Er staat niets in de handleiding van de MXZ-serie over RS-485 of Modbus wat er op hint dat de Procon zou kunnen gaan werken. Ik kan me echter niet voorstellen dat een servicemonteur het storingzoeken, monitoren of instellen van grotere installaties alleen met behulp van de dipswitches, multimeter en het stappenplan doet? Er schijnt wel een interface te zijn, maar die is meer voor permanente integratie en schrikbarend duur: ME-AC-BAC-1 (https://alklima.nl/leveri...-gbs/modbus/me-ac-mbs-1-2).


Omdat het ondanks dat het een airco is toch over een Mitsubishi warmtepomp gaat: heeft iemand al eens een Procon aan een airco gehangen? Ik zie in het onderschrift dat @Andrehj een L/W WP en L/L WP heeft alleen leest die zover ik het kan achterhalen de airco ook niet lokaal uit. Misschien zijn er mensen die dat wel doen (of weten dat het niet zo heel eenvoudig/goedkoop kan)?


PS Mocht iemand nog een voorraadje Procons weten of hebben liggen; ik heb wel interesse om er 2 (mogelijk 3) over te nemen.

Speed kills but beauty lives


  • ocaj
  • Registratie: Juli 2011
  • Niet online
Als je de documentatie van de Procon bij Alklima download zie je alleen verwijzingen naar L/W-systemen. Kijk je in de internationale documentatie dan zie je keurig verschillende register-tabellen voor L/W en L/L-systemen.

Ik heb zelf geen L/L om het mee uit te proberen, maar vermoed dat de Procon inderdaad voor beide bruikbaar is.

  • kimjansen
  • Registratie: Maart 2001
  • Laatst online: 04-06 23:07

kimjansen

Nu ff niks...

Oja, nu je het zegt!

Wel met de opmerking dat je eigenlijk per binnenunit zo'n kastje op moet hangen, maar zolang je het 'fault' register niet gebruikt kun je met 1 volstaan bij een multisplit. Ik had een hoopje dat je ook wat met de buitenunit zou kunnen (elektrisch verbruik, koelcapaciteit, temperaturen, etc.) babbelen en misschien zelfs wat dingetjes van de andere binnenunits eruit zou kunnen vissen. Het lijkt er echter op dat zo 'veel' dat je uit een L/W WP kunt vissen, zo weinig bij de L/W WP wordt ondersteund. Ik zie namelijk niets beschreven van een manier om iets van de buitenunit uit te lezen of een andere binnenunit aan te spreken.

Misschien kan zoiets wel met een offset zoals in de Procon MOD-IP/50 handleiding staat beschreven, alleen in de documentatie is daar niets over te vinden.

Voor de volledigheid, ik vond onderstaande overzichtje nog:

Speed kills but beauty lives


Acties:
  • +1Henk 'm!

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
@HaTe @nighthunter Dank voor delen van jullie constructies. Ik heb nu de volgende automation en templates gemaakt in HA en dat lijkt te werken zoals moet. Om problemen met de tijd te voorkomen heb ik de tijd op de warmtepomp aangepast naar 5 minuten voorlopen. Dat moet voorkomen dat de automation na middernacht kan plaatsvinden en dus altijd op de juiste dag in het energy dashboard terecht komt.

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
### automations ###
automation manual:
## Warmtepomp verbruik naar energy dashboard ##
- id: "20230503205001"
  alias: Warmtepomp verbruik naar energy dashboard
  trigger:
    - platform: state
      entity_id: sensor.ecodan_energy_used_dhw
      for:
        hours: 0
        minutes: 1
        seconds: 0
      id: "dhw"
    - platform: state
      entity_id: sensor.ecodan_energy_used_heating
      for:
        hours: 0
        minutes: 1
        seconds: 0
      id: "heating"
    - platform: state
      entity_id: sensor.ecodan_energy_used_cooling
      for:
        hours: 0
        minutes: 1
        seconds: 0
      id: "cooling"
  action:
    - choose:
        - conditions:
            - condition: trigger
              id: 'dhw'
            - condition: time
              after: "23:50:00"
              before: "23:59:50"
          sequence:
            - service: input_number.set_value
              data:
                entity_id: input_number.ecodan_energy_used_dhw
                value: "{{ states('input_number.ecodan_energy_used_dhw') | float + states('sensor.ecodan_energy_used_dhw') | float }}"
        - conditions:
            - condition: trigger
              id: 'heating'
            - condition: time
              after: "23:50:00"
              before: "23:59:50"
          sequence:
            - service: input_number.set_value
              data:
                entity_id: input_number.ecodan_energy_used_heating
                value: "{{ states('input_number.ecodan_energy_used_heating') | float + states('sensor.ecodan_energy_used_heating') | float }}"
        - conditions:
            - condition: trigger
              id: 'cooling'
            - condition: time
              after: "23:50:00"
              before: "23:59:50"
          sequence:
            - service: input_number.set_value
              data:
                entity_id: input_number.ecodan_energy_used_cooling
                value: "{{ states('input_number.ecodan_energy_used_cooling') | float + states('sensor.ecodan_energy_used_cooling') | float }}"
  mode: parallel
  trace:
    stored_traces: 10

### templates ###
template: #sensors voor energy dashboard
- sensor:
  - name: Ecodan energy used heating total
    unique_id: "20230503204801"
    state: "{{ states('input_number.ecodan_energy_used_heating') | float }}"
    unit_of_measurement: kWh
    device_class: energy
    state_class: total_increasing
    icon: mdi:heat-wave
  - name: Ecodan energy used cooling total
    unique_id: "20230503204802"
    state: "{{ states('input_number.ecodan_energy_used_cooling') | float }}"
    unit_of_measurement: kWh
    device_class: energy
    state_class: total_increasing
    icon: mdi:snowflake
  - name: Ecodan energy used DHW total
    unique_id: "20230503204803"
    state: "{{ states('input_number.ecodan_energy_used_dhw') | float }}"
    unit_of_measurement: kWh
    device_class: energy
    state_class: total_increasing
    icon: mdi:water


Naast deze code heb ik in de GUI nog 3 input numbers aangemaakt om de cijfers aan elkaar te kunnen koppelen:

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


Acties:
  • 0Henk 'm!

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
kimjansen schreef op donderdag 4 mei 2023 @ 10:20:
Nu heeft het topic 'warmtepomp' in de titel staan, maar het gaat exclusief over de L/W WP's...
Omdat er bij mij ook een Mitsubishi Electric airco staat en de Wi-Fi module van de binnenunits van de L/W WP's dezelfde is en op dezelfde CN105 interfacestekker gaat vroeg ik mij af: wat gebeurt er als je een Procon op een Mitsubishi MXZ/MSZ L/L warmtepomp aansluit?
Volgens mij kom je ook zonder procon een eind bij de Mitsu airco's. Je kan vrij direct een esphome geval koppelen aan de airco en hem besturen. Zie bijvoorbeeld https://github.com/geoffdavis/esphome-mitsubishiheatpump of v&a aangeboden: Mitsubishi Heavy Industries (MHI) Airco WiFi controller (MQTT...

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


Acties:
  • 0Henk 'm!

  • kimjansen
  • Registratie: Maart 2001
  • Laatst online: 04-06 23:07

kimjansen

Nu ff niks...

@breinonline
Dankjewel voor je tips, werkt dat voor een Mitsubishi Electric (die ik heb) airco? Zover ik weet zijn ze op zo goed als alle vlakken anders dan Mitsubishi Heavy Industries.

Speed kills but beauty lives


Acties:
  • 0Henk 'm!

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 09:58

breinonline

Are you afraid to be known?

Topicstarter
Oei, dat zou ik niet zeker weten :/

"For I dipt into the future, far as the human eye could see;
Saw the vision of the world, and all the wonder that would be..." -Alfred Tennyson.


Acties:
  • 0Henk 'm!

  • kimjansen
  • Registratie: Maart 2001
  • Laatst online: 04-06 23:07

kimjansen

Nu ff niks...

Ik heb eens naar de Git gekeken en het lijkt er op dat het met jouw eerste link wel moet lukken. Was een beetje afgeleid omdat ik MHI zag staan bij de andere.

Ga ik dat eens uitzoeken, per ruimte en direct kunnen aansturen is wel top. De cloud app is niet zo vlot en fijn...

Speed kills but beauty lives


Acties:
  • 0Henk 'm!

  • LittleKiller
  • Registratie: Oktober 2007
  • Laatst online: 04-06 21:20
Er valt mij iets op. Ik bestuur nu volledig op eigen initiatief wanneer warm water wordt gemaakt.

Gisteren sww force gebruikt (geautomatiseerd). dit was rond 3 uur smiddags, de "outdoor temperature" van de WP was op dat moment ~20 graden.

Vandaag legionella gedraaid, om 15:00, outdoor temperature ~15 graden.

Opvallend genoeg: force sww geeft een frequentie van 112 Hz terwijl de legionella run een frequentie geeft van 80 Hz.

Ofwel, kan het zo zijn dat force SWW op een ander regime draait ? ipv eco altijd normaal oid?

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 04-06 17:15

HaTe

haat niet

LittleKiller schreef op dinsdag 9 mei 2023 @ 21:52:
Er valt mij iets op. Ik bestuur nu volledig op eigen initiatief wanneer warm water wordt gemaakt.

Gisteren sww force gebruikt (geautomatiseerd). dit was rond 3 uur smiddags, de "outdoor temperature" van de WP was op dat moment ~20 graden.

Vandaag legionella gedraaid, om 15:00, outdoor temperature ~15 graden.

Opvallend genoeg: force sww geeft een frequentie van 112 Hz terwijl de legionella run een frequentie geeft van 80 Hz.

Ofwel, kan het zo zijn dat force SWW op een ander regime draait ? ipv eco altijd normaal oid?
Ja force is als je snel water nodig hebt. Vol gas dus. Op deze manier moet je het dus niet gebruiken

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs

Pagina: 1 2 Laatste


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee