Acties:
  • +5 Henk 'm!

  • arjan7101
  • Registratie: Augustus 2023
  • Laatst online: 21-08-2024
In dit topic Grafische log analyse tools voor Nibe logs staat hoe je tool "LP logintutkija" kunt gebruiken voor een analyse van de Nibe log bestanden. Hierbij wordt ook de COP berekend. De COP waarde die er staat is geen waarde die direct uit de Nibe warmtepomp wordt gelezen. Het is een theoretisch berekende waarde op basis van de parameters bt3, bt10, bt12, bt14, bt17 en de COP 0/35 en COP 0/45 waarden van de warmtepomp. De COP 0/35 en COP 0/45 waarden kun je voor verschillende soorten warmtepompen vinden in bijv. dit Nibe bestand en dan aanpassen in het configuratiebestand "logintutkija.asetukset" (waarden cop_035 en cop_045) voor een zo nauwkeurig mogelijke COP berekening: https://www.nibe.eu/downl...gus%202020%20LR%20def.pdf

COP formule

Voor de COP berekening is formule 11 op pagina 20 uit dit Fins bouwvoorschriften document gebruikt: https://www.edilex.fi/dat...n_energialaskentaopas.pdf
Afbeeldingslocatie: https://tweakers.net/i/TA2pUXJL5-f43mE8JJkfavoIdcI=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/Wp8VEvymu0EmiTYCEqvlrshm.png?f=user_large

Vertaald:
COPT temperatuur gecorrigeerde warmtecoëfficiënt
COPM gemeten warmtecoëfficiënt onder testomstandigheden
DTLM temperatuurverschil van aanvoer- en retourwater onder testomstandigheden, °C
DTLS temperatuurverschil van aanvoer- en retourwater onder ontwerpcondities, °C
THJ temperatuur van het aanvoerwater van het warmtedistributiesysteem, °C
DTL temperatuurverschil tussen het warmteoverdrachtsmedium en het koelmiddel in de condensor, °C
TLÄH warmtebrontemperatuur, °C
DTH temperatuurverschil tussen het warmteoverdrachtsmedium en het koelmiddel in de verdamper, °C

In "LP logintutkija" is dat op deze manier geïmplementeerd:
https://github.com/karhul...ntutkijaOhjain.java#L1892
Afbeeldingslocatie: https://tweakers.net/i/4sULuEj1rhpZahq2hvKJSa5ltNQ=/800x/filters:strip_exif()/f/image/lGBtVMzoOE5Excan4VuT0b4o.png?f=fotoalbum_large
Hierbij worden de parameters bt3, bt10, bt12, bt14, bt17 uit het Nibe log bestand gebruikt. In het commentaar dat bij de code staat wordt ook BT2 genoemd maar die wordt verder niet gebruikt (er staat BT2 of BT12 dus een van deze twee is goed).

Excel

In Excel kun je deze formule ook gebruiken.
Afbeeldingslocatie: https://tweakers.net/i/p6N6qmAKD8xXWpP3kQsZ8PgdGCg=/800x/filters:strip_exif()/f/image/Y3htuwX15MWiytQfNWH1Fzq6.png?f=fotoalbum_large

In mijn Nibe log bestand staan de parameters bt3, bt10, bt12, bt14 en bt17 in de volgende kolommen:
G = EB100-EP14-BT3(40012) = BT3
J = EB100-EP14-BT10(40015) = BT10
L = EB100-EP14-BT12(40017) = BT12
M = EB100-EP14-BT14(40018) = BT14
N = EB100-EP14-BT17(40022) = BT17

In iedere rij heb ik ook de COP 0/35 en COP 0/45 waarden steeds toegevoegd.
AD = COP_0/35
AE = COP_0/45

Deze formule gaat uit van nog niet gedeelde waarden! Als de waarden al gedeeld zijn door de deelfactoren die op de eerste regel van het Nibe log bestand staan dan werkt onderstaande formule niet (iets verderop een oplossing daarvoor en ook de engelse versie van de formules).

De formule voor de COPT waarde wordt dan (waarden beginnen op rij 3, formule kopiëren naar alle andere regels):
100*(((1-(((45-35)*((L3/10)-35))/100))*AD3)+((((45-35)*((L3/10)-35))/100)*AE3))*(1-(((5-(L3-G3))/2)/((L3-(5/2)+ABS(M3-L3))-(J3-ABS(N3-J3)))))

De COP waarde is: COPT gedeeld door 100.

