Ervaringen en instellingen Inventum Modul-Air warmtepomp

Pagina: 1 2 Laatste
Acties:

Acties:
  • 0 Henk 'm!

  • gokhan66
  • Registratie: Oktober 2011
  • Laatst online: 24-06 18:37
Pat! schreef op donderdag 3 april 2025 @ 15:25:
[...]


Heb je de code van Snamkob1994 (hierboven) gebruikt?
Ik heb de ESP8266-code niet direct gebruikt, maar wel veel van geleerd. Die code heeft me inzicht gegeven in het communicatieprotocol en de commando's van de warmtepomp. Daar ben ik de maker dankbaar voor!
De verschillen zitten vooral in:

Mijn code draait op Raspberry Pi Zero 2W via USB, niet op ESP
Python vs C++ (Arduino)
Complexere afhandeling met threading en prioriteitsbeheer
Volledige bidirectionele communicatie mogelijk

Uit mijn tests bleek dat de ESP32 wel kon lezen maar niet betrouwbaar schrijven via de COM logger poort. De Pi via USB kan dit wel probleemloos.
Beide oplossingen hebben hun plek - de ESP-versie is compacter en energiezuiniger, mijn Pi-versie biedt meer besturingsmogelijkheden. Ieder heeft zijn eigen toepassing.

Hier is een link naar mijn volledige code: https://nextcloud.gokhanc.net/s/5zkCQXoPRdiBT5b
Het script draait inmiddels al enkele weken zeer stabiel. Er zitten nog een paar kleine bugs in (zoals de timestamps van het legionella programma), maar verder werkt alles probleemloos. Mocht iemand verbeteringen of suggesties hebben, dan hoor ik het graag!

Acties:
  • +2 Henk 'm!

  • Simpel78
  • Registratie: Januari 2007
  • Laatst online: 18:51
Ok het is mij ook gelukt. De parameters zijn eindeloos, dus ik ben nog wel even bezig alles uit te zoeken.

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

Ik had een paar dingen waar ik tegen aan liep. Ik gebruik ook de code en een Raspberry Pi Zero 2W via USB

Ik kon de connectie niet maken met MQTT. Ik heb dit stukje veranderd, waardoor ik wel de connectie kon maken:
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
def connect_mqtt():
    """Verbinding maken met de MQTT-broker"""
    userdata = {'serial_connection': None}
    client = mqtt.Client(userdata=userdata)
    
    def on_connect(client, userdata, flags, reason_code, properties=None):
        if reason_code == 0:
            logger.info("Verbonden met MQTT-broker")
            client.subscribe(f"{MQTT_CONTROL_TOPIC}/#")
            logger.info(f"Geabonneerd op besturingsonderwerp: {MQTT_CONTROL_TOPIC}/#")
        else:
            logger.error(f"Verbinding met MQTT-broker mislukt met code {reason_code}")
    
    client.on_connect = on_connect
    client.on_message = on_message
    
    try:
        # Voor authenticatie indien nodig
        client.username_pw_set('mqtt-warmtepomp', 'warmtepomp')
        client.connect(MQTT_BROKER, MQTT_PORT, 60)
        client.loop_start()
        return client, userdata
    except Exception as e:
        logger.error(f"Kan niet verbinden met MQTT-broker: {e}")
        return None, None


Daarnaast had ik een probleem met de USB connectie van de warmtepomp. Bleek ik deze gewoon te moeten herstarten. Zodat deze gekoppeld kon worden met de Raspberry Pi. Toen kon het feest beginnen. Ik heb een mqtt_warmtepomp.yaml gemaakt, waar ik alle parameters in stop. Ik heb verder geen doorstroomverwarmer, maar bij mijn ouders wel. Dan kan ik deze mooi overzetten.

[ Voor 6% gewijzigd door Simpel78 op 09-04-2025 21:46 ]


Acties:
  • 0 Henk 'm!

  • gokhan66
  • Registratie: Oktober 2011
  • Laatst online: 24-06 18:37
Tof dat het uitlezen van je warmtepomp werkt! Om je verder op weg te helpen heb ik mijn warmtepomp materiaal bij elkaar gezocht. Let op, ik ben zelf nog aan het knutselen met de Home Assistant code, dus er kunnen nog wat foutjes in zitten:
Bekijk hier mijn warmtepomp verzameling

Acties:
  • 0 Henk 'm!

  • Simpel78
  • Registratie: Januari 2007
  • Laatst online: 18:51
Ik vroeg mij af welke thermostaat je gebruikt. Daarnaast krijg ik de warmtepomp_dhw_status nog niet goed. Geeft deze wel de juiste info? Wat ik graag nog zou willen is de ventilator lager en hoger kunnen zetten via ha. bv door in de zomer deze s'nachts sneller te laten draaien.

