« Heizung, Lüftung, Klima  |

WW mit Homeassistant und NIBE S1155

     
Teilen: facebook    whatsapp    email
Zusammenfassung anzeigen (Beta)
 1  2 ...... 3  4  5  6 
  •  scarpej
  •   Bronze-Award
13.2. - 1.12.2024
106 Antworten | 11 Autoren 106
8
114
Hallo zusammen, 

hier möchte ich eine Möglichkeit vorstellen, wie man mit Hilfe von Homeassistant(HA) WW bereiten kann. Sinn des Ganzen ist es, die Nachteile, die beim Laden durch die Boardmittel der Nibe-Bereitermethoden entstehen, zu reduzieren bzw. zu vermeiden. 

Eines vorweg - leider funktioniert es noch nicht zuverlässig und rund. Bisher habe ich nur den Status der technischen Machbarkeit erreicht - soll heißen hier ist noch viiiiel Platz für Verbesserungen und Anregungen, was als Einladung für alle zu verstehen ist,  mitzumachen emoji

Urspüngliche Intention:

Gestartet habe ich mit dem Thema, weil ...
- ...wir zu viele WW WW [Warmwasser]-Takte hatten (wir brauchen aber auch extrem viel WW WW [Warmwasser]) und ich diese so gut wie mögich reduzieren wollte

- ...die Startgrenze für die WW WW [Warmwasser]-Bereitung wider alle Konfigurationsversuche bei uns nicht unter 32 Grad zu kriegen war

- ...mir der Rücklauf mit 32-34 Grad viel zu warm war und ich meine dass hier noch etwas an Effizienz zu heben ist

- ...manchmal die Starttemperatur von 32 Grad am BT6 dazugeführt hat, dass die Zapftemperatur bereits unter 42,5 war, was uns viel zu kalt ist, besonders wenn der Speicher länger unbenutzt gestanden ist

- ...manchmal die Starttemperatur 32 Grad am BT6 viel zu hoch war, und die WW WW [Warmwasser]-Bereitung schon gestartet wurde, obwohl BT7 noch 44++ Grad hatte

- ... ich nicht möchte, dass der Vorlauf gegen 55 Grad und noch mehr schießt - besonders zu Taktende

- ... es einfach in Summe sehr schwierig war/ist, die für uns geeignete Einstellungen zu finden emoji

Kurzum: Ich will das WW WW [Warmwasser] so gut es geht optimieren --> Maximaler Komfort bei minimalem Stromverbrauch - ob es gelingt, weiss ich noch nicht, aber schaun wir mal emoji

Die Idee ist es, einen möglichst gleichmäßigen WW WW [Warmwasser]-Vorlauf zu erhalten, der bis zum erreichen der Stopptemperatur möglichst konstant ist und zum Schluss des Taktes nicht nach oben schießt.

Also genau das nicht...

_aktuell/20240213344763.png

...sondern ohne diese Spitze im VL VL [Vorlauf] zum Schluss, ,mit geringerem RL RL [Rücklauf] usw...

Um das zu erreichen habe ich 4 Automatisierungen "modular" gebaut, wobei jede eine Aufgabe erfüllt. Modular deshalb, um die Effekte einfacher aktivieren/deaktivieren zu können.
Die Einstellungen der WP WP [Wärmepumpe]:
normaler Modus bei WW WW [Warmwasser] --> Bereiterleistung auf 7kW (um diese reduzieren zu können - ist eh zu hoch)
Bereitermethode Zieltemperatur --> aber eh egal
Pumpe Fix 3% - damit der Takt nicht gar zu lange dauert

Trigger 1. WW Start - 
Prüft, ob BT7 (Warmwasser oben) zu kalt wird (derzeit 42,5 Grad). Wenn dem so ist, wird die WW WW [Warmwasser]-Starttemperatur BT6 auf 38 Grad
gesetzt, um die WW WW [Warmwasser]-Bereitung sicher zu starten.

Trigger 2. WW Reset
Sobald BT7 (Warmwasser oben) 45 Grad überschreitet, wird der Startwert für die Warmwasserbereitung auf 25 Grad zurückgesetzt. Es soll verhindert werden, dass die Nibe von selbst auf die Idee kommt, die WW WW [Warmwasser]-Bereitung zu starten, sofern noch genug WW WW [Warmwasser] oben vorhanden ist (Siehe Trigger 1). Der Wert kann auch tiefer gesetzt werden.

Trigger 3. WW Aktiviere Verdichtersperre
Dieser Trigger aktiviert den Sperrbereich 1 des Verdichters, sobald die WW WW [Warmwasser]-Bereitung gestartet wird. Nach der WW WW [Warmwasser]-Bereitung wird der Sperrbereich wieder deaktiviert.