In de java code van "LP logintutkija" wordt ook nog gekeken naar de compressor frequentie. Als die 0Hz is dan is de COP waarde 0. Om te bepalen of het de COP van het tapwater of de verwarming is wordt gekeken naar de waarden van "Relays PCA-Base(43514)". Als deze 3 of 15 is dan is het tapwater, als deze 3 of 7 is dan is het verwarming.

U = compr. freq. act.(43136)
V = Relays PCA-Base(43514)
AA = COP

COP_tapwater(x10):
=ALS(U3=0;0;ALS(OF(V3=11;V3=15);AA3;0))*10

COP_verwarming(x10):
=ALS(U3=0;0;ALS(OF(V3=3;V3=7);AA3;0))*10

Dit is dan het resultaat:
Afbeeldingslocatie: https://tweakers.net/i/SSmuvMaklvsY0hd1MN05hKuSn3U=/800x/filters:strip_exif()/f/image/fnneuVfd728ang4E88zawfPs.png?f=fotoalbum_large


Hetzelfde log bestand ingelezen in LP logintutkija (alleen de relevante parameters geselecteerd):
Afbeeldingslocatie: https://tweakers.net/i/N4CJVNDDOTl-D3XGe1bCZzL882I=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/gCB7xZvldHJ6RWJwt5R5lU15.png?f=user_large
Afbeeldingslocatie: https://tweakers.net/i/vGsbis9AiUEF3QJcUHf2DxNTG3k=/800x/filters:strip_exif()/f/image/AUyayPWBROwMsaWwVifPIxDY.png?f=fotoalbum_large

Formule die ook werkt als de waarden gedeeld zijn door de deelfactoren
Als je de Excel formule ook wilt gebruiken nadat de waarden gedeeld zijn door de deelfactoren die op de eerste regel van het Nibe log bestand staan dan kun je bijv. kijken naar de waarden van "Calc. Supply(43009)". Dit is de berekende gewenste kamertemperatuur. Ik ga er vanuit dat als deze waarde groter is dan 50 (graden C) dat de waarden dan nog niet gedeeld zijn door de deelfactoren. Om zowel met als zonder gedeelde waarden de COPT waarde te berekenen kun je deze formule gebruiken, die werkt dan in beide situaties (met en zonder delen):

R = Calc. Supply(43009)

=ALS(R3>50;100*(((1-(((45-35)*((L3/10)-35))/100))*AD3)+((((45-35)*((L3/10)-35))/100)*AE3))*(1-(((5-(L3-G3))/2)/((L3-(5/2)+ABS(M3-L3))-(J3-ABS(N3-J3)))));100*(((1-(((45-35)*((L3*10/10)-35))/100))*AD3)+((((45-35)*((L3*10/10)-35))/100)*AE3))*(1-(((5-(L3*10-G3*10))/2)/((L3*10-(5/2)+ABS(M3*10-L3*10))-(J3*10-ABS(N3*10-J3*10))))))

Formules voor de engelse versie van Excel
COPT:
100*(((1-(((45-35)*((L3/10)-35))/100))*AD3)+((((45-35)*((L3/10)-35))/100)*AE3))*(1-(((5-(L3-G3))/2)/((L3-(5/2)+ABS(M3-L3))-(J3-ABS(N3-J3)))))

COPT met en zonder gedeelde waarden:
=IF(R3>50,100*(((1-(((45-35)*((L3/10)-35))/100))*AD3)+((((45-35)*((L3/10)-35))/100)*AE3))*(1-(((5-(L3-G3))/2)/((L3-(5/2)+ABS(M3-L3))-(J3-ABS(N3-J3))))),100*(((1-(((45-35)*((L3*10/10)-35))/100))*AD3)+((((45-35)*((L3*10/10)-35))/100)*AE3))*(1-(((5-(L3*10-G3*10))/2)/((L3*10-(5/2)+ABS(M3*10-L3*10))-(J3*10-ABS(N3*10-J3*10))))))

COP tapwater(x10)
=IF(U3=0,0,IF(OR(V3=11,V3=15),AA3,0))*10

COP verwarming(x10)
=IF(U3=0,0,IF(OR(V3=3,V3=7),AA3,0))*10

[ Voor 4% gewijzigd door arjan7101 op 07-08-2023 23:06 ]


Acties:
  • +5 Henk 'm!

  • iCrOn
  • Registratie: April 2002
  • Laatst online: 21:15
