Acties:
  • 0 Henk 'm!

  • vormulier
  • Registratie: December 2012
  • Niet online
Is het overigens niet simpeler om een select template te maken die met een set_action
gewoon een number veranderd zoals de temperatuur?

Acties:
  • 0 Henk 'm!

  • vormulier
  • Registratie: December 2012
  • Niet online
Heb het even angekeken:

- COP dhw/heating 4 uur geen update
- return temperature 4 uur geen update
- frequency 44 min al niks van zich laten horen

Zo zullen er wel meer waardes zijn, Nog geen idee waar het aan ligt, maar van mij mag het wel vaker updaten her en der

Acties:
  • +2 Henk 'm!

  • buell
  • Registratie: September 2012
  • Laatst online: 11-06 20:40
Allereerst mijn dank voor de gemaakte code van de Procon naar HA.

Ik ben vandaag even aan het stoeien geweest met de modbus communicatie om naast de A1M ook de Eastron vermogens meter uit te lezen die ik voor de WP heb geplaatst. Op zich werkt het wel als je de standaard esphome oplossing gebruikt met Platform: sdm_meter alleen dan krijg je errors in de modbus communicatie en dat staat niet zo netjes.

Na wat zoeken en proberen heb ik het weten te oplossen door er een 2e modbus device aan te hangen en dan ook net zoals we de A1M uitlezen in de eastron de betreffende registers af te vragen. dit werkt zonder errors naast de A1M.

toevoegen in de code:
2e device aanmaken op ander adres. Let op de eastron staat standaard geconfigureerd op parity even. dit moet je veranderen in none.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
modbus_controller:
  - id: ${name}
    ## Procon Modbus slaveaddress 1
    address: 1
    modbus_id: modbus1
    setup_priority: -10
    update_interval: 10s
    
  - id: SDM
    ## SDM meter slaveadress 5
    address: 5
    modbus_id: modbus1
    setup_priority: -10
    update_interval: 10s


onder de code van sensors.

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
#### SDM METER###
    # Power
  - platform: modbus_controller
    modbus_controller_id: SDM
    name: SDM Total System Power
    register_type: read
    address: 0x0034
    value_type: FP32
    unit_of_measurement: W
    state_class: "measurement"
    device_class: "power"
    accuracy_decimals: 3
    
  - platform: modbus_controller
    modbus_controller_id: SDM
    name: SDM Import Active Energy
    register_type: read
    address: 0x0048
    value_type: FP32
    unit_of_measurement: kWh
    state_class: "total_increasing"
    device_class: "energy"
    accuracy_decimals: 3
    
   # Current
  - platform: modbus_controller
    modbus_controller_id: SDM
    name: SDM Phase 1 Current
    register_type: read
    address: 0x0006
    value_type: FP32
    device_class: "current"
    state_class: "measurement"
    unit_of_measurement: A
    accuracy_decimals: 3

  - platform: modbus_controller
    modbus_controller_id: SDM
    name: SDM Phase 2 Current
    register_type: read
    address: 0x0008
    value_type: FP32
    device_class: "current"
    state_class: "measurement"
    unit_of_measurement: A
    accuracy_decimals: 3
    
  - platform: modbus_controller
    modbus_controller_id: SDM
    name: SDM Phase 3 Current
    register_type: read
    address: 0x000A
    value_type: FP32
    device_class: "current"
    state_class: "measurement"
    unit_of_measurement: A
    accuracy_decimals: 3

ERSD-VM2D / PUHZ-SW75-YAA / SMA-tripower 6 /


Acties:
  • 0 Henk 'm!

  • Mazoutje
  • Registratie: April 2023
  • Laatst online: 13-03 20:46
Ik lees hier vooral veel posts van mensen die hun SWW run starten als er voldoende zonne-energie is, of op het meest interessantste moment van de dag. Zoiets heb ik ook al vrij eenvoudig kunnen automatiseren door zowel melcloud als mijn PV omvormer in HA te integreren.

Waar ik nu echter naar op zoek ben is hoe ik overtollige zonne-energie kan gebruiken om mijn woning te verwarmen. Ik heb een tijdje geprobeerd door op die momenten mijn thermostaat enkele graden hoger te zetten, maar als er enkele zonnige (maar koele) dagen na elkaar volgen warmt mijn woning op tot boven de 23 °C en dan is het ook niet aangenaam meer.

Wat ik graag wil bereiken is op die momenten van overtollige energie mijn buffervat (niet de SWW boiler) op te warmen tot bijvoorbeeld 60 °C om dat warm water dan via mengkleppen op de gepaste temperatuur naar mijn vloerverwarmingskringen te sturen. Ik heb me ook al wat ingelezen over die smart grid ready functionaliteit, maar ik weet niet of het daar mee mogelijk is? De stooklijn gaan beïnvloeden (op afstand) is ook niet direct een optie want dan stuur je water van 50 °C of meer door je vloerverwarming en dat is ook niet aangewezen. Kan zoiets met Procon gesimuleerd worden?

Acties:
  • +1 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@buell
Heb hem voor je aangepast en aangevuld met de SDM.
https://github.com/fonske/Mitsubishi_procon

procon.yaml
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
packages:
  remote_package:
    url: https://github.com/fonske/Mitsubishi_procon
    ref: main
    refresh: 0s
    files: [ esphome/labels/.procon-labels-en.yaml, esphome/.procon.base.yaml, esphome/boards/board-esp32S3.yaml, esphome/.procon.finder.yaml ]
      ## Language Packs:
      # esphome/labels/.procon-labels-en.yaml
      # esphome/labels/.procon-labels-nl.yaml
      ## Base:
      # esphome/.procon.base.yaml
      ## Boards:
      # esphome/boards/board-esp32.yaml
      # esphome/boards/board-esp32S3.yaml
      # esphome/boards/board-m5stack-atom.yaml
      ###
      ## Zone 2, If you have 2 zones on the heatpump enable this:
      # esphome/.procon.zone2.yaml
      ##
      ## EASTRON 3ph SDM, If you have a 3phase Eastron kWh meter on the heatpump enable this:
      # esphome/.procon.sdm.yaml
      ## set parity to none on the kWh meter. Baudrate to 9600
      ## FINDER 1ph 7E 64 8 230 0210. If you have 2 of these kWh meters on the heatpump enable this:
      # esphome/.procon.finder.yaml
      ## set parity to none on the kWh meter. Baudrate to 9600
      ###


Edit:
Mijn eigen finders ook maar meteen toegevoegd.
(soms heb je een duwtje nodig :+ )

[ Voor 17% gewijzigd door AUijtdehaag op 26-11-2023 16:18 ]

PVOutput Github - Div ESP TK: MHI - Clack - Ecodan


Acties:
  • 0 Henk 'm!

  • ArieR
  • Registratie: Maart 2003
  • Laatst online: 21:47
Sindskort kan ik mijn warmtepomp (SUZ-SWM80VA2 + EHSD-VM2D - FTC6) uitlezen met de procon. De code heb ik uit dit topic gehaald en de enige waarde die vreemd doet is de kamertemperatuur. De thermostaat die ik heb is Panasonic PAW-A2W-RTWIRED en de warmtepomp slaat ook gewoon uit als die zijn ingestelde waarde behaald heeft. Via de warmtepomp komt die dus correct binnen, alleen kan ik hem met de procon niet uitlezen.

Code uit ESP
## Room Temperature – Zone 1 (signed) (FC4: 52, MA: 30053)
- platform: modbus_controller
modbus_controller_id: ${device}
id: room_temperature_zone_1
name: ${device} Room temperature
icon: mdi:home-thermometer
address: 52
device_class: temperature
unit_of_measurement: "°C"
register_type: read
value_type: S_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01

Weergave van temperatuur
Afbeeldingslocatie: https://tweakers.net/i/GZaVutPnFhmZRWgAtH_NEy6MpjQ=/800x/filters:strip_exif()/f/image/b9dJHxHxafx1xYhT6pXP2XlL.png?f=fotoalbum_large

Code uit de handleiding
De code komt wel overeen met hetgeen wat ook in de code van de ESP staat.
Afbeeldingslocatie: https://tweakers.net/i/wAos8xQU-Se5ci9n7jnBgtsAK38=/800x/filters:strip_exif()/f/image/ZFMJZsyVmALqf1yFeDSCN5Zk.png?f=fotoalbum_large

Kan ik nog iets doen om deze temperatuur wel te tonen of komt die door de Pananonic thermostaat?

Acties:
  • +1 Henk 'm!

  • Sven1234
  • Registratie: December 2015
  • Laatst online: 22:17
ArieR schreef op woensdag 29 november 2023 @ 15:21:
Sindskort kan ik mijn warmtepomp (SUZ-SWM80VA2 + EHSD-VM2D - FTC6) uitlezen met de procon. De code heb ik uit dit topic gehaald en de enige waarde die vreemd doet is de kamertemperatuur. De thermostaat die ik heb is Panasonic PAW-A2W-RTWIRED en de warmtepomp slaat ook gewoon uit als die zijn ingestelde waarde behaald heeft. Via de warmtepomp komt die dus correct binnen, alleen kan ik hem met de procon niet uitlezen.

Code uit ESP
## Room Temperature – Zone 1 (signed) (FC4: 52, MA: 30053)
- platform: modbus_controller
modbus_controller_id: ${device}
id: room_temperature_zone_1
name: ${device} Room temperature
icon: mdi:home-thermometer
address: 52
device_class: temperature
unit_of_measurement: "°C"
register_type: read
value_type: S_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01

Weergave van temperatuur
[Afbeelding]

Code uit de handleiding
De code komt wel overeen met hetgeen wat ook in de code van de ESP staat.
[Afbeelding]

Kan ik nog iets doen om deze temperatuur wel te tonen of komt die door de Pananonic thermostaat?
Volgens mij is dit een algemeen probleem waarbij een verkeerde sensor gebruikt wordt en niks te maken heeft met Procon. Als het goed is zou de volgende post het moeten oplossen of even in het algemene Mitsu forum naar "39" zoeken.

https://gathering.tweaker...message/73666942#73666942

WP: Mitsubishi PUHZ-SW75YAA + ERSD-VM2D


Acties:
  • 0 Henk 'm!

  • ArieR
  • Registratie: Maart 2003
  • Laatst online: 21:47
Sven1234 schreef op woensdag 29 november 2023 @ 16:30:
[...]


Volgens mij is dit een algemeen probleem waarbij een verkeerde sensor gebruikt wordt en niks te maken heeft met Procon. Als het goed is zou de volgende post het moeten oplossen of even in het algemene Mitsu forum naar "39" zoeken.

https://gathering.tweaker...message/73666942#73666942
Dat lijkt inderdaad op hetzelfde probleem! Als de WP uit staat ga ik dat aanpassen.

Acties:
  • 0 Henk 'm!

  • ocaj
  • Registratie: Juli 2011
  • Niet online
Maar hoe moet die binnenunit dat dan weten?

De Panasonic is een simpel aan/uit-contact, daar gaat verder geen data overheen, alleen een 1-bit "signaal" : Warmtevraag Ja/Nee

Je kunt geen data uitlezen die er niet is.....

  • P5ycho
  • Registratie: Januari 2000
  • Laatst online: 00:06
Ik heb al een tijdje een procon aan m'n wp hangen met een m5stack direct erop geknoopt (in de procon de geisoleerde nul aan mekaar geknoopt en de m5stack direct gevoed vanuit de procon). Geen externe voedingen, yay.

Nu wou ik er eens meer mee gaan doen dan alleen monitoren.

Ik heb het in m'n hoofd gehaald om een een ESPhome PID climate controller te gaan gebruiken om de HVAC setpoint te manipuleren en daarmee de unit continu bij te regelen. Dat begint allemaal met een practische manier om de Ta een graadje meer of minder te kunnen zetten.
Is het mogelijk om met de procon de target temperatuur een graadje omhoog of omlaag te zetten tov de stooklijn, zoals je dat ook op het display kunt doen?
Alternatief is dat ik de stooklijn volledig naar de ESPhome trek, maar dat is meer gedoe misschien.

12x 280Wp ZW, 12x 280Wp ZO, Zubadan SHW80YAA 8kW, Zehnder Q450 ERV


Acties:
  • 0 Henk 'm!

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 07:08

breinonline

Are you afraid to be known?

Topicstarter
Ik voed de procon vooralsnog vanuit een losse usb adapter. Ik weet dat je hem ook vanuit de binnenunit kan voeden. Heeft iemand een schema of foto’s hoe je dat aansluit?

WP: Mitsubishi Ecodan PUHZ-SHW112YAA, ERSC-VM2C, Procon ┃ PV: 4800Wp, SolarEdge SE5K, 15x JAM60S17/320, ZW 15º ┃ WTW: Zehnder Q600 ┃ SH: Home Assistant, Proxmox, Intel NUC 8i5 Mini


Acties:
  • +2 Henk 'm!

  • ocaj
  • Registratie: Juli 2011
  • Niet online
breinonline schreef op woensdag 6 december 2023 @ 14:44:
Ik voed de procon vooralsnog vanuit een losse usb adapter. Ik weet dat je hem ook vanuit de binnenunit kan voeden. Heeft iemand een schema of foto’s hoe je dat aansluit?
Mijn Procon heeft helemaal geen aparte voedingsaansluiting?
Er zit toch alleen een kabel naar de binnenunit (CN105/CN92) en een RS485-aansluiting op?

Of zijn er meerdere verschillende Procon's in omloop?

Acties:
  • +1 Henk 'm!

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 07:08

breinonline

Are you afraid to be known?

Topicstarter
ocaj schreef op woensdag 6 december 2023 @ 19:30:
[...]


Mijn Procon heeft helemaal geen aparte voedingsaansluiting?
Er zit toch alleen een kabel naar de binnenunit (CN105/CN92) en een RS485-aansluiting op?

Of zijn er meerdere verschillende Procon's in omloop?
Nee, je hebt gelijk. Ik bedoel de ESP32 te voeden vanuit de procon 8)7

WP: Mitsubishi Ecodan PUHZ-SHW112YAA, ERSC-VM2C, Procon ┃ PV: 4800Wp, SolarEdge SE5K, 15x JAM60S17/320, ZW 15º ┃ WTW: Zehnder Q600 ┃ SH: Home Assistant, Proxmox, Intel NUC 8i5 Mini


Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
De cn105/cn92 heeft op de 5 polige stekker, 5v,12v,0v, tx en rx
Dus het stekkertje manipuleren in de procon zou je kunnen doen.
Maar ik zou er mee oppassen.

Een nieuw moederbord (FTC5) heb je voor 900 euro als het fout gaat.
Heb ik helaas gebruik van gemaakt.

Afbeeldingslocatie: https://tweakers.net/i/wxdt7TU9z8PtNvchbDzBxGR3vqM=/800x/filters:strip_icc():strip_exif()/f/image/wZ9JSdXeqY50RtcGzKRdbw2x.jpg?f=fotoalbum_large

M5stack RS485 heeft ook een 12V aansluting

[ Voor 52% gewijzigd door AUijtdehaag op 06-12-2023 20:34 ]

PVOutput Github - Div ESP TK: MHI - Clack - Ecodan


Acties:
  • 0 Henk 'm!

  • P5ycho
  • Registratie: Januari 2000
  • Laatst online: 00:06
Ik heb dus een m5stack met rs485 aan de 12v gehangen en de geïsoleerde nul doorverbonden in de procon. Als je er daarmee niet uit komt kun je ee beter niet aan beginnen denk ik.

@AUijtdehaag heb je dat bord nog proberen te fixen? Enig idee wat je gesloopt hebt?

[ Voor 20% gewijzigd door P5ycho op 06-12-2023 20:45 ]

12x 280Wp ZW, 12x 280Wp ZO, Zubadan SHW80YAA 8kW, Zehnder Q450 ERV


Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@P5ycho
Nee niks meer mee gedaan.
Ik heb procon en board parallel aangesloten, dus 12V en GND en Tx en Rx allemaal parallel dmv 2 stekkertjes te maken.
Ging niet zoals het moet. Kwam rook uit de chip op het moederbord.

De desbetreffende procon geeft ook foutmeldingen (geen communicatie naar controller fout) maar leeft nog wel gewoon.
Als er iemand mee wil prutsen...

Enkel de esp32 met 12V en GND , Tx en Rx ging wel prima zonder de procon

Van de conculegas:
https://github.com/salakr...uarea%20v2_2023-10-31.pdf
Zo zou het moeten denk ik.
twee aparte Tx en Rx naar/van de esp
Let op dit is pana en geen mitsu (aansluitingen zitten andere plaats)

[ Voor 19% gewijzigd door AUijtdehaag op 06-12-2023 21:04 ]

PVOutput Github - Div ESP TK: MHI - Clack - Ecodan


Acties:
  • 0 Henk 'm!

  • P5ycho
  • Registratie: Januari 2000
  • Laatst online: 00:06
Ben wel even benieuwd welke chip getoast is. Misschien is het een easy fix. Kun je me een foto sturen misschien?
Ik heb nog een dode SHW80 in de tuin staan, misschien kunnen we een spare parts magazijn beginnen :+

12x 280Wp ZW, 12x 280Wp ZO, Zubadan SHW80YAA 8kW, Zehnder Q450 ERV


Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@P5ycho
Derde foto, FTC5
AUijtdehaag in "Mitsubishi Electric Ecodan Lucht/Water Warmtepompen"

Zit even in buitenland voor het werk, als ik thuis ben maak ik wel even een grotere foto in dien nodig.

PVOutput Github - Div ESP TK: MHI - Clack - Ecodan


Acties:
  • +1 Henk 'm!

  • Hermarcel
  • Registratie: April 2003
  • Niet online
AUijtdehaag schreef op woensdag 6 december 2023 @ 21:57:
@P5ycho
Derde foto, FTC5
AUijtdehaag in "Mitsubishi Electric Ecodan Lucht/Water Warmtepompen"

Zit even in buitenland voor het werk, als ik thuis ben maak ik wel even een grotere foto in dien nodig.
Renesas Micro Controller: https://www.renesas.com/u...t/m16c64a-group-datasheet

Chip vervangen moet wel te doen zijn maar je hebt de flash inhoud van een goed board nodig (als de chip op dat goede board niet protected is) om de nieuwe chip van firmware te voorzien

Acties:
  • 0 Henk 'm!

  • P5ycho
  • Registratie: Januari 2000
  • Laatst online: 00:06
Precies, die chip zou ik zo kunnen vervangen maar dan heb je een lege mcu.

12x 280Wp ZW, 12x 280Wp ZO, Zubadan SHW80YAA 8kW, Zehnder Q450 ERV


