Fórum | MyPower.CZ | Obnovitelné zdroje energie - energetická soběstačnost | Poslední návštěva: pát kvě 20, 2022 5:24 pm
mgx píše:...
Vyhoda dockeru je hlavne ta, ze mozete lahko danu konfiguraciu preniest na hocijaky iny system (+-), zalohy su mozne na urovni docker image, nefunkcnost jednej veci neovplyvnuje funkcnost celku (izolacia). Hocikedy sa do systemu viete prihlasit cez root ci uzivatela, je to plnohodnotny OS a mate pristup ku vsetkemu. Samozrejme, aj to sa da dojebabrat
...
soami píše:Za mě naprosto super nabídka @mgx. Mám Synology a Docker, ale nejsem schopen se dokopat ke zprovoznění. Navíc NAS dost žere a je k trochu jinému účelu, takže Raspberry je na cestě.
mihlit píše:Já jsem cestou RPi šel na začátku, ale už bych to neudělal. Možná tak pokud je někdo vysloveně IT antitalent a má minimální požadavky a tak je relativně jisté, že nikdy nic dalšího na tom nepoběží. Jak ale přijde InfluxDB pro lepší statistiky a sběr dat, doplnění proxy a dalších pro doplňkové služby... už se RPi dost zadýchá. Lepší je to hodit na nějaký serverový hw s nízkou spotřebou a naházet si virtuálek, co je potřeba. Žádné obavy o zadýchání se z nedostatku ram, žádné obavy o opotřebení uložiště, když máte SATA,... a pokud je chuť (a dovednosti), je možné na to hodit vlastní NAS, nextcloud a další služby
Na YT bych něco podobného určitě uvítal. Navzdory tomu, že jsem automatizaci studoval a nějaký čas dokonce i pracoval v oboru, jsem teď po letech úplně mimo. Návod na něco nepříliš složitého by se hodil.mgx píše:Kolegovia,
vidim tu kopec otazok okolo HA a instalacie zakladnych veci.
..... mozem to natocit a vystavit niekde na youtube. Cielom cvicenia je urobit Vam doma funkcny HA system, ktory si budete dalej sami rozvijat bez toho, aby ste museli 2 mesiace pozerat a studovat zastarane videa...
ringo píše:Sepulnation píše:Ahoj, je tu někdo, komu se podařilo do Hass.io připojit SDS tak, aby ji mohl ovládat a vyčítat z ní data? Mám doma několik SDS IO6 a rád bych je do Hass.io dostal. Psal jsem Rokytnovi, který by o tom mohl něco vědět, SZ, ale ten vypadá, že se na tomto fóru odmlčel.
Díkes, Honza
Tak hlásím že se mi po několika dnech podařilo vyčítání dat ze SDS.
rest:
- authentication: basic
username: "admin"
password: "password"
scan_interval: 60
resource: http://192.168.2.250/xml.xml
sensor:
- name: "SDS"
json_attributes_path: "$.sds.snmp"
value_template: "OK"
json_attributes:
- uptime
- ntptime
- relay_1
- relay_2
- temp_1
- temp_2
- temp_3
- temp_4
- temp_5
- temp_6
- temp_7
- temp_8
- temp_9
- temp_10
- temp_11
- temp_12
- temp_13
- temp_14
- temp_15
- temp_16
- name: "SDS_S1"
json_attributes_path: "$.sds.snmp.s0_1"
value_template: "OK"
json_attributes:
- impT0
- imdiff
- cT0
- cT1
- text
- act
- name: "SDS_S2"
json_attributes_path: "$.sds.snmp.s0_2"
value_template: "OK"
json_attributes:
- impT0
- imdiff
- cT0
- cT1
- text
- act
#######################################################
- platform: template
sensors:
sds_temp1:
friendly_name: "SDS_venkovni"
unit_of_measurement: "°C"
value_template: '{{ state_attr("sensor.sds","temp_1")|float }}'
sds_temp2:
friendly_name: "SDS_obyvak"
unit_of_measurement: "°C"
value_template: '{{ state_attr("sensor.sds","temp_2")|float }}'
...
sds_temp16:
friendly_name: "SDS_ESBE"
unit_of_measurement: "°C"
value_template: '{{ state_attr("sensor.sds","temp_16")|float }}'
sds_s1_imp0:
friendly_name: "SDS_S1_impt0f"
unit_of_measurement: "imp"
value_template: '{{ state_attr("sensor.sds_S1","impT0")|float }}'
sds_s1_imdiff:
friendly_name: "SDS_S1_imdiff"
unit_of_measurement: "imp"
value_template: '{{ state_attr("sensor.sds_S1","imdiff")|float }}'
sds_s1_celk_spotreba:
friendly_name: "SDS_S1_celk_spotreba"
unit_of_measurement: "kWh"
value_template: '{{ state_attr("sensor.sds_S1","text").split(" ")[0]|float }}'
sds_s1_akt_spotreba:
friendly_name: "SDS_S1_akt_spotreba"
unit_of_measurement: "kWh"
value_template: '{{ state_attr("sensor.sds_S1","act").split(" ")[0]|float }}'
###########################
Oba bloky zařadit do configu. Ta první část vytváří tři entity SDS, SDS_S1 SDS_S2 se stavem OK kde jsou ostatní data přiřazena jako atributy těchto proměnných. Další část převádí ty atributy na skutečné entity kde stav entity už odpovídá hodnotě - je provedena příslušná konverze. Je několik dalších způsobů jak to vyčítat, tento bere všechna data pomocí jednoho požadavku na SDS (už se mi v něm hrabe script na Synology který data vyčítá do MariaDb a rovněž Domoticz, který si stahuje rovněž data napřímo a provádí i nějaké ovládání SDS).
sensor: !include_dir_merge_list sensors/
binary_sensor: !include_dir_merge_list binary_sensors/
rest: !include_dir_merge_list rests/
- authentication: basic
username: "admin"
password: "password"
scan_interval: 20
resource: http://192.168.2.250/xml.xml
sensor:
- name: "SDS"
json_attributes_path: "$.sds.snmp"
value_template: "OK"
json_attributes:
- uptime
- ntptime
- relay_1
- relay_2
- temp_1
- temp_2
- temp_3
- temp_4
- temp_5
- temp_6
- temp_7
- temp_8
- temp_9
- temp_10
- temp_11
- temp_12
- temp_13
- temp_14
- temp_15
- temp_16
- relay_1
- relay_2
- name: "SDS_S1"
json_attributes_path: "$.sds.snmp.s0_1"
value_template: "OK"
json_attributes:
- impT0
- imdiff
- cT0
- cT1
- text
- act
- name: "SDS_S2"
json_attributes_path: "$.sds.snmp.s0_2"
value_template: "OK"
json_attributes:
- impT0
- imdiff
- cT0
- cT1
- text
- act
- name: "sds_s1_total_spot"
unit_of_measurement: "kWh"
# state_class: meassurement
device_class: energy
json_attributes_path: "$.sds.snmp.s0_1.impT0"
value_template: '{{ state_attr("sensor.sds_S1","impT0") |int }}'
#value_template: '{{ state_attr("sensor.sds_S1","text").split(" ")[0]|float }}'
- platform: template
sensors:
# několik nesouvisejících senzorů tak doufám že jsem v nich nic nevypustil
sds_temp1:
friendly_name: "SDS_venkovni"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_1")|float }}'
sds_temp2:
friendly_name: "SDS_obyvak"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_2")|float }}'
sds_temp3:
friendly_name: "SDS_vnitrni"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_3")|float }}'
sds_temp5:
friendly_name: "SDS_podlah_vstup"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_5")|float }}'
sds_temp6:
friendly_name: "SDS_podlah_vratka"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_6")|float }}'
sds_temp7:
friendly_name: "SDS_VZT_vstup"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_7")|float }}'
sds_temp8:
friendly_name: "SDS_VZT_vratka"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_8")|float }}'
sds_temp9:
friendly_name: "SDS_chladivo_para"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_9")|float }}'
sds_temp10:
friendly_name: "SDS_chladivo_vratka"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_10")|float }}'
sds_temp11:
friendly_name: "SDS_zas1"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_11")|float }}'
sds_temp12:
friendly_name: "SDS_zas2"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_12")|float }}'
sds_temp13:
friendly_name: "SDS_zas3"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_13")|float }}'
sds_temp14:
friendly_name: "SDS_zas4"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_14")|float }}'
sds_temp15:
friendly_name: "SDS_zas5"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_15")|float }}'
sds_temp16:
friendly_name: "SDS_ESBE"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_16")|float }}'
sds_s1_imp0:
friendly_name: "SDS_S1_impt0f"
unit_of_measurement: "imp"
value_template: '{{ state_attr("sensor.sds_S1","impT0")|float }}'
sds_s1_imdiff:
friendly_name: "SDS_S1_imdiff"
unit_of_measurement: "imp"
value_template: '{{ state_attr("sensor.sds_S1","imdiff")|float }}'
sds_s1_celk_spotreba:
friendly_name: "SDS_S1_celk_spotreba"
unit_of_measurement: "kWh"
#state_class: measurement
device_class: energy
value_template: '{{ state_attr("sensor.sds_S1","text").split(" ")[0]|float }}'
sds_s1_akt_spotreba:
friendly_name: "SDS_S1_akt_spotreba"
unit_of_measurement: "W"
device_class: power
value_template: '{{ state_attr("sensor.sds_S1","act").split(" ")[0]|float }}'
sds_s1_akt_spotrebaw:
friendly_name: "SDS_S1_akt_spotreba_w"
unit_of_measurement: "W"
device_class: power
value_template: '{{ state_attr("sensor.sds_S1","act").split(" ")[0]|float }}'
#s2 vodomer
sds_s2_imp0:
friendly_name: "SDS_S2_impt0f"
unit_of_measurement: "imp"
value_template: '{{ state_attr("sensor.sds_S2","impT0")|float }}'
sds_s2_imdiff:
friendly_name: "SDS_S2_imdiff"
unit_of_measurement: "imp"
value_template: '{{ state_attr("sensor.sds_S2","imdiff")|float }}'
sds_s2_celk_spotreba:
friendly_name: "SDS_S2_celk_spotreba"
unit_of_measurement: "l"
value_template: '{{ state_attr("sensor.sds_S2","text").split(" ")[0]|float *0.3}}'
sds_s2_akt_spotreba:
friendly_name: "SDS_S2_akt_spotreba"
unit_of_measurement: "l"
value_template: '{{ state_attr("sensor.sds_S2","act").split(" ")[0]|float * 0.3}}'
# sds_relay_1:
# friendly_name: "SDS_obeh_PP"
# unit_of_measurement: ""
# device_class: aqi
#value_template: '{{ state_attr("sensor.sds","relay_1")|float }}'
# sds_relay_2:
# friendly_name: "SDS_obeh_2"
# unit_of_measurement: ""
# device_class: aqi
#value_template: '{{ state_attr("sensor.sds","relay_2")|float }}'
ringo píše:Sensory v template.yaml jsou až sekundární a jsou tvořené na základě atributů senzorů vytvořených senzory v sekci rest. Ve vývojářských nástrojích-> stavy se podívat na hodnoty sensor.sds, sensor.sds_s1 a sensor.sds:s2. Teprve po ověření jejich stavů má smysl pokračovat tím template.yaml.
ringo píše:dávám znovu - takhle mi to prostě funguje (nakopírováním do prostého textu se vytrácejí mezery, dávám tedy jako kód vykopírovaný z mých yaml souborů)
v hlavním configuration.yaml mám sekci (ty tam más podobně jiné scény... tak to tam doplň)
- Kód: Vybrat vše
sensor: !include_dir_merge_list sensors/
binary_sensor: !include_dir_merge_list binary_sensors/
rest: !include_dir_merge_list rests/
V podadresáři /rest mám soubor SDS.yaml
- Kód: Vybrat vše
- authentication: basic
username: "admin"
password: "password"
scan_interval: 20
resource: http://192.168.2.250/xml.xml
sensor:
- name: "SDS"
json_attributes_path: "$.sds.snmp"
value_template: "OK"
json_attributes:
- uptime
- ntptime
- relay_1
- relay_2
- temp_1
- temp_2
- temp_3
- temp_4
- temp_5
- temp_6
- temp_7
- temp_8
- temp_9
- temp_10
- temp_11
- temp_12
- temp_13
- temp_14
- temp_15
- temp_16
- relay_1
- relay_2
- name: "SDS_S1"
json_attributes_path: "$.sds.snmp.s0_1"
value_template: "OK"
json_attributes:
- impT0
- imdiff
- cT0
- cT1
- text
- act
- name: "SDS_S2"
json_attributes_path: "$.sds.snmp.s0_2"
value_template: "OK"
json_attributes:
- impT0
- imdiff
- cT0
- cT1
- text
- act
- name: "sds_s1_total_spot"
unit_of_measurement: "kWh"
# state_class: meassurement
device_class: energy
json_attributes_path: "$.sds.snmp.s0_1.impT0"
value_template: '{{ state_attr("sensor.sds_S1","impT0") |int }}'
#value_template: '{{ state_attr("sensor.sds_S1","text").split(" ")[0]|float }}'
a v podardesáři /sensors kromě jiného soubor template.yaml
- Kód: Vybrat vše
- platform: template
sensors:
# několik nesouvisejících senzorů tak doufám že jsem v nich nic nevypustil
sds_temp1:
friendly_name: "SDS_venkovni"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_1")|float }}'
sds_temp2:
friendly_name: "SDS_obyvak"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_2")|float }}'
sds_temp3:
friendly_name: "SDS_vnitrni"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_3")|float }}'
sds_temp5:
friendly_name: "SDS_podlah_vstup"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_5")|float }}'
sds_temp6:
friendly_name: "SDS_podlah_vratka"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_6")|float }}'
sds_temp7:
friendly_name: "SDS_VZT_vstup"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_7")|float }}'
sds_temp8:
friendly_name: "SDS_VZT_vratka"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_8")|float }}'
sds_temp9:
friendly_name: "SDS_chladivo_para"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_9")|float }}'
sds_temp10:
friendly_name: "SDS_chladivo_vratka"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_10")|float }}'
sds_temp11:
friendly_name: "SDS_zas1"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_11")|float }}'
sds_temp12:
friendly_name: "SDS_zas2"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_12")|float }}'
sds_temp13:
friendly_name: "SDS_zas3"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_13")|float }}'
sds_temp14:
friendly_name: "SDS_zas4"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_14")|float }}'
sds_temp15:
friendly_name: "SDS_zas5"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_15")|float }}'
sds_temp16:
friendly_name: "SDS_ESBE"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_16")|float }}'
sds_s1_imp0:
friendly_name: "SDS_S1_impt0f"
unit_of_measurement: "imp"
value_template: '{{ state_attr("sensor.sds_S1","impT0")|float }}'
sds_s1_imdiff:
friendly_name: "SDS_S1_imdiff"
unit_of_measurement: "imp"
value_template: '{{ state_attr("sensor.sds_S1","imdiff")|float }}'
sds_s1_celk_spotreba:
friendly_name: "SDS_S1_celk_spotreba"
unit_of_measurement: "kWh"
#state_class: measurement
device_class: energy
value_template: '{{ state_attr("sensor.sds_S1","text").split(" ")[0]|float }}'
sds_s1_akt_spotreba:
friendly_name: "SDS_S1_akt_spotreba"
unit_of_measurement: "W"
device_class: power
value_template: '{{ state_attr("sensor.sds_S1","act").split(" ")[0]|float }}'
sds_s1_akt_spotrebaw:
friendly_name: "SDS_S1_akt_spotreba_w"
unit_of_measurement: "W"
device_class: power
value_template: '{{ state_attr("sensor.sds_S1","act").split(" ")[0]|float }}'
#s2 vodomer
sds_s2_imp0:
friendly_name: "SDS_S2_impt0f"
unit_of_measurement: "imp"
value_template: '{{ state_attr("sensor.sds_S2","impT0")|float }}'
sds_s2_imdiff:
friendly_name: "SDS_S2_imdiff"
unit_of_measurement: "imp"
value_template: '{{ state_attr("sensor.sds_S2","imdiff")|float }}'
sds_s2_celk_spotreba:
friendly_name: "SDS_S2_celk_spotreba"
unit_of_measurement: "l"
value_template: '{{ state_attr("sensor.sds_S2","text").split(" ")[0]|float *0.3}}'
sds_s2_akt_spotreba:
friendly_name: "SDS_S2_akt_spotreba"
unit_of_measurement: "l"
value_template: '{{ state_attr("sensor.sds_S2","act").split(" ")[0]|float * 0.3}}'
# sds_relay_1:
# friendly_name: "SDS_obeh_PP"
# unit_of_measurement: ""
# device_class: aqi
#value_template: '{{ state_attr("sensor.sds","relay_1")|float }}'
# sds_relay_2:
# friendly_name: "SDS_obeh_2"
# unit_of_measurement: ""
# device_class: aqi
#value_template: '{{ state_attr("sensor.sds","relay_2")|float }}'
Podívej se jestli když zadíš v prohlížeči odkaz (s tvojí adresou) jestli ti toto vrátí stránku:
http://192.168.2.251/xml.xml
Uživatelé procházející toto fórum: CC [Bot] a 1 návštěvník