Home Assistant

Diskuze, rady a návody ohledně HomeAssistant
proasnet
Příspěvky: 344
Registrován: čtv kvě 27, 2021 12:06 pm
Lokalita: Rajecké Teplice
Systémové napětí: 48V
Výkon panelů [Wp]: 5000
Kapacita baterie [kWh]: 14,5

Re: Home Assistant

Příspěvek od proasnet »

Zacni tim, ze si zvolis platformu na jake to pobezi. Ja zkousel HA na virtualce v synology serveru a pak jsem to dal na raspberry pi 3. HA bezi na nekolika platformach ale jestli to chces mit jednoduchy a blbuvzdorny tak si kup RPI3 nebo 4, dobrou SD kartu ( napr. Do palubni kamery atd.) 16GB a stahni si ze stranek HA image pro kartu. Potom, treba s pomoci programu rufus na kartu nahraj stazeny image. Kartu dej do RPI, pripoj ethernet a zapni. Na pc zadej ip adresu maliny s portem 8123... napr. 192.168.0.100:8123 podle toho jakou ip prideli router maline. Otevre se ti uvodni stranka HA a hned zadefinujes uzivatele. To je cele. Pak vzuru do her
2x5kW paralel SML-5K jako ostrov se zálohou z DS, 5kWp, Lifepo4
ringo
Příspěvky: 66
Registrován: ned zář 27, 2020 7:38 am

Re: Home Assistant

Příspěvek od ringo »

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 :)
...
Díky za vysvětlení. Jestli to dobře chápu tak tento způsob instalace mi umožní snadné upgrade HW, když si připravím pouze systém s nainstalovaným Dockerem a pak tam zkopíruji docker image předchozí verze a v HA budu mít vše tak jak na původním HW.
Určitě mě to zajímá, bohužel z lyží to příští víkend nedám :-)
4,4kWp, GoodWe 10K-ET, Pylontech Force H2 10.65kWh
TČ Fujitsu + vlastní řízení pomocí PWM + RS232 na SDS micro
SmartHome na Domoticz/Synology + SDS + ESPEasy/ ESP8266 (bazén, žaluzie,...)
postupný přechod na Home Assistant/Rpi4 -> NUC
soami
Příspěvky: 520
Registrován: pon lis 08, 2021 9:10 pm
Lokalita: Posázaví
Systémové napětí: 48V
Bydliště: Posázaví

Re: Home Assistant

Příspěvek od soami »

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ě.
proasnet
Příspěvky: 344
Registrován: čtv kvě 27, 2021 12:06 pm
Lokalita: Rajecké Teplice
Systémové napětí: 48V
Výkon panelů [Wp]: 5000
Kapacita baterie [kWh]: 14,5

Re: Home Assistant

Příspěvek od proasnet »

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ě.
Taky jsem to mel jeden cas na synology, ale ne na doplnku HA z repozitare, ale jako Hassos ve virtualce. Slapalo to hezky ale vadila mi spotreba NAS a zavislost na funkcnim Nas. Dal jsem to zpatky na rpi v rozvadeci a od te doby jsem na to nesahnul. Funguje a zije svym zivotem. Synology zapinam uz jen podle potreby. Takze za me, doporucuju to mit jako autonomni zarizeni a je to temer bezudrzbove. Obcas to aktualizuji kdyz je v novych funkcich neco zajimaveho ale ja se ridim pravidlem ze pokud neni neco pokazene tak to neopravuju.
2x5kW paralel SML-5K jako ostrov se zálohou z DS, 5kWp, Lifepo4
mihlit
Příspěvky: 488
Registrován: ned říj 17, 2021 7:43 pm
Lokalita: okr. Vyškov
Systémové napětí: 48V
Výkon panelů [Wp]: 5
Kapacita baterie [kWh]: 13
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: Home Assistant

Příspěvek od mihlit »

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
proasnet
Příspěvky: 344
Registrován: čtv kvě 27, 2021 12:06 pm
Lokalita: Rajecké Teplice
Systémové napětí: 48V
Výkon panelů [Wp]: 5000
Kapacita baterie [kWh]: 14,5