Bedankt voor het delen. Naar aanleiding van je post heb ik eea geautomatiseerd omdat ik de gegeven die in de formules zitten al binnen kreeg via modbus dmv NibePi. Dus gegevens gaan van NibePi naar Home Assistant daar worden ze opgeslagen en met de node-red add-on in HA maak ik de berekening volgens je aangehaalde formule.

En dan rolt er dit uit:
Afbeeldingslocatie: https://tweakers.net/i/I3C6i1fAepujMptukA3fDiyQpBA=/800x/filters:strip_exif()/f/image/qd6kuMrGCMJfgEli0mt5nPMm.png?f=fotoalbum_large

Overzicht van de flow:
Afbeeldingslocatie: https://tweakers.net/i/K0rCCAY12aWP5nhnlYJ3pcy74bQ=/800x/filters:strip_exif()/f/image/Kpt9nASGvIkAIoN2T8q4h9h6.png?f=fotoalbum_large

Flow heb ik op Github gezet.

Acties:
  • 0 Henk 'm!

  • koelkast
  • Registratie: Juni 1999
  • Niet online
iCrOn schreef op maandag 23 oktober 2023 @ 12:52:
Bedankt voor het delen. Naar aanleiding van je post heb ik eea geautomatiseerd omdat ik de gegeven die in de formules zitten al binnen kreeg via modbus dmv NibePi. Dus gegevens gaan van NibePi naar Home Assistant daar worden ze opgeslagen en met de node-red add-on in HA maak ik de berekening volgens je aangehaalde formule.

En dan rolt er dit uit:
[Afbeelding]

Overzicht van de flow:
[Afbeelding]

Flow heb ik op Github gezet.
Top! Ziet er goed uit. Ik gebruik geen node red, maar ik las al dat @magnetx3 mogelijkheden ziet om de boel in een template te gieten?

Acties:
  • 0 Henk 'm!

  • magnetx3
  • Registratie: Januari 2015
  • Laatst online: 07-06 14:48
Ik heb de config van @Swazija gebruikt om mijn waarden aan te vullen, maar ik kom tot de conclusie dat ik BT10 mis, ik heb namelijk een lucht/water systeem. Volgens OP gaat de parameter waarvoor jullie BT10 gebruiken om de warmtebrontemperatuur. Kan ik hiervoor dus gewoon de buitentemperatuur gebruiken (BT28 of BT1)?

[ Voor 10% gewijzigd door magnetx3 op 23-10-2023 22:46 ]

Nibe BA-SVM10-200/6 + AMS10-6


Acties:
  • 0 Henk 'm!

  • iCrOn
  • Registratie: April 2002
  • Laatst online: 21:15
BT10 is wat er terug de grond(bron) in gaat. uit de grond komt 8)7 blijft verwarrend Heb je geen waarde van en naar je buiten unit? Denk dat je in die richting moet zoeken.

Ik gok op EB100-BT61 Supply Radiator Temp register:40047

[ Voor 29% gewijzigd door iCrOn op 23-10-2023 23:10 ]


Acties:
  • 0 Henk 'm!

  • magnetx3
  • Registratie: Januari 2015
  • Laatst online: 07-06 14:48
iCrOn schreef op maandag 23 oktober 2023 @ 23:04:
BT10 is wat er terug de grond(bron) in gaat. uit de grond komt 8)7 blijft verwarrend Heb je geen waarde van en naar je buiten unit? Denk dat je in die richting moet zoeken.

Ik gok op EB100-BT61 Supply Radiator Temp register:40047
40047 heb ik niet. Ik ken wel ext. supply en ext. return, maar ik geloof dat dat nog "binnenshuis" is. Ik heb hem voor nu vervangen met de buitentemp (dat is mijn bron toch?). Ook BT2 ontbrak, maar volgens OP is dat te vervangen met BT12, deze heb ik dan weer wel... Ik weet ook niet zo goed waar ik de juiste moet zoeken.. Ik zie wel in de installateurshandleiding:
Afbeeldingslocatie: https://tweakers.net/i/4fFZPrkw2ornElXFpj7PSvPSzzM=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/n5WLOTNXAbxZbIalDblaFxDW.png?f=user_large

R1 en R2 lijken mij waar jij op doelt, deze kan ik dan weer nergens vinden in HA..

Nibe BA-SVM10-200/6 + AMS10-6


Acties:
  • 0 Henk 'm!

  • iCrOn
  • Registratie: April 2002
  • Laatst online: 21:15
Wat voor warmtepomp heb je?