Acties:
  • 0 Henk 'm!

  • Sicco92
  • Registratie: September 2010
  • Laatst online: 20-06 15:06
Sinds afgelopen weekend kan ik ook mijn warmtepomp uitlezen met een Procon en een ESPHome knutselwerkje. Met veel dank aan de informatie in dit topic en de GitHub-repositories!

Ik ben nu bezig om de warmtepomp wat optimaler te gebruiken met dynamische stroomprijzen. Ons huis is goed geïsoleerd, dus ik kan prima werken met het bufferen van warmte. Ik loop nu alleen wel tegen onze master-master regeling aan. Er zijn constant kleine ruimtes die warmte vragen, en die hebben op zichzelf niet genoeg afgifte om efficiënt te kunnen draaien. Als we dit 2 jaar geleden hadden geweten, dan hadden we de regeling niet genomen. Maar ja, het zit er al dus moeten we er mee dealen.

Ik wil dus graag het wel/niet verwarmen door de warmtepomp kunnen regelen onafhankelijk van de warmtevraag. Dit heb ik nu gedaan door de vakantiemodus te misbruiken, maar dat voelt een beetje omslachtig. Daarnaast kan ik hem nu niet meer als echte vakantiemodus gebruiken. In de registers zie ik wel een 'Heating On Prohibit' staan, maar die is helaas read-only.

Zijn er hier mensen die een slimmere oplossing hebben bedacht voor het forceren van niet-verwarmen?

Acties:
  • 0 Henk 'm!

  • P5ycho
  • Registratie: Januari 2000
  • Laatst online: 00:06
Je kunt een droog relais in serie met de regeling zetten zodat je een override functie hebt. Een Shelly ofzo.

12x 280Wp ZW, 12x 280Wp ZO, Zubadan SHW80YAA 8kW, Zehnder Q450 ERV


Acties:
  • 0 Henk 'm!

  • KabouterSuper
  • Registratie: September 2005
  • Niet online
Sicco92 schreef op woensdag 13 december 2023 @ 17:21:
Sinds afgelopen weekend kan ik ook mijn warmtepomp uitlezen met een Procon en een ESPHome knutselwerkje. Met veel dank aan de informatie in dit topic en de GitHub-repositories!

Ik ben nu bezig om de warmtepomp wat optimaler te gebruiken met dynamische stroomprijzen. Ons huis is goed geïsoleerd, dus ik kan prima werken met het bufferen van warmte. Ik loop nu alleen wel tegen onze master-master regeling aan. Er zijn constant kleine ruimtes die warmte vragen, en die hebben op zichzelf niet genoeg afgifte om efficiënt te kunnen draaien. Als we dit 2 jaar geleden hadden geweten, dan hadden we de regeling niet genomen. Maar ja, het zit er al dus moeten we er mee dealen.

Ik wil dus graag het wel/niet verwarmen door de warmtepomp kunnen regelen onafhankelijk van de warmtevraag. Dit heb ik nu gedaan door de vakantiemodus te misbruiken, maar dat voelt een beetje omslachtig. Daarnaast kan ik hem nu niet meer als echte vakantiemodus gebruiken. In de registers zie ik wel een 'Heating On Prohibit' staan, maar die is helaas read-only.

Zijn er hier mensen die een slimmere oplossing hebben bedacht voor het forceren van niet-verwarmen?
Smart grid iets voor je? En hier staat ook een truc:
https://forum.buildhub.or...art-grid-what-does-it-do/

When life gives you lemons, start a battery factory


Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@Sicco92
Idd relais op IN1 (kamerthermostaat ingang). dan stopt hij met verwarmen.
v&a aangeboden: ESP32 PCB incl relais, modbus, one-wire, i2c connectoren

Thermo IN1- FC2: 0 (uitlezen van de ingang)

[ Voor 8% gewijzigd door AUijtdehaag op 13-12-2023 18:29 ]

PVOutput Github - Div ESP TK: MHI - Clack - Ecodan


Acties:
  • 0 Henk 'm!

  • Sicco92
  • Registratie: September 2010
  • Laatst online: 20-06 15:06
Ah, een relais klinkt als iets wat ik misschien al wel kan doen! Jammer dat dit niet via de Procon kan, maar dit kan ook prima werkbaar zijn :)

Acties:
  • 0 Henk 'm!

  • LittleKiller
  • Registratie: Oktober 2007
  • Laatst online: 20-06 12:35
Heeft er iemand een manier gevonden om de pomp aan te zetten zonder de rest van het systeem?

Acties:
  • 0 Henk 'm!

  • LittleKiller
  • Registratie: Oktober 2007
  • Laatst online: 20-06 12:35
AUijtdehaag schreef op zaterdag 15 juli 2023 @ 06:26:
@Nitrous @jozi
Onlangs heeft iemand hem via een installateur en alklima er een aangeschaft voor normale prijzen. (+/-140 euro)

@breinonline
Ik pauzeer het koelen via holiday mode en lang nadraaien pomp (vloer is koud en ik heb een fancoil op zolder)
Maar gebruik hem niet voor SWW.
Aton power to heat doet mijn SWW.
Hoe laat jij hem lang nadraaien? Ik zit in de modbus lijst te kijken maar kan alleen de onderstaande entry vinden. Het is me alleen niet helemaal duidelijk of dit nou een lees register is of een register wat ik kan beinvloeden.

Afbeeldingslocatie: https://tweakers.net/i/TRCB-RWNX95WyU_-S0W3IWkvhvQ=/800x/filters:strip_exif()/f/image/kobbv9EHg3yKn81YgswvEOsk.png?f=fotoalbum_large

Acties:
  • +1 Henk 'm!

  • MrScratch
  • Registratie: December 2001
  • Laatst online: 20-06 16:33

MrScratch

I am rubber, you are glue

LittleKiller schreef op maandag 18 december 2023 @ 11:59:
Heeft er iemand een manier gevonden om de pomp aan te zetten zonder de rest van het systeem?
Op een geautomatiseerde manier via procon is mij dat niet gelukt. Via het service-menu is het wel mogelijk om alleen de pomp aan te zetten.

Look behind you! A three headed monkey!


Acties:
  • 0 Henk 'm!

  • Sicco92
  • Registratie: September 2010
  • Laatst online: 20-06 15:06
Omdat ik de legionella-run wil sturen op basis van dynamische prijzen, heb ik besloten om de legionella-run te simuleren. In dit topic staan een aantal voorbeelden van hoe je dat zou kunnen doen met aansturing vanuit de procon, dus ik dacht dat het redelijk makkelijk zou zijn. Ik krijg het echter niet voor elkaar, dus vandaar dat ik hier even hulp vraag.

Het probleem waar ik tegen aanloop is dat de binnenunit niet overschakelt naar de elektrische verwarming. Hierdoor wordt het boilervat alleen op de warmtepomp opgewarmd, en die krijgt dat niet echt warmer dan 59/59,5 graden. Ik heb het volgende geprobeerd:

1. Tank temperatuur op 65 en wachten tot deze zelf de 61 graden bereikt (bereikt die niet, zelfs niet na 2x 2 uur wachten)
2. Tank temperatuur op 65 + Set force DHW + DHW ECO aan
3. Tank temperatuur op 61 + Set force DHW + DHW ECO uit
4. Tank temperatuur op 55, eventjes wachten nadat de DHW cycle uitschakelt omdat 55 is bereikt, daarna op 61 + Set force DHW
5. Tank temperatuur op 61 en rond de 55 graden de optie Set force DHW aanzetten terwijl die aan een DHW cyclus bezig is

Bij alle opties die ik tot nu toe geprobeerd heb, blijft de 'Heat source status' steeds op 'Heatpump' staan en komt de temperatuur niet hoger dan 59/59,5 graden. In reacties in dit topic las ik dat hun binnenunit op den duur overschakelt naar de elektrische verwarming, maar bij mijn pogingen gebeurde dat niet. Als de binnenunit zelf een legionella-run draait, dan schakelt de ingebouwde elektrische verwarming keurig in na het bereiken van de DHW setpoint, dus die doet het gewoon en kan ook 61 graden bereiken. Overigens blijft 'Heat source status' ook dan nog op 'Heatpump' staan, maar aan het stroomverbruik te zien is het verwarmingselement wel actief.

Mocht het uitmaken, de binnenunit is een ERST20D-VM2D en de buitenunit een SUZ-SWM60VA.

Mis ik iets? Is het simuleren van een legionella-run wel mogelijk met een ingebouwd elektrisch verwarmingselement?

Acties:
  • 0 Henk 'm!

  • ocaj
  • Registratie: Juli 2011
  • Niet online
Heb je het backup-element wel aangezet voor SWW?

Voor de echte legionella-run van de binnenunit kun je het element niet uitzetten, maar je gesimuleerde run is vanuit het perspectief van de binnenunit een gewone SWW-run en daarvoor kun je het backup-element wél uitzetten in de instellingen.

Hier gaat het probleemloos met het ingebouwde element. Mijn SUZ-SWM80VA schakelt bij 57,5 over naar het backup-element als de delta T te klein wordt..

Acties:
  • 0 Henk 'm!

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 07:08

breinonline

Are you afraid to be known?

Topicstarter
Afhankelijk van de buitentemperatuur haal je wel niet de 60° in het gehele SWW vat. Wat de unit nu anders doet is me niet duidelijk maar het klopt dat je temperatuur misschien net niet haalt.

WP: Mitsubishi Ecodan PUHZ-SHW112YAA, ERSC-VM2C, Procon ┃ PV: 4800Wp, SolarEdge SE5K, 15x JAM60S17/320, ZW 15º ┃ WTW: Zehnder Q600 ┃ SH: Home Assistant, Proxmox, Intel NUC 8i5 Mini


Acties:
  • 0 Henk 'm!

  • Sicco92
  • Registratie: September 2010
  • Laatst online: 20-06 15:06
Goed punt, het boosterelement stond inderdaad uitgeschakeld voor SWW. Ik ging er vanuit dat deze standaard aan zou gaan als de temperatuur boven een bepaalde grens komt, maar zo lijkt dat niet te werken. Ik heb het boosterelement nu aangezet voor SWW met de maximale wachttijd van 30 minuten.

@ocaj Heb je die 57,5 ergens ingesteld? Of is de temperatuur altijd toevallig rond de 57,5 als de maximale wachttijd verstreken is en het boosterelement wordt ingeschakeld?

Acties:
  • 0 Henk 'm!

  • LittleKiller
  • Registratie: Oktober 2007
  • Laatst online: 20-06 12:35
ocaj schreef op woensdag 27 december 2023 @ 14:56:
Heb je het backup-element wel aangezet voor SWW?

Voor de echte legionella-run van de binnenunit kun je het element niet uitzetten, maar je gesimuleerde run is vanuit het perspectief van de binnenunit een gewone SWW-run en daarvoor kun je het backup-element wél uitzetten in de instellingen.

Hier gaat het probleemloos met het ingebouwde element. Mijn SUZ-SWM80VA schakelt bij 57,5 over naar het backup-element als de delta T te klein wordt..
Heb je het backup element dan altijd aanstaan tijdens een SWW run?

En welke setting is dat?

Acties:
  • +1 Henk 'm!

  • Sicco92
  • Registratie: September 2010
  • Laatst online: 20-06 15:06
Bij mijn binnenunit (FTC6) staat het onder Service -> Extra instellingen -> Elektr. verwarming (SWW). Links staat aan/uit voor het boosterelement en daarnaast aa/uit voor een dompelelement. Daarnaast kan je nog een wachttijd instellen, maar bij mij gaat die niet hoger dan 30 minuten.

Acties:
  • 0 Henk 'm!

  • ocaj
  • Registratie: Juli 2011
  • Niet online
Die instelling inderdaad. Backup-element gaat nooit aan tijdens een normale SWW-run, alleen als ik tot 60 graden verwarm en dan meestal pas nadat de aanvoer-temperatuur een poosje op 57,5 is blijven hangen.

Geen idee hoe hij precies bepaald wanneer de backup ingeschakeld moet worden.

Die 57,5 is mijn eigen waarneming. Maar mogelijk is er ook nog een afhankelijkheid van buitentemperatuur en luchtvochtigheid. Tot nu toe nog niet anders gezien (zomer en winter), dus het leek me een soort ingebouwde limiet van de buitenunit zelf?
Aanvoertemperatuur blijft dan een hele poos hangen op 57,5 terwijl de retour nog wel oploopt. Zodra de DeltaT tussen aanvoer en retour 0,5 graden is, stapt hij over op de backup-heater.

Acties:
  • +1 Henk 'm!

  • Sicco92
  • Registratie: September 2010
  • Laatst online: 20-06 15:06
Ah, interessant dat die pas overschakelt als de aanvoertemperatuur een tijdlang hetzelfde is! Misschien werkt die 'wacht'-instelling anders dan ik verwacht. Ik verwacht namelijk dat die een periode wacht vanaf het begin van de SWW-cyclus, maar misschien is het meer een tijdperiode waarin er geen verandering lijkt op te treden? Ik zal het gedrag van onze warmtepomp de komende tijd ook in de gaten houden, nu ben ik wel benieuwd hoe dit werkt.

  • Sicco92
  • Registratie: September 2010
  • Laatst online: 20-06 15:06
Omdat ik veel gehad heb aan de informatie in dit topic, waaronder veel automations, sensors, en andere logica in Home Assistant, wil ik hier ook even mijn configuratie delen. Misschien dat anderen hier nog wat aan hebben :). Ik maak veel gebruik van packages in Home Assistant, dus ik zal de configs hier ook even per onderwerp neerzetten (in quote-tags, zodat het niet teveel vervuiling in dit topic geeft).

Even een schets van onze situatie: wij hebben dynamische stroomtarieven, dus daar probeer ik vooral op te sturen. Met SWW plan ik de runs in op de goedkopere uurtjes, en voor verwarming pas ik de virtuele thermostaat en stooklijn aan op basis van de prijzen de komende 10 uur.

Allereerst wat leuke sensors voor de statistieken, waaronder sensors die aan het eind van de dag het verbruik per graaddag berekenen en sensors die in het Energy Dashboard gebruikt kunnen worden:
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
template:
  - sensor:
      - name: "Mitsubishi Delta T"
        icon: mdi:delta
        unit_of_measurement: "°C"
        device_class: temperature
        state_class: measurement
        state: >
          {{ (states('sensor.mitsubishi_flow_temperature') | float(0) - states('sensor.mitsubishi_return_temperature') | float(0)) | round(1) }}
      - name: "Mitsubishi Current Output Power"
        device_class: power
        unit_of_measurement: "kW"
        state_class: measurement
        state: >
          {% if states('sensor.mitsubishi_operating_mode') == 'Stop' %}
            0
          {% else %}
            {{ ((states('sensor.mitsubishi_delta_t') | float(0)) * 4.186 * (states('sensor.mitsubishi_flow_rate') | float(0)) / 60) | round(1) }}
          {% endif %}

  - trigger:
      - platform: state
        entity_id: sensor.mitsubishi_energy_used_heating
        for:
          minutes: 1
    sensor:
      - name: Mitsubishi energy used heating total
        unique_id: "3aa9cd41-b9c5-4785-853c-0239bd72a67c"
        state: >
          {% set new_state = states('sensor.mitsubishi_energy_used_heating') | float(0) if now() > today_at("23:50") else 0 %}
          {{ (states('sensor.mitsubishi_energy_used_heating_total') | float(0) + new_state) | round(3) }}
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
        icon: mdi:heat-wave

  - trigger:
      - platform: state
        entity_id: sensor.mitsubishi_energy_used_cooling
        for:
          minutes: 1
    sensor:
      - name: Mitsubishi energy used cooling total
        unique_id: "e770ab55-d0b5-4b9f-b9f2-52cac6217827"
        state: >
          {% set new_state = states('sensor.mitsubishi_energy_used_cooling') | float(0) if now() > today_at("23:50") else 0 %}
          {{ (states('sensor.mitsubishi_energy_used_cooling_total') | float(0) + new_state) | round(3) }}
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
        icon: mdi:snowflake

  - trigger:
      - platform: state
        entity_id: sensor.mitsubishi_energy_used_dhw
        for:
          minutes: 1
    sensor:
      - name: Mitsubishi energy used DHW total
        unique_id: "71fbcc16-e604-4589-a875-265df1f81fd1"
        state: >
          {% set new_state = states('sensor.mitsubishi_energy_used_dhw') | float(0) if now() > today_at("23:50") else 0 %}
          {{ (states('sensor.mitsubishi_energy_used_dhw_total') | float(0) + new_state) | round(3) }}
        unit_of_measurement: kWh
        device_class: energy
        state_class: total_increasing
        icon: mdi:water

  - trigger:
      platform: time
      at: "23:59:30"
    sensor:
    - name: Degree day daily
      unique_id: "0eee981b-1cb7-4ba9-921d-43f38ea8afbe"
      state: >
        {% set regularized_temp = 18.0 %}
        {% set average_outside_temp = states('sensor.average_daily_outdoor_temperature') | float(0) %}
        {% set dd = regularized_temp - average_outside_temp %}
        {{ dd | round(3) if dd > 0 else 0 }}
      unit_of_measurement: 'DD'
      state_class: measurement
    - name: Energy produced per degree day
      unique_id: ed1bc1f8-2692-462b-a7e8-69ddfff76d88
      state: >
        {% set energy_usage = states('sensor.mitsubishi_energy_produced_heating') | float(0) %}
        {% set dd = states('sensor.degree_day_daily') | float %}
        {{ (energy_usage / dd) | round(3) if dd > 0 else 0 }}
      unit_of_measurement: 'kWh/DD'
      state_class: measurement
    - name: Energy used per degree day
      unique_id: f2932a15-bf22-4d8a-a927-1387b6b9b90d
      state: >
        {% set energy_usage = states('sensor.mitsubishi_energy_used_heating') | float(0) %}
        {% set dd = states('sensor.degree_day_daily') | float %}
        {{ (energy_usage / dd) | round(3) if dd > 0 else 0 }}
      unit_of_measurement: 'kWh/DD'
      state_class: measurement

  • Sicco92
  • Registratie: September 2010
  • Laatst online: 20-06 15:06
Dan het sturen van de SWW-runs op de goedkoopste uren. Ik maak gebruik van een template sensor die bijhoudt wanneer de laatste run is en een tweede sensor die daarna kijkt naar het goedkoopste uurtje waarin de volgende run kan gebeuren. Als de temperatuur in de tank nog niet laag genoeg is, dan wordt er steeds een input_datetime bijgewerkt totdat er weer een run plaatsvindt.