Re: Home Assistant

Příspěvek od proasnet »

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
Jo s tim soulasim a nevylucuju ze se k tomu nekdy vratim, ale pokud to bezi na mikropocitaci je spotreba jednoznacne nejnizsi.
2x5kW paralel SML-5K jako ostrov se zálohou z DS, 5kWp, Lifepo4
Uživatelský avatar
Nautilus
Příspěvky: 139
Registrován: úte zář 17, 2019 1:37 pm

Re: Home Assistant

Příspěvek od Nautilus »

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...
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.
Uživatelský avatar
mgx
Příspěvky: 485
Registrován: stř dub 15, 2015 1:14 pm
Bydliště: Tatranska Lomnica

Re: Home Assistant

Příspěvek od mgx »

zaznam z workshopu je tuto:

https://youtu.be/pNW3xVf9GKQ

dalsie casti najdete tuto

https://forum.mypower.cz/viewtopic.php?f=19&t=7921
PetrJezek
Příspěvky: 6
Registrován: čtv úno 17, 2022 6:06 pm

Re: Home Assistant

Příspěvek od PetrJezek »

#
Naposledy upravil(a) PetrJezek dne čtv úno 17, 2022 8:00 pm, celkem upraveno 1 x.
PetrJezek
Příspěvky: 6
Registrován: čtv úno 17, 2022 6:06 pm

Re: Home Assistant

Příspěvek od PetrJezek »

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).

Dobrý den, prosím hlásí mi chybu v kontrole konfigurace, můžete mi poradit? Moc děkuji.
Invalid config for [rest]: [platform] is an invalid option for [rest]. Check: rest->rest->1->platform. (See /config/configuration.yaml, line 14).
Uživatelský avatar
mgx
Příspěvky: 485
Registrován: stř dub 15, 2015 1:14 pm
Bydliště: Tatranska Lomnica

Re: Home Assistant

Příspěvek od mgx »

CHybu mas v configuration.yaml na riadku 14

otvor si subor vo file editore a oprav. ak ho nemas, doinstaluj.

vacsinou je to len preklep. pripadne ten konfig nakopiruj sem :)
Přílohy
error.jpg
PetrJezek
Příspěvky: 6
Registrován: čtv úno 17, 2022 6:06 pm

Re: Home Assistant

Příspěvek od PetrJezek »

Dobrý den, přikládám text confifuration.yaml

změnil jsem pouze ip adresu protože mám sds 251, a odstranil tečky mezi senzory, zkoušel jsem i změnit heslo na sds

Děkuji moc za nápovědu jak rozchodit.
Mám sds macro :
Toto je verze hw SoC-ARM REV1 100Mbit DF9, ze dne 15.11.2015.

# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

# Text to speech
tts:
- platform: google_translate

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

rest:
- authentication: basic
username: "admin"
password: "password"
scan_interval: 60
resource: http://192.168.2.251/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

