VILP puu-öljy tilalle ( edullinen) - tuli Rotenso

  • Viestiketjun aloittaja Viestiketjun aloittaja Jalapa
  • Aloituspäivämäärä Aloituspäivämäärä
minulla liki kaikki menee mqtt serverille ja tällä poimin ne, on niin raaka vielä ja finglish kaiken lisäksi

.yaml
. . .
# Rotenso
# -------------------------

- name: "Rotenso ulkolämpötila"
unique_id: rotenso_ulkolampotila
state_topic: "rotenso/ulkolampotila"
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement

- name: "Rotenso sisäilman lämpötila"
unique_id: rotenso_sisailman_lampotila
state_topic: "rotenso/sisailman_lampotila"
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement

- name: "Rotenso tuloveden lämpötila"
unique_id: rotenso_tuloveden_lampotila
state_topic: "rotenso/tuloveden_lampotila"
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement

- name: "Rotenso lähtevän veden lämpötila"
unique_id: rotenso_lahtoveden_lampotila
state_topic: "rotenso/lahtoveden_lampotila"
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement

- name: "Rotenso kylmäaine T2B"
unique_id: rotenso_kylmaaine_t2b
state_topic: "rotenso/kylmaaine_t2b"
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement

- name: "Rotenso purkauslämpötila"
unique_id: rotenso_purkauslampotila
state_topic: "rotenso/purkauslampotila"
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement

- name: "Rotenso ilmanvaihtimen lämpötila T3"
unique_id: rotenso_ilmanvaihtimen_lampotila_t3
state_topic: "rotenso/ilmanvaihtimen_lampotila_t3"
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement

- name: "Rotenso kompressorin taajuus"
unique_id: rotenso_kompressorin_taajuus
state_topic: "rotenso/kompressorin_taajuus"
unit_of_measurement: "Hz"
state_class: measurement

- name: "Rotenso pumpun nopeus"
unique_id: rotenso_pumpun_nopeus
state_topic: "rotenso/pumpun_nopeus"
state_class: measurement

- name: "Rotenso veden virtaus"
unique_id: rotenso_water_flow
state_topic: "rotenso/water_flow"
unit_of_measurement: "L/h"
state_class: measurement

- name: "Rotenso puhaltimen nopeus"
unique_id: rotenso_fan_speed
state_topic: "rotenso/fan_speed"
state_class: measurement

- name: "Rotenso lämpöteho"
unique_id: rotenso_lampoteho
state_topic: "rotenso/lampoteho"
unit_of_measurement: "kW"
device_class: power
state_class: measurement

- name: "Rotenso tila"
unique_id: rotenso_tila
state_topic: "rotenso/power"
icon: mdi:heat-pump

- name: "Rotenso käyntitila"
unique_id: rotenso_kayntitila
state_topic: "rotenso/running_mode"
icon: mdi:heat-pump

switch:
- name: "Rotenso"
unique_id: rotenso_power
command_topic: "rotenso/set_power"
state_topic: "rotenso/power"
payload_on: "ON"
payload_off: "OFF"
state_on: "ON"
state_off: "OFF"
retain: false
icon: mdi:heat-pump

template:
- sensor:
- name: "Rotenso lämpöteho"
unique_id: rotenso_lampoteho
unit_of_measurement: "kW"
device_class: power
state_class: measurement
state: >
{% set flow = states('sensor.rotenso_veden_virtaus') | float(0) %}
{% set out = states('sensor.rotenso_lahtevan_veden_lampotila') | float(0) %}
{% set inp = states('sensor.rotenso_tuloveden_lampotila') | float(0) %}
{{ (1.163 * flow * (out - inp) / 100) | round(2) }}

- name: "Rotenso tila"
unique_id: rotenso_tila
icon: mdi:heat-pump
state: >
{% set power = states('sensor.rotenso_power') %}
{% set mode = states('sensor.rotenso_running_mode') | int(-1) %}

{% if power == 'OFF' %}
Pois (OFF)
{% elif mode == 0 %}
OFF
{% elif mode == 1 %}
COOL
{% elif mode == 2 %}
DHW
{% elif mode == 4 %}
HEAT
{% elif mode == 7 %}
Defrost
{% elif mode == 20 %}
Home Anti-Freeze
{% else %}
ON / tila {{ mode }}
{% endif %}

pythonilla tarjoilen
--- Rotenso ---
MQTT rotenso/ulkolampotila: 13.0
MQTT rotenso/sisailman_lampotila: 28.6
MQTT rotenso/tuloveden_lampotila: 53.3
MQTT rotenso/lahtoveden_lampotila: 55.6
MQTT rotenso/kylmaaine_t2b: 30.5
MQTT rotenso/purkauslampotila: 30.0
MQTT rotenso/ilmanvaihtimen_lampotila_t3: 14.5
MQTT rotenso/kompressorin_taajuus: 0.0
MQTT rotenso/pumpun_nopeus: 0
MQTT rotenso/water_flow: 0
MQTT rotenso/fan_speed: 0
MQTT rotenso/power: OFF
Setting mode 0x002C: 0
MQTT rotenso/running_mode: 0
Running mode 0x002D: 0
 
Viimeksi muokannut moderaattori:
from pymodbus.client import ModbusSerialClient as ModbusClient
import subprocess
import time
import threading

# ==========================================
# MQTT-asetukset
# ==========================================

MQTT_BROKER = '192.168.0.160'
MQTT_TOPIC_BASE = 'rotenso'

MQTT_USER = 'root'
MQTT_PASSWORD = 'salasana'


# ==========================================
# Modbus
# ==========================================

client = ModbusClient(
port='/dev/ttyUSB1',
baudrate=9600,
bytesize=8,
parity='N',
stopbits=1,
timeout=1
)

SLAVE = 11
INTERVAL = 30

# Estetään yhtäaikaiset Modbus-käskyt
modbus_lock = threading.Lock()


# ==========================================
# MQTT julkaisu
# ==========================================

def publish_mqtt(topic_suffix, value):

topic = f"{MQTT_TOPIC_BASE}/{topic_suffix}"

try:
subprocess.run([
'mosquitto_pub',
'-h', MQTT_BROKER,
'-u', MQTT_USER,
'-P', MQTT_PASSWORD,
'-t', topic,
'-m', str(value),
'-r'
], check=True)

print(f"MQTT {topic}: {value}")

except subprocess.CalledProcessError as e:
print(f"MQTT ERROR {topic}: {e}")


# ==========================================
# Modbus rekisterin luku
# ==========================================

def read_register(register_address):

try:

with modbus_lock:

result = client.read_holding_registers(
register_address,
1,
slave=SLAVE
)

if result.isError():
return None

return result.registers[0]

except Exception as e:

print(f"Modbus READ ERROR 0x{register_address:04X}: {e}")
return None

# ==========================================
# Mittaus + MQTT
# ==========================================

def read_and_publish(register_address, topic_suffix, value_type):

try:

value = read_register(register_address)

if value is None:
print(f"Modbus ERROR: {topic_suffix}")
return

# Lämpötila /10
if value_type == 'temperature':

if value >= 32768:
value -= 65536

value = value / 10.0

# Kompressorin taajuus /10
elif value_type == 'frequency':

value = value / 10.0

# Water flow
elif value_type == 'flow':

value = value

publish_mqtt(topic_suffix, value)

except Exception as e:

print(f"ERROR {topic_suffix}: {e}")


# ==========================================
# Luetaan kaikki mittaukset
# ==========================================

def read_all():

print("\n--- Rotenso ---")

read_and_publish(
0x00CE,
"varaaja",
'temperature'
)

read_and_publish(
0x0001,
"ulkolampotila",
'temperature'
)

read_and_publish(
0x0002,
"sisailman_lampotila",
'temperature'
)

read_and_publish(
0x0003,
"tuloveden_lampotila",
'temperature'
)

read_and_publish(
0x0004,
"lahtoveden_lampotila",
'temperature'
)

read_and_publish(
0x0005,
"kylmaaine_t2b",
'temperature'
)

read_and_publish(
0x000A,
"purkauslampotila",
'temperature'
)

read_and_publish(
0x000B,
"ilmanvaihtimen_lampotila_t3",
'temperature'
)

read_and_publish(
0x0017,
"kompressorin_taajuus",
'frequency'
)

read_and_publish(
0x0055,
"pumpun_nopeus",
'normal'
)

read_and_publish(
0x102A,
"water_flow",
'flow'
)

read_and_publish(
0x1005,
"fan_speed",
'normal'
)

# ======================================
# Setting mode 0x002C
# ======================================

setting_mode = read_register(0x002C)

if setting_mode is not None:

if setting_mode == 0:
publish_mqtt("power", "OFF")

elif setting_mode == 4:
publish_mqtt("power", "ON")

else:
publish_mqtt("power", "ON")

print(f"Setting mode 0x002C: {setting_mode}")

# ======================================
# Running mode 0x002D
# ======================================

running_mode = read_register(0x002D)

if running_mode is not None:

publish_mqtt(
"running_mode",
running_mode
)

print(f"Running mode 0x002D: {running_mode}")

print("--- Seuraava mittaus 30 s kuluttua ---")


# ==========================================
# Rotenson käynnistys / sammutus
# ==========================================

def set_power(command):

command = command.strip().upper()

if command == "ON":

value = 4
print(">>> Rotenso KÄYNNISTYS")

elif command == "OFF":

value = 0
print(">>> Rotenso SAMMUTUS")

else:

print(f"Virheellinen komento: {command}")
return

try:

with modbus_lock:

result = client.write_register(
0x002C,
value,
slave=SLAVE
)

if result.isError():

print(
f"Modbus WRITE ERROR 0x002C = {value}"
)
return

print(
f"Modbus OK: 0x002C = {value}"
)

# Julkaistaan HA:lle uusi tila
publish_mqtt(
"power",
command
)

except Exception as e:

print(f"Modbus WRITE ERROR: {e}")

# ==========================================
# MQTT-komentojen kuuntelu
# ==========================================

def mqtt_listener():

print("MQTT-komentojen kuuntelu käynnistetty")

while True:

try:

process = subprocess.Popen(
[
'mosquitto_sub',
'-h', MQTT_BROKER,
'-u', MQTT_USER,
'-P', MQTT_PASSWORD,
'-t', 'rotenso/set_power'
],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True
)

for line in process.stdout:

command = line.strip()

if command:

print(
f"MQTT komento: {command}"
)

set_power(command)

except Exception as e:

print(
f"MQTT listener ERROR: {e}"
)

print(
"MQTT-yhteys katkesi, "
"yritetään uudelleen 5 s kuluttua..."
)

time.sleep(5)


# ==========================================
# KÄYNNISTYS
# ==========================================

if not client.connect():

print("Modbus-yhteys epäonnistui")
exit(1)

print("Modbus-yhteys OK")
print("Mittausväli: 30 sekuntia")


# Käynnistetään MQTT-kuuntelu omassa säikeessä

listener_thread = threading.Thread(
target=mqtt_listener,
daemon=True
)

listener_thread.start()


# ==========================================
# Pääohjelma
# ==========================================

try:

while True:

read_all()

time.sleep(INTERVAL)

except KeyboardInterrupt:

print("\nOhjelma lopetetaan")

finally:

client.close()

print(
"Modbus-yhteys suljettu"
)
 
Viimeksi muokannut moderaattori:
miten on, keinoäly väittää että varaajaan menee 6kW teholla.
on kait täällä joku jolla on monoblock vilppi

1789918273177.webp
 
miten on, keinoäly väittää että varaajaan menee 6kW teholla.
on kait täällä joku jolla on monoblock vilppi

Minulla on... en oikein saa selvää mikä on ongelmasi. Terminologiamuuri ehkä.

Itselle olen tehnyt Excel kaavan, jossa on lämpötilaero ja virtausnopeus. Se laskee veteen siirtyvän energian.
 
rotenso näyttää siirtyvän energian suoraan joka on tuossa kuvassa 3,03kw, ongelmani on teminologiamuuri
onko tuohon 3,03kw laskettu verkosta otettu enegia minkä mittaan kiskomittarilla, 2,9kw
onko tuon laitteen hyöty vajaat 100W kuvan tilanteessa? vai
meneekö varaajaan ~6kw teholla?
 
Ensimmäisessä kuvassa meni 5,96 KW ja nyt 3,03 kW ja COP on jälkimmäisessä kuvassa n. yksi.
Miten kuumaa kone tekee, kun hyötysuhde on n. yksi?
 
Monokoneen käyttäjä/mittaaja ilmoittautuu !
Mitattavia suureita ovat lämpöteho ja sähköteho. Lämpöpumpun ilmaisenergia on VILPin tapauksessa aina laskennallinen suure. Vain maalämpöpumpun keruupiiristä tuon voi mitata suoraan ja jotkut ovat sitä jopa tainneet kokeillakin.

Softa nyt tietysti voi laskea mitä tahansa ulos heikolaatuisistakin mittaustuloksista. En muista koskaan kenenkään raportoineen, että kone ilmoittaisi ilmasta kiinniottamansa ilmaisenergian määrää energiana tai tehona.
 
rotenso näyttää siirtyvän energian suoraan joka on tuossa kuvassa 3,03kw, ongelmani on teminologiamuuri
onko tuohon 3,03kw laskettu verkosta otettu enegia minkä mittaan kiskomittarilla, 2,9kw
onko tuon laitteen hyöty vajaat 100W kuvan tilanteessa? vai
meneekö varaajaan ~6kw teholla?

Omassa Kiinalaitteessa "ottoteho" ilmoitetaan pelkillä Ampeereilla ja jännitteellä. Niistä ei saa kuin suuntaa antavan tiedon. Se ei edes laske niistä watteja. Mutta minulla on oma mittari, joka kertoo watit.

Jos kiskomittarisi antaa samaa luokkaa olevaa lukemaa niin ehdottaisin että kyse on samasta suureesta eli ottotehosta. Antotehoa se ei voi mitata ellei siinä ole virtausmittaria tai sellaista KV-pumppua josta se saa toteutuneen virtausnopeuden.
 
Juurikin näin ymmärrän.
Mistä tuo ”rotenso lämpöteho” mittaus tulee? Onko jossain energiamittari, joka mittaa menevän ja palaavan veden lämmön sekä virtauksen?
 
Omassa Kiinalaitteessa "ottoteho" ilmoitetaan pelkillä Ampeereilla ja jännitteellä. Niistä ei saa kuin suuntaa antavan tiedon. Se ei edes laske niistä watteja. Mutta minulla on oma mittari, joka kertoo watit.

Jos kiskomittarisi antaa samaa luokkaa olevaa lukemaa niin ehdottaisin että kyse on samasta suureesta eli ottotehosta. Antotehoa se ei voi mitata ellei siinä ole virtausmittaria tai sellaista KV-pumppua josta se saa toteutuneen virtausnopeuden.
1789927583238.webp


1789927720960.webp


tuo lämpöteho on ollut ylimmillään ~15kw, ottoteho on aika vakio ~4kw
 
Viimeksi muokattu:
miten on, keinoäly väittää että varaajaan menee 6kW teholla.
on kait täällä joku jolla on monoblock vilppi

Näytä liitetiedosto 117608


Jos tuota aikaisemmin laittamaasi kuvaa katsoo niin "Rotenso lämpöteho" näyttäisi siltä mitä väraajaan menee. Tuo veden virtaus on todennäköisesti 840 L/h. Tuo lähtevän veden lämpötila on ainakin edellisessä kuvassa niin korkea että ei siinä kovin hyvä COP voi enään olla. Nuo pumpun omat ilmoitukset ainakin itsellä aika vaihtelevia.

1789927212733.webp
 
Virtausnopeus ei voi olla 84 kuutiota tunnissa

Mutta jos se on 840 litraa tunnissa niin lämmitysteho 6,1 asteen nousulla on 5,96 kW kuten laite itsekin laskee.
 
Viimeksi muokattu:
Pumppu laskee lämpötehon "oikein" mutta HA näyttää erillisen vedenvirtauksen pilkkuvirheellä. Näin ainakin itsellä oli allekirjoituksen pumpussa.
 
Teen yöllä vertailevan testin kun oma pumppu tuottaa yhtä kuumaa ja virtausmäärän saa kv-pumpun omasta näytöstä. Mielestäni hyötysuhde voisi olla lähempänä kakkosta kuin ykköstä.
 
U-Energy eli Power Worldin 6 kW on nyt käymässä ja hetken käytyään se pääsi samoihin lämpötiloihin.

Ulkolämpötila 12,5°C
Vesi sisään 53,1°C
Vesi ulos 61,1°C
ΔT+8,0°C
Mitattu sähköteho 2817 W
Virtaus 730 l/h
Tuotto 7,6 kW
COP 2,7

Vähän myöhemmin se alkoi jo rajoittamaan kierroksia kun sähköteho nousi 2900W yli ja sitten laite pysähtyi. Juuri sitä ennen mittaukset oli

Ulkolämpötila 12,5°C
Vesi sisään 56,3°C
Vesi ulos 63,5°C
ΔT+7,2°C
Mitattu sähköteho 2895 W
Virtaus 730 l/h
Tuotto 6,1 kW
COP 2,1

Tämä on siis R32 laite ja 55 asteen pyynnillä se pystyy käymään siihen asti kunnes tulolämpö saavuttaa 57 asteen rajan. Lämpötilat mittaan erikseen molemista putkista omalla mittarilla. Sähköt Shellyllä ja virtaus on pumpun ilmoittamana.

Tuollaisia tuloksia siis voisi odottaa muiltakin R32 laitteilta.

Tässä vielä ottotehokäyrää (sininen) ja kierrosmäärä (harmaa) Vihreä on COP. Lämmitys alkoi 50 asteisesta vedestä. Käyrän kyykkäys johtuu siitä, että paisunta ei ollut valmiiksi riittävän paljon auki. Meni liian kuumaksi ja joutui hetken hellittämään kierroksia.
1789939289214.webp
 
Viimeksi muokattu:
No nyt on tuo Rotenso vihdoin HomeAssist perässä ja alkoi samaan käppyrää pihalle. Nuo arvot eivät ole vielä ihan valmiita, kun vasta muutaman tunnin kerännyt dataa, mutta suuntaa antavia.
 

Liitetiedostot

  • Screenshot_20260921_231026_io_homeassistant_companion_android_WebViewActivity.webp
    Screenshot_20260921_231026_io_homeassistant_companion_android_WebViewActivity.webp
    20,1 KB · Lukukerrat: 15
  • Screenshot_20260921_231012_io_homeassistant_companion_android_WebViewActivity.webp
    Screenshot_20260921_231012_io_homeassistant_companion_android_WebViewActivity.webp
    20,1 KB · Lukukerrat: 15
Laitoitko suoraan yaml tiedostoon? Itse olen yrittänyt laittaa cop laskenta koodia hassiin, huonolla menestyksellä..
Vähän on kesken vielä, tekoälyn kanssa tuota pyörittelin ja se halus cop laskennassa ottaa alkuhuipun pois. Siinä tuli virhe, koska silloin se paras cop nimenomaan tuleekin. Palaan aiheeseen kun pääsen koneen äärelle taas hieromaan yksityiskohtia.

Korsteeni, ne Kv pumppun lukemat pitää muuttaa järkeväksi, voisko se vaikuttaa tuohon laskentaan. Esim luku 155 tarkoitti, 1.55 m3/h ja tuo AI hoksasi tuon varsin nopeasti ja muutettiin yksikkö järkevämmäksi.

Mulla on nyt myös Dr ylimääräinen lämpötila-anturi köutössä, piti additional heat (oil boiler) laittaa päälle asetuksista ja niin vaan TUYA-App antaa oikeata lukemaa, mutta mikä sen Modbus asetus on?

Niin, se Cop laskenta ei tullut sinne yamaliin, laitan kuvakaappauksen siitä myöhemmin, kun ei vanha oikein muista enää miten tein sen.
 
en itse laske mitään lukuja, ne ovat "lämpöteho" suoraan rotenson rekisteristä ja kulutus kiskomittarista. miksi niitä pitäisi muuttaa?
lämpöteho on sama minkä sen oma wired taulu näyttää ja enempi luotan kiskomittarin lukemaan kun rotenson virrasta ja jännitteestä laskien
 
nyt varaajan lämmittäminen on rotensolla pääpiirteittäin hanskassa, 4m³ varaajaan saa 110kw käyttökelpoista >30°C. tästä yli on nipottelua ja ~60°C on ihan ok käyttövetenäkin kun lisäsin virtauksia ja laitoin hullunkierron säätimellä ettei kanalin 40m pituinen putki ime alhaisilla lämpötiloilla lämpöjä ja jonka virittely jääköön hifistelynä pakkasille.

nyt sitten seuraava testi rotensolla suoraan patterikiertoon varaaja kytkettynä pois koska en haluaisi sitä eilen vastuksilla lämmitettyä >60°C vettä lämmityskiertoon, ~30°Criittäisi tähän nyt.
- ilmeiseti säädän HEAT asennossa lähtevää vettä.........riittääkö?
- toinen on sisälämpötilan anturi T4 (CN62) "indoor anbient temp" en saa laitteessa näkymään, käsittääkseni sillä voisi säätää lämmön tarpeen
- ohitanko ouman EH80 ja laitanko kiertovsipumpun pois kun Rotensossa on pumppu
- vaatiiko tämä kuitenkin jonkun pienen bufferin, paisunta on kylläkin tuon 4m³ varaajan kautta käytössä aina.

tällaisia mietteitä
 
- ilmeiseti säädän HEAT asennossa lähtevää vettä.........riittääkö?

Joissain laitteissa säätö koskee palaavaa vettä. Eiköhän se kokeilmalla selviä nyt kun on tiedonkeruukin. VILPin kyky säätää lähtevän veden lämpöä on hyvin rajallinen. Se pystyy tekemään sitä vain kompressorin kierroksia muuttamalla ja säätöalue on aika kapea ja suoraan suhteessa palaavan veden lämpötilaan sitä nostaen muutaman asteen.

- toinen on sisälämpötilan anturi T4 (CN62) "indoor anbient temp" en saa laitteessa näkymään, käsittääkseni sillä voisi säätää lämmön tarpeen

Yleensä lämmöntarve säätyy ulkolämpötilan mukaan. Sisäanturilla voi korjata poikkeamia jos on tarpeen.

- ohitanko ouman EH80 ja laitanko kiertovsipumpun pois kun Rotensossa on pumppu

Ohitetaan koska Oumanin ei haluta tässä kohtaa tekevän mitään ja ylimääräinen kv-pumppu on tosiaan ylimääräinen. Se tarvitaan jos on ohivirtausventtiilitön puskuri välissä, jollainen nollaa kiertoon menevän paineen.

- vaatiiko tämä kuitenkin jonkun pienen bufferin, paisunta on kylläkin tuon 4m³ varaajan kautta käytössä aina.

Jos tulee liian pienestä virtauksesta hälytys niin tarvitset ison bufferin tai kierrossa venttiilit auki tai ohivirtausventtiilin linjan päähän. Optimi on jos kaikki lämmitetty vesi menisi suoraan lämmityspiiriin, koska lämmitetyn veden palauttaminen jäähdyttämättä takaisin pumppuun heikentää COP lukemaa ja saa pumpun käymään tiheää katkokäyntiä.

Sulatuksia varten lämmityspiirissä on oltava riittävästi vettä, josta sulatusenergia saadaan. Tarvittaessa tilavuutta voi lisätä asentamalla linjaan läpivirtaavan pienen vesisäiliön.
 
Olen yrittänyt saada tuota COPia laskettua HomeAssissa. Huonoin tuloksin. Laitan tänne templates.yaml ja modbus.yaml.
En vain löydä ( lue ymmärrä tai osaa ) mikä on vialla??
Pahoittelut, että koodi on muutenkin hirveää.
Osoitteet ainakin ovat mielestäni oikein.
 

Liitetiedostot

Mulla käytössä tällainen oma viritelmä toisen merkkisessä pumpussa.

- name: "COP"
unit_of_measurement: "COP"
state: >
{% set flow_m3h = states('VIRTAUSANTURIN_DATA_TÄHÄN') | float(0) %}
{% set delta = states('LÄMMITYSVEDEN_DELTA') | float(0) %}
{% set power_w = states('SÄHKÖTEHO_MITTAUS') | float(0) %}
{% set compressor_hz = states(KOMPRESSORIN_HERZIT') | float(0) %}


{# Muunnokset #}
{% set flow_ls = flow_m3h / 3.6 %}
{% set heat_power_kw = 4.19 * flow_ls * delta %}
{% set power_kw = power_w / 1000 %}

{% if compressor_hz > 1 %}
{{ (heat_power_kw / power_kw) | round(2) }}
{% else %}
0
{% endif %}


Kompressorin herzit on mukana siksi että tunnistetaan käykö laite vai ei. Tämä koodinpätkä laskee myös sulatuksen aikaisen cop:n.
 
........... ja ylimääräinen kv-pumppu on tosiaan ylimääräinen. Se tarvitaan jos on ohivirtausventtiilitön puskuri välissä, jollainen nollaa kiertoon menevän paineen.
..............................
kokeilin pariin otteeseen mutta ei toimi ilman kiertovesipumppua, tulee "P2 Protection of lack of water" virhe. pumppu päällä toimii mutta virtaus vaikuttaa aika kovalle kun rotenson pumppukin lähtee päälle niinä hetkinä kun on käynnissä. vähän liikaa uusia termejä mutta eiköhän ajan kanssa tule tutuksi.
 
kokeilin pariin otteeseen mutta ei toimi ilman kiertovesipumppua, tulee "P2 Protection of lack of water" virhe. pumppu päällä toimii mutta virtaus vaikuttaa aika kovalle kun rotenson pumppukin lähtee päälle niinä hetkinä kun on käynnissä. vähän liikaa uusia termejä mutta eiköhän ajan kanssa tule tutuksi.

Enpä ihmettele. Siellä on liikaa kuristusta lämmitysjärjestelmässä. Omaani voin käyttää tuolleen kun VILP on tyytyväinen reiluun 500 litraa tunnissa. Iso pumppu haluaa enemmän. Voisko olla mahdollista avata venttiileitä niin että vesi saa virrata vapaammin?
 
Rotenso Windmi 14 kW:n toiminnasta kysymys. Olen seurannut konetta Home Assistantin kautta Modbus-arvoista sekä Shelly Pro 3EM:llä sähkönkulutusta.

Käyntijakson alussa kone toimii mielestäni hyvin: kompressori käy esimerkiksi noin 50–55 Hz, veden tulo- ja lähtölämpötilojen ero on muutaman asteen ja laskettu COP on noin 4–5.

Kun tavoitelämpöä lähestytään, kompressori kuitenkin pudottaa taajuuden noin 15 Hz:iin ja jää käymään siihen pitkäksi aikaa, käytännössä lähes puoleksi tunniksi. Samalla veden ΔT romahtaa hyvin pieneksi, esimerkiksi:

  • tulovesi 32,0 °C
  • lähtövesi 32,7 °C
  • ΔT 0,7 °C
  • virtaus noin 1,30 m³/h
  • kompressori 15 Hz
  • sähköteho noin 630 W
  • laskettu lämpöteho noin 1,0 kW
  • laskettu COP noin 1,5–1,7
Eli kone ei sammukaan melko nopeasti tavoitelämpötilan saavuttamisen jälkeen, vaan jää lähes puoleksi tunniksi pyörimään hyvin pienellä kompressoriteholla, jolloin lämpöteho putoaa voimakkaasti ja COP näyttää romahtavan.

Kokeilin muuttaa kiertovesipumpun ΔT-asetusta 5 °C:sta 6 °C:een, mutta sillä ei ollut käytännössä mitään vaikutusta tilanteeseen.

Kysymys olisi siis: onko tällainen 15 Hz minimiteholla lähes puoli tuntia käyminen normaalia tälle koneelle, vai löytyykö säädöistä esimerkiksi hystereesiä, minimikäyntitehoa, veden tavoitelämpötilan ohjausta tai muuta asetusta, jolla koneen saisi mieluummin tekemään tehokkaamman lämmitysjakson ja sammumaan aiemmin sen sijaan, että se jää pitkäksi aikaa käymään huonolla hyötysuhteella?

Tiedän, että noin pienellä ΔT:llä laskettu COP on herkkä lämpötila-antureiden mittausvirheelle, mutta ilmiö näkyy selvästi myös siinä, että kompressoritaajuus ja laskettu lämpöteho putoavat hyvin alas.

Ekassa kuvassa muuta minuutti käynnistyksen jälkeen, Rotenso itse laske tuon tehon 10 portaisen asteikon mukaan 1-10 ja aika isoa heittoa tulee HA:n arvoihin. Vasta huomenna nuo päiväarvot ovat paremmat.

1790254109870.webp





Ja tässä nähdään tuo ongelma, kone hissun kissun käy vain 15 hz taajuudella.

1790254234537.webp
 
nyt varaajan lämmittäminen on rotensolla pääpiirteittäin hanskassa, 4m³ varaajaan saa 110kw käyttökelpoista >30°C. tästä yli on nipottelua ja ~60°C on ihan ok käyttövetenäkin kun lisäsin virtauksia ja laitoin hullunkierron säätimellä ettei kanalin 40m pituinen putki ime alhaisilla lämpötiloilla lämpöjä ja jonka virittely jääköön hifistelynä pakkasille.

nyt sitten seuraava testi rotensolla suoraan patterikiertoon varaaja kytkettynä pois koska en haluaisi sitä eilen vastuksilla lämmitettyä >60°C vettä lämmityskiertoon, ~30°Criittäisi tähän nyt.
- ilmeiseti säädän HEAT asennossa lähtevää vettä.........riittääkö?
- toinen on sisälämpötilan anturi T4 (CN62) "indoor anbient temp" en saa laitteessa näkymään, käsittääkseni sillä voisi säätää lämmön tarpeen
- ohitanko ouman EH80 ja laitanko kiertovsipumpun pois kun Rotensossa on pumppu
- vaatiiko tämä kuitenkin jonkun pienen bufferin, paisunta on kylläkin tuon 4m³ varaajan kautta käytössä aina.

tällaisia mietteitä

Laita heat ja siihen se 30 astetta. Miksi ohittaa Ouman, teet sitä 30 asteista ja talvella vähän ylikin ja Ouman hoitaa säädon. Käyttövetä varten pieni esim 100 litan tulistaja sen 4m3 säiliön perään. Helppa ja yksinkertainen toteutus. Näin meillä. Kattila ollut joka kesä n 35 asteinen sähkövastuksella ja se haalistaa käyttöveden.

En ehkä täysin tajunnut mikä tässä oli se ongelma, sama pää kesät ja talvet :-)
 
Kysymys olisi siis: onko tällainen 15 Hz minimiteholla lähes puoli tuntia käyminen normaalia tälle koneelle, vai löytyykö säädöistä esimerkiksi hystereesiä, minimikäyntitehoa, veden tavoitelämpötilan ohjausta tai muuta asetusta, jolla koneen saisi mieluummin tekemään tehokkaamman lämmitysjakson ja sammumaan aiemmin sen sijaan, että se jää pitkäksi aikaa käymään huonolla hyötysuhteella?
Löytyykö valikosta mitään kuvaa vastaavaa asetusta? Itsellä eri pumppu mutta tuollainen valinta saattaa olla hvyä tällaisilla ilmoilla jos on varaaja ja lämmitystarve pieni. Pumppu käy Silent modella sille rajoitetulla taajuudella ja sammuu kun lämpötilapyynti saavutettu. Säädettävätehoinen on/off.

1790255623920.webp
 
Löytyykö valikosta mitään kuvaa vastaavaa asetusta? Itsellä eri pumppu mutta tuollainen valinta saattaa olla hvyä tällaisilla ilmoilla jos on varaaja ja lämmitystarve pieni. Pumppu käy Silent modella sille rajoitetulla taajuudella ja sammuu kun lämpötilapyynti saavutettu. Säädettävätehoinen on/off.

Ehdin jo kysyä Rotensolta (Thermosilensia) tätä, onneksi ovat hyvin vastanneet sieltä. Tuommoinen on-off tyyppinen ratkaisu olis ihan paras, sajais aina täysillä ja sitten sammuis. Tuskin olen ainut, joka tämän kanssa painiskelee, varsinkin jos joku muu päätyy ostamaan samanlaisen konheen. Tuo Homeassist kyllä vaati melkoista jumppaamista, ilman AI:tä ei mun taidoilla olis onnistunut.

Kyseltiin tuota toimivaa YAML:ia (ip ja host ruksattu pois) tuolla menee ja sitten hirmuinen määrä niitä apureita.

# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

modbus:
- name: rotenso
type: rtuovertcp
host: XXX.XXX.XX.XX
port: XXXX
timeout: 5

sensors:
- name: "Rotenso ulkolämpötila"
unique_id: rotenso_outdoor_temperature
slave: 11
address: 1
input_type: holding
unit_of_measurement: "°C"
scale: 0.1
precision: 1

- name: "Rotenso tulovesi"
unique_id: rotenso_entering_water
slave: 11
address: 3
input_type: holding
unit_of_measurement: "°C"
scale: 0.1
precision: 1

- name: "Rotenso lähtövesi"
unique_id: rotenso_leaving_water
slave: 11
address: 4
input_type: holding
unit_of_measurement: "°C"
scale: 0.1
precision: 1

- name: "Rotenso kylmäaine T2B"
unique_id: rotenso_t2b
slave: 11
address: 5
input_type: holding
unit_of_measurement: "°C"
scale: 0.1
precision: 1

- name: "Rotenso kuumakaasu"
unique_id: rotenso_discharge_temperature
slave: 11
address: 10
input_type: holding
unit_of_measurement: "°C"
scale: 0.1
precision: 1

- name: "Rotenso ulkokenno T3"
unique_id: rotenso_t3
slave: 11
address: 11
input_type: holding
unit_of_measurement: "°C"
scale: 0.1
precision: 1

- name: "Rotenso kompressorin taajuus"
unique_id: rotenso_compressor_frequency
slave: 11
address: 23
input_type: holding
unit_of_measurement: "Hz"
scale: 0.1
precision: 1

- name: "Rotenso pyydetty kompressorin taajuus"
unique_id: rotenso_required_compressor_frequency
slave: 11
address: 4111
input_type: holding
unit_of_measurement: "Hz"
scale: 0.1
precision: 1

- name: "Rotenso vesivirtaus"
unique_id: rotenso_water_flow
slave: 11
address: 4138
input_type: holding
unit_of_measurement: "m³/h"
scale: 0.01
precision: 2

- name: "Rotenso pumpun nopeus"
unique_id: rotenso_pump_speed
slave: 11
address: 85
input_type: holding
unit_of_measurement: "%"
scale: 1
precision: 0

- name: "Rotenso toimintatila"
unique_id: rotenso_running_mode
slave: 11
address: 45
input_type: holding
scale: 1
precision: 0

- name: "Rotenso puhallinnopeus"
unique_id: rotenso_fan_speed
slave: 11
address: 4101
input_type: holding

- name: "Rotenso EXV pyynti"
unique_id: rotenso_exv_required
slave: 11
address: 4124
input_type: holding

- name: "Rotenso vesivirtaus palaute"
unique_id: rotenso_water_flow_feedback
slave: 11
address: 4138
input_type: holding
unit_of_measurement: "m³/h"
scale: 0.01
precision: 2

- name: "Rotenso oma teho"
unique_id: rotenso_actual_capacity_output
slave: 11
address: 4100
input_type: holding
data_type: uint16
scan_interval: 5

- name: "Rotenso nimellisteho"
unique_id: rotenso_unit_capacity
slave: 11
address: 4102
input_type: holding
unit_of_measurement: "kW"
device_class: power
state_class: measurement
scale: 1
precision: 0
scan_interval: 30


1790258458290.webp
1790258491059.webp



Halusin lisäksi hälytykset jos jokin vaihe romahtaa alla 205 volttia, kriittinen jäätymisvaara +2 astetta, jäätymisvaara +5, yhteyshälytys jos modbus väylä tai jokin anturi ei toimi, KV-pumpulta häly jois järjestelmä ottaa ilmaa ja pumppu kavitoi ( mulla itseasiassa kävi kerran näin, hirveetä meteliä pumppu piti ja kv-pumpun paluutedosta näkyi miten kierrokset seilasivat). Näistä tulee siis ilmoa kännyyn.

1790258543050.webp
 
Viimeksi muokannut moderaattori:
Kun tavoitelämpöä lähestytään, kompressori kuitenkin pudottaa taajuuden noin 15 Hz:iin ja jää käymään siihen pitkäksi aikaa, käytännössä lähes puoleksi tunniksi. Samalla veden ΔT romahtaa hyvin pieneksi, esimerkiksi:

Ehdin jo kysyä Rotensolta (Thermosilensia) tätä, onneksi ovat hyvin vastanneet sieltä. Tuommoinen on-off tyyppinen ratkaisu olis ihan paras, sajais aina täysillä ja sitten sammuis.

Omassa tuon saa valita. Idea siinä käynnin venyttämisessä on se, että laite yrittää pitää sen valitun tuottolämmön yllä eli välttelee pysähtymistä. Omassa se toimii sen verran huonosti, että olen nykyisin valinnut täyden tehon loppuun asti.

Jos laitteesi ei jostain syystä siihen pysty, niin ratkaisu on se, että laitat pyynnin maksimiin ja ohjaat itse sitä päälle ja pois automatiikalla. Pumpuissa yleensä on ulkoisen termostaatin paikka, josta sitä voi ohjata. Kun pyynti on maksimilla niin se ei ehdi saavuttaa sitä.
 
Takaisin
Ylös Bottom