Daarnaast heb ik twijfels of dit wel werkt:

2025-04-16 15:38:11,295 - warmtepomp - INFO - Besturingscommando uitvoeren: ^set memory.DHWMode=2
2025-04-16 15:38:11,647 - warmtepomp - INFO - Commando succesvol uitgevoerd. Reactie: ?[L22:E21]^set memory.DHWMode=2<0A>
2025-04-16 15:38:27,362 - warmtepomp - INFO - Verzenden van 50 datapunten voor categorie 'memory'

Acties:
  • 0 Henk 'm!

  • gokhan66
  • Registratie: Oktober 2011
  • Laatst online: 24-06 18:37
Simpel78 schreef op woensdag 16 april 2025 @ 15:39:
Ik vroeg mij af welke thermostaat je gebruikt. Daarnaast krijg ik de warmtepomp_dhw_status nog niet goed. Geeft deze wel de juiste info? Wat ik graag nog zou willen is de ventilator lager en hoger kunnen zetten via ha. bv door in de zomer deze s'nachts sneller te laten draaien.

Daarnaast heb ik twijfels of dit wel werkt:

2025-04-16 15:38:11,295 - warmtepomp - INFO - Besturingscommando uitvoeren: ^set memory.DHWMode=2
2025-04-16 15:38:11,647 - warmtepomp - INFO - Commando succesvol uitgevoerd. Reactie: ?[L22:E21]^set memory.DHWMode=2<0A>
2025-04-16 15:38:27,362 - warmtepomp - INFO - Verzenden van 50 datapunten voor categorie 'memory'
Ik heb Honeywell DT2M thermostaten. De DHW status doet volgens mij niet zoveel, ik maak er geen gebruik van in mijn dashboard in iedergeval. De DHWmode maak ik wel dagelijks gebruik van om mijn boiler te verwarmen wanneer de zon schijnt. Veranderd de mode nummer wel als je via mqttexplorer kijkt en je het met de hand veranderd op het schermpje van de warmtepomp?

Acties:
  • 0 Henk 'm!

  • Snamkob1994
  • Registratie: Juli 2010
  • Laatst online: 23:11
Simpel78 schreef op woensdag 16 april 2025 @ 15:39:
Ik vroeg mij af welke thermostaat je gebruikt. Daarnaast krijg ik de warmtepomp_dhw_status nog niet goed. Geeft deze wel de juiste info? Wat ik graag nog zou willen is de ventilator lager en hoger kunnen zetten via ha. bv door in de zomer deze s'nachts sneller te laten draaien.

Daarnaast heb ik twijfels of dit wel werkt:

2025-04-16 15:38:11,295 - warmtepomp - INFO - Besturingscommando uitvoeren: ^set memory.DHWMode=2
2025-04-16 15:38:11,647 - warmtepomp - INFO - Commando succesvol uitgevoerd. Reactie: ?[L22:E21]^set memory.DHWMode=2<0A>
2025-04-16 15:38:27,362 - warmtepomp - INFO - Verzenden van 50 datapunten voor categorie 'memory'
Voor het handmatig aansturen van de airflow doe ik zelf het volgende:
1. Set "^set vhp.I_AirflowOverwrite=1" sturen om de interne regeling te overrulen
2. Vervolgens kan je een flow setpoint sturen met "^set vhp.I_AirflowSetpoint=100" waar 100 de hoeveelheid airflow is in m3/h

Acties:
  • +1 Henk 'm!

  • Simpel78
  • Registratie: Januari 2007
  • Laatst online: 18:51
Dat werkt idd:

Voor de liefhebber: Ik heb 2 control command toegevoegd:
code:
1
2
3
4
5
6
7
8
9
10
11
        # Airflow controls
    'airflow_override': {
        'command': '^set vhp.I_AirflowOverwrite={}',
        'valid_values': [0, 1],
        'description': 'Airflow regeling handmatig aan/uit'
    },
    'airflow_setpoint': {
    'command': '^set vhp.I_AirflowSetpoint={}',
    'valid_values': list(range(100, 351, 10)),  # 100–350 m³/h, stappen van 10
    'description': 'Luchtdebiet instellen in m³/h'
}
in de py file op de rasberry.pi

in de mqtt file :

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
template:
  - sensor:
      - name: "Airflow Modus"
        state: >
          {% if states('sensor.airflow_override_status') | int == 1 %}
            Handmatig
          {% else %}
            Automatisch
          {% endif %}
        icon: >
          {% if states('sensor.airflow_override_status') | int == 1 %}
            mdi:fan
          {% else %}
            mdi:fan-auto
          {% endif %}