In de finse code zie ik wel terug:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
            //bt10 - sisään
            if ( ikkuna.getLblMLPMalli().getText().contains("VILP") &&  ikkuna.getTietolahde()  == 0) {
                kayra_taulukko.add(5,bt28);
                kayra_taulukko_nimet.add(5,"keruu t. bt28");
            } else {
                kayra_taulukko.add(5,bt10);
                if (ikkuna.getLblMLPMalli().getText().contains("VILP")) {
                    kayra_taulukko_nimet.add(5,"keruu t. bt28");
                } else {
                    kayra_taulukko_nimet.add(5,"keruu t. bt10");
                }
            }


Dat ze bt10 vervangen door bt28. Heb je BT28?

En ergens anders staat ook:

JavaScript:
1
//BT10 = BT28 VILPin tapauksessa(in geval van VILP)

[ Voor 8% gewijzigd door iCrOn op 24-10-2023 09:59 ]


Acties:
  • 0 Henk 'm!

  • Tieled
  • Registratie: September 2021
  • Laatst online: 25-04 20:09
@iCrOn omdat ik node red ook al had al lopen, heb je functionele node uit GitHub eens uitgeprobeerd.

ik heb een aan/uit warmtepomp F1245-8PC, en krijg met resultaten met 35/0=4.68 en 45/0=3.67 een cop rond de 8. Alles gaat naar een open vloerverwarming. Maar zelfs het SWW geeft cops in de buurt van 8.

is dat niet een beetje hoog? (zelfs voor het begin van een seizoen). de metrics van Nibe staan mee in de screenshot.

export
https://snapshots.raintan...QdNIHgrlD745YldY3ctRkB49r

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

[ Voor 6% gewijzigd door Tieled op 01-11-2023 17:42 ]


Acties:
  • +1 Henk 'm!

  • iCrOn
  • Registratie: April 2002
  • Laatst online: 21:15
Ik heb even gekeken naar je snap shot en als ik de waarden van 10:02 in de bovenstaande formule stop van de topic start kom ik op een cop van 2,34. Waar hij bij jou al idd rond de 8 aangeeft.
Afbeeldingslocatie: https://tweakers.net/i/LlqnxsUZCk9quXJ9Tw54NTY_a-Y=/800x/filters:strip_exif()/f/image/pfNzTMmDnmgKgtb7ZoRxqdjC.png?f=fotoalbum_large

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

Lijkt er op dat hij rekent met de waardes die al gedeeld zijn dan kom ik uit op 7,68 met dezelfde waardes.
Al je waardes moeten dus keer 10 die je in de formule stop.

Acties:
  • +1 Henk 'm!

  • Tieled
  • Registratie: September 2021
  • Laatst online: 25-04 20:09
@iCrOn Ja dat lijkt jammer genoeg te kloppen ;) Bedankt!

Acties:
  • 0 Henk 'm!

  • mistral2
  • Registratie: November 2002
  • Laatst online: 06-06 09:49
Heb dit topic net ontdekt omdat ik naar de actruele COP waardes van mijn S1155 op zoek was.
Ik denk dat de formule van de Finse vrienden een foutje bevat.

Als alle BT temperaturen een factor 10 hoger zijn in de formule dan de werkelijke temperatuurwaarde, dan lijkt het me dat de 5.0 (DTLM) die in de formule staat ook een factor 10 verhoogd moet worden om een correcte berekening te maken!
Dat is tenslotte ook een temperatuurwaarde!

Het zorgt er in ieder geval voor dat de COP berekening met BT2 en BT12 praktische gelijk worden!

Acties:
  • +1 Henk 'm!

  • Swazija
  • Registratie: Januari 2005
  • Laatst online: 06-06 09:11
Voor mijn gevoel gaat er wat mis in de COP formule. Heb even met de hand wat dingen ingevuld in excel en wat mij opvalt is dat een aanvoertemperatuur van 35 graden vrijwel niet hoger wordt dan een COP van 0/35, terwijl nibe opgeeft dat er in de 10/35 settings een COP van 6.49 gehaald zou worden. De fout zit hem er volgens mij in dat in de finse code de COPm alleen maar schaalt met bt12 terwijl deze ook zou moeten schalen met de brontemperatuur volgens mij. Verder is de factor 10 waarmee bt12 gedeeld wordt in de COPm functie ook niet correct aangezien de delta t's van de testomstandigheden ook gewoon in graden celsius zijn. Ik ga eens nadenken over wat het volgens mij wel moet zijn, daar ben ik nog niet over uit.

Acties:
  • 0 Henk 'm!

  • Swazija
  • Registratie: Januari 2005
  • Laatst online: 06-06 09:11