Trigger 4. WW Setze Verdichterstartfrequenz 
Dieser Trigger sollte einen Startwert für die Verdichterfrequenz zu Beginn des WW WW [Warmwasser]-Taktes setzen -  derzeit funktioniert dieser leider nicht.

Trigger 5. WW Vorlauftemp halten
Versucht durch Anpassung des Verdichtersperrbereiches, die Vorlauftemperatur zwischen den angegebenen Grenzen (min 49 Grad , max 51 Grad) zu halten.
Dazu werden 2 Skripte verwendet 
- ww_dec_verdichter --> setzt den Sperrbereich 1 des Verdichters um 1 Hz nach unten
- ww_inc_verdichter --> setzt den Sperrbereich 1 des Verdichters um 1 Hz nach oben
Die Skripte werden in Abhängigkeit der VL VL [Vorlauf]-Temperatur alle 2 Minuten aufgerufen.

Wenn man die Automatisierungen bis auf Trigger 4 laufen lässt, dann erreicht man folgende Kurve:


_aktuell/20240213136695.png
Hier die zugehörigen Hz für den Zeitbereich 

_aktuell/20240213451017.png

Und man erkennt schon das erste Problem: HA ist abgesemmelt ca um 15:00 Uhr. Dieses Verhalten scheint mit der dauerhaften Aktivierung von Trigger 5 aufzutreten - nicht immer aber doch merkbar. Mal sehen ob ich das anders lösen oder fixen kann. Aber zuerst müsste ich mal der Ursache auf die Schliche kommen...
Auch "verschwindet" die Nibe dann ganz gern aus HA und man muss die Entität in HA neu laden... Gleich eines vorweg: Normalerweise ist HA sehr stabil und verliert die Nibe nicht.

Aber egal:
- Die Starttemperatur für den WW WW [Warmwasser] Takt war nun deutlich niedriger (26,0)
- Die Pumpe war sofort auf 3%
-Der VL VL [Vorlauf] pendelt gleich zwischen 48,9 und 52,3 - leider springt da die Nibe genau bei den Zacken über den internen Sperrbereich und regelt daher + 10Hz - 10Hz. Danach wurde der intene Sperrbereich verlassen und die Kurve wird glatter. 
- Gegen Ende des Taktes wir die Verdichterfrequenz reduziert und dann
ist HA leider datentechnisch abgesemmelt - > keine Daten bis ich am Abend reloaded habe...

von lewurm, Lemberger

  •  scarpej
  •   Bronze-Award