en tot slot in de automations code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
alias: Nachtventilatie Instellen
triggers:
  - at: "23:00:00"
    trigger: time
  - at: "08:00:00"
    trigger: time
conditions: []
actions:
  - choose:
      - conditions:
          - condition: time
            after: "23:00:00"
            before: "08:00:00"
        sequence:
          - target:
              entity_id: switch.warmtepomp_warmtepomp_airflow_regeling_handmatig_aan_uit
            action: switch.turn_on
            data: {}
          - data:
              entity_id: select.warmtepomp_warmtepomp_luchtdebiet_instellen_in_m3_h
              option: "350"
            action: select.select_option
      - conditions:
          - condition: time
            after: "08:00:00"
        sequence:
          - target:
              entity_id: switch.warmtepomp_warmtepomp_airflow_regeling_handmatig_aan_uit
            action: switch.turn_off
            data: {}
          - data:
              entity_id: select.warmtepomp_warmtepomp_luchtdebiet_instellen_in_m3_h
              option: "100"
            action: select.select_option
mode: single
Dat kun je nog verder uitbreiden naar de wensen van temp binnen en buiten.

Heb trouwens het idee dat dit
code:
1
2
3
4
5
 'memory_dhw_mode': {
        'command': '^set memory.DHWMode={}',
        'valid_values': [0, 1, 2],
        'description': 'Temperatuur instelling (0=45°C, 1=55°C, 2=65°C)'
    },
niet werkt. ik kan het wel uitlezen via
code:
1
2
3
4
5
'memory_dhwecomode': {
    'command': '^get warmtepomp/memory/dhwecomode',  # Alleen uitlezen, geen set-commando
    'valid_values': [0, 1, 2],  # 0 = 45°C, 1 = 55°C, 2 = 65°C
    'description': 'Temperatuurinstelling voor DHW (0=45°C, 1=55°C, 2=65°C)'
}
tot slot de image tot nu toe: Afbeeldingslocatie: https://tweakers.net/i/6Yx1AXQlDvbY2mPknroY5LFipsU=/800x/filters:strip_icc():strip_exif()/f/image/dR75n7YKAEhN5d5WJx1b6wAc.jpg?f=fotoalbum_large


Bij mijn ouders kan ik deze parameter niet uitlezen: warmtepomp/dut/d_airflow zou dan de sensor stuk zijn? De warmtepomp werkt wel gewoon. Hoe ziet zon sensor eruit?

Acties:
  • 0 Henk 'm!

  • Snamkob1994
  • Registratie: Juli 2010
  • Laatst online: 23:11
Ziet er goed uit. Wel zou ik adviseren om een extra fail-safe te maken op de handmatige regeling dat de airflow niet onder het minimum WP debiet komt als de compressor draait.

Normaliter, als je de analoge ingang gebruikt zoals bijvoorbeeld de CO2 sensor, dan pakt de WP zelf de maximale waarde van de 2 (externe sensor en zijn eigen regeling intern) airflows maar in de handmatige mode is dat niet zo. En als deze te laag staat kan de temperatuur van de verdamper te laag worden met bevriezen tot gevolg

Acties:
  • 0 Henk 'm!

  • Simpel78
  • Registratie: Januari 2007
  • Laatst online: 18:51
Ik hou het in de gaten. Voor nu werkt de nachtventilatie prima. ik kan het nu handmatig doen. Maar ik heb deze via een automatisering lopen in HA. Net ging de ventilator weer naar de standaard automatische stand.

Acties:
  • 0 Henk 'm!

  • Intercity
  • Registratie: Juli 2012
  • Laatst online: 09:04
Dank voor het delen van de de scripts en ervaringen @gokhan66 en @Simpel78 :) Het was op deze manier vrij gemakkelijk om de boel aan elkaar te knopen en de waardes naar Home Assistant te krijgen!

Ik hoefde geen installateurs-menu te activeren, het opnieuw opstarten van de pomp was genoeg om de USB COM Port actief te maken. (Geen idee hoe de installateur het achtergelaten heeft, behalve dat ik een schroevendraaier onderin het apparaat tegenkwam toen ik de voorplaat losmaakte om de kabel te verbinden :') )

Ik wil verder alleen meten en voorlopig niet (aan)sturen, dus heb het script een beetje aangepast en alle sturing eruit gehaald om zo te voorkomen dat ik per ongeluk iets doe wat ik niet wil doen.

Wel een vraagje nog, wellicht dat iemand dit weet: ik zit hier in een huurwoning, de boel is geïnstalleerd met een RF CO2-sensor en ook de luchtvochtigheid is uit te lezen via de app van de Eva thermostaat. Alleen volgens mij gaan die metingen zelf niet terug de warmtepomp in, en wordt bijv. de CO2-meting in de RF-sensor alleen gebruikt om direct de ventilatie aan te sturen. Maar dat is een aanname. Ik heb verder nog niet gekeken of er nóg meer waardes zijn uit te lezen dan wat er in het script al aangeboden wordt, maar wellicht dat iemand dit toevallig al uitgezocht heeft :)