Ik heb wat verzonnen. Dit is het in yaml voor HA:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sensor:
  - platform: template
    sensors:
        t_cop_helper:
            friendly_name: 't value for nibe helper'
            unit_of_measurement: ''
            value_template: "{{ (45-35)*(float(states('sensor.bt2'))-35)/100 }}"
        tb_cop_helper:
            friendly_name: 'tb value for nibe helper'
            unit_of_measurement: ''
            value_template: "{{ float(states('sensor.bt10'))/10 }}"
        copm:
            friendly_name: 'Nibe cop helper'
            unit_of_measurement: ''
            value_template: "{{ (1-float(states('sensor.t_cop_helper'))) * 4.72 + float(states('sensor.t_cop_helper')) * 3.61 + (1-float(states('sensor.t_cop_helper'))) * (6.49 - 4.72) * float(states('sensor.tb_cop_helper')) + float(states('sensor.tb_cop_helper')) * (4.79-3.61) * float(states('sensor.t_cop_helper')) }}"


Met bovenstaande schaalt copm ook met de brontemperatuur en krijg ik de waarden van 10/35 en 10/45 wanneer ik dat invul voor de bron. De aanname is dat de delta tussen de cops lineair schaalt tussen de brontemperaturen (0/35 naar 10/35 is 4.72 naar 6.49. 0/45 naar 10/45 is 3.61 naar 4.79). Mijn theoretische COP schiet hierdoor behoorlijk omhoog. Met een aanvoer van 21 graden mijn vloer in heb ik nu een COP van 8.2, terwijl dat voorheen een COP van 5.7 was (welke dus veel lager lag dan de 6.49 die met hogere aanvoertemperaturen opgegeven wordt door Nibe). Dit is mijn gehele yaml:

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
sensor:
  - platform: template
    sensors:
        bt2:
            friendly_name: 'Nibe BT2'
            value_template: "{{ float(states('sensor.nibe_bt2_supply_temp_s1')) }}"
            unit_of_measurement: '°C'
        bt3:
            friendly_name: 'Nibe BT3'
            value_template: "{{ float(states('sensor.nibe_eb100_ep14_bt3_return_temp')) }}"
            unit_of_measurement: '°C'
        bt10:
            friendly_name: 'Nibe BT10'
            value_template: "{{ float(states('sensor.nibe_eb100_ep14_bt10_brine_in_temp')) }}"
            unit_of_measurement: '°C'
        bt14:
            friendly_name: 'Nibe BT14'
            value_template: "{{ float(states('sensor.nibe_eb100_ep14_bt14_hot_gas_temp')) }}"
            unit_of_measurement: '°C'
        bt17:
            friendly_name: 'Nibe BT17'
            value_template: "{{ float(states('sensor.nibe_eb100_ep14_bt17_suction')) }}"
            unit_of_measurement: '°C'
        t_cop_helper:
            friendly_name: 't value for nibe helper'
            unit_of_measurement: ''
            value_template: "{{ (45-35)*(float(states('sensor.bt2'))-35)/100 }}"
        tb_cop_helper:
            friendly_name: 'tb value for nibe helper'
            unit_of_measurement: ''
            value_template: "{{ float(states('sensor.bt10'))/10 }}"
        copm:
            friendly_name: 'Nibe cop helper'
            unit_of_measurement: ''
            value_template: "{{ (1-float(states('sensor.t_cop_helper'))) * 4.72 + float(states('sensor.t_cop_helper')) * 3.61 + (1-float(states('sensor.t_cop_helper'))) * (6.49 - 4.72) * float(states('sensor.tb_cop_helper')) + float(states('sensor.tb_cop_helper')) * (4.79-3.61) * float(states('sensor.t_cop_helper')) }}"
        bt14minbt2abs:
            friendly_name: 'Nibe abs bt14 min bt2'
            unit_of_measurement: '°C'
            value_template: "{{ ( float(states('sensor.bt14')) - float(states('sensor.bt2')) )|float |abs }}"
        bt17minbt10abs:
            friendly_name: 'Nibe abs bt17 min bt10'
            unit_of_measurement: '°C'
            value_template: "{{ ( float(states('sensor.bt17')) - float(states('sensor.bt10')) )|float |abs }}"
        coptboven:
            friendly_name: "coptboven"
            unit_of_measurement: ''
            value_template: "{{(5 - (float(states('sensor.bt2')) - float(states('sensor.bt3'))) )/2}}"
        copt:
            friendly_name: 'Nibe cop theoretical'
            unit_of_measurement: ''
            value_template: "{{ float(states('sensor.copm')) * ( 1 - ( float(states('sensor.coptboven')) / (float(states('sensor.bt2')) - (5.0/2) + float(states('sensor.bt14minbt2abs')) - ( float(states('sensor.bt10')) - float(states('sensor.bt17minbt10abs'))  ) ) ) ) }}"
        coptsww:
            friendly_name: 'Nibe COP warm water'
            unit_of_measurement: ''
            value_template: "{% if float(states('sensor.nibe_prio')) == 20 %} {{ float(states('sensor.copt')) }} {% else %} 0.0 {% endif %}"
        coptheat:
            friendly_name: 'Nibe COP heating'
            unit_of_measurement: ''
            value_template: "{% if float(states('sensor.nibe_prio')) == 30 %} {{ float(states('sensor.copt')) }} {% else %} 0.0 {% endif %}"