13.2.2024  (#1)
Hier die Codes der Skripte :

Skripte
ww_inc_verdichter:
  sequence:
  - service: number.set_value
    data:
      entity_id: number.blockfreq_1_start_40946
      value: '{{ states(''number.blockfreq_1_start_40946'') | int(65) + 1 }}'
ww_dec_verdichter:
  sequence:
  - service: number.set_value
    data:
      entity_id: number.blockfreq_1_start_40946
      value: '{{ states(''number.blockfreq_1_start_40946'') | int(65) - 1 }}'


1
  •  scarpej
  •   Bronze-Award
13.2.2024  (#2)
So, bei den Automatisierungen habe ich nun ein Problem: Ich habe Device-Trigger verwendet. Diese sind spezifisch für meinen Host --> D.h. leider könnte ihr diese nicht importieren, ohne diese an eure händisch anzupassen. 
Nicht einmal als Skeleton wäre jetzt der Code brauchbar...
Das ärgert mich jetzt, vielleicht kennt jemand von euch einen Weg, wie ich die Automatisierungen posten kann, so dass ihr sie nachbauen könnt?

1
  •  scarpej
  •   Bronze-Award
13.2.2024  (#3)
so, hab nun doch noch eine Lösung: Habe die Device Trigger auf Entities umgeschrieben. Jetzt gibts keinen IDs mehr, außer jene der Automatisierungen selbst. Diese könnt ihr lassen bzw. bei Konflikt auf eine beliebige andere Nummer ändern - sie muss bei euch im System nur eindeutig sein. 

Der Code _sollte_ laufen, ist allerdings jetzt nach der Umstellung auf Entities nur ganz schnell durchgetestet. Wir werden morgen sehen, ob der WAF-Test beim Duschen positiv ausfällt emoji

Hier die 4 Automatisierungen - die nicht funktionierende 4te habe ich entfernt. Den Code unten könnte ihr im besten Fall einfach in eure automations.yaml dazu einfügen und schon sollten die 4 neue Automatisierungen vorhanden sein --> Achtung es sind alle aktiv!

- id: '1695980262857'
  alias: Trigger WW WW [Warmwasser] 3. Aktiviere Verdichtersperre
  description: Begrenzt die Verdichterfrequenz auf durch Sperrbereich 1 festgelegten
    Wert, sobald Warmwasser gemacht wird. Der Sperrbereich 1 wird nach Beendigung
    des Current Status Warmwasser wieder deaktiviert. Dieser Trigger ist unabhängig
    von den anderen WW WW [Warmwasser] Triggern
  trigger:
  - platform: state
    entity_id:
    - sensor.current_status_31121
  condition: []
  action:
  - choose:
    - conditions:
      - condition: and
        conditions:
        - condition: numeric_state
          entity_id: sensor.current_status_31121
          above: 2105300
          below: 2105399
      sequence:
      - service: switch.turn_on
        metadata: {}
        data: {}
        target:
          entity_id: switch.blockfreq_1_activated_40944
    - conditions:
      - condition: or
        conditions:
        - condition: numeric_state
          entity_id: sensor.current_status_31121
          below: 2105300
          above: 0
        - condition: numeric_state
          entity_id: sensor.current_status_31121
          above: 2105399
      sequence:
      - service: switch.turn_off
        metadata: {}
        data: {}
        target:
          entity_id: switch.blockfreq_1_activated_40944
  mode: single
- id: '1706686840079'
  alias: Trigger WW WW [Warmwasser] 1. Start
  description: "Prüft, ob BT7 (Warmwasser oben) zu kalt wird (siehe Wert in Bedingung
    default 42,5 Grad). Wenn dem so ist, wird die WW WW [Warmwasser]-Starttemperatur BT6 auf 38 Grad\n
    \ gesetzt, was einen Start des Warmwasserprozesses sehr wahrscheinlich macht,
    sofern BT6 unter 38 Grad liegt.  Diese Automatisierung arbeitet zusammen mit Trigger
    WW 2. Reset"
  trigger:
  - platform: state
    entity_id:
    - sensor.hot_water_top_bt7_30009
  condition: []
  action:
  - choose:
    - conditions:
      - condition: and
        conditions:
        - condition: numeric_state
          entity_id: sensor.hot_water_top_bt7_30009
          below: 42.5
      sequence:
      - service: number.set_value
        metadata: {}
        data:
          value: '38'
        target:
          entity_id: number.start_temperature_hw_normal_temperature_40060
  mode: single
- id: '1706687582757'
  alias: Trigger WW WW [Warmwasser] 2. Reset
  description: Sobald BT7 (Warmwasser oben) 45 überschreitet, wird der Startwert für
    die Warmwasserbereitung auf 25 Grad zurückgesetzt. Dieser Trigger arbeitet zusammen
    mit Trigger WW WW [Warmwasser] 1. Start
  trigger:
  - platform: state
    entity_id:
    - sensor.hot_water_top_bt7_30009
  condition: []
  action:
  - choose:
    - conditions:
      - condition: and
        conditions:
        - condition: numeric_state
          entity_id: sensor.hot_water_top_bt7_30009
          above: 45
        - condition: numeric_state
          entity_id: sensor.current_status_31121
          above: 2105300
          below: 2105399
          alias: Wenn Warmwasser gemacht wird
      sequence:
      - service: number.set_value
        metadata: {}
        data:
          value: '25'
        target:
          entity_id: number.start_temperature_hw_normal_temperature_40060
  mode: single
- id: '1707665302030'
  alias: Trigger WW WW [Warmwasser] 5. Vorlauftemp halten
  description: Versucht durch Anpassung des Verdichters, die Vorlauftemperatur zwischen
    den angegebenen Grenzen (min 49 Grad , max 51 Grad) zu halten
  trigger:
  - platform: state
    entity_id:
    - sensor.supply_temperature_sensor_eb100_bt2_31691
  - platform: time_pattern
    minutes: /2
  condition: []
  action:
  - choose:
    - conditions:
      - alias: Wenn WW WW [Warmwasser] gemacht wird und Vorlauf zu niedrig
        condition: and
        conditions:
        - condition: numeric_state
          entity_id: sensor.current_status_31121
          above: 2105300
          below: 2105399
          alias: Wenn Warmwasser gemacht wird
        - condition: numeric_state
          entity_id: sensor.supply_temperature_sensor_eb100_bt2_31691
          below: 49
      sequence:
      - service: script.ww_inc_verdichter
        data: {}
        alias: Erhöhe Verdichterleistung
    - conditions:
      - alias: Wenn WW WW [Warmwasser] gemacht wird und Vorlauf zu hoch
        condition: and
        conditions:
        - condition: numeric_state
          entity_id: sensor.current_status_31121
          above: 2105300
          below: 2105399
          alias: Wenn WW WW [Warmwasser] gemacht wird
        - condition: numeric_state
          entity_id: sensor.supply_temperature_sensor_eb100_bt2_31691
          above: 51
      sequence:
      - service: script.ww_dec_verdichter
        data: {}
        alias: Reduziere Verdichterleistung
  mode: single


2


  •  scarpej
  •   Bronze-Award
13.2.2024  (#4)
Ach ja:
Skripte in die scripts.yaml einfügen
Automatisierungen in die automations.yaml einfügen 

emoji
Ich würde mich über regen Austausch zur Weiterentwicklung/Stabilisierung und Optimierung dieser Automatisierungen freuenemoji

LG Daniel 

1
  •  mampfgnom
  •   Bronze-Award
13.2.2024  (#5)
Ich bin gespannt, was hier rauskommt. Gegen 14:00 in dem Diagramm läuft Trigger 5 oder? Die Frequenzänderungen sehen aber nicht aus wie 1 Hz Schritte. Liegt das nur an der Daten Aggregation in Grafana?

Ich selber nutze die Nibe Integration nicht in HA, weil ich sie zu spät entdeckt habe. In deinen Skripten änderst du einen "number" Helfer. Wo passiert die Rückkopplung/Synchronisation mit der WP WP [Wärmepumpe]? Also wenn sich die number ändert, wo wird das entsprechende Register geschrieben? So würde ich das händisch machen. Kann sich dabei vielleicht die Integration aufhängen?

Wofür steht die 65 in "int(65)"? Das ist der Fallback-Wert, falls das Konvertieren zu integer nicht klappt oder? Kann es passieren, dass dieser Wert geschrieben wird bzw. 65-1=64 und ist das schon interner Sperrbereich und deswegen problematisch? Letzteres ist eine wilde These. 

1
  •  scarpej
  •   Bronze-Award
13.2.2024  (#6)

zitat..
mampfgnom schrieb: Gegen 14:00 in dem Diagramm läuft Trigger 5 oder?

Ja es läuft Trigger 5, aber bereits ab 12. Dieser zieht die Frequenz direkt in der steilen Kurve rauf.
Das dauert allerdings ca 30 Minuten, daher wollte ich Trigger 4 machen, der gleich nach WW WW [Warmwasser]-Taktbeginn einfach mal mit 50 Hz anfängt. Da semmelt das Ding dann aber komplett. Ich hab festgestellt, wenn die Verdichtersperren verdreht werden, ist er recht empfindlich :-/


zitat..
mampfgnom schrieb: Die Frequenzänderungen sehen aber nicht aus wie 1 Hz Schritte. Liegt das nur an der Daten Aggregation in Grafana?

exakt.


zitat..
mampfgnom schrieb: Ich selber nutze die Nibe Integration nicht in HA, weil ich sie zu spät entdeckt habe. In deinen Skripten änderst du einen "number" Helfer. Wo passiert die Rückkopplung/Synchronisation mit der WP WP [Wärmepumpe]? Also wenn sich die number ändert, wo wird das entsprechende Register geschrieben?

Ich bin mir nicht sicher, ob ich die Frage richtig verstehe, aber die Rückkoppelung passiert tatsächlich erst beim nächsten Zyklus, bei dem HA mit der WP WP [Wärmepumpe] spricht. Das passiert in der Integration bzw. handelt das das OS. Zwar werden die Werte in der Oberfläche des HA sofort aktualisiert, allerdings kann es schon sein, dass ein Befehl verloren geht. Das ist aber nicht weiter dramatisch, dann halt bei nächsten Poll...


zitat..
mampfgnom schrieb: Wofür steht die 65 in "int(65)"? Das ist der Fallback-Wert, falls das Konvertieren zu integer nicht klappt oder?

exakt


zitat..
mampfgnom schrieb: Kann es passieren, dass dieser Wert geschrieben wird bzw. 65-1=64 und ist das schon interner Sperrbereich und deswegen problematisch? Letzteres ist eine wilde These. 

Ich möchte es nicht ausschließen, aber eher nicht. Man sieht ja in der Kurve am Anfang, dass der interne Sperrbereich übersprungen wird - von der NIBE. Meine Steuerung ist da ganz blöd... die iteriert einfach in 1er Schritten hoch/runter , bis wir wieder außerhalb des Sperrbereiches sind --> Er setzt also rund 10 mal Befehle im Sperrbereich ab...
Ich will es aber nicht ausschließen -> werde gezielt drauf testen emoji Danke emoji




1
  •  lewurm
  •   Bronze-Award
13.2.2024  (#7)
Danke für die Ideen und das Teilen! 🙂

zitat..
scarpej schrieb: Ich würde mich über regen Austausch zur Weiterentwicklung/Stabilisierung und Optimierung dieser Automatisierungen freuenemoji

das hab ich mich auch schon gefragt wie man das ordentlich macht mit HA.  So YAML Codestückerl hin- und herschicken ist eher meh.  Eventuell als Integration?
 
Zum eigentlichen Thema: Ich hab was ähnliches wie du aber in einer abgespeckten Variante, also einen Trigger der den WW WW [Warmwasser] Takt startet und einen zweiten der ihn wieder abbricht.  Die Leistung ist auf 3kW fixiert, Strategie auf Zieltemp und Drehzahl auf Auto. Ich hab Anfangs auch mit fixer Drehzahl herumgespielt, aber es klappt mit Auto eh auch gut. Und meinem Verständnis nach verhält es sich dann oben hin wie ein "Durchlauferhitzer" wenn man die Zieltemp Variante fährt.  Mein Ziel ist es den richtigen Sweetspot zu finden um im Sommer möglichst wenige Takte zu haben, aber beim Duschen oder Badewanne einlassen keine Beschwerden zu bekommen 😉

Die Konditionen fürs Starten sind:

  • bt6 muss unter 31 °C sein
und dann eines von den folgenden:
  • wenn bt7 unter 38.5 °C fällt (sitzt bei meinem Speicher relativ weit unten)
  • wenn bt6 unter 18 °C fällt
  • wenn bt6 unter 29 °C fällt und die "Entladerate" über die letzten fünf Minuten unter -0.8 °C/min fällt


start/stop werden dann auf 36/44 °C gesetzt.  Wenn bt6 40°C erreicht, werden start/stop auf 10/14°C gesetzt.

Der letzte Fall ist meine Strategie eine Badewannefüllung oder einen Langduscher "abzufangen". Wie komm ich zur Entladerate? In der `configuration.yaml` habe ich einen zusätzlichen Sensor hinzugefügt:
sensor:
  - name: derivative_wp_bt6_5min
    source: sensor.hot_water_charging_bt6_30010
    platform: derivative
    round: 3
    unit_time: min
    time_window: "00:05:00"

 
Vielleicht ist das ja was interessantes für Dich.
 
Hier ein Stresstest von Sonntag: Volle Badewanne und dann zwei Duschvorgänge.


_aktuell/20240213813521.png


_aktuell/2024021357693.png
War ein langer WW WW [Warmwasser] Takt 😄 Die Temperaturen haben gepasst, es wurde aber auch schon mal Vormittags aufgetankt, also nicht ganz der Worstcase. Aber was mir augefallen ist: Obwohl Zieltemp eingestellt ist hat die VL VL [Vorlauf] trotzdem Schwankungen. Wenn ich das richtig sehe ist die maximale Spreizung bei 20°C?
Das mit der Verdicherleistung anpassen werd ich mir noch genauer anschauen, das klingt sehr interessant.  Eigentlich will ich den WW WW [Warmwasser] Zyklus möglichst lange ziehen, jetzt gerade in der Übergangszeit, aber mit 2kW auf die Entnahme zu reagieren ist schwierig; ist zu wenig Leistung um als "Durchlauferhitzer" zu dienen, gleichzeitig hab ich mit meiner Strategie auch ein paar "false positives". Z.B. triggert ein kurzer Duschvorgang auch schon diese Kondition für die Entnahmerate. Wenn ich stattdessen die Verdicherleistung pushen könnte wenns knapp wird beim bt7 könnt ich die Trigger niedriger ansetzen...

2
  •  mampfgnom
  •   Bronze-Award
13.2.2024  (#8)
Zu Trigger 4:

aber gerade das sollte einfach sein. Hier mal mein rudimentäres WW WW [Warmwasser]-Skript:

alias: weWW_Verdichter_adaptiv
sequence:
  - variables:
      vg_old: states('sensor.verdichtergrenze_start1')
      temp1: 33
      temp2: 40
      vg0: 71
      vg1: 51
      vg2: 21
  - service: modbus.write_register
    data_template:
      address: 945
      slave: 1
      value: "{{ vg0 | int }}"
      hub: s1255
  - alias: Wait 5s
    delay: 5
  - wait_template: "{% set wwu = states('sensor.wp_ww_unten') | float %} {{ wwu > temp1 }}"
    timeout: "03:00:00"
    continue_on_timeout: false
  - service: modbus.write_register
    data_template:
      address: 945
      slave: 1
      value: "{{ vg1 | int }}"
      hub: s1255
  - alias: Wait 5s
    delay: 5
  - wait_template: "{% set ww = states('sensor.wp_ww_aktiv') | int %} {{ ww == 0 }}"
    timeout: "03:00:00"
    continue_on_timeout: false
  - service: modbus.write_register
    data_template:
      address: 945
      slave: 1
      value: "{{ vg_old | int }}"
      hub: s1255
mode: single

Bei mir ist der Sperrbereich 1 permanent aktiviert. Sperr_Stop_1 liegt immer bei 71Hz. Sperr_start_1 ändere ich während der WWB. Das geht auch sprunghaft. 
 

1
  •  mampfgnom
  •   Bronze-Award
13.2.2024  (#9)

zitat..
lewurm schrieb: Wenn ich das richtig sehe ist die maximale Spreizung bei 20°C?

Das wird von deinen fixen 3kW begrenzt sein. Ich habe schon 30K geschafft. 


1
  •  lewurm
  •   Bronze-Award
13.2.2024  (#10)

zitat..
mampfgnom schrieb:

──────..
lewurm schrieb: Wenn ich das richtig sehe ist die maximale Spreizung bei 20°C?
───────────────

Das wird von deinen fixen 3kW begrenzt sein. Ich habe schon 30K geschafft.

ja das denk ich auch.  Drehzahl war da schon auf 1% runter, wundert mich aber dass es so eine schöne runde Zahl ergibt 😉


1
  •  tepee
  •   Bronze-Award
13.2.2024  (#11)
Sehr interessant, danke @scarpej & Co.!

Ich optimiere ja auch immer wieder an meinem WW WW [Warmwasser]. Habe allerdings nur eine verwandte WP WP [Wärmepumpe], aber mit anderer Steuerung (Luxtronik), die keine Zielwertladung kann und Modbus nur gegen eine saftige Lizenzgebühr bietet. Überlege daher mit Home Assistant und dessen Luxtronik Integration ähnliche Dinge wie ihr hier macht und lese sehr interessiert mit. Aber es dauert sich einzuarbeiten.

@lewurm: 
Hast du eine S1255 und auch den 180l Speicher? Deine Kurven ähneln ziemlich meinen kürzlich geposteten mit 2% Pumpe, begrenztem Verdichter und 2 Badewannen + 1 Dusche am vergangenen Sonntag. Nur dass der VL VL [Vorlauf] bei mir am Ende hochgeht, da keine Zielwertladung möglich und die Pumpe bei 2% bleibt: https://www.energiesparhaus.at/forum-optimierungen-groesserer-ww-speicher-passive-kuehlung-wp-einstellungen/70802_4#796202

Aber will damit nicht zu sehr ablenken von den HA Diskussionen hier 😀

1
  •  ds50
  •   Gold-Award
14.2.2024  (#12)
Nur eine kurze Zwischefrage: Wie oft wird während einer WW WW [Warmwasser] Bereitung dann in den Nibe Speicher geschrieben, und wie verträgt sich das mit den maximalen Schreibzyklen? Immerhin ist die Elektronik ja im Idealfall 40 Jahre im Betrieb... 😉

1
  •  Pedaaa
  •   Gold-Award
14.2.2024  (#13)

zitat..
lewurm schrieb: Zum eigentlichen Thema: Ich hab was ähnliches wie du aber in einer abgespeckten Variante,

die Lösung find ich ziemlich gut.
Aber wie erwähnt, solltest du mehr Leistung zulassen. 4kW schadet auch der AZ noch nicht und dann wäre die VL VL [Vorlauf]-Temp. nicht eingeknickt


1
  •  Ulairi
  •   Bronze-Award
14.2.2024  (#14)
Na bum...harte Lektüre 8:53 und erst ein Kaffee getrunken 😄

Was mir spontan auffällt, der sensor.current_status_31121...sofern ich es richtig im Kopf habe, die Werte (Zahlen) die bei dem Sensor ausgegeben werden sind bei jedem anders oder?

1
  •  lewurm
  •   Bronze-Award
14.2.2024  (#15)

zitat..
tepee schrieb: die keine Zielwertladung kann und Modbus nur gegen eine saftige Lizenzgebühr bietet

Autsch...

zitat..
tepee schrieb: Hast du eine S1255 und auch den 180l Speicher?

Nein, S1155-06 und einen 300l Protherm WP WP [Wärmepumpe] Warmwasserspeicher.  Sieht aber trotzdem ähnlich aus, ja 🙂

zitat..
ds50 schrieb: Nur eine kurze Zwischefrage: Wie oft wird während einer WW WW [Warmwasser] Bereitung dann in den Nibe Speicher geschrieben, und wie verträgt sich das mit den maximalen Schreibzyklen?

Gute Frage, ich probiers mal mit Kaffeesud lesen: Die "Noah" Komponente die auch den Modbus TCP Endpunkt anbietet läuft auf einem Linux 5.15.79 Kernel und verwendet einen eMMC Speicher.  Das hat bad block management recht gut im Griff, da sollte das bissl Modbus schreiben keine Probleme machen wenn auch sonst nicht übermässig herumgespammt wird. Aber keine Ahnung was danach passiert, ich nehm an es gibt noch ein paar andere Komponenten in der Maschine wo die Modbus Register vielleicht durchgeschliefen werden, und die sind vielleicht weniger ausgeklügelt? Wenn man z.B. in 3.1.15 nachsieht, sind da diverse Komponenten (MCB, ASB, BL1, ...) und deren Versionen aufgelistet. Ich hoff mal dass diese selber keinen persisten Speicher haben, und alles von der Noah kommt, aber soweit versteh ich den Aufbau noch nicht.
 

zitat..
Pedaaa schrieb: die Lösung find ich ziemlich gut.
Aber wie erwähnt, solltest du mehr Leistung zulassen. 4kW schadet auch der AZ noch nicht und dann wäre die VL VL [Vorlauf]-Temp. nicht eingeknickt


Ich find den Post gerade nicht mehr, ist aber von einen deinen Kurven inspiriert worden 🙂
Danke, ich spiel mich mal mit 4kW 🙂
 
 
 


1
  •  scarpej
  •   Bronze-Award
14.2.2024  (#16)

zitat..
mampfgnom schrieb: Zu Trigger 4:

aber gerade das sollte einfach sein. Hier mal mein rudimentäres WW WW [Warmwasser]-Skript

... ja dachte ich auch so ähnlich, aber das Problem ist, dass das nicht stabil läuft.
Ich meine, dass er beim Verstellen der Verdichtersperre sehr gerne die Verbindung dauerhaft verliert.
Tatsächlich spiele ich mit 2 Varianten:
Entweder ich versuche zu ermitteln ob die NIBE im HA noch präsent ist und lade die Integration im Fehlerfall neu...

Oder ich versuche mal die Anpassungen über die Pumpe, dann allerdings bei fixer Verdichterleistung -> spielt halt dann gegen die Schichtung. Versuchen werde ich es mal. Vielleicht läuft das dann stabil.

zitat..
ds50 schrieb: Nur eine kurze Zwischefrage: Wie oft wird während einer WW WW [Warmwasser] Bereitung dann in den Nibe Speicher geschrieben, und wie verträgt sich das mit den maximalen Schreibzyklen? Immerhin ist die Elektronik ja im Idealfall 40 Jahre im Betrieb... 😉

Ja, sehr berechtigter Einwand. Was waren es? 1.Mio Schreibzyklen?
Im Moment dauert eine WW WW [Warmwasser] Bereitung ca 180 Minuten --> alle 2 Minuten wird geschrieben = 90 mal am Tag. 1 Mio/365/90 = 30 Jahre...
Das könnte man strecken, da alle 2 Minuten den VL VL [Vorlauf] zu adaptieren vielleicht nicht notwendig ist, es reicht wahrscheinlich auch alle 4 Minuten. 
Allerdings darf es dann halt echt nur eine WW WW [Warmwasser]-Bereitung am Tag geben... wenn du bei 2-3 WW WW [Warmwasser]-Takten bist ist halt dementsprechend bald Ende... Vielleicht gibts auch hier noch eine bessere Lösung. --> Die Pumpvariante, glaub ich, könnte weniger Anpassungen des VL VL [Vorlauf] nötig machen und so die Schreibzyklen drastisch reduzieren...

Hat da jemand einen Link zu dem Thema Schreibzyklen? Das ist noch auf meiner TODO-Liste...

zitat..
Ulairi schrieb: Was mir spontan auffällt, der sensor.current_status_31121...sofern ich es richtig im Kopf habe, die Werte (Zahlen) die bei dem Sensor ausgegeben werden sind bei jedem anders oder?

... ja exakt. Hab ich im Code in der geposteten Version vergessen zu markieren, sorry--> In der ersten Version, die ich wieder gelöscht habe (da Device Trigger verwendet) hab ich es noch  im Code markiert. Hier bitte einfach die eigenen Werte ermitteln und eintragen.

Ich werde demnächst die Pumpen-Version bauen (heute nicht emoji ) und mal schaun ob das dann stabil läuft... Vielleicht mag einer die hier gepostete Variante mal testen, ob das Problem nur bei mir auftritt oder eher struktureller Natur ist... 

LG Daniel


1
  •  scarpej
  •   Bronze-Award
14.2.2024  (#17)

zitat..
lewurm schrieb: um eigentlichen Thema: Ich hab was ähnliches wie du aber in einer abgespeckten Variante, also einen Trigger der den WW WW [Warmwasser] Takt startet und einen zweiten der ihn wieder abbricht.  Die Leistung ist auf 3kW fixiert, Strategie auf Zieltemp und Drehzahl auf Auto. Ich hab Anfangs auch mit fixer Drehzahl herumgespielt, aber es klappt mit Auto eh auch gut. Und meinem Verständnis nach verhält es sich dann oben hin wie ein "Durchlauferhitzer" wenn man die Zieltemp Variante fährt.  Mein Ziel ist es den richtigen Sweetspot zu finden um im Sommer möglichst wenige Takte zu haben, aber beim Duschen oder Badewanne einlassen keine Beschwerden zu bekommen 😉

Ja, eh sehr ähnlich zu dem was ich bauen möchte - hier gehen mir nur die 3-4 Minuten Pumpe auf 70% auf den Wecker. Das bläst durch die Schichtung im Greenwater, dass es eine Freude ist :-/ Ansonsten wäre das eh genau das Richtige.

Mal schaun ob ich das mit der Pumpe nachbauen kann .. sollte nicht so schwer sein emoji

EDIT:Eigentlich müsste ich nur in den beiden Skripten die Sperrbereichsentität gegen die Pumpe austauschen -  also 2 Minuten ohne testen :-D

EDIT_EDIT: und ich muss die Logik in der Automatisierung umdrehen. Pumpe erhöhen wenn VL VL [Vorlauf] zu warm, Pumpe senken wenn VL VL [Vorlauf] zu niedrig ...
Doch mehr als 2 Minuten emoji

1
  •  Pedaaa
  •   Gold-Award
15.2.2024  (#18)

zitat..
scarpej schrieb: hier gehen mir nur die 3-4 Minuten Pumpe auf 70% auf den Wecker. Das bläst durch die Schichtung im Greenwater, dass es eine Freude ist :-/ Ansonsten wäre das eh genau das Richtige

ja, die 70% nerven tatsächlich.
Hab mir wegen dem ja extra ein Umschaltventil im WW WW [Warmwasser]-VL eingebaut, damit während dem "kalten Schwall" der VL VL [Vorlauf] weiter unten eingeleitet wird, und erst wenn Zieltemp. erreicht wird, nach oben umgeschalten wird.

Aber ich hab ja auch einen Friwa Puffer, da ist die schöne Einleitung des Wassers viel wichtiger, um keine Schichtungen zu zerstören.
Beim Greenwater hast du ja eh eine Wand dazwischen, da wird nicht gleich direkt durchmischt und umgerührt.
Bei einer Rohrwendel ists nochmal unkritischer.
Ich würds einfach mal probieren. Denke nicht, dass du dir mit dem kalten Schwall jetzt richtig merklich viel kaputt machst.
Am Besten mal den BT7 ganz oben draufkleben (falls nicht eh schon passiert) WW Ladung bewusst auslösen, wenns oben im Speicher noch heiß ist und beobachten, ob BT7 etwas einbricht oder nicht

Wenn das gut klappt, ist die Strategie ala @lewurm doch ein Stück einfacher. Und die Eingriffe bleiben Überschaubar, weil den größten Teil übernimmt dann eh der Nibe Regler

1
  •  lewurm
  •   Bronze-Award
15.2.2024  (#19)
Naja, mit Auto Speed hab ich schon einen sichtbaren Knicks bei BT7 (der ungefähr auf 2/3 Höhe sitzt; ist also nicht wirklich die Zapftemperatur):


_aktuell/20240215424484.png
BT7 fällt von 38.5°C bis auf 34.0°C runter.  Verglichen mit einem fixen Pumenspeed von 3%:



_aktuell/20240215745554.png


da war das Gefälle von 39.8 °C auf 38.5 °C bei BT7.
 
Lösungsvorschlag: die ersten 10min auf fixen Pumpenspeed 2% setzen, dann auf Auto umstellen um die Zieltemp Strategie der Nibe einzuschalten?  Leider hab ich die richtigen Modbus Register auf die Schnelle nicht gefunden. switch.manual_heating_medium_pump_speed_40696 und number.speed_of_circulation_pump_for_hot_water_40218 bewirken bei mir nichts 😕


1
  •  scarpej
  •   Bronze-Award
15.2.2024  (#20)

zitat..
Pedaaa schrieb: Wenn das gut klappt, ist die Strategie ala @lewurm doch ein Stück einfacher. Und die Eingriffe bleiben Überschaubar, weil den größten Teil übernimmt dann eh der Nibe Regler

...ja guter Ansatz!

Wir müssten nur das Problem

zitat..
lewurm schrieb: eider hab ich die richtigen Modbus Register auf die Schnelle nicht gefunden. switch.manual_heating_medium_pump_speed_40696 und number.speed_of_circulation_pump_for_hot_water_40218 bewirken bei mir nichts 😕

lösen. 

Ich habe auch schon die Entitäten mal halbherzig durchgesucht und nichts Wirksames gefunden. Ich kenn zwar die Entität für den Auto/Manuell Modus beim Heizen, aber beim WW WW [Warmwasser] scheinen die da etwas "verschlossener" zu sein. Mal sehen ob wir was finden.

--> In der Variante wäre es natürlich super, weil die ganzen "steuernden" Eingriffe wegfallen würden. 👍

Bei unserem Glück finden wir einen Weg um nach den ersten 5 Minuten die Pumpe wieder auf "Auto" zu stellen und dann fährt sie erst recht wieder mit 70% für ein paar Minuten an 🤡

1
  •  Pedaaa
  •   Gold-Award
15.2.2024  (#21)
das hätt ich mir damals auch gewünscht, aber noch keine Variante gefunden, diesen "kalten Schwall" regelungstechnisch zu unterbinden,
und habs dann halt "mechanisch" gelöst 😉

Aber vielleicht findet ihr was, das wär echt spitze.

1


Beitrag schreiben oder Werbung ausblenden?
Einloggen

 Kostenlos registrieren [Mehr Infos]


next