De run zelf gebeurt in een script die ook gelijk kijkt of er ook gelijk een legionella-run plaats moet vinden. Dat mag als de prijzen negatief zijn of het meer dan 6 (bij gunstige prijzen) of 7 dagen geleden is. Als er een legionella-run plaatsvindt, dan wordt er ook gelijk een input_boolean getoggled die de andere SWW-automations uitschakelt zodat die de boel niet aanpassen.

Er zijn 2 automations die het meeste regelen. De ene regelt de temperatuur in de tank en vangt ook runs op die de unit zelf doet als de temperatuur de 'heat drop' bereikt heeft, wat soms op duurdere uren gebeurt. De andere automation regelt de SWW-runs en houdt een eventuele legionella-run in de gaten.
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
input_boolean:
  legionella_run_active:
    name: Legionella run active
    icon: mdi:bacteria-outline

input_datetime:
  heat_pump_next_dhw_run_delayed:
    name: Heat pump next DHW run (delayed)
    icon: mdi:water-boiler
    has_date: true
    has_time: true

input_number:
  dhw_temperature_setpoint:
    name: "DHW temperature setpoint"
    icon: mdi:thermometer-water
    min: 40
    max: 60
    mode: box
    step: 0.5
    unit_of_measurement: "°C"
  dhw_temperature_current_setpoint:
    name: "DHW temperature current setpoint"
    icon: mdi:thermometer-water
    min: 40
    max: 60
    mode: box
    step: 0.5
    unit_of_measurement: "°C"

template:
  - trigger:
      - platform: state
        entity_id: sensor.mitsubishi_operating_mode
        to: "Legionella"
      - platform: numeric_state
        entity_id: sensor.mitsubishi_tank_water_temperature
        above: 60.9
        for: "00:10:00"
    sensor:
      - name: "Mitsubishi Last Legionella Run"
        icon: mdi:clock-in
        device_class: timestamp
        state: >
          {{ now() }}

  - trigger:
      - platform: state
        entity_id: switch.mitsubishi_set_force_dhw
        from: "off"
        to: "on"
      - platform: state
        entity_id: sensor.mitsubishi_operating_mode
        to: "Hot Water"
    sensor:
      - name: "Mitsubishi Last DHW Run"
        icon: mdi:clock-in
        device_class: timestamp
        state: >
          {{ now() }}

  - trigger:
      - platform: state
        entity_id: sensor.mitsubishi_last_dhw_run
      - platform: state
        entity_id: binary_sensor.electricity_prices_for_tomorrow_available
        to: "on"
    sensor:
      - name: "Mitsubishi Next DHW Run"
        icon: mdi:clock-in
        device_class: timestamp
        state: >
          {% set list = state_attr('sensor.nordpool_kwh_nl_eur_3_09_0', 'raw_today')[0:24] %}
          {% if is_state('binary_sensor.electricity_prices_for_tomorrow_available', 'on') %}
            {% set list = list + state_attr('sensor.nordpool_kwh_nl_eur_3_09_0', 'raw_tomorrow')[0:24] %}
          {% endif %}
          {% set time = as_datetime(states('sensor.mitsubishi_last_dhw_run')) %}
          {% set min_wait_hours = 1 if is_state('binary_sensor.negative_electricity_price_today', 'on') or is_state('binary_sensor.negative_electricity_price_tomorrow', 'on') else 4 %}
          {% set next_hour_prices = list | selectattr('start', '>', time + timedelta(hours=min_wait_hours)) | selectattr('start', '<', time + timedelta(hours=30)) | list %}
          {% set lowest_price = next_hour_prices | map(attribute='value') | min %}
          {{ (next_hour_prices | selectattr('value', 'eq', lowest_price) | map(attribute='start') | list)[0] }}

script:
  mitsubishi_soft_force_dhw:
    alias: "Mitsubishi: Soft Force DHW"
    mode: single
    icon: mdi:fire-alert
    sequence:
      - alias: "Check if legionella is necessary"
        if:
          - or:
            - and:
                - condition: state
                  entity_id: binary_sensor.negative_electricity_price_this_hour
                  state: "on"
                - "{{ now() > states('sensor.mitsubishi_last_legionella_run') | as_datetime + timedelta(hours=20) }}"
            - and:
                - "{{ now() > states('sensor.mitsubishi_last_legionella_run') | as_datetime + timedelta(days=5, hours=20) }}"
                - condition: state
                  entity_id: binary_sensor.electricity_is_cheaper_today
                  state: "on"
            - and:
                - "{{ now() > states('sensor.mitsubishi_last_legionella_run') | as_datetime + timedelta(days=6, hours=20) }}"
        then:
          - service: input_boolean.turn_on
            target:
              entity_id: input_boolean.legionella_run_active
          - service: switch.turn_off
            data:
              entity_id: switch.mitsubishi_dhw_eco_mode
      - service: number.set_value
        target:
          entity_id: number.mitsubishi_set_tank_water_temperature
        data:
          value: 65

automation:
  - alias: "Heat pump: Set tank water temperature"
    id: ddf95afc-f291-42ca-a232-73111af1e699
    mode: queued
    trigger:
      - platform: state
        entity_id: binary_sensor.sun_low_elevation_outside
        from: "off"
        to: "on"
      - platform: state
        entity_id: binary_sensor.sun_low_elevation_outside
        from: "on"
        to: "off"
      - platform: state
        entity_id: sensor.mitsubishi_operating_mode
        to: "Hot Water"
      - platform: state
        entity_id: sensor.mitsubishi_operating_mode
        from: "Hot Water"
      - platform: state
        entity_id: input_boolean.legionella_run_active
        to: "off"
    condition:
      - condition: state
        entity_id: input_boolean.legionella_run_active
        state: "off"
    action:
      - service: input_number.set_value
        target:
          entity_id: input_number.dhw_temperature_current_setpoint
        data:
          value: >
            {% set sun_offset = 0.5 if is_state('binary_sensor.sun_low_elevation_outside', 'on') else 0 %}
            {% set heat_drop_offset = 6 if is_state('sensor.mitsubishi_operating_mode', 'Hot Water')
              and state_attr('script.mitsubishi_soft_force_dhw', 'last_triggered') < now() - timedelta(hours=1)
              and is_state('binary_sensor.electricity_cheapest_4_hours', 'off') else 0 %}
            {{ states('input_number.dhw_temperature_setpoint') | float(48) - sun_offset - heat_drop_offset if is_state('binary_sensor.negative_electricity_price_this_hour', 'off') else 55 }}
      - service: number.set_value
        target:
          entity_id: number.mitsubishi_set_tank_water_temperature
        data:
          value: >
            {{ states('input_number.dhw_temperature_current_setpoint') | float(48) }}

  - alias: "Heat pump: Handle domestic hot water runs"
    id: 8e2e729f-6253-4b45-9b4e-781624511ede
    mode: queued
    trigger:
      - platform: time
        at: sensor.mitsubishi_next_dhw_run
        id: turn_on
      - platform: time
        at: input_datetime.heat_pump_next_dhw_run_delayed
        id: turn_on
      - platform: numeric_state
        entity_id: number.mitsubishi_set_tank_water_temperature
        above: 63
        for: "00:10:00"
        id: turn_off
      - platform: state
        entity_id: input_boolean.legionella_run_active
        to: "on"
        for: "01:50:00"
        id: keep_legionella_on
      - platform: numeric_state
        entity_id: sensor.mitsubishi_tank_water_temperature
        above: 60.9
        for: "00:10:00"
        id: legionella_done
    action:
      - choose:
          - conditions:
              - condition: trigger
                id: legionella_done
            sequence:
              - service: input_boolean.turn_off
                target:
                  entity_id: input_boolean.legionella_run_active
              - service: switch.turn_off
                data:
                  entity_id: switch.mitsubishi_set_force_dhw
          - conditions:
              - condition: trigger
                id: keep_legionella_on
            sequence:
              - service: switch.turn_on
                data:
                  entity_id: switch.mitsubishi_set_force_dhw
          - conditions:
              - condition: trigger
                id: turn_on
              - condition: state
                entity_id: input_boolean.legionella_run_active
                state: "off"
            sequence:
              - if:
                  - "{{ states('input_number.dhw_temperature_current_setpoint') | float(0) - states('sensor.mitsubishi_tank_water_temperature') | float(0) >= 4 }}"
                then:
                  - service: script.turn_on
                    entity_id: script.mitsubishi_soft_force_dhw
                else:
                  - service: input_datetime.set_datetime
                    target:
                      entity_id: input_datetime.heat_pump_next_dhw_run_delayed
                    data:
                      datetime: >
                        {% set list = state_attr('sensor.nordpool_kwh_nl_eur_3_09_0', 'raw_today')[0:24] %}
                        {% if is_state('binary_sensor.electricity_prices_for_tomorrow_available', 'on') %}
                          {% set list = list + state_attr('sensor.nordpool_kwh_nl_eur_3_09_0', 'raw_tomorrow')[0:24] %}
                        {% endif %}
                        {% set time = trigger.now %}
                        {% set dhw_run_in_last_18_hours = states('sensor.mitsubishi_last_dhw_run') | as_datetime > time - timedelta(hours=18) %}
                        {% set max_hours_wait = 24 if dhw_run_in_last_18_hours else 12 %}
                        {% set next_hour_prices = list | selectattr('start', '>', time + timedelta(hours=1)) | selectattr('start', '<', time + timedelta(hours=max_hours_wait)) | list %}
                        {% set lowest_price = next_hour_prices | map(attribute='value') | min %}
                        {{ (next_hour_prices | selectattr('value', 'eq', lowest_price) | map(attribute='start') | list)[0] }}
          - conditions:
              - condition: trigger
                id: turn_off
              - condition: state
                entity_id: input_boolean.legionella_run_active
                state: "off"
            sequence:
              - service: number.set_value
                target:
                  entity_id: number.mitsubishi_set_tank_water_temperature
                data:
                  value: >
                    {{ states('input_number.dhw_temperature_current_setpoint') | float(48) }}

[ Voor 14% gewijzigd door Sicco92 op 28-12-2023 00:47 ]


  • Sicco92
  • Registratie: September 2010
  • Laatst online: 20-06 15:06
En dan het verwarmen. Deze stuur ik op de prijzen van de komende 10 uur, gebruikmakend van nordpool_diff. Ik heb een template-switch aangemaakt die het verwarmen aan/uit kan zetten, waarbij ik de vakantie-modus van de warmtepomp misbruik. Voor de vakantiemodus heb ik op de unit ingesteld dat SWW gewoon door mag gaan, terwijl verwarmen/koelen uit wordt geschakeld.
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
sensor:
  - platform: nordpool_diff
    nordpool_entity: sensor.nordpool_kwh_nl_eur_3_09_0
    filter_length: 10
    filter_type: triangle
    normalize: max_min

switch:
  - platform: template
    switches:
      heat_pump_heating:
        friendly_name: "Heat pump heating"
        unique_id: 98e11bbe-a3da-4000-90eb-10c6a3951e74
        value_template: "{{ is_state('switch.mitsubishi_system_on_off', 'on') and is_state('switch.mitsubishi_set_holiday_mode', 'off') and is_state('select.mitsubishi_hc_control_type', 'Heating') }}"
        availability_template: "{{ True }}"
        icon_template: "{{ 'mdi:heat-pump' if this.state == 'on' else 'mdi:heat-pump-outline' }}"
        turn_on:
          - service: switch.turn_on
            target:
              entity_id: switch.mitsubishi_system_on_off
          - service: select.select_option
            target:
              entity_id: select.mitsubishi_hc_control_type
            data:
              option: Heating
          - service: switch.turn_off
            target:
              entity_id: switch.mitsubishi_set_holiday_mode
        turn_off:
          - service: switch.turn_on
            target:
              entity_id: switch.mitsubishi_set_holiday_mode

automation:
  - alias: "Heat pump: Set thermostat temperature"
    id: bb4f4038-0965-41c9-87c7-ca6e9f6f69c6
    mode: queued
    trigger:
      - platform: state
        entity_id: sensor.nordpool_diff_triangle_10_normalize_max_min
    condition:
      - condition: state
        entity_id: select.mitsubishi_hc_control_type
        state: "Heating"
    action:
      - service: climate.set_temperature
        target:
          entity_id: climate.master_thermostat
        data:
          temperature: >
            {% set temp_setpoint = states('input_number.thermostat_temperature_setpoint') | float(20.5) %}
            {% set variance = states('input_number.thermostat_temperature_variance') | float(0.5) %}
            {{ (temp_setpoint + states('sensor.nordpool_diff_triangle_10_normalize_max_min') | float(0) * variance) | round(1) if is_state('binary_sensor.negative_electricity_price_this_hour', 'off') else 21 }}
      - service: number.set_value
        target:
          entity_id: number.mitsubishi_h_c_thermostat_target_temperature
        data:
          value: >
            {% set temp_setpoint = states('input_number.water_temperature_setpoint') | float(25) %}
            {% set variance = states('input_number.water_temperature_variance') | float(3) %}
            {% set offset = 0.5 if is_state('binary_sensor.sun_low_elevation_outside', 'on') else 0 %}
            {{ (temp_setpoint - offset + states('sensor.nordpool_diff_triangle_10_normalize_max_min') | float(0) * variance) | round(1, 'half') if is_state('binary_sensor.negative_electricity_price_this_hour', 'off') else 28 }}

  - alias: "Heat pump: Toggle heating"
    id: 2d192b97-7726-4e2b-8e5c-e8463c7df4e1
    mode: queued
    trigger:
      - platform: state
        entity_id: input_boolean.heating_active
    condition:
      - condition: state
        entity_id: select.mitsubishi_hc_control_type
        state: "Heating"
    action:
      - choose:
          - conditions:
              - condition: state
                entity_id: input_boolean.heating_active
                state: "on"
            sequence:
              - service: switch.turn_on
                data:
                  entity_id: switch.heat_pump_heating
        default:
          - service: switch.turn_off
            data:
              entity_id: switch.heat_pump_heating
Dat resulteert erin dat het verwarmen vooral in goedkope uurtjes gebeurt als verwarmen nodig is (screenshot met data van vorige week):

Afbeeldingslocatie: https://tweakers.net/i/WBfkO60jTQ9jOBBOyVdg9GSVJu8=/800x/filters:strip_exif()/f/image/QWh9tAgMVVFqxpS7hTcxeEZI.png?f=fotoalbum_large

Ik ben alles nog wel wat aan het finetunen, dus de getallen ben ik af en toe nog wat aan het veranderen. Daarnaast heb ik het redelijk makkelijk met het sturen van verwarming, want we wonen in een goedgeïsoleerd huis dus we kunnen prima een tijdje niet verwarmen. We kunnen dus goed de goedkope uren uitkiezen om te verwarmen.

  • Andrehj
  • Registratie: Juni 2002
  • Laatst online: 23:03
