Integrace AMIT regulátorů do systému HomeAssistant.
AMIT používá proprietární protokol pro komunikaci s PLC nazývaný DBNet. Ten je založený na UDP protokolu ve stylu
client/server, kdy jednotlivá PLC jako klienti mají IP:port a přiřazenou DBNet adresu. Je tedy nutné implementovat
knihovnu pro zpřístupnění proprietárního protokolu dalším aplikacím. To zajišťuje knihovna dbnet2 napsaná v C++
a obsahuje jednak command line dbnet2_client tak knihovnu libdbnet2, pomocí které lze implementovat obecné klienty
i servery.
HomeAssistant (Hass) naprogramován v Pythonu a běžně běží např. na Raspberry PI (RPI) na ARM64 architektuře.
Binární knihovny je tedy nutné zkompilovat pro tuto architekturu.
Spolupracující zařízení musí být integrována a umístěna jako podadreář zdrojových kódů homeassistant/components.
Instalace
Nové verze HomeAssistant 0.116+ požadují Python 3.8 ale pokud je na RPI instalovaný Debian Buster, který používá standardně Python 3.7, je tedy nutné buď počkat na nový Debian Bulleys nebo vlastními silami nainstalovat novější Python. Existuje backport balíček https://community.home-assistant.io/t/home-assistant-core-python-3-8-backport-for-debian-buster/234859. Do virtuálního prostředí Pythonu pro Hass nainstalovat Python knihovnu dbnet2 (viz. dbnet2*.whl)sudo su homeassistant cd /srv/homeassistant/homeassistant_venv source bin/activate pip3 install -v dbnet2-0.0.2-cp38-cp38-linux_armv7l.whl sudo systemctl restart home-assistant.serviceRozbalit integraci hass-dbnetbus.zip do homeassistant/components. Zkoušeno s verzí Home Assistant 2021.3.3. Proměnné a aliasy Amit regulátoru jsou definované typicky pro každý regulátor v DetStudiu a je možně je vyexportovat do CSV souboru. Tento soubor je pak uveden v definici stanic (stations.cfg). Názvy proměnných musí být jedinečně po agregaci všech stanic. To lze zjistit nastavení prefixování jednotlivých definičních souborů. Definiční soubor stanic pak uveden v konfiguraci hass configuration.yaml. Ovládací prvky, které se mají objevit v GUI se přidávají do tohoto souboru s odkazem na konkrétní proměnnou regulátoru. Příklad pro domácí řídící systém ADOREG je v dbnet2-hass-config.zip.
# configuration.yaml dbnetbus: default: station_config: !secret station_config client_addr: 31 sensor: - platform: dbnetbus unit_of_measurement: °C precision: 1 items: t_venk: name: Venkovní teplota (TV1) register: Ven_t podlaha_t_skutecna: name: "$Mis_Tab_text[16]: T.skutečná (TRTV1)" register: Mis_Tab_t[16,0] podlaha_t_zadana: name: "$Mis_Tab_text[16]: T.žádaná" register: Mis_Tab_t_Po[16,0] binary_sensor: - platform: dbnetbus items: podlaha_cerp: name: "$Mis_Tab_text[16]: Čerpadlo" register: "DO0.5" radiator_cerp: name: "$Mis_Tab_text[17]: Čerpadlo" register: "DO0.6" switch: - platform: dbnetbus items: an_rezim_tyce: name: "$Zdr_Tab_Text[5]: Režim Topné tyče AN" register: Zdr_Tab_Rez[5,0] rezim_obdobi: name: Období Zima/Léto register: "Stav.1" climate: - platform: dbnetbus temp_unit: 'C' preset_modes: sleep: state: 0 eco: state: 1 read_only: True comfort: state: 2 external: state: 3 read_only: True hvac_modes: "off": state: 0 heat: state: 1 items: podlaha: name: "$Mis_Tab_text[16]" target_temp_register: Mis_Tab_t_Po[16,0] current_temp_register: Mis_Tab_t[16,0] preset_mode_register: Mis_Tab_Rez[16,0] heating_register: DO0.5 preset_modes: sleep: target_temp_register: Mis_Tab_t_Ut[16,0] comfort: target_temp_register: Mis_Tab_t_Km[16,0] ....Definice stanic:
var_files: - a311_vars.csv - file: name: test_vars.csv codepage: cp1250 - file: name: test_vars2.csv prefix: dup_ alias_files: - a311_aliases.csv - test_aliases.csv - file: name: test_aliases2.csv prefix: dup_ stations: ADOREG: ip: 192.168.0.10 port: 59 addr: 4 password: ~ timeout: 1000 timezone: 1Definice exportované z programu DetStudio, kde jsou odkazy na konkrétní proměnné regulátoru.
AI_DIVal;4639;F;4;;Hodnota pro rozhodnuti log1/0 na analogovem vstupu AI_Stav;4320;I;4;;Stavy vstupů AI_Tab_Ftr;4309;MF[24,1];4;;Konstanty pro filt 1R AI_Tab_Kor;4602;MF[24,2];4;;Analogové vstupy, korekční konstanty AI0;4016;MF[12,1];4;;Analogové vstupy AI0_R;4588;MF[12,1];4;;Vyčítané analogové hodnoty přímo ze vstupůBalíček dbnet2-*-Linux.deb obsahuje binární command line utility a není pro funkci Hass nutno instalovat.
- Pro vkládání komentářů se musíte přihlásit
Navigate