Acties:
  • 0 Henk 'm!

  • Tieled
  • Registratie: September 2021
  • Laatst online: 25-04 20:09
1/ Zou wel leuk zijn als er iemand met een energiemeter de benadering van de formule zou kunnen bevestigen, gezien het grote verschil in cop (5.3 vs 6.7 :)

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

2/ bij een tweede lezing, merkte ik dat Nice pdf voor de F1245PC geen opgegeven cop waardes heeft voor 10/35 en 10/45 . ideeën? ==> gevonden, in de voetnoot staat 30% meer

3/ hoe en of we deze cop formule eventueel verder kunnen verfijnen (zonder de flow te kennen) indien we ook het exacte vermogenverbruik kennen (kWh op de meter)

[ Voor 100% gewijzigd door Tieled op 23-11-2023 09:38 . Reden: nog een plaatje toegevoegd ]


Acties:
  • 0 Henk 'm!

  • mistral2
  • Registratie: November 2002
  • Laatst online: 06-06 09:49
Swazija, ik denk dat je een tikfoutje in de waarden van de 00/10 cops hebt gemaakt (of hebt verwisseld).
Ik heb dit in mijn configuration.yaml staan (ik heb een S1155 en lees die in met eigen modbus code):

(fixed swap van cop0035 and cop0045)
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
template:
  - sensor:
    - name: "WP COP"
      unique_id: nibe_cop_base
      state_class: measurement
      state: >
        {% set cop0035 = 4.72| float %}
        {% set cop0045 = 3.61 | float %}
        {% set cop1035 = 6.49 | float %}
        {% set cop1045 = 4.79 | float %}
        {% set bt12 = states('sensor.condenser_supply') |float %}
        {% set bt3 =  states('sensor.return_line_temperature') |float %}
        {% set bt14 = states('sensor.discharge') |float %}
        {% set bt17 = states('sensor.suction_gas') |float %}
        {% set bt10 = states('sensor.brine_in') |float %}

        {% set COPs1 = (cop0035 + (cop0045-cop0035) * (bt12-35)/(45-35)) | float %}
        {% set COPs2 = (cop1035 + (cop1045-cop1035) * (bt12-35)/(45-35)) | float %}
        {% set COPm = (COPs1 + (COPs2-COPs1) * (bt10-0)/(10-0)) | float %}

        {% set deltaTlm = 5 | int %}
        {% set deltaTls = (bt12 - bt3) | float %}
        {% set Thj = bt12 | float %}
        {% set deltaTl = (bt14 - bt12) | float %}
        {% set Tlah = bt10 | float %}
        {% set deltaTh = (bt17 - bt10) | float %}
        {% set factorteller = ((deltaTlm - deltaTls)/2)  | float %}
        {% set factornoemer =  (Thj - deltaTlm/2 + deltaTl - (Tlah - deltaTh)) | float %}
        {% set COPt = (COPm * (1 - factorteller/factornoemer)) | float %}


met dit resultaat over dea fgelopen 24 uur

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

[ Voor 11% gewijzigd door mistral2 op 21-11-2023 17:51 ]


Acties:
  • 0 Henk 'm!

  • Swazija
  • Registratie: Januari 2005
  • Laatst online: 06-06 09:11
mistral2 schreef op maandag 20 november 2023 @ 08:27:
Swazija, ik denk dat je een tikfoutje in de waarden van de 00/10 cops hebt gemaakt (of hebt verwisseld).
Ik heb dit in mijn configuration.yaml staan (ik heb een S1155 en lees die in met eigen modbus 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
template:
  - sensor:
    - name: "WP COP"
      unique_id: nibe_cop_base
      state_class: measurement
      state: >
        {% set cop0035 = 3.61 | float %}
        {% set cop0045 = 4.72 | float %}
        {% set cop1035 = 6.49 | float %}
        {% set cop1045 = 4.79 | float %}
        {% set bt12 = states('sensor.condenser_supply') |float %}
        {% set bt3 =  states('sensor.return_line_temperature') |float %}
        {% set bt14 = states('sensor.discharge') |float %}
        {% set bt17 = states('sensor.suction_gas') |float %}
        {% set bt10 = states('sensor.brine_in') |float %}

        {% set COPs1 = (cop0035 + (cop0045-cop0035) * (bt12-35)/(45-35)) | float %}
        {% set COPs2 = (cop1035 + (cop1045-cop1035) * (bt12-35)/(45-35)) | float %}
        {% set COPm = (COPs1 + (COPs2-COPs1) * (bt10-0)/(10-0)) | float %}

        {% set deltaTlm = 5 | int %}
        {% set deltaTls = (bt12 - bt3) | float %}
        {% set Thj = bt12 | float %}
        {% set deltaTl = (bt14 - bt12) | float %}
        {% set Tlah = bt10 | float %}
        {% set deltaTh = (bt17 - bt10) | float %}
        {% set factorteller = ((deltaTlm - deltaTls)/2)  | float %}
        {% set factornoemer =  (Thj - deltaTlm/2 + deltaTl - (Tlah - deltaTh)) | float %}
        {% set COPt = (COPm * (1 - factorteller/factornoemer)) | float %}


met dit resultaat over dea fgelopen 24 uur

[Afbeelding]
Volgens mij heb je zelf de cop035 en cop045 omgedraaid :)

Acties:
  • 0 Henk 'm!

  • mistral2
  • Registratie: November 2002
  • Laatst online: 06-06 09:49
Swazija schreef op maandag 20 november 2023 @ 19:23:
[...]

Volgens mij heb je zelf de cop035 en cop045 omgedraaid :)
Ja dat klopt :'( . In mijn testcode was het wel goed, maar toch iets verkeerd gegaan met het overzetten...

Maar ik denk dat in je formule voor COPm de 4.71 eigenlijk 4.72 moet zijn ;)

value_template:
"{{ (1-float(states('sensor.t_cop_helper'))) * 4.72 + float(states('sensor.t_cop_helper')) * 3.61 +
(1-float(states('sensor.t_cop_helper'))) * (6.49 - 4.71) * float(states('sensor.tb_cop_helper')) +
float(states('sensor.tb_cop_helper')) * (4.79-3.61) * float(states('sensor.t_cop_helper')) }}"

Klein verschil, maar toch...

Acties:
  • 0 Henk 'm!

  • Swazija
  • Registratie: Januari 2005
  • Laatst online: 06-06 09:11
mistral2 schreef op dinsdag 21 november 2023 @ 14:52:
[...]


Ja dat klopt :'( . In mijn testcode was het wel goed, maar toch iets verkeerd gegaan met het overzetten...

Maar ik denk dat in je formule voor COPm de 4.71 eigenlijk 4.72 moet zijn ;)

value_template:
"{{ (1-float(states('sensor.t_cop_helper'))) * 4.72 + float(states('sensor.t_cop_helper')) * 3.61 +
(1-float(states('sensor.t_cop_helper'))) * (6.49 - 4.71) * float(states('sensor.tb_cop_helper')) +
float(states('sensor.tb_cop_helper')) * (4.79-3.61) * float(states('sensor.t_cop_helper')) }}"

Klein verschil, maar toch...
Goed gespot. Geen idee waardoor dat mis is gegaan.

Acties:
  • 0 Henk 'm!

  • Leguan
  • Registratie: December 2022
  • Laatst online: 05-06 21:15
Ik heb een AMS20-6 lucht/water warmtepomp. Daar zijn geen COP waarden 0/35 & 0/45 van bekend. Ik heb nu de 7/35 en 7/45 ingevoerd. Gaat daardoor de hele COP berekening scheef?

Acties:
  • 0 Henk 'm!

  • Atomstar
  • Registratie: Juli 2002
  • Laatst online: 07-05 12:00
Ik heb ook een Nibe warmtepomp en ben deze nog aan het ontdekken (is wat ingewikkelder dan stadsverwarming bijv).