Sicco92 schreef op woensdag 27 december 2023 @ 23:51:
Ah, interessant dat die pas overschakelt als de aanvoertemperatuur een tijdlang hetzelfde is!
Dat is precies de reden dat ik die stomme functie uit heb gezet. Als je toevallig onder de douche staat als er een SWW-run start (en de sensor wat langzaam reageert), dan denkt de WP dat ie het water op de compressor niet kan verwarmen en gaat ie de SWW-run compleet op de COP-1 verwarmingselementen doen. |:(
Als je de SWW-temperatuur niet te hoog staat kan de WP het bij alle buitentemperaturen gemakkelijk aan op de compressor, dus die elementen (hier alleen een dompelelement) mogen alleen tijdens de legionellarun worden gebruikt!

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 ERV + Ubbink AirExcellent.


  • Sicco92
  • Registratie: September 2010
  • Laatst online: 20-06 15:06
@Andrehj Kan je de wachttijd niet verhogen dan? Die kan ik op maximaal 30 minuten instellen, misschien is dat lang genoeg om dat gedrag niet tijdens het douchen te triggeren.

  • Andrehj
  • Registratie: Juni 2002
  • Laatst online: 23:03
Sicco92 schreef op donderdag 28 december 2023 @ 12:01:
@Andrehj Kan je de wachttijd niet verhogen dan? Die kan ik op maximaal 30 minuten instellen, misschien is dat lang genoeg om dat gedrag niet tijdens het douchen te triggeren.
Geen idee of dat genoeg is. Ik verwacht het niet, zeker niet als er twee of meer personen achter elkaar douchen.
Maar de elementen voor SWW uit zetten is veel gemakkelijker en zekerder. Ik kan me geen enkele situatie voorstellen waarbij ik dat element voor SWW nodig zou hebben.
(Mocht de WP ooit stuk zijn, dan kan ik het dompelelement via het knopje op het relais altijd nog handmatig inschakelen.)

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 ERV + Ubbink AirExcellent.


Acties:
  • 0 Henk 'm!

  • Jeroenrobbert
  • Registratie: September 2022
  • Laatst online: 02-12-2024
Ik heb zojuist mijn procon A1M binnen gekregen maar er zit een toevoeging in de handleiding als ik dit goed lees moet er een weerstand geplaatst worden iemand al dit eerder gehad ik krijg het momenteel niet aan de gang vandaar deze vraag. Alvast een fijne jaarwisseling toegewenst aan iedereen.Afbeeldingslocatie: https://tweakers.net/i/s0j9yOLx9IMAOrnFaaPo03ycF24=/x800/filters:strip_icc():strip_exif()/f/image/U2FGcMZqJe4CYN7TxHKS07Ph.jpg?f=fotoalbum_large

Acties:
  • +1 Henk 'm!

  • P5ycho
  • Registratie: Januari 2000
  • Laatst online: 00:06
Als ik het goed lees, kom ik tot dezelfde conclusie.
Je moet zelf een terminatieweerstand plaatsen. Even inlezen over de RS-485 bus als je dat niets zegt.
De eerste bullet geeft duidelijke instructie.

12x 280Wp ZW, 12x 280Wp ZO, Zubadan SHW80YAA 8kW, Zehnder Q450 ERV


Acties:
  • 0 Henk 'm!

  • Jeroenrobbert
  • Registratie: September 2022
  • Laatst online: 02-12-2024
P5ycho schreef op zondag 31 december 2023 @ 10:27:
Als ik het goed lees, kom ik tot dezelfde conclusie.
Je moet zelf een terminatieweerstand plaatsen. Even inlezen over de RS-485 bus als je dat niets zegt.
De eerste bullet geeft duidelijke instructie.
Inderdaad want er blijven op de Procon mini alleen twee groene led branden en deze gaan niet knipperen ook de Waveshare RS485 to RJ45 Ethernet geeft geen communicatie aan deze is wel benaderbaar via Ip adres waar ik deze moet instellen.

Acties:
  • 0 Henk 'm!

  • Sven1234
  • Registratie: December 2015
  • Laatst online: 22:17
Ik heb even een vraag over het updaten van de procon (ik draai nog versie 30019 ipv 30025). In de handleiding van @Remco45 staat dat je de Mitsubishi moet uitschakelen op de binnenunit en vervolgens via de meterkast. Pas aan het einde nadat de update klaar is gaat de Mitsubishi weer aan. Echter in stap 10 van de handleiding die bij de update komt staat dat je de procon met een CN105 connector met stroom daarop moet verbinden om deze op te starten en de firmware te flashen. Hebben jullie tijdelijk een andere stroombron met dezelfde connector gebruikt of is de handleiding van Remco niet helemaal volledig en gaat de wp tussentijds even aan en daarna weer uit?

Ik ben bezig met de update omdat mijn consumed en produced power regelmatig op 0 staan, om vervolgens op een later moment weer de correcte waarde te geven. Hopelijk dat met de update die stabiel blijven.

WP: Mitsubishi PUHZ-SW75YAA + ERSD-VM2D


Acties:
  • +1 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@Sven1234
Uiteraard moet de procon a1m melcobems mini op een gegeven moment voorzien worden van spanning vie de CN105 anders kan je hem niet flashen

Eigenlijk is het simpel uit te leggen:
Bij aansluiten of loshalen stekker procon CN105: Spanning tijdelijk van de mitsubishi afhalen en daarna er weer op
Bij omzetten dipswitches: Spanning tijdelijk van de mitsubishi afhalen en daarna er weer op.

Al denk ik dat het allemaal wel losloopt, voorkomen is beter dan genezen.

@Jeroenrobbert
Even een esp modbus bordje proberen? DM

[ Voor 7% gewijzigd door AUijtdehaag op 31-12-2023 12:07 ]

PVOutput Github - Div ESP TK: MHI - Clack - Ecodan


Acties:
  • 0 Henk 'm!

  • Jeroenrobbert
  • Registratie: September 2022
  • Laatst online: 02-12-2024
@Jeroenrobbert
Even een esp modbus bordje proberen? DM
[/quote]

Als het allemaal niet lukt ga ik dat zeker doen ik neem dan persoonlijk met jou contact op

Acties:
  • 0 Henk 'm!

  • Jeroenrobbert
  • Registratie: September 2022
  • Laatst online: 02-12-2024
Ik heb inmiddels communicatie Alleen krijg ik een foutmelding en ik zie zo 123 niet wat ik fout gedaan heb zou er iemand met mij mee kunnen kijken en hopelijk mij kunnen verbeteren.

Afbeeldingslocatie: https://tweakers.net/i/IgS72isnNLwc_Ion8YDsO-zIfgg=/x800/filters:strip_icc():strip_exif()/f/image/F2f73VZ84G7KkuTm4lW8GCy9.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/m_9Qri9XGzuDA8JHFg_bdeWuQWw=/x800/filters:strip_icc():strip_exif()/f/image/Desrn7GgQMxi6mi7aqTjxE2n.jpg?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • Jeroenrobbert
  • Registratie: September 2022
  • Laatst online: 02-12-2024
Dit is de Modbus. Yaml


name: waveshare1
type: tcp
host: 192.168.2.23
port: 502
delay: 2
timeout: 5
sensor:
## FC04 registers (read)
## Frequentie
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_heat_pump_frequency_master
name: "Heat Pump Frequency – Master"
icon: mdi:sine-wave
address: 0x20 ## Frequency - FC4: 32
unit_of_measurement: "Hz"
register_type: read
value_type: U_WORD
accuracy_decimals: 0

## SWW Temperature Drop
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_DHW_temperature_drop
name: "SWW temperature drop"
icon: mdi:thermometer-chevron-down
address: 0x32 ## Room temperature - FC4: 50
unit_of_measurement: "°C"
register_type: read
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1

## Room temperature
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_room_temperature_zone_1
name: "Room Temperature"
icon: mdi:home-thermometer
address: 0x34 ## Room temperature - FC4: 52
unit_of_measurement: "°C"
register_type: read
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01

## Refrigerant liquid temperature
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_refrigerant_liquid_temperature
name: "Refrigerant Liquid Temperature"
icon: mdi:snowflake-thermometer
address: 0x38 ## Refrigerant Liquid Temp - FC4: 56
unit_of_measurement: "°C"
register_type: read
value_type: S_WORD ## U-WORD veranderen in S_WORD ivm negatief
accuracy_decimals: 1
filters:
- multiply: 0.01

## Outdoor ambient temperature
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_outdoor_temperature
name: "Outdoor temperature"
icon: mdi:thermometer
address: 0x3A ## Outdoor ambient - FC4: 58
unit_of_measurement: "°C"
register_type: read
value_type: S_WORD ## U-WORD veranderen in S_WORD ivm negatief
accuracy_decimals: 1
filters:
- multiply: 0.1

## Flow temperature
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_flow_temperature
name: "Flow temperature"
icon: mdi:thermometer-auto
address: 0x3C ## Flow temperature - FC4: 60
unit_of_measurement: "°C"
register_type: read
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01

## Return temperature
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_return_temperature
name: "Return temperature"
icon: mdi:thermometer
address: 0x3E ## Return temperature - FC 4: 62
unit_of_measurement: "°C"
register_type: read
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01

## Tank water temperature
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_tank_temperature
name: "Tank temperature"
icon: mdi:water-thermometer
address: 0x40 ## Tank temperature - FC4: 64
unit_of_measurement: "°C"
register_type: read
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01

## Heat pump run time x1
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_heat_pump_run_time_1
address: 0x4F ## Heat pump run time x1 - FC4: 79
register_type: read
value_type: U_WORD
accuracy_decimals: 0

## Heat pump run time x100
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_heat_pump_run_time_100
address: 0x50 ## Heat pump run time x100 - FC4: 80
register_type: read
value_type: U_WORD
accuracy_decimals: 0
filters:
- multiply: 100

## Heat pump run time
- platform: template
id: mitsubishi_heat_pump_run_time
name: "Heat pump run time"
icon: mdi:wrench-clock
unit_of_measurement: "hrs"
accuracy_decimals: 0
lambda: |-
return id(mitsubishi_heat_pump_run_time_100).state + id(mitsubishi_heat_pump_run_time_1).state;
update_interval: 60s

## Energy used heating kWh
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_heating_kwh
address: 0x9C ## FC4: 156
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
register_type: read
value_type: U_WORD

## Energy used heating Wh
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_heating_wh
address: 0x9D ## FC4: 157
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
register_type: read
value_type: U_WORD

## Energy used heating
- platform: template
id: mitsubishi_energy_used_heating
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);
update_interval: 60s

## Energy used cooling kWh
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_cooling_kwh
address: 0x9E ## FC4: 158
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
register_type: read
value_type: U_WORD

## Energy used cooling Wh
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_cooling_wh
address: 0x9F ## FC4: 159
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
register_type: read
value_type: U_WORD

## Energy used cooling
- platform: template
id: mitsubishi_energy_used_cooling
name: "Energy used cooling"
icon: mdi:snowflake
device_class: energy
state_class: total_increasing
unit_of_measurement: "kWh"
accuracy_decimals: 3
lambda: |-
return id(mitsubishi_cooling_kwh).state + (id(mitsubishi_cooling_wh).state/100);
update_interval: 60s

## Energy used SWW kWh
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_sww_kwh
address: 0xA0 ## FC4: 160
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
register_type: read
value_type: U_WORD

## Energy used SWW Wh
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_sww_wh
address: 0xA1 ## FC4: 161
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
register_type: read
value_type: U_WORD

## Energy used SWW
- platform: template
id: mitsubishi_energy_used_sww
name: "Energy used SWW"
icon: mdi:water
device_class: energy
state_class: total_increasing
unit_of_measurement: "kWh"
accuracy_decimals: 3
lambda: |-
return id(mitsubishi_sww_kwh).state + (id(mitsubishi_sww_wh).state/100);
update_interval: 60s

## Energy produced heating kWh
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_produced_heating_kwh
address: 0xA6 ## FC4: 166
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
register_type: read
value_type: U_WORD

## Energy produced heating Wh
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_produced_heating_wh
address: 0xA7 ## FC4: 167
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
register_type: read
value_type: U_WORD

## Energy produced heating
- platform: template
id: mitsubishi_energy_produced_heating
name: "Energy produced heating"
icon: mdi:heat-wave
device_class: energy
state_class: total_increasing
unit_of_measurement: "kWh"
accuracy_decimals: 3
lambda: |-
return id(mitsubishi_produced_heating_kwh).state + (id(mitsubishi_produced_heating_wh).state/100);
update_interval: 60s

## Energy produced cooling kWh
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_produced_cooling_kwh
address: 0xA8 ## FC4: 168
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
register_type: read
value_type: U_WORD

## Energy produced cooling Wh
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_produced_cooling_wh
address: 0xA9 ## FC4: 169
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
register_type: read
value_type: U_WORD

## Energy produced cooling
- platform: template
id: mitsubishi_energy_produced_cooling
name: "Energy produced cooling"
icon: mdi:snowflake
device_class: energy
state_class: total_increasing
unit_of_measurement: "kWh"
accuracy_decimals: 3
lambda: |-
return id(mitsubishi_produced_cooling_kwh).state + (id(mitsubishi_produced_cooling_wh).state/100);
update_interval: 60s

## Energy produced SWW kWh
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_produced_sww_kwh
address: 0xAA ## FC4: 170
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
register_type: read
value_type: U_WORD

## Energy produced SWW Wh
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_produced_sww_wh
address: 0xAB ## FC4: 171
unit_of_measurement: "Wh"
device_class: energy
state_class: total_increasing
register_type: read
value_type: U_WORD

## Energy produced SWW
- platform: template
id: mitsubishi_energy_produced_sww
name: "Energy produced SWW"
icon: mdi:water
device_class: energy
state_class: total_increasing
unit_of_measurement: "kWh"
accuracy_decimals: 3
lambda: |-
return id(mitsubishi_produced_sww_kwh).state + (id(mitsubishi_produced_sww_wh).state/100);
update_interval: 60s

## COP heating
- platform: template
id: mitsubishi_cop_heating
name: "COP Heating"
icon: mdi:slash-forward-box
accuracy_decimals: 2
lambda: |-
return (id(mitsubishi_produced_heating_kwh).state + (id(mitsubishi_produced_heating_wh).state/100)) / (id(mitsubishi_heating_kwh).state + (id(mitsubishi_heating_wh).state/100));
update_interval: 60s

## COP Cooling
- platform: template
id: mitsubishi_cop_cooling
name: "COP Cooling"
icon: mdi:slash-forward-box
accuracy_decimals: 2
lambda: |-
return (id(mitsubishi_produced_cooling_kwh).state + (id(mitsubishi_produced_cooling_wh).state/100)) / (id(mitsubishi_cooling_kwh).state + (id(mitsubishi_cooling_wh).state/100));
update_interval: 60s

## COP SWW
- platform: template
id: mitsubishi_cop_sww
name: "COP SWW"
icon: mdi:slash-forward-box
accuracy_decimals: 2
lambda: |-
return (id(mitsubishi_produced_sww_kwh).state + (id(mitsubishi_produced_sww_wh).state/100)) / (id(mitsubishi_sww_kwh).state + (id(mitsubishi_sww_wh).state/100));
update_interval: 60s

## Flow
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_flow
name: "Flow"
icon: mdi:arrow-right-bold-circle
address: 0xAD ## Flow - FC4: 173
unit_of_measurement: "l/min"
register_type: read
value_type: U_WORD
accuracy_decimals: 1

## FC03 registers (holding)

## Tank temperature set
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_target_tank_temperature
name: "Tank temperature set"
icon: mdi:water-thermometer-outline
address: 0x1F ## FC3: 31
unit_of_measurement: "°C"
register_type: holding
value_type: U_WORD
filters:
- multiply: 0.01

## Target room temperature
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_target_room_temperature
name: "H/C temperature set"
icon: mdi:home-thermometer-outline
address: 0x20 ## FC3: 32
unit_of_measurement: "°C"
register_type: holding
value_type: U_WORD
filters:
- multiply: 0.01

## Flow temperature set
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_flow_temperature_set
name: "Flow temperature set"
icon: mdi:thermometer-auto
address: 0x55 ## FC3: 85
unit_of_measurement: "°C"
register_type: holding
value_type: U_WORD
filters:
- multiply: 0.01

## Legionella temperature
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_legionella_temperature
name: "Legionella temperature set"
icon: mdi:bacteria-outline
address: 0x59 ## FC3: 89
unit_of_measurement: "°C"
register_type: holding
value_type: U_WORD
filters:
- multiply: 0.01

number:
## Set tank temperature
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_set_tank_temperature
name: "Setpoint tank temperature"
icon: mdi:water-thermometer-outline
address: 0x1F ## FC3: 31
unit_of_measurement: "°C"
register_type: holding
value_type: U_WORD
mode: box
step: 0.5
entity_category: config
min_value: 30
max_value: 61
lambda: "return x / 100; "
write_lambda: |-
uint16_t newtemp = x*100;
ESP_LOGI("main", "Set tank temperature %d", newtemp);
// Create a modbus command item with the flow temperature as the payload
esphome::modbus_controller::ModbusCommandItem set_payload_command = esphome::modbus_controller::ModbusCommandItem::create_write_single_command(mitsubishi, 0x1E, newtemp);
// Submit the command to the send queue
mitsubishi->queue_command(set_payload_command);
return {};

## Set H/C temperature
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_set_room_temperature
name: "Setpoint H/C temperature"
icon: mdi:home-thermometer
address: 0x20 ## FC3: 32
unit_of_measurement: "°C"
register_type: holding
value_type: U_WORD
mode: box
step: 0.5
entity_category: config
min_value: 10
max_value: 36
lambda: "return x / 100; "
write_lambda: |-
uint16_t newtemp = x*100;
ESP_LOGI("main", "Set room temperature %d", newtemp);
// Create a modbus command item with the flow temperature as the payload
esphome::modbus_controller::ModbusCommandItem set_payload_command = esphome::modbus_controller::ModbusCommandItem::create_write_single_command(mitsubishi, 0x20, newtemp);
// Submit the command to the send queue
mitsubishi->queue_command(set_payload_command);
return {};

switch:
## Force SWW run
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_force_sww
name: "Set force SWW"
icon: mdi:fire-alert
address: 0x25 ## FC3: 37
register_type: holding
#value_type: U_WORD
write_lambda: |-
uint16_t forceSWW = x;
ESP_LOGI("main", "Set force SWW %d", x);
// Create a modbus command item with the flow temperature as the payload
esphome::modbus_controller::ModbusCommandItem set_payload_command = esphome::modbus_controller::ModbusCommandItem::create_write_single_command(mitsubishi, 0x25, forceSWW);
// Submit the command to the send queue
mitsubishi->queue_command(set_payload_command);
return {};

## Set vacation mode
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_set_vacation
name: "Set vacation mode"
icon: mdi:briefcase
address: 0x26 ## FC3: 38
register_type: holding
#value_type: U_WORD
write_lambda: |-
uint16_t vacation = x;
ESP_LOGI("main", "Set vacation mode %d", x);
// Create a modbus command item with the flow temperature as the payload
esphome::modbus_controller::ModbusCommandItem set_payload_command = esphome::modbus_controller::ModbusCommandItem::create_write_single_command(mitsubishi, 0x26, x);
// Submit the command to the send queue
mitsubishi->queue_command(set_payload_command);
return {};

## Set heatpump on/off
- platform: modbus_controller
modbus_controller_id: mitsubishi
name: "Heat pump on/off"
register_type: coil
address: 0001
bitmask: 0
entity_category: config
icon: "mdi:toggle-switch"

text_sensor:
## Defrost mode
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_defrost
name: "Defrost"
icon: mdi:snowflake-melt
address: 0x1A ## FC4: 26
register_type: read
bitmask: 0
raw_encode: HEXBYTES
lambda: |-
uint16_t value = modbus_controller::word_from_hex_str(x, 0);
ESP_LOGD("main", "Value for defrost mode %d", value);
switch (value) {
case 0: return std::string("Off");
case 1: return std::string("Standby");
case 2: return std::string("Defrost");
case 3: return std::string("Waiting restart");
default: return std::string("Unknown");
}
return x;

## Residual heat removal
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_residual_heat_removal
name: "Residual heat removal"
icon: mdi:car-defrost-rear
address: 0x1B ## FC4: 27
register_type: read
bitmask: 0
raw_encode: HEXBYTES
lambda: |-
uint16_t value = modbus_controller::word_from_hex_str(x, 0);
ESP_LOGD("main", "Value for residual heat removal %d", value);
switch (value) {
case 0: return std::string("Normal");
case 1: return std::string("Prepared");
case 2: return std::string("Residual heat removal");
default: return std::string("Unknown");
}
return x;

## System On/Off
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_system_onoff
name: "System On/Off"
icon: mdi:power
address: 0x19 ## FC3: 25
register_type: holding
bitmask: 0
raw_encode: HEXBYTES
lambda: |-
uint16_t value = modbus_controller::word_from_hex_str(x, 0);
ESP_LOGD("main", "Value for system on/off %d", value);
switch (value) {
case 0: return std::string("Off");
case 1: return std::string("On");
default: return std::string("Unknown");
}
return x;

## System operating mode
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_operating_mode
name: "System operating mode"
icon: mdi:message-question-outline
address: 0x1A ## FC3: 26
register_type: holding
bitmask: 0
raw_encode: HEXBYTES
lambda: |-
uint16_t value = modbus_controller::word_from_hex_str(x, 0);
ESP_LOGD("main", "Value for system operating mode %d", value);
switch (value) {
case 0: return std::string("Stop");
case 1: return std::string("Hot Water");
case 2: return std::string("Heating");
case 3: return std::string("Cooling");
case 5: return std::string("Freeze Stat");
case 6: return std::string("Legionella");
default: return std::string("Unknown");
}
return x;

## System SWW operating mode
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_sww_operating_mode
name: "System SWW operating mode"
icon: mdi:car-cruise-control
address: 0x1B ## FC3: 27
register_type: holding
bitmask: 0
raw_encode: HEXBYTES
lambda: |-
uint16_t value = modbus_controller::word_from_hex_str(x, 0);
ESP_LOGD("main", "Value for SWW operating mode %d", value);
switch (value) {
case 0: return std::string("Normal");
case 1: return std::string("Eco");
default: return std::string("Unknown");
}
return x;

## System heating mode
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_heating_mode
name: "System heating mode"
icon: mdi:sun-snowflake-variant
address: 0x1C ## FC3: 28
register_type: holding
bitmask: 0
raw_encode: HEXBYTES
lambda: |-
uint16_t value = modbus_controller::word_from_hex_str(x, 0);
ESP_LOGD("main", "Value for heating mode %d", value);
switch (value) {
case 0: return std::string("Heating room temperature");
case 1: return std::string("Heating flow temperature");
case 2: return std::string("Heating curve");
case 3: return std::string("Cooling room temperature");
case 4: return std::string("Cooling flow temperature");
case 5: return std::string("Heating startup procedure");
default: return std::string("Unknown");
}
return x;

## System heat source
- platform: modbus_controller
modbus_controller_id: mitsubishi
id: mitsubishi_heat_source
name: "System heat source"
icon: mdi:heating-coil
address: 0x50 ## FC3: 80
register_type: holding
bitmask: 0
raw_encode: HEXBYTES
lambda: |-
uint16_t value = modbus_controller::word_from_hex_str(x, 0);
ESP_LOGD("main", "Value for heat source %d", value);
switch (value) {
case 0: return std::string("Heatpump");
case 1: return std::string("Screw-in heater");
case 2: return std::string("Electric heater");
case 3: return std::string("Screw-in heater and electric heater");
case 4: return std::string("SWW boiler");
default: return std::string("Unknown");
}
return x;

select:
- platform: modbus_controller
id: mitsubishi_set_hc_mode
name: "H/C mode"
address: 0x1C ## FC6: 28
optionsmap:
"Heating room": 0
"Heating flow": 1
"Heating curve": 2
"Cooling room": 3
"Cooling flow": 4
"Heating startup": 5

Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@Jeroenrobbert
Probeer bovenstaande bericht nog even aan te passen
Het is nu niet leesbaar om te kijken waar het aan ligt. HA is erg spatiegevoelig.
Afbeeldingslocatie: https://tweakers.net/i/IpsrsIZuxgnqZe85wplCiiJGLwo=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/VALphqjnRwjhcYmNPUwsQwk8.jpg?f=user_large

PVOutput Github - Div ESP TK: MHI - Clack - Ecodan


Acties:
  • 0 Henk 'm!

  • Jeroenrobbert
  • Registratie: September 2022
  • Laatst online: 02-12-2024
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
name: waveshare1
  type: tcp
  host: 192.168.2.23
  port: 502
  delay: 2
  timeout: 5
  sensor:
## FC04 registers (read)
    ## Frequentie
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_heat_pump_frequency_master
    name: "Heat Pump Frequency – Master"
    icon: mdi:sine-wave
    address: 0x20  ## Frequency - FC4: 32
    unit_of_measurement: "Hz"
    register_type: read
    value_type: U_WORD
    accuracy_decimals: 0

    ## SWW Temperature Drop
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_DHW_temperature_drop
    name: "SWW temperature drop"
    icon: mdi:thermometer-chevron-down
    address: 0x32 ## Room temperature - FC4: 50
    unit_of_measurement: "°C"
    register_type: read
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
      - multiply: 0.1

    ## Room temperature
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_room_temperature_zone_1
    name: "Room Temperature"
    icon: mdi:home-thermometer
    address: 0x34 ## Room temperature - FC4: 52
    unit_of_measurement: "°C"
    register_type: read
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
      - multiply: 0.01

    ## Refrigerant liquid temperature
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_refrigerant_liquid_temperature
    name: "Refrigerant Liquid Temperature"
    icon: mdi:snowflake-thermometer
    address: 0x38  ## Refrigerant Liquid Temp - FC4: 56
    unit_of_measurement: "°C"
    register_type: read
    value_type: S_WORD  ## U-WORD veranderen in S_WORD ivm negatief
    accuracy_decimals: 1
    filters:
      - multiply: 0.01
    
    ## Outdoor ambient temperature
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_outdoor_temperature
    name: "Outdoor temperature"
    icon: mdi:thermometer
    address: 0x3A ## Outdoor ambient - FC4: 58
    unit_of_measurement: "°C"
    register_type: read
    value_type: S_WORD  ## U-WORD veranderen in S_WORD ivm negatief
    accuracy_decimals: 1
    filters:
      - multiply: 0.1

    ## Flow temperature
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_flow_temperature
    name: "Flow temperature"
    icon: mdi:thermometer-auto
    address: 0x3C  ## Flow temperature - FC4: 60
    unit_of_measurement: "°C"
    register_type: read
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
      - multiply: 0.01

    ## Return temperature
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_return_temperature
    name: "Return temperature"
    icon: mdi:thermometer
    address: 0x3E ## Return temperature - FC 4: 62
    unit_of_measurement: "°C"
    register_type: read
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
      - multiply: 0.01

    ## Tank water temperature
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_tank_temperature
    name: "Tank temperature"
    icon: mdi:water-thermometer
    address: 0x40  ## Tank temperature - FC4: 64
    unit_of_measurement: "°C"
    register_type: read
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
      - multiply: 0.01

    ## Heat pump run time x1
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_heat_pump_run_time_1
    address: 0x4F  ## Heat pump run time x1 - FC4: 79
    register_type: read
    value_type: U_WORD
    accuracy_decimals: 0

    ## Heat pump run time x100
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_heat_pump_run_time_100
    address: 0x50  ## Heat pump run time x100 - FC4: 80
    register_type: read
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 100

    ## Heat pump run time
  - platform: template
    id: mitsubishi_heat_pump_run_time
    name: "Heat pump run time"
    icon: mdi:wrench-clock
    unit_of_measurement: "hrs"
    accuracy_decimals: 0
    lambda: |-
      return id(mitsubishi_heat_pump_run_time_100).state + id(mitsubishi_heat_pump_run_time_1).state;
    update_interval: 60s    

    ## Energy used heating kWh
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_heating_kwh
    address: 0x9C  ## FC4: 156
    unit_of_measurement: "kWh"
    device_class: energy
    state_class: total_increasing
    register_type: read
    value_type: U_WORD

    ## Energy used heating Wh
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_heating_wh
    address: 0x9D  ## FC4: 157
    unit_of_measurement: "Wh"
    device_class: energy
    state_class: total_increasing
    register_type: read
    value_type: U_WORD

    ## Energy used heating 
  - platform: template
    id: mitsubishi_energy_used_heating
    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);
    update_interval: 60s  

    ## Energy used cooling kWh
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_cooling_kwh
    address: 0x9E  ## FC4: 158
    unit_of_measurement: "kWh"
    device_class: energy
    state_class: total_increasing
    register_type: read
    value_type: U_WORD

    ## Energy used cooling Wh
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_cooling_wh
    address: 0x9F  ## FC4: 159
    unit_of_measurement: "Wh"
    device_class: energy
    state_class: total_increasing
    register_type: read
    value_type: U_WORD

    ## Energy used cooling 
  - platform: template
    id: mitsubishi_energy_used_cooling
    name: "Energy used cooling"
    icon: mdi:snowflake
    device_class: energy
    state_class: total_increasing
    unit_of_measurement: "kWh"
    accuracy_decimals: 3
    lambda: |-
      return id(mitsubishi_cooling_kwh).state + (id(mitsubishi_cooling_wh).state/100);
    update_interval: 60s  
  
    ## Energy used SWW kWh
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_sww_kwh
    address: 0xA0  ## FC4: 160
    unit_of_measurement: "kWh"
    device_class: energy
    state_class: total_increasing
    register_type: read
    value_type: U_WORD

    ## Energy used SWW Wh
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_sww_wh
    address: 0xA1  ## FC4: 161
    unit_of_measurement: "Wh"
    device_class: energy
    state_class: total_increasing
    register_type: read
    value_type: U_WORD

    ## Energy used SWW 
  - platform: template
    id: mitsubishi_energy_used_sww
    name: "Energy used SWW"
    icon: mdi:water
    device_class: energy
    state_class: total_increasing
    unit_of_measurement: "kWh"
    accuracy_decimals: 3
    lambda: |-
      return id(mitsubishi_sww_kwh).state + (id(mitsubishi_sww_wh).state/100);
    update_interval: 60s

    ## Energy produced heating kWh
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_produced_heating_kwh
    address: 0xA6  ## FC4: 166
    unit_of_measurement: "kWh"
    device_class: energy
    state_class: total_increasing
    register_type: read
    value_type: U_WORD

    ## Energy produced heating Wh
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_produced_heating_wh
    address: 0xA7  ## FC4: 167
    unit_of_measurement: "Wh"
    device_class: energy
    state_class: total_increasing
    register_type: read
    value_type: U_WORD

    ## Energy produced heating 
  - platform: template
    id: mitsubishi_energy_produced_heating
    name: "Energy produced heating"
    icon: mdi:heat-wave
    device_class: energy
    state_class: total_increasing
    unit_of_measurement: "kWh"
    accuracy_decimals: 3
    lambda: |-
      return id(mitsubishi_produced_heating_kwh).state + (id(mitsubishi_produced_heating_wh).state/100);
    update_interval: 60s

    ## Energy produced cooling kWh
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_produced_cooling_kwh
    address: 0xA8  ## FC4: 168
    unit_of_measurement: "kWh"
    device_class: energy
    state_class: total_increasing
    register_type: read
    value_type: U_WORD

    ## Energy produced cooling Wh
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_produced_cooling_wh
    address: 0xA9  ## FC4: 169
    unit_of_measurement: "Wh"
    device_class: energy
    state_class: total_increasing
    register_type: read
    value_type: U_WORD

    ## Energy produced cooling 
  - platform: template
    id: mitsubishi_energy_produced_cooling
    name: "Energy produced cooling"
    icon: mdi:snowflake
    device_class: energy
    state_class: total_increasing
    unit_of_measurement: "kWh"
    accuracy_decimals: 3
    lambda: |-
      return id(mitsubishi_produced_cooling_kwh).state + (id(mitsubishi_produced_cooling_wh).state/100);
    update_interval: 60s

    ## Energy produced SWW kWh
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_produced_sww_kwh
    address: 0xAA  ## FC4: 170
    unit_of_measurement: "kWh"
    device_class: energy
    state_class: total_increasing
    register_type: read
    value_type: U_WORD

    ## Energy produced SWW Wh
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_produced_sww_wh
    address: 0xAB  ## FC4: 171
    unit_of_measurement: "Wh"
    device_class: energy
    state_class: total_increasing
    register_type: read
    value_type: U_WORD

    ## Energy produced SWW 
  - platform: template
    id: mitsubishi_energy_produced_sww
    name: "Energy produced SWW"
    icon: mdi:water
    device_class: energy
    state_class: total_increasing
    unit_of_measurement: "kWh"
    accuracy_decimals: 3
    lambda: |-
      return id(mitsubishi_produced_sww_kwh).state + (id(mitsubishi_produced_sww_wh).state/100);
    update_interval: 60s

    ## COP heating
  - platform: template
    id: mitsubishi_cop_heating
    name: "COP Heating"
    icon: mdi:slash-forward-box
    accuracy_decimals: 2
    lambda: |-
      return (id(mitsubishi_produced_heating_kwh).state + (id(mitsubishi_produced_heating_wh).state/100)) / (id(mitsubishi_heating_kwh).state + (id(mitsubishi_heating_wh).state/100));
    update_interval: 60s    

    ## COP Cooling
  - platform: template
    id: mitsubishi_cop_cooling
    name: "COP Cooling"
    icon: mdi:slash-forward-box
    accuracy_decimals: 2
    lambda: |-
      return (id(mitsubishi_produced_cooling_kwh).state + (id(mitsubishi_produced_cooling_wh).state/100)) / (id(mitsubishi_cooling_kwh).state + (id(mitsubishi_cooling_wh).state/100));
    update_interval: 60s  

    ## COP SWW
  - platform: template
    id: mitsubishi_cop_sww
    name: "COP SWW"
    icon: mdi:slash-forward-box
    accuracy_decimals: 2
    lambda: |-
      return (id(mitsubishi_produced_sww_kwh).state + (id(mitsubishi_produced_sww_wh).state/100)) / (id(mitsubishi_sww_kwh).state + (id(mitsubishi_sww_wh).state/100));
    update_interval: 60s  

    ## Flow
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_flow
    name: "Flow"
    icon: mdi:arrow-right-bold-circle
    address: 0xAD ## Flow - FC4: 173
    unit_of_measurement: "l/min"
    register_type: read
    value_type: U_WORD
    accuracy_decimals: 1

    ## FC03 registers (holding)

    ## Tank temperature set
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_target_tank_temperature
    name: "Tank temperature set"
    icon: mdi:water-thermometer-outline
    address: 0x1F ## FC3: 31
    unit_of_measurement: "°C"
    register_type: holding
    value_type: U_WORD
    filters:
      - multiply: 0.01

    ## Target room temperature
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_target_room_temperature
    name: "H/C temperature set"
    icon: mdi:home-thermometer-outline
    address: 0x20 ## FC3: 32
    unit_of_measurement: "°C"
    register_type: holding
    value_type: U_WORD
    filters:
      - multiply: 0.01

    ## Flow temperature set
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_flow_temperature_set
    name: "Flow temperature set"
    icon: mdi:thermometer-auto
    address: 0x55 ## FC3: 85
    unit_of_measurement: "°C"
    register_type: holding
    value_type: U_WORD
    filters:
      - multiply: 0.01
    
    ## Legionella temperature
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_legionella_temperature
    name: "Legionella temperature set"
    icon: mdi:bacteria-outline
    address: 0x59 ## FC3: 89
    unit_of_measurement: "°C"
    register_type: holding
    value_type: U_WORD
    filters:
      - multiply: 0.01

number:
    ## Set tank temperature
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_set_tank_temperature
    name: "Setpoint tank temperature"
    icon: mdi:water-thermometer-outline
    address: 0x1F ## FC3: 31
    unit_of_measurement: "°C"
    register_type: holding
    value_type: U_WORD
    mode: box
    step: 0.5
    entity_category: config
    min_value: 30
    max_value: 61
    lambda: "return  x / 100; "
    write_lambda: |-
      uint16_t newtemp = x*100;
      ESP_LOGI("main", "Set tank temperature %d", newtemp);
      // Create a modbus command item with the flow temperature as the payload
      esphome::modbus_controller::ModbusCommandItem set_payload_command = esphome::modbus_controller::ModbusCommandItem::create_write_single_command(mitsubishi, 0x1E, newtemp);
      // Submit the command to the send queue
      mitsubishi->queue_command(set_payload_command);
      return {}; 

    ## Set H/C temperature
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_set_room_temperature
    name: "Setpoint H/C temperature"
    icon: mdi:home-thermometer
    address: 0x20 ## FC3: 32
    unit_of_measurement: "°C"
    register_type: holding
    value_type: U_WORD
    mode: box
    step: 0.5
    entity_category: config
    min_value: 10
    max_value: 36
    lambda: "return  x / 100; "
    write_lambda: |-
      uint16_t newtemp = x*100;
      ESP_LOGI("main", "Set room temperature %d", newtemp);
      // Create a modbus command item with the flow temperature as the payload
      esphome::modbus_controller::ModbusCommandItem set_payload_command = esphome::modbus_controller::ModbusCommandItem::create_write_single_command(mitsubishi, 0x20, newtemp);
      // Submit the command to the send queue
      mitsubishi->queue_command(set_payload_command);
      return {}; 

switch:
    ## Force SWW run
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_force_sww
    name: "Set force SWW"
    icon: mdi:fire-alert
    address: 0x25 ## FC3: 37
    register_type: holding
    #value_type: U_WORD
    write_lambda: |-
      uint16_t forceSWW = x;
      ESP_LOGI("main", "Set force SWW %d", x);
      // Create a modbus command item with the flow temperature as the payload
      esphome::modbus_controller::ModbusCommandItem set_payload_command = esphome::modbus_controller::ModbusCommandItem::create_write_single_command(mitsubishi, 0x25, forceSWW);
      // Submit the command to the send queue
      mitsubishi->queue_command(set_payload_command);
      return {};

    ## Set vacation mode
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_set_vacation
    name: "Set vacation mode"
    icon: mdi:briefcase
    address: 0x26 ## FC3: 38
    register_type: holding
    #value_type: U_WORD
    write_lambda: |-
      uint16_t vacation = x;
      ESP_LOGI("main", "Set vacation mode %d", x);
      // Create a modbus command item with the flow temperature as the payload
      esphome::modbus_controller::ModbusCommandItem set_payload_command = esphome::modbus_controller::ModbusCommandItem::create_write_single_command(mitsubishi, 0x26, x);
      // Submit the command to the send queue
      mitsubishi->queue_command(set_payload_command);
      return {};

    ## Set heatpump on/off
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    name: "Heat pump on/off"
    register_type: coil
    address: 0001
    bitmask: 0
    entity_category: config
    icon: "mdi:toggle-switch"

text_sensor: 
    ## Defrost mode
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_defrost
    name: "Defrost"
    icon: mdi:snowflake-melt
    address: 0x1A ## FC4: 26
    register_type: read
    bitmask: 0
    raw_encode: HEXBYTES
    lambda: |-
      uint16_t value = modbus_controller::word_from_hex_str(x, 0);
      ESP_LOGD("main", "Value for defrost mode %d", value);
      switch (value) {
        case 0: return std::string("Off");
        case 1: return std::string("Standby");
        case 2: return std::string("Defrost");
        case 3: return std::string("Waiting restart");
        default: return std::string("Unknown");
      }
      return x;

    ## Residual heat removal
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_residual_heat_removal
    name: "Residual heat removal"
    icon: mdi:car-defrost-rear
    address: 0x1B ## FC4: 27
    register_type: read
    bitmask: 0
    raw_encode: HEXBYTES
    lambda: |-
      uint16_t value = modbus_controller::word_from_hex_str(x, 0);
      ESP_LOGD("main", "Value for residual heat removal %d", value);
      switch (value) {
        case 0: return std::string("Normal");
        case 1: return std::string("Prepared");
        case 2: return std::string("Residual heat removal");
        default: return std::string("Unknown");
      }
      return x;

    ## System On/Off
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_system_onoff
    name: "System On/Off"
    icon: mdi:power
    address: 0x19 ## FC3: 25
    register_type: holding
    bitmask: 0
    raw_encode: HEXBYTES
    lambda: |-
      uint16_t value = modbus_controller::word_from_hex_str(x, 0);
      ESP_LOGD("main", "Value for system on/off %d", value);
      switch (value) {
        case 0: return std::string("Off");
        case 1: return std::string("On");
        default: return std::string("Unknown");
      }
      return x;
    
    ## System operating mode
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_operating_mode
    name: "System operating mode"
    icon: mdi:message-question-outline
    address: 0x1A ## FC3: 26
    register_type: holding
    bitmask: 0
    raw_encode: HEXBYTES
    lambda: |-
      uint16_t value = modbus_controller::word_from_hex_str(x, 0);
      ESP_LOGD("main", "Value for system operating mode %d", value);
      switch (value) {
        case 0: return std::string("Stop");
        case 1: return std::string("Hot Water");
        case 2: return std::string("Heating");
        case 3: return std::string("Cooling");
        case 5: return std::string("Freeze Stat");
        case 6: return std::string("Legionella");
        default: return std::string("Unknown");
      }
      return x;
      
    ## System SWW operating mode
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_sww_operating_mode
    name: "System SWW operating mode"
    icon: mdi:car-cruise-control
    address: 0x1B ## FC3: 27
    register_type: holding
    bitmask: 0
    raw_encode: HEXBYTES
    lambda: |-
      uint16_t value = modbus_controller::word_from_hex_str(x, 0);
      ESP_LOGD("main", "Value for SWW operating mode %d", value);
      switch (value) {
        case 0: return std::string("Normal");
        case 1: return std::string("Eco");
        default: return std::string("Unknown");
      }
      return x;

    ## System heating mode
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_heating_mode
    name: "System heating mode"
    icon: mdi:sun-snowflake-variant
    address: 0x1C ## FC3: 28
    register_type: holding
    bitmask: 0
    raw_encode: HEXBYTES
    lambda: |-
      uint16_t value = modbus_controller::word_from_hex_str(x, 0);
      ESP_LOGD("main", "Value for heating mode %d", value);
      switch (value) {
        case 0: return std::string("Heating room temperature");
        case 1: return std::string("Heating flow temperature");
        case 2: return std::string("Heating curve");
        case 3: return std::string("Cooling room temperature");
        case 4: return std::string("Cooling flow temperature");
        case 5: return std::string("Heating startup procedure");
        default: return std::string("Unknown");
      }
      return x;

    ## System heat source
  - platform: modbus_controller
    modbus_controller_id: mitsubishi
    id: mitsubishi_heat_source
    name: "System heat source"
    icon: mdi:heating-coil
    address: 0x50 ## FC3: 80
    register_type: holding
    bitmask: 0
    raw_encode: HEXBYTES
    lambda: |-
      uint16_t value = modbus_controller::word_from_hex_str(x, 0);
      ESP_LOGD("main", "Value for heat source %d", value);
      switch (value) {
        case 0: return std::string("Heatpump");
        case 1: return std::string("Screw-in heater");
        case 2: return std::string("Electric heater");
        case 3: return std::string("Screw-in heater and electric heater");
        case 4: return std::string("SWW boiler");
        default: return std::string("Unknown");
      }
      return x;

select:
  - platform: modbus_controller
    id: mitsubishi_set_hc_mode
    name: "H/C mode"
    address: 0x1C ## FC6: 28
    optionsmap:
      "Heating room": 0
      "Heating flow": 1
      "Heating curve": 2
      "Cooling room": 3
      "Cooling flow": 4
      "Heating startup": 5

[ Voor 100% gewijzigd door Proton_ op 31-12-2023 16:10 . Reden: Zoveel regels mogen wel ingeklapt met quote tags ]


Acties:
  • 0 Henk 'm!

  • Jeroenrobbert
  • Registratie: September 2022
  • Laatst online: 02-12-2024
AUijtdehaag schreef op zondag 31 december 2023 @ 13:00:
@Jeroenrobbert
Probeer bovenstaande bericht nog even aan te passen
Het is nu niet leesbaar om te kijken waar het aan ligt. HA is erg spatiegevoelig.
[Afbeelding]
dubbel, zie hierboven
code:
1
2
 name: waveshare1
  ...

[ Voor 97% gewijzigd door Proton_ op 31-12-2023 16:13 ]


Acties:
  • +1 Henk 'm!

  • LittleKiller
  • Registratie: Oktober 2007
  • Laatst online: 20-06 12:35
als je dit goed gekopieerd hebt, staat er een spatie voor name

overigens kun je hier https://yamlchecker.com/ het ook zelf checken

Ik zou ook even goed naar: https://www.home-assistant.io/integrations/modbus/ kijken.

Je mist: " modus: " aan het begin.. Daarnaast kan je niet overal " - platform" gebruiken.

Eigenlijk is je gehele yaml verkeerd 8)7

Kijk even goed naar de voorbeelden op de home assistant website

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Example configuration.yaml entry
modbus:
  - type: tcp
    host: IP_ADDRESS
    port: 502
    switches:
      - name: Switch1
        address: 13
        write_type: coil
      - name: Switch2
        slave: 2
        address: 14
        write_type: coil
        verify:
      - name: Register1
        address: 11
        command_on: 1
        command_off: 0
        verify:
            input_type: holding
            address: 127
            state_on: 25
            state_off: 1

[ Voor 71% gewijzigd door LittleKiller op 31-12-2023 13:43 ]


Acties:
  • 0 Henk 'm!

  • Jeroenrobbert
  • Registratie: September 2022
  • Laatst online: 02-12-2024
LittleKiller schreef op zondag 31 december 2023 @ 13:34:
[...]


als je dit goed gekopieerd hebt, staat er een spatie voor name

overigens kun je hier https://yamlchecker.com/ het ook zelf checken

Ik zou ook even goed naar: https://www.home-assistant.io/integrations/modbus/ kijken.

Je mist: " modus: " aan het begin.. Daarnaast kan je niet overal " - platform" gebruiken.

Eigenlijk is je gehele yaml verkeerd 8)7

Kijk even goed naar de voorbeelden op de home assistant website

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Example configuration.yaml entry
modbus:
  - type: tcp
    host: IP_ADDRESS
    port: 502
    switches:
      - name: Switch1
        address: 13
        write_type: coil
      - name: Switch2
        slave: 2
        address: 14
        write_type: coil
        verify:
      - name: Register1
        address: 11
        command_on: 1
        command_off: 0
        verify:
            input_type: holding
            address: 127
            state_on: 25
            state_off: 1
Ik heb het grootste gedeelte van de code Gekopieerd Van esphome code , alleen het eerste stukje aangepast omdat het bij mij geen esphome printje is maar waveshare is

Acties:
  • 0 Henk 'm!

  • LittleKiller
  • Registratie: Oktober 2007
  • Laatst online: 20-06 12:35
Jeroenrobbert schreef op zondag 31 december 2023 @ 14:10:
[...]

Ik heb het grootste gedeelte van de code Gekopieerd Van esphome code , alleen het eerste stukje aangepast omdat het bij mij geen esphome printje is maar waveshare is
Ik denk niet dat je dat zomaar kunt doen. dat het yaml is betekent niet dat het voor beide gelijk is.

In het voorbeeld wat ik je stuurde kun je zien hoe je het moet opzetten. Je zult iedere instantie zelf ff moeten aanmaken, tenzij iemand hier een soort gelijk bordje heeft en kun je dat voorbeeld gebruiken.

Acties:
  • 0 Henk 'm!

  • Proton_
  • Registratie: November 2011
  • Laatst online: 22:43

Proton_

Moderator Wonen & Mobiliteit 

Team Welles

het is een goede gewoonte om bij meer dan pakweg 15 regels code de boel in ook quote tags te zetten zodat de discussie leesbaar blijft.

Het ik-wil-een-warmtepomp FAQ topic- '23 MG5, douchen met wtw en Auer Edel Eau, verwarming met Vaillant Arotherm Plus.


Acties:
  • 0 Henk 'm!

  • henkonoly
  • Registratie: Mei 2022
  • Laatst online: 05-07-2024
Hoi mannen,

Beste wensen voor 2024!

Vandaag besloten om volledige controle te nemen over de legionella runs van mijn wp

Ik heb er Tasmota flashed POW320D tussen gezet, werkt perfect

Misschien heeft iemand er nog iets aan

Afbeeldingslocatie: https://tweakers.net/i/ZZw0uMLc0PV-gAN5e95qUooYFfQ=/full-fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():fill(white):strip_exif()/f/image/I8zbCyOZPISPi3nz6fBG79wm.jpg?f=user_large
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
alias: Warmtepomp - legionellacyclus
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.zonneplan_current_tariff_group
    from: null
    to: low
  - platform: numeric_state
    entity_id:
      - sensor.mitsubishi_sww_boiler_temperatuur
    above: 57
    id: boiler temperatuur is 57 graden
  - platform: numeric_state
    entity_id:
      - sensor.mitsubishi_sww_boiler_temperatuur
    above: 65
    id: boiler temperatuur is 65 graden
  - platform: state
    entity_id:
      - timer.wp_legionella_bestrijding
    from: active
    to: idle
    id: einde legionella bestrijding
condition:
  - condition: state
    entity_id: sensor.zonneplan_current_tariff_group
    state: low
  - condition: time
    weekday:
      - sat
  - condition: template
    value_template: "{{(as_timestamp(now())|timestamp_custom ('%U') | int % 2) == 1 }}"
    alias: Alleen op even weken
  - condition: time
    after: "00:00:00"
action:
  - choose:
      - conditions:
          - alias: Komende 4 uur laag energietarief
            condition: and
            conditions:
              - condition: state
                entity_id: sensor.zonneplan_forecast_tariff_group_hour_1
                state: low
              - condition: state
                entity_id: sensor.zonneplan_forecast_tariff_group_hour_2
                state: low
              - condition: state
                entity_id: sensor.zonneplan_forecast_tariff_group_hour_3
                state: low
        sequence:
          - service: notify.mobile_app_iphone_van_henk
            data:
              message: Legionella bestrijding gestart
              title: Melding
          - device_id: 4eb1c631aed031b8698d2b645bcffd61
            domain: number
            entity_id: 26c7514cf519b1c6d8404894cff0beb6
            type: set_value
            value: 58
        alias: boiler voorverwarmen met wp
      - conditions:
          - condition: numeric_state
            entity_id: sensor.mitsubishi_sww_boiler_temperatuur
            above: 57
            below: 60
          - condition: state
            entity_id: timer.wp_legionella_bestrijding
            state: idle
          - condition: state
            entity_id: switch.pow320d_wp_2kw_booster
            state: "off"
        sequence:
          - service: switch.turn_on
            target:
              entity_id: switch.pow320d_wp_2kw_booster
            data: {}
          - device_id: 4eb1c631aed031b8698d2b645bcffd61
            domain: number
            entity_id: 26c7514cf519b1c6d8404894cff0beb6
            type: set_value
            value: 50
          - service: timer.start
            target:
              entity_id: timer.wp_legionella_bestrijding
            data: {}
        alias: Boiler booster starten en legionella bestrijding starten
      - conditions:
          - condition: state
            entity_id: timer.wp_legionella_bestrijding
            state: idle
          - condition: state
            entity_id: switch.pow320d_wp_2kw_booster
            state: "on"
        sequence:
          - service: switch.turn_off
            target:
              entity_id: switch.pow320d_wp_2kw_booster
            data: {}
          - service: notify.mobile_app_iphone_van_henk
            data:
              message: Legionella run is succesvol afgerond
              title: Melding
        alias: Einde legionella run
mode: single
trace:
  stored_traces: 10

Acties:
  • 0 Henk 'm!

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 07:08

breinonline

Are you afraid to be known?

Topicstarter
Wat schakel je nu precies aan met die POW320D?

WP: Mitsubishi Ecodan PUHZ-SHW112YAA, ERSC-VM2C, Procon ┃ PV: 4800Wp, SolarEdge SE5K, 15x JAM60S17/320, ZW 15º ┃ WTW: Zehnder Q600 ┃ SH: Home Assistant, Proxmox, Intel NUC 8i5 Mini


Acties:
  • 0 Henk 'm!

  • henkonoly
  • Registratie: Mei 2022
  • Laatst online: 05-07-2024
Het 2 kw element

Acties:
  • +1 Henk 'm!

  • P5ycho
  • Registratie: Januari 2000
  • Laatst online: 00:06
Kun je dan ook even uitleggen wat het effect is zodat we niet door je yanl code hoeven ploegen voordat we het snappen? :)

12x 280Wp ZW, 12x 280Wp ZO, Zubadan SHW80YAA 8kW, Zehnder Q450 ERV


Acties:
  • 0 Henk 'm!

  • Andrehj
  • Registratie: Juni 2002
  • Laatst online: 23:03
P5ycho schreef op donderdag 4 januari 2024 @ 20:46:
Kun je dan ook even uitleggen wat het effect is zodat we niet door je yanl code hoeven ploegen voordat we het snappen? :)
Gokje:
- SWW setpoint omhoog naar 55 graden
- SWW run forceren
- Als SWW-run klaar het element inschakelen
- Element weer uit bij bereiken Legionella setpoint

Maar hoe @henkonoly ervoor zorgt dat de WP niet gaat verwarmen, de driewegklep in de SWW-stand blijft staan en de waterpomp blijft draaien is mij een raadsel.

Met een dompelelement zou dit waanzinnig veel eenvoudiger zijn.

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 ERV + Ubbink AirExcellent.


Acties:
  • 0 Henk 'm!

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 07:08

breinonline

Are you afraid to be known?

Topicstarter
Dat en hoe kom je dan buiten de officiële legionellamodus altiijd op de vereiste temperatuur uit?

WP: Mitsubishi Ecodan PUHZ-SHW112YAA, ERSC-VM2C, Procon ┃ PV: 4800Wp, SolarEdge SE5K, 15x JAM60S17/320, ZW 15º ┃ WTW: Zehnder Q600 ┃ SH: Home Assistant, Proxmox, Intel NUC 8i5 Mini


Acties:
  • 0 Henk 'm!

  • henkonoly
  • Registratie: Mei 2022
  • Laatst online: 05-07-2024
Sorry mannen, ik ben een type van... hey een knopje, waar zou die voor zijn? even op drukken... :P

Dat heeft nu verkeerd uitgepakt helaas

Ik draai op de procon waar ik tevreden over ben, dank aan @AUijtdehaag AUijtdehaag _/-\o_ ( enkel ben ik af en toe de verbinding spontaan kwijt en moet dan de spanning van de esp32 halen en werkt het daarna weer )

Maar ik las in dit forum dat het softwarematig initiëren van de legionella run lastig bleef, dus ik dacht het even hardware matig op te lossen, inderdaad @Andrehj zoals jij beschreef :)
Ik zag nu in het schema goed had bekeken was ik er niet aan begonnen

Afbeeldingslocatie: https://tweakers.net/i/umwoTmBZAIiZJMPKW52oAsWxSBk=/800x/filters:strip_icc():strip_exif()/f/image/n2ErsJ1nAiZdzm9b97zZq2XF.jpg?f=fotoalbum_large


Ik zal mijn yaml aanpassen en zorgen dat de compressor op het beoogde punt van de legionellarun de tank alvast op 57 graden heeft zoals de meeste van jullie

Kunnen we ook niets met deze setting?

Afbeeldingslocatie: https://tweakers.net/i/bYLBb8M-2_uqFSX_GEXqm4f5fJU=/x800/filters:strip_icc():strip_exif()/f/image/u9XvBddI6JIZnTnGOtd3M6Ti.jpg?f=fotoalbum_large

Dus sorry voor de afleiding in deze.

Acties:
  • 0 Henk 'm!

  • henkonoly
  • Registratie: Mei 2022
  • Laatst online: 05-07-2024
Een laatste idee was,

Als we de SWW tank op 57 graden hebben en schakelen de wp softwarematig uit, en vervolgens de klep (5) en pomp (18) aansturen

Moet toch wel mogelijk zijn?

Acties:
  • 0 Henk 'm!

  • Andrehj
  • Registratie: Juni 2002
  • Laatst online: 23:03
@henkonoly Geen idee wat je met die ingangen wilt, maar een "legionellarun" draaien op de door jou beoogde manier met het interne 1.8 kW element gaat nooit lukken, om de redenen die ik hierboven al had benoemd. Dit kan alleen met een dompelelement.

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 ERV + Ubbink AirExcellent.


Acties:
  • 0 Henk 'm!

  • Andrehj
  • Registratie: Juni 2002
  • Laatst online: 23:03
henkonoly schreef op vrijdag 5 januari 2024 @ 10:19:
Als we de SWW tank op 57 graden hebben en schaken de wp softwarematig uit, en vervolgens de klep (5) en pomp (18) aansturen

Moet toch wel mogelijk zijn?
Alles kan, maar dan moet je wel eerst een PWM-sturing voor de waterpomp maken.
En vervolgens val jij morgen dood neer en moeten je nabestaanden een installateur vinden die uit de wirwar van aanpassingen in je WP nog wijs kan worden. Succes, maar dit moet je zo gewoon niet willen.

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 ERV + Ubbink AirExcellent.


Acties:
  • 0 Henk 'm!

  • henkonoly
  • Registratie: Mei 2022
  • Laatst online: 05-07-2024
Andrehj schreef op vrijdag 5 januari 2024 @ 10:21:
[...]

Alles kan, maar dan moet je wel eerst een PWM-sturing voor de waterpomp maken.
En vervolgens val jij morgen dood neer en moeten je nabestaanden een installateur vinden die uit de wirwar van aanpassingen in je WP nog wijs kan worden. Succes, maar dit moet je zo gewoon niet willen.
Heb je een goed punt

Las hier dat de bacterie al dood gaat bij 55 graden, dus is dat dan niet gewoon voldoende?
Temperatuur:
De temperatuur is heel belangrijk voor de bacterie. De ideale temperatuur is 37°C, dit is de optimaal voor de bacterie om te kunnen groeien. Boven de 55°C gaat de bacterie dood. Bij hele lage temperaturen gaat de bacterie niet dood, maar kan het ook niet groeien.

Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
Ben ik nou gek, of heeft de laatste versie van esphome er zelf een thermostaat in geknutseld? :P

Afbeeldingslocatie: https://tweakers.net/i/HZnPIo360jl9UmUwTQKCEZcP9XQ=/800x/filters:strip_icc():strip_exif()/f/image/7RmN23eSZQTMUtgYZSdt0gmY.jpg?f=fotoalbum_large

Mocht er iemand aan de gang gaan met een m5stack RS485 met een atom s3 lite....
Mijn github is er weer op aangepast.
Nu ook aan het knutselen met de atom s3 met display.

PVOutput Github - Div ESP TK: MHI - Clack - Ecodan


Acties:
  • 0 Henk 'm!

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 07:08

breinonline

Are you afraid to be known?

Topicstarter
@AUijtdehaag Ik denk dat het aan jouw ligt :p. Althans, hier heb ik dat niet (ESPhome versie 2023.12.5). Dan moet je ook een climate sectie hebben in je esphome code als ik het correct heb. Hoe heet jouw entity voluit? En zie je dan ook wat in de webinterface van ESPhome?