- name: "SDS_S5"
json_attributes_path: "$.sds.snmp.s0_5"
value_template: "OK"
json_attributes:
- impT0
- imdiff
- cT0
- cT1
- text
- act
- name: "SDS_S6"
json_attributes_path: "$.sds.snmp.s0_7"
value_template: "OK"
json_attributes:
- impT0
- imdiff
- cT0
- cT1
- text
- act
- name: "SDS_S7"
json_attributes_path: "$.sds.snmp.s0_7"
value_template: "OK"
json_attributes:
- impT0
- imdiff
- cT0
- cT1
- text
- act
- name: "SDS_S8"
json_attributes_path: "$.sds.snmp.s0_8"
value_template: "OK"
json_attributes:
- impT0
- imdiff
- cT0
- cT1
- text
- act
#######################################################
- platform: template
sensors:
sds_temp1:
friendly_name: "SDS_Kuchyn"
unit_of_measurement: "°C"
value_template: '{{ state_attr("sensor.sds","temp_1")|float }}'
sds_temp2:
friendly_name: "SDS_Obyvak_dole"
unit_of_measurement: "°C"
value_template: '{{ state_attr("sensor.sds","temp_2")|float }}'
sds_temp3:
friendly_name: "SDS_Loznice"
unit_of_measurement: "°C"
value_template: '{{ state_attr("sensor.sds","temp_3")|float }}'
sds_temp4:
friendly_name: "SDS_Sklep"
unit_of_measurement: "°C"
value_template: '{{ state_attr("sensor.sds","temp_4")|float }}'
sds_temp5:
friendly_name: "SDS_Obyvak_nahore"
unit_of_measurement: "°C"
value_template: '{{ state_attr("sensor.sds","temp_5")|float }}'
sds_temp6:
friendly_name: "SDS_Puda_P"
unit_of_measurement: "°C"
value_template: '{{ state_attr("sensor.sds","temp_6")|float }}'
sds_temp7:
friendly_name: "SDS_Puda_S"
unit_of_measurement: "°C"
value_template: '{{ state_attr("sensor.sds","temp_7")|float }}'
sds_s5_vodomer_kamna:
friendly_name: "SDS_S5_vodomer_kamna"
unit_of_measurement: "imp"
value_template: '{{ state_attr("sensor.sds_S5","vodomer_kamna")|float }}'
sds_s6_elektromer_boiler_:
friendly_name: "SDS_S6_Elektromer_boiler"
unit_of_measurement: "imp"
value_template: '{{ state_attr("sensor.sds_S6","Elektromer_boiler")|float }}'
sds_s7_elektromer_cerpadlo:
friendly_name: "SDS_S7_Elektromer_cerpadlo"
unit_of_measurement: "imp"
value_template: '{{ state_attr("sensor.sds_S7","Elektromer_cerpadlo").split(" ")[0]|float }}'
sds_s8_vodomer_cerpadlo:
friendly_name: "SDS_S8_Vodomer_cerpadlo"
unit_of_measurement: "imp"
value_template: '{{ state_attr("sensor.sds_S8","_Vodomer_cerpadlo").split(" ")[0]|float }}'
ringo
Příspěvky: 66
Registrován: ned zář 27, 2020 7:38 am

Re: Home Assistant

Příspěvek od ringo »

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
4,4kWp, GoodWe 10K-ET, Pylontech Force H2 10.65kWh
TČ Fujitsu + vlastní řízení pomocí PWM + RS232 na SDS micro
SmartHome na Domoticz/Synology + SDS + ESPEasy/ ESP8266 (bazén, žaluzie,...)
postupný přechod na Home Assistant/Rpi4 -> NUC
PetrJezek
Příspěvky: 6
Registrován: čtv úno 17, 2022 6:06 pm

Re: Home Assistant

Příspěvek od PetrJezek »

Dobrý den, moc děkuji za pomoc, ovšem stále nic, v HA se nezobrazují hodnoty, entyty jsou prázdné, tj. 0.
v logu:
Template variable error: 'None' has no attribute 'split' when rendering '{{ state_attr("sensor.sds_S1","text").split(" ")[0]|float }}'
TemplateError('UndefinedError: 'None' has no attribute 'split'') while processing template 'Template("{{ state_attr("sensor.sds_S1","text").split(" ")[0]|float }}")' for attribute '_attr_native_value' in entity 'sensor.sds_s1_celk_spotreba'
Template warning: 'float' got invalid input 'None' when rendering template '{{ state_attr("sensor.sds","temp_16")|float }}' but no default was specified. Currently 'float' will return '0', however this template will fail to render in Home Assistant core 2022.1

Jinak stránku z SDS lze spustit:

sds>
<name>SDS-MACRO</name>
<man>AN-D</man>
<fwver>C0000001</fwver>
<sysLoc> </sysLoc>
<snmp>
<uptime>196622911</uptime>
<ntptime>1645356602</ntptime>
<ipw_active>off</ipw_active>
<ipw_state>0</ipw_state>
<ipw_rtt>65535</ipw_rtt>
<relay_1>0</relay_1>
<relay_2>0</relay_2>
<relay_3>0</relay_3>
<relay_4>0</relay_4>
<ad1>0</ad1>
<ad1_si>0.000 V</ad1_si>
<ad2>0</ad2>
<ad2_si>0.000 V</ad2_si>
<ad3>0</ad3>
<ad3_si>0.000 V</ad3_si>
<ad4>0</ad4>
<ad4_si>0.000 V</ad4_si>
<opto1>0</opto1>
<opto2>0</opto2>
<opto3>0</opto3>
<opto4>0</opto4>
<opto5>1</opto5>
<opto6>0</opto6>
<opto7>0</opto7>
<opto8>1</opto8>
<temp_1>22.18</temp_1>
<temp_2>19.18</temp_2>
<temp_3>17.56</temp_3>
<temp_4>21.50</temp_4>
<temp_5>19.75</temp_5>
...

mám nakopírované na zkoušku uplně stejné jako vy, pouze IP adresa jiná.
v adresáři config, adresář rest a sensors, tam pak patřičné yaml - SDS a template
\\192.168.2.7\config\sensors\template.yaml
\\192.168.2.7\config\rest\SDS.yaml
ringo
Příspěvky: 66
Registrován: ned zář 27, 2020 7:38 am

Re: Home Assistant

Příspěvek od ringo »

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.
4,4kWp, GoodWe 10K-ET, Pylontech Force H2 10.65kWh
TČ Fujitsu + vlastní řízení pomocí PWM + RS232 na SDS micro
SmartHome na Domoticz/Synology + SDS + ESPEasy/ ESP8266 (bazén, žaluzie,...)
postupný přechod na Home Assistant/Rpi4 -> NUC
PetrJezek
Příspěvky: 6
Registrován: čtv úno 17, 2022 6:06 pm

Re: Home Assistant

Příspěvek od PetrJezek »

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.
Dobrý den, po čase jsem se znovu vrátil k řešení problému, stále nejde:

na zkoušku jsem nechal pouze jedno čidlo teploty:

/config/configuration.yaml

sensor: !include_dir_merge_list sensors/
binary_sensor: !include_dir_merge_list binary_sensors/
rest: !include_dir_merge_list rests/

-----------------
/config/rest/SDS.yaml

- authentication: basic
username: "admin"
password: "password"
scan_interval: 20
resource: http://192.168.1.251/xml.xml
sensor:
- name: "SDS"
json_attributes_path: "$.sds.snmp"
value_template: "OK"
json_attributes:
- temp_1

---------------
/config/sensors/template.yaml

- platform: template
sensors:
sds_temp1:
friendly_name: "SDS_temp_kuchyn"
unit_of_measurement: "°C"
device_class: temperature
value_template: '{{ state_attr("sensor.sds","temp_1")|float }}'


log z assitenta:

Template warning: 'float' got invalid input 'None' when rendering template '{{ state_attr("sensor.sds","temp_1")|float }}' but no default was specified. Currently 'float' will return '0', however this template will fail to render in Home Assistant core 2022.1

vývojářské nástroje:

sensor.sds_temp1
SDS_temp_kuchyn
none unit_of_measurement: °C
device_class: temperature
friendly_name: SDS_temp_kuchyn

Moc děkuji za rady.
omega001
Příspěvky: 8
Registrován: úte dub 05, 2022 10:26 pm

Re: Home Assistant

Příspěvek od omega001 »

po dvou hodinách bádání jsem objevil chybku, která to celé shazuje:
v kódu configuration.yaml poslední řádek poslední slovo rests, ale podadresář má jméno rest,toto je potřeba sjednotit,pak vše funguje nádherně.
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
PetrJezek
Příspěvky: 6
Registrován: čtv úno 17, 2022 6:06 pm

Re: Home Assistant

Příspěvek od PetrJezek »