Acties:
  • 0 Henk 'm!

  • Intercity
  • Registratie: Juli 2012
  • Laatst online: 09:04
Snamkob1994 schreef op zaterdag 21 december 2024 @ 11:51:
Elk commando moet worden afgesloten met een line feed (LF)-teken. De volgende keywords worden geaccepteerd (stuur ook niet de < > tekens):
  • device
  • dut
  • memory
  • sensor
  • vhp
  • dhw
  • flowheater
  • thermostat
  • opentherm
  • wtwd
  • heat_demand
  • power_pulse
  • sdp
  • system_check
  • fan_ctrl
  • flow_power
Met bijvoorbeeld het commando "^csv header device" reageert de MA met alle datavelden in een comma-separated string. Vervolgens krijg je met het commando "^csv values device" alle data die bij deze datavelden hoort.
Voor de liefhebber dit heb ik nog even verder bekeken om te kijken of er nog wat meer informatie uit te halen is. Via minicom een seriële verbinding totstandgebracht.

Met onderstaand commando krijg je een lijst terug van alle 'hoofd'-waardes die je kan uitlezen :)
code:
1
^sys components

Naast de hierboven genoemde had ik er twee extra: vent_cooling & vhp_pmpctrl (Die je dus weer op de ^csv header vent_cooling en ^csv values vent_cooling etc. kan uitlezen.)

Het enige wat ik nog niet heb is een duidelijke betekenis van bepaalde waardes. Een groot deel is af te leiden uit de naam. Maar in sdp komt bij mij bijvoorbeeld de header 'S_K' terug met een value van 4200. Maar nog geen idee wat het zou moeten betekenen.

Acties:
  • +1 Henk 'm!

  • tweakpat1
  • Registratie: Juli 2019
  • Laatst online: 26-06 23:25
Even een vraag van een mede tweaker die probeert om de Modul-air aan HA te koppelen.
Ik heb heb het python script draaien op een RPI. deze maakt connectie naar de MQTT broker van HA. deze zou volgens de logs van de MQTT broker geaccepteerd worden, echter er is geen status data te zien binnen HA. deze blijft op unknown staan. Zie ik iets over het hoofd. Kunnen jullie helpen.

Alvast bedankt voor de input.

Update: Het werkt. weet niet waarom maar ineens kwam de data binnen Via mqtt-explorer te zien.

[ Voor 10% gewijzigd door tweakpat1 op 26-05-2025 12:48 ]


Acties:
  • 0 Henk 'm!

  • tweakpat1
  • Registratie: Juli 2019
  • Laatst online: 26-06 23:25
Toch nog even een vraag aan mede Modul-air gebruikers in de combi versie.

Bij een Modul-air combi variant, hoe werkt dan de wekelijkse legionella behandeling als de combi versie geen heater element ondersteund. Met andere woorden alleen de warmtepomp krijgt de temp. niet boven de 58 a 59 graden uit.
Of zijn er toch mogelijkheden om een heater element aan te sluiten en te laten werken.
Volgens de installateurs handleiding werkt een externe heater element alleen met een All-E variant.
Hoe hebben jullie dat opgelost.

Alvast bedankt voor de input.

Acties:
  • 0 Henk 'm!

  • Simpel78
  • Registratie: Januari 2007
  • Laatst online: 18:51
Dat klopt. Maar volgens mij heb je bij een combi-ketel ook een cv-ketel nodig die het water verder verwarmt. Zelf heb ik mijn combi-ketel half all-electric gemaakt, met een verwarmingselement, zodat ik ‘m meer als een zonneboiler kan gebruiken. Dat werkt perfect. Het eerste deel wordt verwarmd door de compressor, en de laatste 10 graden (tot ongeveer 55-65 °C) gebeuren via het verwarmingselement, vooral in de zomer.

In het voor- en najaar, en in de winter, is het nog even zoeken wat de beste voorkeuren zijn. Voor de combi moet je de stekker wel op 3-fase aansluiten en er een werkschakelaar naast zetten. Ook moest ik mijn meterkast aanpassen, maar verder loopt alles prima.

Misschien komt er in de toekomst nog een doorstroomverwarmer bij, al denk ik dat die uiteindelijk weer vervangen wordt door een variant met extra buitenlucht.
Pagina: 1 2 Laatste