Wel heeft de los aangesloten kamerthermostaat (netatmo) een climate entity. Maar die werkt wel samen met esphome via home assistant maar zit er niet in.

WP: Mitsubishi Ecodan PUHZ-SHW112YAA, ERSC-VM2C, Procon ┃ PV: 4800Wp, SolarEdge SE5K, 15x JAM60S17/320, ZW 15º ┃ WTW: Zehnder Q600 ┃ SH: Home Assistant, Proxmox, Intel NUC 8i5 Mini


Acties:
  • 0 Henk 'm!

  • DaWizza
  • Registratie: Augustus 2001
  • Niet online
@AUijtdehaag Die ziet eruit als de thermostaat die is toegevoegd met de laatste 2023 Core update in HA: https://www.home-assistan...023/12/06/release-202312/

SUZ-SWM80VA & ERSD-VM2D, 200L SWW, 5330Wp O 45°, 2870Wp W 45°, 820Wp Z 10°, Fresh-r on the wall compac WTW


Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@breinonline @DaWizza
Het ligt wel aan mij 8)7 :+

Ik gebruik "offline" bestanden ipv verwijzing naar mijn github (daar staat geen climate)
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
climate:
  - platform: thermostat
    name: "${name} Climate"
    id: ${name}_climate
    visual:
      min_temperature: 10.0
      max_temperature: 45.0
      temperature_step: 0.5
    sensor: room_temperature_zone_1
    min_heating_off_time: 60s
    min_heating_run_time: 60s
    ## remove min_cool_time if not used
    #min_cooling_off_time: 60s
    #min_cooling_run_time: 60s
    min_idle_time: 30s
    heat_action:
      - logger.log:
          format: "Heating"
          level: DEBUG
          tag: climate
    ## remove cool_action if not used
    #cool_action:
    #  - logger.log:
    #      format: "Cooling"
    #      level: DEBUG
    #      tag: climate
    idle_action:
      - logger.log:
          format: "Idle"
          level: DEBUG
          tag: climate


Hoe kun je zo het overzicht verliezen :P

Nou ja, toch nog werkend gekregen.
automations.yaml
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
- id: '1663182606288'
  alias: Mitsubishi climate
  description: ''
  trigger:
  - platform: state
    entity_id:
    - climate.mitsubishi_climate
    attribute: temperature
    id: setpoint
  - platform: state
    entity_id:
    - climate.mitsubishi_climate
    attribute: hvac_action
    id: heating
    to: heating
  - platform: state
    entity_id:
    - climate.mitsubishi_climate
    attribute: hvac_action
    to: 'off'
    id: 'off'
  condition:
  - condition: and
    conditions:
    - condition: template
      value_template: '{% if trigger.to_state.context.user_id is not none %} true
        {% endif %}'
  action:
  - choose:
    - conditions:
      - condition: trigger
        id:
        - setpoint
      sequence:
      - service: number.set_value
        data:
          value: '{{ trigger.to_state.attributes.temperature|float }}'
        target:
          entity_id: number.mitsubishi_verw_koelen_doel_temperatuur
    - conditions:
      - condition: trigger
        id:
        - heating
      sequence:
      - service: switch.turn_on
        data: {}
        target:
          entity_id: switch.mitsubishi_systeem_aan_uit
    - conditions:
      - condition: trigger
        id:
        - 'off'
      sequence:
      - service: switch.turn_off
        data: {}
        target:
          entity_id: switch.mitsubishi_systeem_aan_uit
  mode: single


Afgekeken van @nighthunter ;)

[ Voor 46% gewijzigd door AUijtdehaag op 10-01-2024 15:41 ]

PVOutput Github - Div ESP TK: MHI - Clack - Ecodan


Acties:
  • 0 Henk 'm!

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 07:08

breinonline

Are you afraid to be known?

Topicstarter
Ik draai nu 2 dagen op WAR. Op de FTC kan je de hele WAR curve een graad omhoog of omlaag regelen. Kan dat ook via de procon? Ik zie zo snel niets staan in de registertabellen :?

WP: Mitsubishi Ecodan PUHZ-SHW112YAA, ERSC-VM2C, Procon ┃ PV: 4800Wp, SolarEdge SE5K, 15x JAM60S17/320, ZW 15º ┃ WTW: Zehnder Q600 ┃ SH: Home Assistant, Proxmox, Intel NUC 8i5 Mini


Acties:
  • 0 Henk 'm!

  • vormulier
  • Registratie: December 2012
  • Niet online
breinonline schreef op donderdag 11 januari 2024 @ 16:12:
Ik draai nu 2 dagen op WAR. Op de FTC kan je de hele WAR curve een graad omhoog of omlaag regelen. Kan dat ook via de procon? Ik zie zo snel niets staan in de registertabellen :?
Helaas is de enige WAR uit de procon de firmWARe ;) :(

Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
Op heating flow zetten en zelf een war maken?

PVOutput Github - Div ESP TK: MHI - Clack - Ecodan


Acties:
  • +1 Henk 'm!

  • JustMyOpinion
  • Registratie: November 2012
  • Laatst online: 12-06 09:45
AUijtdehaag schreef op donderdag 11 januari 2024 @ 16:47:
Op heating flow zetten en zelf een war maken?
Zo heb ik het gedaan. In Node Red pak ik buitentemp en vervolgens bepaal ik de Ta die ik dan weer als Tset stuur naar de WP

Gasloos sinds 12-2022 || Hoekhuis 1968 || WP: SUZ SWM80 VA || 300 l boiler || SOLAR: 2,1 kWp OZO / 2,4 kWp WNW (SolarEdge) + 3,6 kWp S (Solis)


Acties:
  • 0 Henk 'm!

  • P5ycho
  • Registratie: Januari 2000
  • Laatst online: 00:06
Iemand die PID gebruikt om de Ta te bepalen toevallig? Lijkt me een mooie vervanger voor de stooklijn, maar ben nog niet helemaal zeker of het beter is.
Met een PID regelaar voorkom je in theorie dat je wp ooit uit gaat als er warmtevraag is. Compenseren ook voor andere zaken zoals windinvloeden.

[ Voor 32% gewijzigd door P5ycho op 11-01-2024 17:38 ]

12x 280Wp ZW, 12x 280Wp ZO, Zubadan SHW80YAA 8kW, Zehnder Q450 ERV


Acties:
  • 0 Henk 'm!

  • JustMyOpinion
  • Registratie: November 2012
  • Laatst online: 12-06 09:45
P5ycho schreef op donderdag 11 januari 2024 @ 17:34:
Iemand die PID gebruikt om de Ta te bepalen toevallig? Lijkt me een mooie vervanger voor de stooklijn, maar ben nog niet helemaal zeker of het beter is.
Met een PID regelaar voorkom je in theorie dat je wp ooit uit gaat als er warmtevraag is. Compenseren ook voor andere zaken zoals windinvloeden.
Vraag me af of het daadwerkelijk nodig is, het is zo'n langzaam proces en de invloeden kunnen dusdanig verschillen (warm/koud, wind/storm/geen wind, regen) dat het me lastig lijkt in te regelen.

Kan je wellicht beter gaan voor een wat meer 'Russische' methode: Als de ingestelde thermostaat temperatuur bijna wordt gehaald de Tset voor Ta lager zetten. Dan zakt de temp in huis weer licht dan vervolgens Tset weer wat hoger zetten. Enige probleem hiermee is dat de hysterese groter zal moeten zijn omdat je toch ergens op moet regelen.

Ik heb een Netatmo thermostaat en krijg de temperatuur per 0,1 °C. Om hier beetje op te regelen dat de WP aan blijft en dus net onder de afschakelwaarde zit van de thermostaat zal je dan toch grotere afwijking moeten accepteren, je moet namelijk kunnen bepalen of temperatuur aan het dalen of stijgen is.

Zelf heb ik het opgelost door een WAR te maken waarbij de temperatuur net wat stijgt in huis, maar als dus de thermostaat afschakelwaarde bijna wordt gehaald knal ik de Tset naar beneden.

Afbeeldingslocatie: https://tweakers.net/i/iKcXf29SiqVCnZ65LH617zENek0=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/9PO7HhehbFrQssVsZfZULio8.png?f=user_large

Gasloos sinds 12-2022 || Hoekhuis 1968 || WP: SUZ SWM80 VA || 300 l boiler || SOLAR: 2,1 kWp OZO / 2,4 kWp WNW (SolarEdge) + 3,6 kWp S (Solis)


Acties:
  • 0 Henk 'm!

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 07:08

breinonline

Are you afraid to be known?

Topicstarter
AUijtdehaag schreef op donderdag 11 januari 2024 @ 16:47:
Op heating flow zetten en zelf een war maken?
Ja, dat was mijn alternatief :p
JustMyOpinion schreef op donderdag 11 januari 2024 @ 18:33:
[...]

Vraag me af of het daadwerkelijk nodig is, het is zo'n langzaam proces en de invloeden kunnen dusdanig verschillen (warm/koud, wind/storm/geen wind, regen) dat het me lastig lijkt in te regelen.

Kan je wellicht beter gaan voor een wat meer 'Russische' methode: Als de ingestelde thermostaat temperatuur bijna wordt gehaald de Tset voor Ta lager zetten. Dan zakt de temp in huis weer licht dan vervolgens Tset weer wat hoger zetten. Enige probleem hiermee is dat de hysterese groter zal moeten zijn omdat je toch ergens op moet regelen.

Ik heb een Netatmo thermostaat en krijg de temperatuur per 0,1 °C. Om hier beetje op te regelen dat de WP aan blijft en dus net onder de afschakelwaarde zit van de thermostaat zal je dan toch grotere afwijking moeten accepteren, je moet namelijk kunnen bepalen of temperatuur aan het dalen of stijgen is.

Zelf heb ik het opgelost door een WAR te maken waarbij de temperatuur net wat stijgt in huis, maar als dus de thermostaat afschakelwaarde bijna wordt gehaald knal ik de Tset naar beneden.

[Afbeelding]
Heb je nog een instelling dat de twoonkamer een bepaalde tijd de vereiste waarde moet hebben? Ik zie hier nog wel eens dan de waarde een paar keer verspringt voordat de thermostaat daadwerkelijk een hogere of lagere waarde aangeeft. Als je dan meteen reageert dan is dat niet per definitie efficiënt lijkt mij?
Afbeeldingslocatie: https://tweakers.net/i/AAlY2L-CMNpO0QuGwuVYjUMYlR8=/800x/filters:strip_exif()/f/image/Q5trGK3pkjDDKD1DZWn6brpy.png?f=fotoalbum_large

WP: Mitsubishi Ecodan PUHZ-SHW112YAA, ERSC-VM2C, Procon ┃ PV: 4800Wp, SolarEdge SE5K, 15x JAM60S17/320, ZW 15º ┃ WTW: Zehnder Q600 ┃ SH: Home Assistant, Proxmox, Intel NUC 8i5 Mini


Acties:
  • 0 Henk 'm!

  • JustMyOpinion
  • Registratie: November 2012
  • Laatst online: 12-06 09:45
Hier heb ik zelf niet echt last van. Heb de draadloze Netatmo en die staat onder de salontafel bij de bank.

Dus staat redelijk uit zon/luchtstromen.

Zo'n piekje in jouw grafiek zou ik me niet zo druk om maken. Het duurt toch heel lang voor je de Tset wijziging zult zien in je grafiek.

Ik ben ook nog echt zoekende naar het juiste moment om de Tset aan te passen. Gaat nu best redelijk, maar zal vast nog beter kunnen.

Probleem is dat wij in de avond de temperatuur een half graad hoger zetten en dan is het dus lastig regelen; als die halve graad er weer af gaat, gaat de WP uiteraard uit omdat thermostaat zegt dat temperatuur is gehaald.

Bedenk me nu dat ik misschien dan maar die halve graad er af moet halen, of helemaal niet meer op Thermostaat schakelen en echt Tset aanpassen om temperatuur te regelen. Dus bv na 21.00 uur de Tset moedwillig verlagen, daardoor zakt de temp, maar blijft WP wel draaien. Moet je alleen wel rekening houden dat Ta niet 2C hoger mag zijn dan Tset. Dit heb ik al opgelost door te werken met een floating setpoint, als die 2C in de buurt komt past hij automatisch Tset aan. Dat werkt wel erg goed.

Gasloos sinds 12-2022 || Hoekhuis 1968 || WP: SUZ SWM80 VA || 300 l boiler || SOLAR: 2,1 kWp OZO / 2,4 kWp WNW (SolarEdge) + 3,6 kWp S (Solis)


Acties:
  • +1 Henk 'm!

  • JustMyOpinion
  • Registratie: November 2012
  • Laatst online: 12-06 09:45
Heb het nu anders geprogrammeerd.

Heb de thermostaat op 19,5 gezet, dus als temperatuur warmer wordt dan 19.5 zal de WP uitschakelen.

Qua programmering, ik heb zelf een WAR geprogrammeerd die dus 'redelijk' moet overeenkomen met de werkelijkheid.

Afbeeldingslocatie: https://tweakers.net/i/eJEHz2_9GNr70ZsixhgXKCcUIH0=/800x/filters:strip_exif()/f/image/y1uh8mFvCz8YHQW6u7uG0lXC.png?f=fotoalbum_large

Deze waarde pas ik vervolgens aan als de temperatuur te veel afwijkt van gewenste waarde. Dus als het te koud wordt gaat Tset omhoog en als het te warm wordt gaat Tset omlaag.

Om in de avond toch extra te kunnen verwarmen kijk ik naar de tijd. Tussen 16 en 21 uur gebruik ik een andere wenswaarde waar ik de Tset op aanpas.

Voordeel hiervan is dat om 21 uur de WP niet direct uitknalt, maar dat hij de Tset gewoon heel laag gaat zetten waardoor WP frequentie omlaag zal gaan.

Belangrijke functie is dat als Ta te veel gaat afwijken van Tset hij Tset gaat aanpassen om te zorgen dat WP aanblijft:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
if (flowtemp < tset) {
    msg.payload = (tset) * 100;
    msg.topic = "Tset";
    return msg;
}

if ((flowtemp - tset) > 1) {
    msg.payload = (flowtemp - 1.2) * 100;
    msg.topic = "Tset";
    return msg;
} else {
    return null;
}


In mijn hoofd moet het prima werken... dit weekend maar eens kijken of het goed gaat :)

Gasloos sinds 12-2022 || Hoekhuis 1968 || WP: SUZ SWM80 VA || 300 l boiler || SOLAR: 2,1 kWp OZO / 2,4 kWp WNW (SolarEdge) + 3,6 kWp S (Solis)


Acties:
  • 0 Henk 'm!

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 07:08

breinonline

Are you afraid to be known?

Topicstarter
En de buitentemperatuur haal je van de buitenunit? Filter je dan nog de defrosts er tussenuit op de een of andere wijze? De temperatuur van de buitenunit loopt dan immers even erg op.

WP: Mitsubishi Ecodan PUHZ-SHW112YAA, ERSC-VM2C, Procon ┃ PV: 4800Wp, SolarEdge SE5K, 15x JAM60S17/320, ZW 15º ┃ WTW: Zehnder Q600 ┃ SH: Home Assistant, Proxmox, Intel NUC 8i5 Mini


Acties:
  • 0 Henk 'm!

  • JustMyOpinion
  • Registratie: November 2012
  • Laatst online: 12-06 09:45
breinonline schreef op vrijdag 12 januari 2024 @ 21:03:
En de buitentemperatuur haal je van de buitenunit? Filter je dan nog de defrosts er tussenuit op de een of andere wijze? De temperatuur van de buitenunit loopt dan immers even erg op.
Ik programmeer in Node Red. Startvoorwaarde van de berekening is een wijziging in Ta, daarna is een voorwaarde om door te gaan als de WP in 'heating' staat. Daarna maakt hij pas de berekening. Dus die stijging neem ik idd niet mee.

Gasloos sinds 12-2022 || Hoekhuis 1968 || WP: SUZ SWM80 VA || 300 l boiler || SOLAR: 2,1 kWp OZO / 2,4 kWp WNW (SolarEdge) + 3,6 kWp S (Solis)


Acties:
  • 0 Henk 'm!

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 07:08

breinonline

Are you afraid to be known?

Topicstarter
Waarom als Ta wijzigt? In feite kijkt de originele WAR toch naar een buitentemperatuurwijziging?

Ik denk erover om het zo te gaan proberen:

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
automation manual:
## Adaptive WAR ##
- id: "20240114074501"
  alias: Adaptive WAR
  description: Regel verwarming op buitentemperatuur en afwijking van ingestelde gewenste binnentemperatuur
  trigger:
    - platform: state #trigger als buitentemperatuurwijziging
      entity_id: sensor.ecodan_outdoor_ambient_temperature
    - platform: template #trigger als woonkamertemperatuurwijziging
      value_template: "{{ state_attr('climate.living_room', 'current_temperature') | int > 0 }}"
    - platform: template #trigger als gewenste tempatuur gewijzigd wordt
      value_template: "{{ state_attr('climate.living_room', 'temperature') | int > 0 }}"
    - platform: homeassistant
      event: start
    - platform: event
      event_type: automation_reloaded
  condition: #geen defrost bezig
    - condition: state
      entity_id: sensor.ecodan_defrost
      state: "Off"
    - condition: state
      entity_id: select.ecodan_a_c_mode_zone_1
      state: "Heating flow"
  action:
    - service: number.ecodan_h_c_thermostat_target_temperature_zone_1
      data_template:
        event: >
          {% set mapper = {
               "18.0":"25",
               "17.0":"25",
               "16.0":"25",
               "15.0":"25",
               "14.0":"25.5",
               "15.0":"26",
               "16.0":"26.5",
               "11.0":"27",
               "10.0":"27.5",
               "9.0":"28",
               "8.0":"28.5",
               "7.0":"29",
               "6.0":"29.5",
               "5.0":"30",
               "4.0":"30.5",
               "3.0":"31",
               "2.0":"31.5",
               "1.0":"32",
               "0.0":"32.5",
               "-1.0":"33",
               "-2.0":"33.5",
               "-3.0":"34",
               "-4.0":"34.5",
               "-5.0":"35",
               "-6.0":"35.5",
               "-7.0":"36",
               "-8.0":"36.5",
               "-9.0":"37",
               "-10.0":"37",
                          } %}
          {% set selection = states("sensor.ecodan_outdoor_ambient_temperature") %}
          {% set tset = state_attr('climate.living_room', 'temperature') | float %}
          {% set tact = state_attr('climate.living_room', 'current_temperature') | float %}
          {% if (tact - tset) > 0 %}
            {{ (mapper[selection] | float - 1) }}
          {% elif (tact - tset) == 0 %}
            {{ (mapper[selection] | float ) }}
          {% elif (tact - tset) < 0.1 %}
            {{ (mapper[selection] | float ) }}
          {% elif (tact - tset) < 0.2 %}
            {{ (mapper[selection] | float + 0.5 ) }}
          {% elif (tact - tset) < 0.3 %}
            {{ (mapper[selection] | float + 1 ) }}
          {% else %}
            37
          {% endif %}
  mode: single
  trace:
    stored_traces: 20

Dus ik heb de WAR die de unit nu heeft in een schema gezet maar afhankelijk van hoe ver de actuele temperatuur van de gewenste zit, verhoog of verlaag ik de waarde uit het schema nog. Trigger bij temperatuurverandering in de woonkamer, buiten of van de gewenste instelling en bij herstart van ha of automation. En als voorwaarden geen defrost bezig en verwarmen met voorlooptemperatuur. Na een defrost zou de buitentemperatuur tijdelijk nog wat hoger kunnen zijn maar dan start de unit alleen even iets rustiger en zou daarna weer snel naar de daadwerkelijk gewenste waarde moeten gaan. Moet nog even kijken of ik de huidige hysterese van 0.2 wil wijzigen naar 0.3.

Mocht iemand dingen zien waar ik geen rekening mee heb gehouden maar wel zou moeten doen hoor ik het graag :>

WP: Mitsubishi Ecodan PUHZ-SHW112YAA, ERSC-VM2C, Procon ┃ PV: 4800Wp, SolarEdge SE5K, 15x JAM60S17/320, ZW 15º ┃ WTW: Zehnder Q600 ┃ SH: Home Assistant, Proxmox, Intel NUC 8i5 Mini


Acties:
  • +1 Henk 'm!

  • Sicco92
  • Registratie: September 2010
  • Laatst online: 20-06 15:06
@breinonline Je 'mapper' zal een fout geven als je een temperatuur tegenkomt die je niet hebt gedefinieerd, dus bij >18 en <-10. Volgens mij kan je de WAR beter nadoen met een berekening in plaats van zo'n map, zodat je altijd een geldige waarde krijgt. Ik heb je map eventjes nagedaan in een berekening, waarmee je alle mogelijke temperatuurwaarden kunt afvangen:
Django/Jinja:
1
2
3
4
5
6
7
8
9
10
11
12
{% set ta_low = 25 %}
{% set ta_high = 37 %}
{% set war_start_temp = 15 %}
{% set war_end_temp = -9 %}
{% set outside_temp = states("sensor.ecodan_outdoor_ambient_temperature") | float(default=15) %}
{% if outside_temp > war_start_temp %}
{{ ta_low }}
{% elif outside_temp < war_end_temp %}
{{ ta_high }}
{% else %}
{{ ((ta_high - ta_low) * ((war_start_temp - outside_temp) / (war_start_temp - war_end_temp)) + ta_low) | round(1, 'half') }}
{% endif %}

Deze template geeft dezelfde waarden als jouw 'mapper', maar vangt ook waarden buiten de selectie af en is makkelijker aan te passen als je ooit je WAR-waarden wilt aanpassen.

Acties:
  • 0 Henk 'm!

  • JustMyOpinion
  • Registratie: November 2012
  • Laatst online: 12-06 09:45
breinonline schreef op zondag 14 januari 2024 @ 20:36:
Waarom als Ta wijzigt? In feite kijkt de originele WAR toch naar een buitentemperatuurwijziging?
Dat is heel simpel. De WP gaat uit als het verschil tussen Tset en Ta >2 graden (dus als hij te warm maakt dan Tset). Om dit te voorkomen zorg ik dat ik mijn Tset aanpas als dit 'lijkt te gebeuren'. Ik zet Tset dan 1,6 °C lager dan Ta, hierdoor blijft de incentive om lager te gaan regelen bestaan.

Dus, aangezien ik deze beveiliging er toch op heb staan is wijziging Ta ook de start van mijn regeling.

Verder pas ik Tset nog extra aan t.o.v. WAR als de gewenste thermostaat temperatuur bijna wordt bereikt, dan gaat Tset omlaag om zo de WP nog wat langer aan te houden.

Gasloos sinds 12-2022 || Hoekhuis 1968 || WP: SUZ SWM80 VA || 300 l boiler || SOLAR: 2,1 kWp OZO / 2,4 kWp WNW (SolarEdge) + 3,6 kWp S (Solis)


Acties:
  • +2 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
Lees nog wat ingangen en statussen via modbus uit en binary_sensors toegevoegd aan de code vanaf regel #29:
Afbeeldingslocatie: https://tweakers.net/i/66Ro648xcmMYqv4CkiuU9s9t5JM=/232x232/filters:strip_icc():strip_exif()/f/image/89pG4GWEHe6JSiarUekLRZ2B.jpg?f=fotoalbum_tile

PVOutput Github - Div ESP TK: MHI - Clack - Ecodan


Acties:
  • +1 Henk 'm!

  • vormulier
  • Registratie: December 2012
  • Niet online
@AUijtdehaag Thanks werkt als een zonnetje :D

Acties:
  • 0 Henk 'm!

  • Sven1234
  • Registratie: December 2015
  • Laatst online: 22:17
@AUijtdehaag Je hebt wel een hele goede COP en flow trouwens :D

WP: Mitsubishi PUHZ-SW75YAA + ERSD-VM2D


Acties:
  • +1 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@Sven1234 Sinds ik vorig jaar de printplaat heb gesloopt en een wasco print erin heb gezet, is niet alles meer...ok
Ach ja, hij doet het.

Flow klopt ook niet. nog eens naar kijken naar de aansluitingen op het PCB

[ Voor 22% gewijzigd door AUijtdehaag op 24-01-2024 14:22 ]

PVOutput Github - Div ESP TK: MHI - Clack - Ecodan


Acties:
  • 0 Henk 'm!

  • JustMyOpinion
  • Registratie: November 2012
  • Laatst online: 12-06 09:45
Heren,
Ik heb via @AUijtdehaag een Procon en Modbus adapter gekocht (Werkt prima!). Echter heb ik hem aangesloten op HA via Node Red. Laatste tijd doet deze het alleen niet echt lekker. De data is dan aan het 'haperen'. Je ziet dan bv de status van de WP Heating aan en uit gaan:

Afbeeldingslocatie: https://tweakers.net/i/lUKg4-hFSjHo9DkCzVaZVpUPq0k=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/nJKmQUHw0SyHTuhQknOR0cW1.png?f=user_large

Dit gaat weer over als ik Node Red heb gereset. Ik kan alleen niets vinden in de logs.

Wat is nu hier de 'standaard' de manier zoals ik het heb afgesloten of via de ESP methode, zoals omschreven in TS?

Zit er namelijk aan te denken om over te stappen, dus ESP en niet Node Red.

Hoor graag jullie mening!

Gasloos sinds 12-2022 || Hoekhuis 1968 || WP: SUZ SWM80 VA || 300 l boiler || SOLAR: 2,1 kWp OZO / 2,4 kWp WNW (SolarEdge) + 3,6 kWp S (Solis)


Acties:
  • +1 Henk 'm!

  • vormulier
  • Registratie: December 2012
  • Niet online
JustMyOpinion schreef op vrijdag 2 februari 2024 @ 08:32:
Heren,
Ik heb via @AUijtdehaag een Procon en Modbus adapter gekocht (Werkt prima!). Echter heb ik hem aangesloten op HA via Node Red. Laatste tijd doet deze het alleen niet echt lekker. De data is dan aan het 'haperen'. Je ziet dan bv de status van de WP Heating aan en uit gaan:

[Afbeelding]

Dit gaat weer over als ik Node Red heb gereset. Ik kan alleen niets vinden in de logs.

Wat is nu hier de 'standaard' de manier zoals ik het heb afgesloten of via de ESP methode, zoals omschreven in TS?

Zit er namelijk aan te denken om over te stappen, dus ESP en niet Node Red.

Hoor graag jullie mening!
Hier heb ik hem inderdaad via esphome:

wp -> procon -> rs485 (m5stack) -> esp atom (m5stack) -> ha

Deze setup is ook actief ondersteund hier en een soort van de "standaard"

Acties:
  • 0 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@JustMyOpinion
Gebruik je node-red als add-on in HA?
Ik heb ooit eens een node-red restart flow gevonden als modbus niet reageert, deze herstart dan node-red
code:
1
[{"id":"9755354.1a5d8c8","type":"tab","label":"NR restart","disabled":false,"info":""},{"id":"d6c8cea1.fe47b","type":"modbus-flex-getter","z":"9755354.1a5d8c8","name":"","showStatusActivities":false,"showErrors":false,"logIOActivities":false,"server":"bf7baafe14ba37f7","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":590,"y":60,"wires":[["9a147c0f.83b3","59cf0460.04dbfc"],[]]},{"id":"714dc4a1.77becc","type":"inject","z":"9755354.1a5d8c8","name":"60s","props":[{"p":"payload"}],"repeat":"60","crontab":"","once":false,"onceDelay":"60","topic":"","payload":"","payloadType":"date","x":90,"y":60,"wires":[["fd16d8b5.29ebf8"]]},{"id":"fd16d8b5.29ebf8","type":"function","z":"9755354.1a5d8c8","name":"Create request","func":"return {\n    \"payload\": {\n        \"value\":1,\n        \"fc\":3,\n        \"unitid\": 1,\n        \"address\":0,\n        \"quantity\":10\n    }\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":300,"y":60,"wires":[["71eec7fb.f94d28","d6c8cea1.fe47b"]]},{"id":"71eec7fb.f94d28","type":"delay","z":"9755354.1a5d8c8","name":"Comm Timeout","pauseType":"delay","timeout":"120","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"outputs":1,"x":820,"y":160,"wires":[["ec7416c1.2c2bb8"]]},{"id":"ec7416c1.2c2bb8","type":"api-call-service","z":"9755354.1a5d8c8","name":"Restart Node-RED","server":"a230fa69.44ecb8","version":5,"debugenabled":false,"domain":"hassio","service":"addon_restart","areaId":[],"deviceId":[],"entityId":[],"data":"{\"addon\":\"a0d7b954_nodered\"}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1030,"y":160,"wires":[[]]},{"id":"9a147c0f.83b3","type":"change","z":"9755354.1a5d8c8","name":"Reset timeout","rules":[{"t":"set","p":"reset","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":160,"wires":[["71eec7fb.f94d28"]]},{"id":"59cf0460.04dbfc","type":"debug","z":"9755354.1a5d8c8","name":"Respons","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":800,"y":60,"wires":[]},{"id":"61aa58c.7d5d9a8","type":"inject","z":"9755354.1a5d8c8","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":"1","topic":"","payload":"","payloadType":"date","x":110,"y":160,"wires":[["38cbbccf.039a24"]]},{"id":"38cbbccf.039a24","type":"debug","z":"9755354.1a5d8c8","name":"node-red restarted","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":370,"y":160,"wires":[]},{"id":"bf7baafe14ba37f7","type":"modbus-client","name":"Procon","clienttype":"serial","bufferCommands":true,"stateLogEnabled":true,"queueLogEnabled":false,"failureLogEnabled":false,"tcpHost":"127.0.0.1","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_0107146D-if00-port0","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"150","serialAsciiResponseStartDelimiter":"","unit_id":"","commandDelay":"30","clientTimeout":"1000","reconnectOnTimeout":false,"reconnectTimeout":"2000","parallelUnitIdsAllowed":false},{"id":"a230fa69.44ecb8","type":"server","name":"Home Assistant","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30,"areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true}]
Voor de rest: esp oplossingen heb ik liggen...

PVOutput Github - Div ESP TK: MHI - Clack - Ecodan


Acties:
  • 0 Henk 'm!

  • JustMyOpinion
  • Registratie: November 2012
  • Laatst online: 12-06 09:45
Heb je ook korte omschrijving hoe je dit hebt gekoppeld....? In de TS lees ik zaken als solderen etc.

Of @AUijtdehaag heb jij een compleet setje wat soort van plug/play is?

Gasloos sinds 12-2022 || Hoekhuis 1968 || WP: SUZ SWM80 VA || 300 l boiler || SOLAR: 2,1 kWp OZO / 2,4 kWp WNW (SolarEdge) + 3,6 kWp S (Solis)


Acties:
  • +1 Henk 'm!

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@JustMyOpinion
Ja heb ik.
Stuur anders even een DM.

PVOutput Github - Div ESP TK: MHI - Clack - Ecodan


Acties:
  • 0 Henk 'm!

  • Andrehj
  • Registratie: Juni 2002
  • Laatst online: 23:03
Gezien de perikelen met Melcloud even wat vragen van een Procon newbie:
  1. Zijn er eigenlijk mensen die een Procon aan Domoticz hebben hangen of deze aansturen met een eigen Modbus script? (Ik wil eigenlijk het Melcloud2Domoticz script min of meer 1:1 vervangen door iets wat de data uit de Procon vist, iets werkends om mee te beginnen is dan altijd handig).
  2. Draaien jullie de procon op de standaard 9600 baud? Of hoger? En wordt die hogere standaard onthouden na stroomuitval? Want ik zie dat je die snelheid via Modbus in kunt stellen, maar vraag me af hoe dat in de praktijk gaat. Want je moet toch alle devices bij aan de bus (er hangen ook nog 8 kWh meters aan) op dezelfde snelheid draaien?

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 ERV + Ubbink AirExcellent.


Acties:
  • +1 Henk 'm!

  • ocaj
  • Registratie: Juli 2011
  • Niet online
Andrehj schreef op dinsdag 6 februari 2024 @ 22:00:
Gezien de perikelen met Melcloud even wat vragen van een Procon newbie:
  1. Zijn er eigenlijk mensen die een Procon aan Domoticz hebben hangen of deze aansturen met een eigen Modbus script? (Ik wil eigenlijk het Melcloud2Domoticz script min of meer 1:1 vervangen door iets wat de data uit de Procon vist, iets werkends om mee te beginnen is dan altijd handig).
  2. Draaien jullie de procon op de standaard 9600 baud? Of hoger? En wordt die hogere standaard onthouden na stroomuitval? Want ik zie dat je die snelheid via Modbus in kunt stellen, maar vraag me af hoe dat in de praktijk gaat. Want je moet toch alle devices bij aan de bus (er hangen ook nog 8 kWh meters aan) op dezelfde snelheid draaien?
1) Ik draai Procon met een eigen modbus-script, die slaat de data op in mysql, sqlite, json en stuurt het naar mqtt. MQTT-data pik ik verder op in Node-red voor dashboard en wat logica, ik neem aan dat Domoticz dat ook kan. Commando's stuurt ik via MQTT naar mijn modbus-script en die zet het weer door naar de Procon
2) Nog steeds op 9600 baud. Ik had ooit de intentie dat hoger te zetten, maar is er nog niet van gekomen. Alle data uitlezen kost nu ca halve seconde op 9600 baud, en ik lees het dan na 1 seconde wachten weer uit. Dat is snel genoeg. De Procon (of de FTC?) is nl. erg traag: Als je een commando stuurt (bijvoorbeeld "ForceSWW = 1") dan duurt het tot wel 20 seconde voordat je in de status-teruglezing ForceSWW=1 terugziet. Dat ligt niet aan de baud-rate....

Acties:
  • +3 Henk 'm!

  • breinonline
  • Registratie: Juni 2001
  • Laatst online: 07:08

breinonline

Are you afraid to be known?

Topicstarter
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.
[...]

En de bijbehorende plaatjes:
https://tweakers.net/gallery/27131/fotoalbum/?MapID=175184
Ik heb nu ik op de Netatmo draai natuurlijk een ander plaatje nodig. Misschien ook leuk voor anderen hier:

Afbeeldingslocatie: https://tweakers.net/i/PKso7tSnb6F425A7gPIjLcODIXI=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/cE5KKVRkcKtjeyHjnxszRgJO.png?f=user_large

Lovelace code is ook gewijzigd:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
type: picture-elements
image: local/images/ecodan/ecodan-basis2.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.ecodan_current_power_output
        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.ecodan_current_power_output
        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: sensor.ecodan_operating_mode
        state: Legionella
      - 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: sensor.ecodan_operating_mode
        state: Legionella
      - entity: sensor.ecodan_heat_source_status
        state: Heatpump
    elements:
      - type: image
        image: local/images/ecodan/ecodan-hot-water.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: climate.living_room
    attribute: temperature
    style:
      top: 80%
      left: 10.5%
      color: black
      font-weight: bold
      transform: translate(-50%,-50%) scale(0.9,1.5)
  - type: state-label
    entity: climate.living_room
    attribute: current_temperature
    style:
      top: 80%
      left: 17%
      font-weight: bold
      color: lightgrey
      transform: translate(-50%,-50%) scale(0.9,1.5)
  - 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
Plaatjes staan hier, inclusief in verschillende kleuren de Netatmo en zowel horizontaal als verticaal. Voorbeeld:
Afbeeldingslocatie: https://tweakers.net/i/4Gh4Y0RQph6X2uUnI4V3QOL1bsg=/800x/filters:strip_exif()/f/image/m7u9yu0TNhRFwlTlxyYuz3fl.png?f=fotoalbum_large

WP: Mitsubishi Ecodan PUHZ-SHW112YAA, ERSC-VM2C, Procon ┃ PV: 4800Wp, SolarEdge SE5K, 15x JAM60S17/320, ZW 15º ┃ WTW: Zehnder Q600 ┃ SH: Home Assistant, Proxmox, Intel NUC 8i5 Mini


Acties:
  • 0 Henk 'm!

  • xoror
  • Registratie: November 1999
  • Niet online
Voor de opensource mitsubishi projecten missen er nog een aantal commandos. Alle Prohibit commandos bijv.
Nu zou het mogelijk moeten zijn om via modbus die prohibit commandos naar de procon te sturen, en dan de CN105 uitlezen wat er wordt gestuurd richting de WP.

Heeft iemand de middelen om dit te doen en het resultaat te dumpen?

Eenvoudig + Goedkoop Mitsubishi Warmtepomp uitlezen/besturen met een ESP32


Acties:
  • 0 Henk 'm!

  • ocaj
  • Registratie: Juli 2011
  • Niet online
Ik heb geen mogelijkheid om de CN105-communicatie tussen FTC en Procon uit te lezen.

Maar ik heb wel de registers 39, 40 en 41 (functiecode 6) geprobeerd te sturen via de procon.
De warmtepomp doet daar helemaal niks mee. Deze lijken "read-only" te zijn voor zover ik heb kunnen achterhalen.
Pagina: 1 2 3 4 Laatste