Daikin altherma 3, Smartgrid e limitazione potenza


***Citazione integrale rimossa: è sufficiente il link all'originale (la freccia qui sopra). nll***

Provaci,
io ho fatto queste semplici automazioni per giocare:

alias: PDC_incrementa_Temperatura_2
description: ""
triggers:
- trigger: time_pattern
minutes: "30"
- trigger: time_pattern
minutes: "0"
conditions:
- condition: numeric_state
entity_id: input_number.delta_pdc
above: 0
below: 2
- condition: numeric_state
entity_id: sensor.solaredge_potenza_di_rete
below: -500
actions:
- action: climate.set_temperature
metadata: {}
data:
hvac_mode: heat
temperature: 2
target:
device_id: 0216bd05d6b47abee2e2f2e5d01bd90a
- action: input_number.set_value
metadata: {}
data:
value: 2
target:
entity_id: input_number.delta_pdc
mode: single



Praticamente ogni mezzora (alle 00 e a 30 minuti di ogni ora),
vedo se la potenza in uscita da casa è maggiore di 500. se è maggiore di 500w alzo di un grado la temperatura (utilizzo una variabile d'appoggio ma potevo usare direttamente quella della macchina)


alias: PDC_decrementa_Temperatura_1
description: ""
triggers:
- trigger: time_pattern
minutes: "30"
- trigger: time_pattern
minutes: "0"
conditions:
- condition: numeric_state
entity_id: input_number.delta_pdc
above: 1
below: 3
- condition: numeric_state
entity_id: sensor.solaredge_potenza_di_rete
above: 0
actions:
- action: climate.set_temperature
metadata: {}
data:
hvac_mode: heat
temperature: 1
target:
device_id: 0216bd05d6b47abee2e2f2e5d01bd90a
- action: input_number.set_value
metadata: {}
data:
value: 1
target:
entity_id: input_number.delta_pdc
mode: single

Praticamente ogni mezzora (alle 00 e a 30 minuti di ogni ora),
vedo se la potenza in uscita da casa è positiva (ovvero sto importando) abbasso di un grado la temperatura (utilizzo una variabile d'appoggio ma potevo usare direttamente quella della macchina)

Al momento ragiono come offset avendo una climatica.
ho replicato queste funzioni per quanti gradi al massimo voglio aumentare.
Nel mio caso ho 5 gradi, e avro 5 funzoni che mi fanno salire di 1 e 5 funzioni che mi fanno scendere di 1.

Le automazioni funzionano come atteso.
Non mi aspetto risparmi importanti ma è carino ... :-)
 
Ultima modifica da un moderatore:
io dovrei leggere la t di mandata e aggiungere o togliere 1 per modificarla... non ci sono ancora arrivato ma sono sulla buona strada... spero
 
si basta che ti crei una nuova variabile nel configuration yaml:
esempio:
friendly_name: "esempio"
device_class: temperature
unit_of_measurement: '°C'
value_template: "{{ state_attr('climate.altherma_leaving_water_offset' , 'temperature') }}"
e questa è il target che usa la macchina.
Fare piu 1 o meno 1 non sono riuscito.
praticamente ti fai piu automazioni in cui ci metti nelle condizioni per esempio:
se esempio=29
allora metti la temperatura target 30 (se devi salire) o metti il target a 28 se devi scendere.
ed il gioco è fatto
 
Ultima modifica da un moderatore:
io sono arrivato qui:

alias: WattCost
description: watt costanti entro 1000 1400
triggers:
- minutes: /5
trigger: time_pattern
conditions:
- type: is_power
condition: device
device_id: 8cc2598feafb3be15dfbfeedb3f9cf05
entity_id: 8703dc0cf56cfffbe89f7637d02e0523
domain: sensor
above: 700
below: 1000
actions:
- action: climate.set_temperature
target:
device_id: 715c9d35f14c1ff4dfbc997d3d4bdcf3
entity_id: climate.altherma_leaving_water_temperature
data:
hvac_mode: heat
temperature: 32
mode: single

la penultima riga deve diventare temperatura=temperatura +1 concettualmnete
per sommare ho trovato questa formula:
value: "{{ states('input_number.climate.altherma_leaving_water_temperature') | int + 1 }}"

qualche suggerimento?
 
non devi mettere input number (non è una costante) ma sensor
"{{ states('sensor.altherma_climatecontrol_leaving_wat er_temperature')| int + 1 }}"

Attenzione che quella variabile non è il tuo target ma l'attuale temperatura di mandata

se vuoi usare il target che imposti devi creare una nuova variabile nel configuration yaml:
esempio:
friendly_name: "esempio"
device_class: temperature
unit_of_measurement: '°C'
value_template: "{{ state_attr('climate.altherma_leaving_water_offset' , 'temperature') }}"

e mettere nella tua automazione
"{{ states('sensor.esempio')| int + 1 }}"


alla fine la tua action deve essere
action: climate.set_temperature
metadata: {}
data:
hvac_mode: heat
temperature: "{{ states('sensor.esempio')| int + 1 }}"
 
Buon pomeriggio,

mi aggiungo alle interessanti discussioni, ho la stessa PdC di Subitomauro con radiante a pavimento fresato; tengo monitorata la PdC con ESPAltherma. Ho fatto diverse prove che vorrei condividervi. Divido per argomenti che ho letto lungo la discussione:

RIDUZIONE DEL DT MANDATA E RITORNO: ho ridotto il DT a 4°C al posto che 5°C per avere il pavimento più omogeneo e quindi un maggiore confort, soprattutto nelle stanze nelle quali ho il laminato che “blocca” un po’ l’irraggiamento. Questo mi ha permesso anche di abbassare leggermente la mandata (lavoro a 30 o 31°C) mentre la pompa lavora a portata maggiore. Sembra funzionare bene sia in riscaldamento che in raffrescamento. Che ne pensate?

LIMITAZIONE DELL’ASSORBIMENTO ELETTRICO: la PdC ha una bella potenza e quando carica il bollitore ACS lo fa massimizzando il comfort, quindi alza la potenza “a manetta” per caricare il bollitore prima possibile, arrivando anche a picchi di 5 kW se fuori fa freddo; per avere un po’ più di margine sui 6 kW del contatore e per aumentare l’efficienza, ho limitato l’assorbimento a 11 A. In questo modo la macchina non supera mai i 2,2 kW ed il COP ACS è migliorato di molto. Non avevo pensato al tema del ritorno olio indicato all’inizio da Subitomauro, ma penso che per tale funzione la macchina non si auto-limiti, altrimenti non farebbe ritorno olio…in ogni caso ho visto che fa ritorno olio solo in estate. Per l’anti-legionella disabilito la limitazione ed alimento la resistenza booster.
In modalità limitazione di assorbimento alle alte potenze la ventola gira più forte, probabilmente per elaborare più aria all’evaporatore, e questo sembra limitare gli sbrinamenti.
Gli faccio fare ACS solo una volta al giorno portando il bollitore a 47 gradi in circa 1 ora a mezzogiorno. Con la limitazione impiega 1 ora.

FREQUENZA SBRINAMENTI: in caso di freddo “secco” confermo che anche la mia macchina sbrina ogni 6 ore circa. Con nebbia o molta umidità anche una volta all’ora di notte.

Ho notato che la programmazione oraria ACS ed anche la programmazione oraria della Tmandata seguono delle logiche un po’ strane; esempio, se metto il programma ACS e il reintegro automatico quando il bollitore scende sotto soglia, la PdC “se ne frega” del programma e reintegra a priori quando la T scende.
Analogo se programmo la Tmandata in base alle ore, “se ne frega” del consenso a contatto delle elettrovalvole di zona.

Che ne pensate?
 
Buon pomeriggio,
mi aggiungo alle interessanti discussioni, ho la stessa PdC di Subitomauro con radiante a pavimento fresato; tengo monitorata la PdC con ESPAltherma. Ho fatto diverse prove che vorrei condividervi. Divido per argomenti che ho letto lungo la discussione:
Interessantissimo! Anche io volevo collegarci un espaltherma.
ora utilizzo HA con l'integrazione di HA ma è veramente povera.
Che informazioni riesci a prendere con l'espAltherma?
il connettore da attaccare nella pdc è commerciale e facilmente reperibile?

FREQUENZA SBRINAMENTI: in caso di freddo “secco” confermo che anche la mia macchina sbrina ogni 6 ore circa. Con nebbia o molta umidità anche una volta all’ora di notte.

Anche io mi trovo nella tua situazione.
Fino a che stavo nella modalità silenziosa avevo uno sbrinamento ogni mezzora (nelle giornate con umiditià sopra al 90% e temperatura poco superiore allo zero).
Poi ho tolto la modalita silenziosa e nelle stesse situazioni defrosta ogni 1 o 2 ore.
Quindi meglio ma ancora tantine!!
 
anch'io ho già comprato l' ESP32 ma non ho molto tempo in questo periodo per mettermi a studiarlo... ma prima o poi...
sarebbe molto interessante se ecogian ci illuminasse con qualche info e qualche screenshot...

quando ho installato la pdc l'installatore ha messo il deltaT a 3G
ecogian lo ha a 4G
matador lo ha a ?
 
Dunque, ESPAltherma usa un ESP32 da interfacciare al bus della PdC tramite un cavo da costruire. Il connettore del bus penso venga utilizzato dal service o da eventuali moduli aggiuntivi: è il bus "ufficiale" quindi bisogna stare molto attenti perchè penso si possa danneggiare il processo della scheda, o analoghi componenti.
Per il resto, si ottengono tutti i parametri di macchina e si possono calcolare i parametri derivati, come la potenza termica e quindi il COP "in tempo reale".
Qui quello che tengo io sotto controllo. Non sono un super esperto di Home Assistant, ho integrato ESPAltherma così com'è e fatto qualche calcolo nel file YAML.
Inserisco il print-screen fatto ora. In questi gg gli sto "tirando il collo" per fare delle prove visto che fuori fa freddo (sta notte -4°C). Ho aperto tutte le zone e sto scaldando la zona termosifoni mandando acqua a 31°C ovunque (e la zona a radiatori, ben sovradimensionati si scalda e pure bene).
Mi servirebbe tempo da investire in Home Assistant: leggendo ESPAltherma si poterbbe "chiudere l'anello" di regolazione mediante l'integrazione nativa Daikin (quella che avete postato voi) e fare delle belle regolazioni. Purtroppo ESPAltherma può leggere il bus ma non può scrivere (e forse è meglio così...!)

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
 
subitomauro
il mio è un caso particolare perche ho un disgiuntore tra circuito primario e secondario (che sconsiglio fortemente)
L'installatore mi aveva messo deltat a 3.
ho provato a giocarci mettendolo 4 e 5 ma credo che la miglior configurazione per il mio circuito sia 3.
perche tra mandata e ritorno ci sono 5 gradi di differenza che pero si mischiano nel puffer e secondo me 3 è ottimale.
perche se metto 4 o 5 credo che il rilancio peschi acqua dal ritorno aumentandomi ancora di piu il delta tra mandata pompa e mandata al circuito.
ecogian
purtroppo non riesco a vedere l'immagine ma ni piace il fatto che si possa solo monitorare senza fare possibili danni.
il connettore lo hai trovato fatto o lo hai costruito?
 
forse è un bene che non si possa scrivere perchè si possono fare 'danni'

ESP32
ho visto, ma senza soffermarmi troppo, che ci sono solo 2 cavi (suppongo tx e rx) collegati alla macchina più ovviamnete l'alimentazione della esp32 che può essere presa dalla pdc (3.2v) o da una presa usb a 5v e poi ci pensa la schedina ad abbassarla a 3.2V
 
matador0975 il connettore l'ho autocostruito; si può usare comunque un connettore di tipo "dupont cable" come indicato nella pagina GitHub di ESPAltherma (https://raomin.github.io/ESPAltherma/), magari allungandolo alla bisogna.
subitomauro si tratta di connettere TX, RX e GND. L'alimentazione io l'ho presa da un alimentatore USB esterno, non mi andava di "caricare" la 5V della PdC con un carico esterno.
La parte di attuazione tramite i contatti Smart Grid indicata in https://raomin.github.io/ESPAltherma/ non è obbligatoria per il monitoraggio.

Provo a ripostare qui l'immagine, spero si veda.

image.png
 
Qui invece lo script del file configuration.yaml di HA:

%%%%%%%%%%%%%%%%

# Pompa di Calore Daikin Altherma 3 R F letta tramite ESPAltherma

template:
- unique_id: "espaltherma" # will be prefixed to all unique IDs
sensor:
- name: "Modo Operativo"
unique_id: "iuoperation"
icon: 'mdi:sun-snowflake-variant'
state: "{{ state_attr('sensor.none_althermasensors','I/U operation mode') }}"

- name: "Sbrinamento"
unique_id: "sbrin"
icon: 'mdi:snowflake-melt'
state: "{{ state_attr('sensor.none_althermasensors','Defrost Operation') }}"

- name: "Ritorno Olio"
unique_id: "ritolio"
icon: 'mdi:oil-level'
state: "{{ state_attr('sensor.none_althermasensors','Oil Return Operation') }}"

- name: "Richiesta Risc./ACS"
unique_id: "termon"
icon: 'mdi:electric-switch'
state: "{{ state_attr('sensor.none_althermasensors','Thermost at ON/OFF') }}"

- name: "Temp. Accumulo ACS"
unique_id: "dhw"
icon: 'mdi:bathtub-outline'
state: "{{ state_attr('sensor.none_althermasensors','DHW tank temp. (R5T)') }}"
unit_of_measurement: '°C'

- name: "Portata"
unique_id: "portata"
state: "{{ state_attr('sensor.none_althermasensors','Flow sensor (l/min)') }}"
unit_of_measurement: 'l/min'
icon: 'mdi:water-circle'

- name: "Temp. Mandata"
unique_id: "Tman"
icon: 'mdi:waves-arrow-right'
state: "{{ state_attr('sensor.none_althermasensors','Leaving water temp. before BUH (R1T)') }}"
unit_of_measurement: '°C'

- name: "Temp. Ritorno"
unique_id: "Trit"
icon: 'mdi:waves-arrow-left'
state: "{{ state_attr('sensor.none_althermasensors','Inlet water temp.(R4T)') }}"
unit_of_measurement: '°C'

- name: "Delta T"
unique_id: "deltat"
icon: 'mdi:heating-coil'
state: "{{ (state_attr('sensor.none_althermasensors','Leaving water temp. before BUH (R1T)')|float - state_attr('sensor.none_althermasensors','Inlet water temp.(R4T)')|float)|round(2) }}"
unit_of_measurement: '°C'

- name: "Frequenza Inverter"
unique_id: "invfreq"
state: "{{ state_attr('sensor.none_althermasensors','INV frequency (rps)') }}"
unit_of_measurement: 'rps'
device_class: frequency

- name: "Step Ventilatore"
unique_id: "ventstep"
icon: 'mdi:fan'
state: "{{ state_attr('sensor.none_althermasensors','Fan 1 (step)') }}"
unit_of_measurement: 'step'

- name: "Corrente Inverter (primaria)"
unique_id: "inv_primary_current"
state: "{{ state_attr('sensor.none_althermasensors','INV primary current (A)') }}"
unit_of_measurement: 'A'
device_class: current

- name: "Corrente Inverter (secondaria)"
unique_id: "inv_sec_current"
state: "{{ state_attr('sensor.none_althermasensors','INV secondary current (A)') }}"
unit_of_measurement: 'A'
device_class: current

- name: "Temp. Inverter"
unique_id: "TempInv"
icon: 'mdi:chip'
state: "{{ state_attr('sensor.none_althermasensors','INV fin temp.') }}"
unit_of_measurement: '°C'

- name: "Potenza Termica"
unique_id: "termpot"
icon: 'mdi:heat-wave'
state: "{{ ((state_attr('sensor.none_althermasensors','Leavin g water temp. before BUH (R1T)')|float - state_attr('sensor.none_althermasensors','Inlet water temp.(R4T)')|float) * 60 * 1.16 * state_attr('sensor.none_althermasensors','Flow sensor (l/min)')|float)|round(2) }}"
unit_of_measurement: 'W'

# Potenza Termica % calcolata rispetto alla potenza generata ai carichi massimi con mandata 35 °C e temperatura esterna di 7 °C (12440 W, dato preso dal sito Daikin Altherma Technical Data Hub)


- name: "Potenza Termica %"
unique_id: "termpotPerc"
icon: 'mdi:heat-wave'
state: "{{ ((((state_attr('sensor.none_althermasensors','Leav ing water temp. before BUH (R1T)')|float - state_attr('sensor.none_althermasensors','Inlet water temp.(R4T)')|float) * 60 * 1.16 * state_attr('sensor.none_althermasensors','Flow sensor (l/min)')|float)/12440)*100)|round(2) }}"
unit_of_measurement: '%'

- name: "Potenza Elettrica Totale"
unique_id: "poteletot"
state: "{{ states('sensor.shellyem_c45bbee264e4_channel_2_pow er') }}"
unit_of_measurement: 'W'
device_class: power

# Potenza Elettrica % calcolata rispetto alla potenza assorbita ai carichi massimi con mandata 35 °C e temperatura esterna di 7 °C (2570 W, dato preso dal sito Daikin Altherma Technical Data Hub)


- name: "Potenza Elettrica Totale %"
unique_id: "poteletotPerc"
state: "{{ (((states('sensor.shellyem_c45bbee264e4_channel_2_ power')|float)/2570)*100)|round(2) }}"
unit_of_measurement: '%'
device_class: power

# Calcolo il COP Complessivo solo a compressore attivo; lo saturo ad un valore massimo per evitare picchi di calcolo

- name: "COP Complessivo"
unique_id: "copcompl"
icon: 'mdi:leaf-circle-outline'
state: >-
{% if state_attr('sensor.none_althermasensors','INV frequency (rps)')|int > 5 %}
{% if (((state_attr('sensor.none_althermasensors','Leavi ng water temp. before BUH (R1T)')|float - state_attr('sensor.none_althermasensors','Inlet water temp.(R4T)')|float) * 60 * 1.16 * state_attr('sensor.none_althermasensors','Flow sensor (l/min)')|float) / states('sensor.shellyem_c45bbee264e4_channel_2_pow er')|float)|round(2)|float {{ (((state_attr('sensor.none_althermasensors','Leavi ng water temp. before BUH (R1T)')|float - state_attr('sensor.none_althermasensors','Inlet water temp.(R4T)')|float) * 60 * 1.16 * state_attr('sensor.none_althermasensors','Flow sensor (l/min)')|float) / states('sensor.shellyem_c45bbee264e4_channel_2_pow er')|float)|round(2) }}
{% else %}
{{ 10.0 }}
{% endif %}
{% else %}
{{ 0.0 }}
{% endif %}
unit_of_measurement: 'p.u.'

- name: "Temp. Esterna"
unique_id: "Test"
icon: 'mdi:home-thermometer-outline'
state: "{{ state_attr('sensor.none_althermasensors','R1T-Outdoor air temp.') }}"
unit_of_measurement: '°C'

- name: "Temp. Refrig. lato Liquido"
unique_id: "TrefrLiq"
icon: 'mdi:hydraulic-oil-temperature'
state: "{{ state_attr('sensor.none_althermasensors','Refrig. Temp. liquid side (R3T)') }}"
unit_of_measurement: '°C'

- name: "Pressione Acqua"
unique_id: "press"
icon: 'mdi:water-check'
state: "{{ state_attr('sensor.none_althermasensors','Water pressure') }}"
unit_of_measurement: 'bar'

- name: "Temp. Aspiraz. Compress. R3T"
unique_id: "TaspCompr"
state: "{{ state_attr('sensor.none_althermasensors','Suction pipe temp.(R3T)') }}"
unit_of_measurement: '°C'

- name: "Temp. Mandata Compress. R2T"
unique_id: "TmanCompr"
state: "{{ state_attr('sensor.none_althermasensors','Discharg e pipe temp.(R2T)') }}"
unit_of_measurement: '°C'

- name: "Temp. Scamb. Refr./Aria R4T"
unique_id: "TrefrAria"
icon: 'mdi:air-filter'
state: "{{ state_attr('sensor.none_althermasensors','O/U Heat Exch. Temp.(R4T)') }}"
unit_of_measurement: '°C'

- name: "Temp. Scamb. Refr./Aria Interm. R5T"
unique_id: "TrefrAriaMid"
icon: 'mdi:air-filter'
state: "{{ state_attr('sensor.none_althermasensors','Heat exchanger mid-temp.(R5T)') }}"
unit_of_measurement: '°C'

- name: "Valvola di Espansione Posiz."
unique_id: "expvalve"
icon: 'mdi:pipe-valve'
state: "{{ state_attr('sensor.none_althermasensors','Expansio n valve 1 (pls)') }}"
unit_of_measurement: 'Impulsi'

- name: "Velocità Pompa"
unique_id: "pumpsignal"
icon: 'mdi:pump'
state: "{{ 100 - state_attr('sensor.none_althermasensors','Water pump signal (0:max-100:stop)') }}"
unit_of_measurement: '%'

- name: "Riscald. Carter Compress. 1"
unique_id: "crankheater"
icon: 'mdi:resistor'
state: "{{ state_attr('sensor.none_althermasensors','Crank case heater') }}"

- name: "Riscald. Carter Compress. 2"
unique_id: "crankheater2"
icon: 'mdi:resistor'
state: "{{ state_attr('sensor.none_althermasensors','Crank case heater 2') }}"

# Calcolo il COP Ciclo Frigorifero solo a compressore attivo

- name: "COP Ciclo Frigorifero"
unique_id: "copfrigo"
icon: 'mdi:leaf-circle-outline'
state: >-
{% if state_attr('sensor.none_althermasensors','INV frequency (rps)')|int > 5 %}
{{ (((state_attr('sensor.none_althermasensors','Leavi ng water temp. before BUH (R1T)')|float - state_attr('sensor.none_althermasensors','Inlet water temp.(R4T)')|float) * 60 * 1.16 * state_attr('sensor.none_althermasensors','Flow sensor (l/min)')|float)/(state_attr('sensor.none_althermasensors','INV primary current (A)')|float * states('sensor.shellyem_c45bbee264e4_channel_2_vol tage')|float))|round(2) }}
{% else %}
{{ 0.0 }}
{% endif %}
unit_of_measurement: 'p.u.'

- name: "High Pressure"
unique_id: "hpress"
icon: 'mdi:gauge'
state: "{{ state_attr('sensor.none_althermasensors','High Pressure') }}"
unit_of_measurement: 'bar'

- name: "High Pressure (Temp.)"
unique_id: "hpressT"
icon: 'mdi:gauge'
state: "{{ state_attr('sensor.none_althermasensors','High Pressure(T)')|round(2) }}"
unit_of_measurement: '°C'

- name: "Low Pressure"
unique_id: "lpress"
icon: 'mdi:gauge'
state: "{{ state_attr('sensor.none_althermasensors','Low Pressure') }}"
unit_of_measurement: 'bar'

- name: "Low Pressure (Temp.)"
unique_id: "lpressT"
icon: 'mdi:gauge'
state: "{{ state_attr('sensor.none_althermasensors','Low Pressure(T)')|round(2) }}"
unit_of_measurement: '°C'

- name: "Startup Control Compress."
unique_id: "startCompr"
icon: 'mdi:lightning-bolt-circle'
state: "{{ state_attr('sensor.none_althermasensors','Startup Control') }}"

- name: "Temp. di Evap. Obiettivo"
unique_id: "tempEvapObiett"
icon: 'mdi:wave-arrow-up'
state: "{{ (state_attr('sensor.none_althermasensors','Target Evap. Temp.'))|round(2) }}"
unit_of_measurement: '°C'

- name: "Temp. di Cond. Obiettivo"
unique_id: "tempCondObiett"
icon: 'mdi:wave-arrow-down'
state: "{{ (state_attr('sensor.none_althermasensors','Target Cond. Temp.'))|round(2) }}"
unit_of_measurement: '°C'

- name: "Errori Potenziali"
unique_id: "errType"
icon: 'mdi:flash-alert-outline'
state: "{{ state_attr('sensor.none_althermasensors','Error type') }}"

- name: "Pressione Refrigerante"
unique_id: "pressRefr"
icon: 'mdi:gauge'
state: "{{ state_attr('sensor.none_althermasensors','Pressure ')|round(2) }}"
unit_of_measurement: 'bar'

%%%%%%%%%%%%%%%%

I parametri sono anche di più di questi e si selezionano dal file di configurazione a bordo dell'ESP32, ma già con questi si fa una telemetria completa, del livello di quella che si vede sulle Templari.
L'unico parametro che non torna è "Pressione Refrigerante" che secondo me è un parametro che non indica quella pressione.

Ci sono poi parametri calcolati (qui ne file) come "COP Ciclo Frigorifero" e "COP Complessivo" che sono derivati dai parametri misurati. La potenza elettrica la misuro tramite uno Shelly.

Vorrei modificare il calcolo dei COP per "filtrare" i casi di sbrinamento, dove il COP diventa parecchio negativo; ma non riesco a mettere la condizione di filtrare i COP Se ci provate, fatemi sapere.
 
ecogian
complimenti per il lavorone.
Ho appena ordinato su aliexpress l'esp32 :-)
Per quanto riguartda limitare l'assorbimento elettrico sul ritorno olio non saprei.
Io non toccherei nulla rispetto alla configurazione originale ( ma lo dico da non esperto).
 
ecogian
intanto mi associo ai complimenti e ti ringrazio per la condivisione del file YAML.

discorso limitazione: quando hanno installato la pdc non era limitata e arrivava anche a 5 kW in ACS, poi l'ho limitata a 4kW (in realtà arrivava a 3500W), poi ho provato a limitarla con A e non con KW e per prova sono arrivato fino a un minimo di 10A ma in piena estate.
dopo sono tornato a kW e l'ho rimessa a 4kW per il setpoint ACS che è a 54g isteresi 8.
Sul manuale dice di non scendere sotto i 3.5kW per i defrost. non ricordo se era anche per i ritorni olio.
io al tuo posto lo alzerei un po, magari a 14/16A

ESP32: almeno fino a metà settimana prossima non riesco a fare nulla, ma appena posso comincio a guardarci.
comunque è tanta roba i dati che si possono leggere
 
Vi ringrazio! E devo ringraziare io questo forum, dal quale ho imparato tantissimo.
Per l'ESP32 valutate la versione M5Stick PLUS. Cosa di più ma ha un case già isolato e anche un display (molto piccolo) integrato che si può usare per qualcosa. Il cavo bus io l'ho portato fuori dalla macchina, tramite uno dei vari corrugati di servizio, e l'ESP32 l'ho installato fuori.

Per HA vi chiederei una mano, se ne avrete tempo. Nella sezione di calcolo del COP "vero":

# Calcolo il COP Ciclo Frigorifero solo a compressore attivo

- name: "COP Ciclo Frigorifero"
unique_id: "copfrigo"
icon: 'mdi:leaf-circle-outline'
state: >-
{% if state_attr('sensor.none_althermasensors','INV frequency (rps)')|int > 5 %}
{{ (((state_attr('sensor.none_althermasensors','Leavi ng water temp. before BUH (R1T)')|float - state_attr('sensor.none_althermasensors','Inlet water temp.(R4T)')|float) * 60 * 1.16 * state_attr('sensor.none_althermasensors','Flow sensor (l/min)')|float)/(state_attr('sensor.none_althermasensors','INV primary current (A)')|float * states('sensor.shellyem_c45bbee264e4_channel_2_vol tage')|float))|round(2) }}
{% else %}
{{ 0.0 }}
{% endif %}
unit_of_measurement: 'p.u.'

vorrei saturare il calcolo a zero quando io COP diventa negativo (durante lo sbrinamento). Ho provato ad insere la relativa condizione, ma mi da errore di sintassi. Devo dire che la sintassi di HA non è molto amichevole nel file yaml, non so se questi calcoli andrebbero inseriti altrove.

Un'altra info: vedete nei parametri l'indicazione di attivazione dei riscaldatori carter compressore. Non ho mai visto attivate queste variabili, secondo me questa macchina non li ha. In compenso ho notato, in inverno prevalentemente, che quando la macchina si ferma per OFF del termostato, delle volte la frequenza del compressore va a 10 Hz, il compressore sta fermo e la temperatura dell'inverter si alza (quindi la corrente passa sul serio ed in effetti lo shelly in ingresso me ne dà conferma); probabile che in questa condizione l'inverter faccia scorrere corrente negli avvolgimenti del compressore per tenere l'olio caldo. Ricordo di aver letto che anche le Mitsubishi usano questa tecnica. Non avrei spiegazioni alternative a questo comportamento.

un saluto
 

Indietro
Top Bottom