Dobrý den, moc děkuji za Váš čas, je super že jsou lidé jako vy. :-)
rva
Příspěvky: 3462
Registrován: úte dub 23, 2013 10:21 am
Lokalita: Kousek od Lysé nad Labem
Systémové napětí: 48V
Výkon panelů [Wp]: 46000
Kapacita baterie [kWh]: 40
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Kousek od Lysé nad Labem

Re: Home Assistant

Příspěvek od rva »

Mám 3 paralelní měniče 3x5kW. Zvažuji odpojování jednoho měniče pokud bude po nějakou dobu výkon měničů nízký. Měnič má vypínač, se kterým bych dal sériově rozpínací relé, kterým bych měnič vypínal přes Home assistant.
Mám entitu switch.vystup.menicu který je ON
Pokud výkon sensor.vystup.menice.power poklesne pod 6000 W tak chci po 30 minutách odpojit jeden měnič - tedy nastavit switch.vystup.menicu na OFF.
Předpokládám, že:
1. Nastavím časovač na 30 minut
2. Pokud výkon bude > 6 kW tak se časovač zresetuje a switch.vystup.menicu = ON
3. Po uplynutí časovače se nastaví switch.vystup.menicu = OFF a tím odpojím měnič
Neporadí někdo kam to v HA zapsat a jak, aby to nějak automaticky běželo a dle výkonu nastavovalo vypínač?
_______________________________________________________________________
43 kWp, LiFePO4 46 kWh,
EPSolar 60 A/150 V ET6415N + 3x Isolar SM II (5 kW, 450 V, 80 A) + Axpert PIP 5048MS
rva
Příspěvky: 3462
Registrován: úte dub 23, 2013 10:21 am
Lokalita: Kousek od Lysé nad Labem
Systémové napětí: 48V
Výkon panelů [Wp]: 46000
Kapacita baterie [kWh]: 40
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Kousek od Lysé nad Labem

Re: Home Assistant

Příspěvek od rva »

Pro nás hloupější se to nakonec dá nacvakat i v té automatizaci. Výkon měřím pomocí Shelly EM. Když je výkon po dobu delší než 30 minut pod 6000W, tak to odpojí jeden měnič (používám k tomu releový výstup na Shelly EM). Pokud výkon přesáhne 6000W, tak se jeden měnič hned připojí.
Automatizace - vypnutí/zapnutí měniče
Automatizace - vypnutí/zapnutí měniče
Automatizace - vypnutí měniče
Automatizace - vypnutí měniče
Automatizace - zapnutí měniče
Automatizace - zapnutí měniče
V souboru automations.yaml se pak objeví něco jako:

Kód: Vybrat vše

- id: '1653835285960'
  alias: VypnutiMenice
  description: 'Pokud po dobu 30 minut výkon měničů bude nižší než 6000 W, přepne
    se Tlačítko na OFF "Vypnout Výstup měničů" '
  trigger:
  - platform: numeric_state
    entity_id: sensor.vystup_menice_power
    below: '6000'
  condition: []
  action:
  - delay:
      hours: 0
      minutes: 30
      seconds: 0
      milliseconds: 0
  - type: turn_off
    device_id: f6442758e2aefdf0a8539a81f4d0ca71
    entity_id: switch.vystup_menicu
    domain: switch
  mode: restart
- id: '1653837564599'
  alias: ZapnutiMenice
  description: Pokud výkon překročí 6000W, zapne se okamžitě další měnič
  trigger:
  - platform: numeric_state
    entity_id: sensor.vystup_menice_power
    above: '6000'
  condition: []
  action:
  - type: turn_on
    device_id: f6442758e2aefdf0a8539a81f4d0ca71
    entity_id: switch.vystup_menicu
    domain: switch
  mode: restart
_______________________________________________________________________
43 kWp, LiFePO4 46 kWh,
EPSolar 60 A/150 V ET6415N + 3x Isolar SM II (5 kW, 450 V, 80 A) + Axpert PIP 5048MS

  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek