Komunikácia / MQTT

MiniHPC má možnosť zasielať namerané dáta a upravovať svoje nastavenia cez MQTT protokol.

Na sprístupnenie tejto možnosti je potrebné najskôr nakonfigurovať prístup MiniHPC k lokálnemu MQTT brokerovi. Po otvorení IP adresy zariadenia vyberieme menu MQTT. Budeme vyzvaní na zadanie mena a hesla, ktoré sú uvedené v menu 9.2 WiFi AP

: zapína/vypína prístup MiniHPC k nastavenému MQTT brokerovi.

: IP adresa MQTT brokera v lokálnej sieti.

: TCP port MQTT brokera.

: užívateľské meno pre prístup k MQTT brokerovi.

: heslo pre prístup k MQTT brokerovi.

: Voliteľný názov počiatočnej témy, na ktorú bude MiniHPC zasielať namerané dáta a počúvať na zmenu konfigurácie. Ak je viac MiniHPC zariadení v MQTT sieti, je potrebné zvoliť unikátny root topic pre každé zariadenie.

: Názov témy, na ktorej MiniHPC počúva a akonáhle na nej zaznamená akýkoľvek obsah, odošle na MQTT server celú konfiguráciu a všetky namerané dáta (typicky pri reštarte Home Assistanta).

: Určuje, v akých časových intervaloch bude MiniHPC zasielať namerané dáta na MQTT server.

V prípade úspešného pripojenia MiniHPC na MQTT server bude zobrazený stav Pripojené v časti v menu 9.1 WiFi stanica

MQTT nastavenia

Pre zobrazenie všetých dostupných dát odporúčame aplikáciu MQTT explorer.

MQTT explorer

MiniHPC používa 4 témy pre zobrazovanie dát a nastavovanie parametrov:
- zobrazuje namerané dáta. Dáta sú aktualizované len ak nastane nejaká zmena pre danú položku. Všetky namerané dáta budú zobrazené pri štarte MiniHPC, alebo pri akejkoľvek zmene v nastavení MiniHPC
- zobrazuje aktuálnu konfiguráciu MiniHPC.
- topic pre zaslanie zmeny v konfigurácii. Zmena bude povolená iba v prípade, ak sú povolené oprávnenia v menu 9.4 Oprávnenia
- topic pre zaslanie zmeny v konfigurácii, ktorá bude aplikovaná, avšak nebude uložená do pamäte MiniHPC. Pamäť MiniHPC má obmedzený počet zapisovacích cyklov a pri bežnom použití nedochádza k jej poškodeniu, avšak v prípade, že sa na úpravu parametrov použije automatizovaný script, ktorý mení parametre niekoľko krát za minútu je vhodné použiť tento topic. Zmena bude povolená iba v prípade, ak sú povolené oprávnenia v menu 9.4 Oprávnenia
- topic pre zaslanie hodnoty externého senzora. Zmena bude povolená iba v prípade, ak sú povolené oprávnenia v menu 9.4 Oprávnenia
Pre témy set a setsensor je možné zaslať samostatnú jednu hodnotu, alebo súbor hodnôt v json formáte.

Popis dátového výstupu z MQTT topicu miniHPC/data/# alebo zo súboru data.json

Názov Násobiteľ Popis
t1 1°C Teplota T1
t2 1°C Teplota T2
t3 1°C Teplota T3
t4 1°C Teplota T4
t5 1°C Teplota T5
t6 1°C Teplota T6
tout 1°C Vonkajšia teplota
tsuc 1°C Teplota na výparníku
texh 1°C Teplota na výtlaku kompresora
outMode -- Mód vonkajšej jednotky: Cool- , Dry- ,Fan- , Heat-
outState -- Stav kompresora: 0 - vypnutý; 1 - zapnutý
outFrequency 1Hz Frekvencia kompresora
outFan 1RPM Rýchlosť ventilátora vonkajšej jednotky
outPower 1W Príkon kompresora
outEEV -- Poloha expanzného ventilu
outDCbus 1V Napätie na výstupe z invertora
outDefrost 1/0 Stav odmrazovania
outDCcurrent 1A Prúd odoberaný kompresorom
flow 1l/min Prietok vykurovacej vody
tset 1°C nastavená teplota regulátorom
tIDUroom 1°C Tpreset z menu 4.1 Vonkajšia jednotka
tIDUset 1°C Tamb z menu 4.1 Vonkajšia jednotka
R1 1/0 Stav relé R1
R2 1/0 Stav relé R2
R3 1/0 Stav relé R3
R4 1/0 Stav relé R4
R5 1/0 Stav relé R5
S1 1/0 Stav vstupu S1
S2 1/0 Stav vstupu S2
pwrOutHP 1W Aktuálna výstupná energia tepelného čerpadla
heatTimeHP 1s Čas chodu kompresora počas kúrenia
heatTimeELH 1s čas chodu el. dohrevu na R2
heatTimeDefr 1s Celkový čas odmrazovania
heatCountHP 1x Počet zopnutí kompresora počas kúrenia
heatCountELH 1x Počet zopnutí el. ohrevu na R2
heatCountDefrost 1x Počet odmrazovacích cyklov
coolTimeHP 1s Čas chodu kompresora počas chladenia
coolCountHP 1x Počet zopnutí kompresora počas chladenia
dhwLegTime 1s čas posledného anti-legionela ohrevu (od 1.1.1970)
dhwTimeHP 1s Čas chodu kompresora počas ohrevu TPV
dhwTimeELH 1s Čas el. dohrevu TPV cez relé R1
dhwCountHP 1x Počet zopnutí kompresora počas ohrevu TPV
dhwCountELH 1x Počet zopnutí relé R1 pre el. dohrev TPV
heatPwrIn 1mWh Spotrebovaná el. energia pre kúrenie
coolPwrIn 1mWh Spotrebovaná el. energia pre chladenie
dhwPwrIn 1mWh Spotrebovaná el. energia pre ohrev TPV
heatPwrOutHP 1mWh Vyrobená tep. energia na kúrenie
heatPwrOutELH 1mWh Vyrobená tep. energia el. dohrevom kúrenia
coolPwrOut 1mWh Odobraná tep. energia chladením
dhwPwrOut 1mWh Vyrobená tep. energia na ohrev TPV
BTtemp 1°C Teplota BT senzora
BThum 1% Relatívna vlhkosť BT senzora
BTbat_mv 1mV Napätie baterky BT senzora
BTbat_lev 1% Stav baterky BT senzora
BTrssi 1dBm Sila signálu BT senzora

Popis konfigurácie z MQTT topicu miniHPC/config/# alebo zo súboru config.json

Nastavenie (key) Default Min Max Násobiteľ Popis
mode 0 0 2 -- Mode: 0 - off; 1 - Kúrenie; 2 - Chladenie
heating_onoff_input 0 0 3 -- 1.1 Zapnúť kúrenie podľa: 0 - Vždy zapnuté; 1 - Termostat S2; 2 - Prietokomer S1/I1; 3 - T1 ako termostat
heating_reg_input 1 0 2 -- 1.2 Regulácia teploty podľa: 0 - T1 teplota miestnosti; 1 - T2/T3 výstup pevná; 2 - T2/T3 výstup/ekvitermická
heating_t1_hysteresis 5 1 50 0.1°C 1.1 T1 ako termostat - hysteréza
heating_reg_temp 2 2 3 -- 1.2 Regulácia teploty: 2 - T2; 3 - T3
temperature_T1 250 100 300 0.1°C 1.2 / 2.2 T1 - teplota miestnosti
temperature_T3 35 15 55 1°C 1.2 T2/T3 - výstupná voda/pevná - kúrenie
temperature_T3_cool 20 10 25 1°C 2.2 T2/T3 - výstupná voda/pevná - chladenie
heating_eqtr_m10 40 20 50 1°C 1.3 T2/T3 teplota pri -10°C vonku
heating_eqtr_p10 25 20 50 1°C 1.3 T2/T3 teplota pri +10°C vonku
heating_eqtr_offset 0 -9 9 1°C 1.3 Vlastný ekvitermický offset
heating_eqtr_avg 24 0 24 1h 1.3 Priemerovanie vonkajšej teploty
heating_eqtr_t1off 0 0 100 0.1x°C 1.3 T2/T3 offset podľa T1
heating_schedule_time 360,720,1020,1320 0 1439 1 min 1.4 Časovač - časy
heating_schedule_offset 0,0,0,0 -100 100 0.1°C 1.4 Časovač - offsety
heating_schedule_affect 7 0 7 -- 1.4 Časovač - ovplyvňuje
Bit mask: 1 - T1, 2 - T2/T3, 4 - Eqtr
heating_elh_mode 0 0 3 -- 1.5 Elektrické kúrenie R2 - režim: 0 - HP; 1 - HP+EH; 2 - HP/EH; 3 - EH
heating_elh_out_temp -5 -20 20 1°C 1.5 El. kúrenie vonkajšia teplota
heating_elh_delay 120 10 600 1min 1.5 Oneskorenie zapnutia El. kúrenia
heating_elh_offset 20 1 50 0.1°C 1.5 El. kúrenie - hysteréza
heating_pump_delay 60 5 3600 1sec 1.6 R3 čerpadlo - čas oneskorenia vypnutia kúrenia
cooling_onoff_input 0 0 3 -- 2.1 Zapnúť chladenie podľa: 0 - Vždy zapnuté; 1 - Termostat S2; 2 - Termostat S2 - invertovaný; 3 - T1 ako termostat
cooling_reg_input 0 0 1 -- 2.2 Regulácia chladenia podľa: 0 - T1 teplota miestnosti; 1 - T3 výstupná voda/pevná
cooling_t1_hysteresis 5 1 50 0.1°C 2.1 T1 ako termostat - hysteréza
cooling_schedule_time 360,720,1020,1320 0 1439 1 min 2.3 Časovač - časy
cooling_schedule_offset 0,0,0,0 -100 100 0.1°C 2.3 Časovač - offsety
cooling_pump_delay 60 5 3600 1sec 2.4 R3 čerpadlo - čas oneskorenia vypnutia chladenia
cooling_3wayV 1 0 1 -- 2.5 3-cestný ventil R5 pre chladenie: 0 - Off; 1 - On
cooling_bt_enable 0 0 1 -- 2.6 Čítanie BT senzora: 0 - Off; 1 - On
cooling_dp_offset 0 -100 100 0.1°C 2.6 Offset rosného bodu pre chladenie
ntc_t1_by_bt 0 0 1 -- 2.6 Nahradiť T1 NTC teplotou z BT: 0 - Off; 1 - On
dhw_onoff 0 0 1 -- 3.1 Ohrievanie TÚV: 0 - Off; 1 - On
dhw_temp_diff 20 5 50 1°C 3.1 Spínací rozdiel
dhw_temp_target 55 20 80 1°C 3.1 Cieľová teplota TÚV
dhw_schedule_time 360,720,1020,1320 0 1439 1 min 3.2 Časovač - časy
dhw_schedule_offset 0,0,0,0 -20 20 1°C 3.2 Časovač - offsety
dhw_schedule_affect 1 0 3 -- 3.2 Časovač - ovplyvňuje
1 - Cieľová teplota; 2 - Spínacia diferencie; 3 - obe
dhw_al_frequency 7 1 30 1 deň 3.3 Antilegionella - frekvencia
dhw_al_day 6 1 7 -- 3.3 Deň v týždni
1 - Pondelok; 2 - Utorok; 3 - Streda; 4 - Štvrtok; 5 - Piatok; 6 - Sobota; 7 - Nedeľa
dhw_al_time 120 0 1439 1 min 3.3 Čas - hodina
dhw_al_temp 65 10 80 1°C 3.3 Cieľová teplota
dhw_temp_hp 45 20 55 1°C 3.4 Max T5 TÚV teplota pre HP
dhw_hp_time 90 30 240 1min 3.4 Max čas HP
dhw_temp_t6 56 20 60 1°C 3.4 Max T6 teplota
dhw_pump_delay 60 5 3600 1sec 3.5 R3 čerpadlo - čas oneskorenia vypnutia TÚV
dhw_elh_mode 0 0 2 -- 3.6 El. kúrenie - režim: 0 - iba R1; 1 - zapnúť R1+R3+R4; 2 - zapnúť R2+R3+R4
flow_imp 476 1 1000 1imp/l 7.3 Kalibrácia prietokomeru
power_input 0 0 2 -- 7.4 Vstupná el. energia: 0 - Vonkajšia jednotka; 1 - Ext. merač na S1; 2 - Ext. merač na S2
odu_power_calib 0 -100 100 0.5% 7.4 Kalibrácia výkonu vonk. jednotky
power_input_pulses 10 1 100 100pulses/kWh 7.4 Kalibrácia ext. merača S1/S2
cal_idu_heat_pid 0 0 1 -- 7.5 Regulácia 0-IDU sim; 1-PID
cal_idu_heat_pidMinF 30 15 85 1 7.5 Min frekvencia
cal_idu_heat_pidMaxF 85 30 120 1 7.5 Max frekvencia
cal_idu_heat_pidP 50 0 255 1 7.5 P
cal_idu_heat_pidI 12 0 255 1 7.5 I
cal_idu_heat_pidD 10 0 255 1 7.5 D
cal_idu_heat_preset 22 16 30 1°C 7.5 Prednastavená teplota
cal_idu_heat_offset 6 2 10 0.5°C 7.5 Teplotný ofset
cal_idu_heat_uplimit 6 1 10 0.5°C 7.5 Horný limit
cal_idu_heat_gain 10 1 30 0.1 7.5 Zosilnenie teploty
cal_idu_cool_preset 22 16 30 1°C 7.6 Prednastavená teplota
cal_idu_cool_offset 0 -4 2 0.5°C 7.6 Teplotný ofset
cal_idu_cool_uplimit 10 2 10 0.5°C 7.6 Horný limit
cal_idu_cool_downlimit 10 2 10 0.5°C 7.6 Spodný limit
cal_idu_cool_gain 10 1 30 0.1 7.6 Zosilnenie teploty
cal_idu_dhw_preset 30 20 30 1°C 7.7 Prednastavená teplota
cal_idu_dhw_offset -10 -20 10 0.5°C 7.7 Teplotný ofset
cal_idu_dhw_ff 0 30 120 1 7.7 Fixná frekvencia 0-IDU sim; >30-FF
protect_fs 2 0 3 -- 8.1 Ochrana prietoku
Bit mask: 1 - Flow switch S1, 2 - Flow sensor I1
protect_fselm 50 20 250 0.1l/min 8.1 Limit prietoku I1
protect_fs_time 60 1 240 1sec 8.1 Čas bez ochrany pri štarte
protect_defr_t3 100 50 250 0.1°C 8.2 Minimálna teplota T3
protect_anfreeze_t6 50 20 250 0.1°C 8.2 Zapnúť R3 čerpadlo pod T6 teplotu
protect_anblock_r3t 10 0 60 1sec 8.3 Ochrana proti zablokovaniu R3 - čas
protect_anblock_r3d 3 1 30 1days 8.3 Ochrana proti zablokovaniu R3 - oneskorenie
protect_anblock_r4t 60 0 60 1sec 8.3 Ochrana proti zablokovaniu R4 - čas
protect_anblock_r4d 3 1 30 1days 8.3 Ochrana proti zablokovaniu R4 - oneskorenie
protect_anblock_r5t 60 0 60 1sec 8.3 Ochrana proti zablokovaniu R5 - čas
protect_anblock_r5d 3 1 30 1days 8.3 Ochrana proti zablokovaniu R5 - oneskorenie
protect_overload 0 0 1 -- 8.4 Nespínať R1 a R2 súčasne: 0 - Off; 1 - On
odu_heat_relay 0 0 5 -- 8.5 Relé spínajúce ohrev ODU: 0 - Off; 1 - R1; 2 - R2; 4 - R4; 5 - R5
odu_heat_outt 0 -15 5 1°C 8.5 Vonkajšia teplota pod
odu_heat_time 5 1 60 1min 8.5 čas ohrevu
odu_heat_adds 30 0 240 1s/1°C 8.5 Pridávanie času
odu_power_limit 0 0 2 -- 13.2 Obmedzenie výkonu vonk. jednotky: 0 - Bez limitu; 1 - 1. stupeň (70%); 2 - 2. stupeň (50%)
odu_power_limit_time 0 0 1 -- 13.2 Aktívne časovo: 0 - Off; 1 - On
odu_power_limit_from 1320 0 1439 1 min 13.2 Začiatok
odu_power_limit_to 360 0 1439 1 min 13.2 Koniec
odu_night_mode 0 0 2 -- 13.3 Nočný režim: 0 - Vypnuté; 1 - Zapnuté stále; 2 - Aktívne časovo
odu_night_mode_from 1320 0 1439 1 min 13.3 Začiatok
odu_night_mode_to 360 0 1439 1 min 13.3 Koniec

Spôsob úpravy konfigurácie cez MQTT topic miniHPC/set

Jednotlivé parametre konfigurácie MiniHPC je možné upravovať cez MQTT topic miniHPC/set/PARAMETER. Namiesto hodnoty PARAMETER doplníme konkrétný názov premennej z tabuľky vyššie.

Napr. pre zaslanie novej hodnoty teploty výtupnej vody T3 (premenná temperature_T3) na teplotu 33°C zašleme hodnotu 33 na MQTT topic miniHPC/set/temperature_T3.

V prípade nutnosti upraviť viacero premenných naraz je možné využiť spôsob ich zápisu ako JSON reťazec a poslať ich na topic: miniHPC/set/json. Napr. pre úpravu premenných dhw_temp_target a dhw_temp_diff v jednom kroku zostavíme JSON reťazec:

{"dhw_temp_target": 60, "dhw_temp_diff": 10}

Pre automatizované scripty, ktoré pravidelne upravujú konfiguráciu použite prosím MQTT topic miniHPC/setns/PARAMETER, ktorý aplikuje danú zmenu, avšak zmena nebude trvalo uložená do pamäte MinHPC

Spôsob zasielania hodnôt z externých senzorov cez MQTT

MiniHPC má možnosť preberať hodnoty niektorých senzorov cez MQTT a nahradiť tak ich fyzické pripojenie k MQTT. Takto zaslaná hodnota sa udrží v pamäti po dobu 60 minút a následne bude zneplatnená. Je preto potrebné zasielať tieto hodnoty pravidelne v intervaloch častejších ako 1 hodina. Ideálne napr. 1 krát za minútu.

Senzor Jednotka Popis
T1 1.00°C Nahradenie teploty interiéru T1
Tout 1.00°C Nahradenie vonkajšej teploty snímanej vonkajšou jednotkou klimatizácie
RH 1.00% Relatívna vlhkosť interiéru

Jednotlivé hodnoty externých senzorov je možné zasielať cez MQTT topic miniHPC/setsensor/SENZOR. Namiesto hodnoty SENZOR doplníme konkrétný názov senzora z tabuľky vyššie.

Napr. pre zaslanie hodnoty teploty miestnosti T1 na teplotu 24.56°C zašleme hodnotu 24.56 na MQTT topic miniHPC/setsensor/T1.

V prípade nutnosti upraviť viacero senzorov naraz je možné využiť spôsob ich zápisu ako JSON reťazec a poslať ich na topic: miniHPC/setsensor/json. Napr. pre zaslanie senzorov T1 a RH v jednom kroku zostavíme JSON reťazec:

{"T1": 24.56, "RH": 45.56}