Twee dingen die me opvielen:
  1. De Nibe warmtepomp rapporteert geen verbruikte elektrische energie (in kWh), dus ik vroeg me af waarom je de COP alsnog kon berekenen. De reden is dat je de formule voor COP kunt omschrijven en via thermodynamica de theoretische bovengrens kunt uitrekenen zonder gebruik te maken van elektrische energie.
  2. De formule hierboven is echter nog simpeler: volgens mij gebruikt deze de door de fabrikant opgegeven COP, en rekent dan uit hoeveel deze afwijkt van de opgegeven waarde (lijkt op een Taylor-benadering). Je kunt hiermee dus nooit de opgave van de fabrikant controleren omdat dat een cirkel-redenering is: bij de testomstandigheden (wanneer ΔTLM gelijk is aan ΔTLS) geeft deze formule precies de fabrikant waarde.
Een paar ideeën:
  1. De COP voor verwarming is moeilijk empirisch te meten: aangezien er geen flow wordt gerapporteerd kun je de geleverde warmte volgens mij niet meten.
  2. De COP van warmwater is wel te meten omdat de grootte van het reservoir bekend is. Als je het verschil in temperatuur van dit water meet en vermenigvuldigt met de warmtecapaciteit heb je de geleverde warmte. Als je dan het verbruik van de compressor en het interne verwarmingselement optelt kun je de COP berekenen door die twee op elkaar te delen.
Nibe biedt (voor mijn warmtepomp) wel een 'Energiemeterset' aan (EMK 500 @ 256 EUR & EMK 300 @ 177 EUR), het lijkt er op dat deze inderdaad de flow meten.

[ Voor 31% gewijzigd door Atomstar op 20-01-2024 13:04 . Reden: Toevoeging hoe wel de COP te meten ]


Acties:
  • 0 Henk 'm!

  • moi427
  • Registratie: Juni 2015
  • Laatst online: 05-05 11:59
@Atomstar In mijn F1255PC-6 is het energieverbruik [kWh] is af te lezen in de app en Uplink onder het kopje "warmtemeter".
Afbeeldingslocatie: https://tweakers.net/i/XxITw6EkTcj5AMEYjEDY0rmwyiI=/800x/filters:strip_icc():strip_exif()/f/image/63I7AuDR4v9aKFZVBh5hTrEk.jpg?f=fotoalbum_large

Maar wellicht is dit alleen omdat hier op de fases stroompluggen zitten. Deze waardes zitten helaas niet in de USB download gegevens: ik heb tijden terug al eens aan Nibe gevraagd of dit toegevoegd kon worden maar daarvan nooit meer iets vernomen. Ik houd deze waardes maar braaf handmatig bij maar dat zijn slechts dagwaardes, dus voor een actuele COP van het moment zul je er weinig mee kunnen. Wel worden deze waarden steeds geactualiseerd, dus als je ze geautomatiseerd uitleest, kom je er wellicht verder mee.
In mijn Nibe zit helaas dus ook geen flowmeter aangezien ik die mogelijkheid pas veel later ontdekte en toen de situatie met de installateur al het meer dan hopeloze punt voorbij was (via rechtshulp afgedwongen aanpassingen van diverse fouten).

SolarEdge E7K, 16xSolarwatt 275Wp(ca. Zuid)+SE-P300's, 12xAEG 325Wp(ca. Oost)+SE-P370's, 2xHLK20(ca. West)+300l buffer, Nibe 1255PC-6 warmtepomp met bron (gasloos). Oh ja, 7 Winddelen :-)


Acties:
  • 0 Henk 'm!

  • wickydude
  • Registratie: Juni 2009
  • Laatst online: 06-06 11:23
Leguan schreef op zondag 26 november 2023 @ 13:35:
Ik heb een AMS20-6 lucht/water warmtepomp. Daar zijn geen COP waarden 0/35 & 0/45 van bekend. Ik heb nu de 7/35 en 7/45 ingevoerd. Gaat daardoor de hele COP berekening scheef?
@Leguan Beetje laat, maar heb je hier ooit nog antwoord op gekregen?

Acties:
  • 0 Henk 'm!

  • wickydude
  • Registratie: Juni 2009
  • Laatst online: 06-06 11:23
Als ik voor mijn F2120-16 de COP waardes voor 7/35 en 7/45 gebruik in deze berekening, kom ik best hoog uit.
COP 5,52 lijkt me wat te hoog voor de huidige omstandigheden?

BT3BT28BT12BT14BT17Calc supplyCOPTCOP735COP745
27,32,433,458,13,727,4552,49807935,114,14
Pagina: 1