Home Assistant – moje repozytorium dostępne na GitHub

Dzień dobry.

Coś sobie w końcu wydłubałem w Home Assistant w taki sposób, że jestem z tego zadowolony. A że moje korzenie programowania zasadzają się w demoscenie komputerowej, która nauczyła mnie cieszyć się z tego co zrobiłem i dzielić tym – teraz również się dzielę. 

Oto kod YAML mojej konfiguracji Home Assistant:

https://github.com/CaesarPL/Home-Assistant-Cezar

Interface podzielony na karty, z automatyzacjami, itp., itd. Kod podzielony na osobne pliki dla włączników, kamer, czujników, świateł, skryptów, ręczna konfiguracja wyglądu.

Dodatkowym plusem takiego rozwiązania (poddając się krytyce internautów) jest to, że przeglądałem ten kod kilkukrotnie aby uniknąć powtórzeń, starych bloków, oczyścić go, uczynić bardziej logicznym. Na pewno jest jeszcze dużo do zrobienia, na pewno będę go aktualizował. Nienawidzę stać w jednym miejscu zbyt długo 😀

Zapraszam do sprawdzenia, z chęcią dowiem się, że coś można zrobić coś lepiej, łatwiej, szybciej, ładniej.

16 komentarzy do “Home Assistant – moje repozytorium dostępne na GitHub”

  1. Postawiłem już wstępnie Home Assistant i na razie testuję różne rzeczy przed przejściem z Domoticza na docelową konfigurację z dyskiem m.2. Jako, że lubię wykresy w Domoticzu i mam tam w niektórych dane z długiego czasu to powiedz mi czy Ty próbowałeś może przenoszenia pewnych danych do HA? Czy jest to ogólnie wykonalne? Jak zachowujesz starsze dane – InfluxDB i Grafana do wizualizacji?

    Odpowiedz
  2. Ha! Trafiłeś na świetny moment, potrzebowałem takiego impulsu. W Domoticz miałem dane wysyłane do InfluxDB i Grafana. I jakoś właśnie pół roku temu zaprzestałem to robić, bo większość sprzętu przeniesiona została do HA. Niby mi pasują te wykresy w Home Assistant, ale jednak to nie jest taki kombajn jak Grafana. Zbieram się do przeniesienia już jakiś czas. Dodatki w HA już mam zainstalowane, oba już uruchomione. Teoretycznie to powinno być dość proste – backup InfluxDB, restore na HA, zapisać Dashboard w Grafana, wgrać w nowe miejsce, skorygować. Dodaję sobie w takim razie takie zadanie na najbliższe tygodnie.

    Odpowiedz
  3. Jeżeli już w Domoticzu korzystałeś z InfluxDB to chyba faktycznie powinno pójść gładko. Ja jednakże nigdzie nie wysyłałem tych danych i chodzi mi raczej o te, które są bezpośrednio w Domoticzu. Pewnie bez jakiegoś konkretnego przerzucania rekordów z bazy do bazy sprawa nie będzie prosta.

    Odpowiedz
  4. Aaaa, teraz jasne. No to nie – kiepska sprawa. Dodatkowo – standardowe archiwum Domoticz jest ubogie – trzyma wyłącznie dane o min, max i średniej z czujnika na cały dzień.

    Odpowiedz
  5. Zdaję sobie sprawę z ułomności bazy Domoticza i nawet chwilę przed tym jak zapadła decyzja o przejściu na HA to próbowałem coś podziałać z InfluxDB i Grafaną, ale to tylko próby były. Mimo wszystko fajnie byłoby przenieść parę rzeczy jak np. zużycie energii z paru ostatnich lat, czy też temperatury z ostatniego roku wstecz(+uproszczony kolejny rok wstecz). Ogólnie jak się jednak nie uda przenieść to zrobię jakiś prosty backup, w końcu np. temperatury i tak w niedługim czasie by zniknęły. BTW, jak na razie ilość nowości jest przytłaczająca.

    Odpowiedz
  6. Tak sobie myślę, że powinno się udać dodać do miar w InfluxDB dane z Domoticz. Aktualnie postawiłem sobie InfluxDB oraz Grafana w HA, ładnie wszystko działa na nowych danych z HA, staram się teraz dodać archiwum z Domoticz na osobny Dashboard.

    Odpowiedz
  7. hej

    Jestem świeży w HA i wszystko jest dla mnie inne niż w Domoticz.
    Możesz powiedzieć jak zrobiłeś sekcją Taras i światła 1..3 z wartościami?
    Ja próbuję dla przycisku WXKG01LM wyświetlić wartości jakie może przyjąć. W Domoticz przy dodawaniu pojawiał się przycisk z listą wartości. W HA nie potrafię tego zrobić. Automatyzacja działa, "kliknięcia" są rozpoznawane. Na dashboard w chwili naciśnięcia pojawia się info, co zostało naciśnięte, ale natychmiast znika. Dodatkowo bez listy nie mam możliwości wybrania funkcji przycisku. Tylko fizyczne naciśnięcie pozostaje.

    Odpowiedz
  8. Zapewne chodzi Ci o coś takiego:
    – title: Taras
    type: entities
    show_header_toggle: false
    entities:
    – entity: light.yeelight_color_0x000000000456691a
    type: custom:light-brightness-preset-row
    name: Światło 1
    customTheme: false
    – entity: light.yeelight_color_0x00000000035ea378
    type: custom:light-brightness-preset-row
    name: Światło 2
    customTheme: false
    – entity: light.yeelight_color_0x00000000036eeb91
    type: custom:light-brightness-preset-row
    name: Światło 3
    customTheme: true
    customSetpoints: true
    LowBrightness: 30
    MedBrightness: 100
    HiBrightness: 225

    W sumie sprawdź repozytorium, tam jest wszystko rozpisane.

    Odpowiedz
  9. Wielkie dzięki za odpowiedź.
    Repozytorium sprawdziłem w pierwszej kolejności, ale tak jak pisałem jestem świeży w HA i cały ten YAML dla mnie to wielka zagadka.
    Nie bardzo wiem do którego pliku to wstawić i jak się do tego odwołać.
    Więc nie pozostaje nic innego jak eksperymentować, albo zostać przy Domoticzu.

    Odpowiedz
  10. Ja bym już nie wrócił, nie ma opcji. Jest kilka plusów Domoticz (lepsza obsługa RFLink, wykresy na szybko lepiej się tworzy), ale HA to dla mnie niesamowita maszyna, która jest porządnie naoliwiona. Nie mam chyba rzeczy, którą sobie pomyślałem i nie mogę zrobić. Nawet jak gdzieś niedomaga sam HA, to combo HA + InfluxDB + Grafana spełnia wszelkie moje oczekiwania.

    Odpowiedz
  11. Chyba, nie da się tego zrobić jak chciałem. A przynajmniej tak mi się wydaje.
    Nie znalazłem funkcjonalności, która czyta ilość naciśnięć. Pewnie jakimś skryptem się da.
    Więc poszedłem w innym kierunku, dodałem wszystkie możliwe kombinacje przycisku single, double, triple, quadruple, hold, release, many i tutaj też trafiłem na problem. Nie wiem jak podpiąć "fizyczne" naciśnięcie na przycisku lub ewentualnie podpiąć automatyzację pod przyciski (chyba tylko sceny się da)

    type: entities
    entities:
    – entity: sensor.0x00158d00014a0a56_action
    name: WirelessButtonSwitch
    – type: divider
    – type: buttons
    entities:
    – entity: sensor.0x00158d00014a0a56_action
    name: '1'
    tap_action:
    action: trigger
    to: single
    – entity: sensor.0x00158d00014a0a56_action
    name: '2'
    tap_action:
    action: toggle
    – entity: sensor.0x00158d00014a0a56_action
    name: '3'
    tap_action:
    action: toggle
    – entity: sensor.0x00158d00014a0a56_action
    name: '4'
    tap_action:
    action: toggle
    – entity: sensor.0x00158d00014a0a56_action
    name: M
    tap_action:
    action: toggle
    – entity: sensor.0x00158d00014a0a56_action
    name: H
    tap_action:
    action: toggle
    – entity: sensor.0x00158d00014a0a56_action
    name: R
    tap_action:
    action: toggle

    Odpowiedz
  12. I jest sukces. Jest prawie idealnie. To plus automatyzacja również na MQTT i działa jak "fizyczne" naciśnięcie.

    type: entities
    entities:
    – entity: sensor.0x00158d00014a0a56_action
    name: WirelessButtonSwitch
    – type: divider
    – type: buttons
    entities:
    – entity: sensor.0x00158d00014a0a56_action
    name: '1'
    tap_action:
    action: call-service
    service: mqtt.publish
    service_data:
    topic: zigbee2mqtt/WirelessButtonSwitch/action
    retain: true
    payload: single
    – entity: sensor.0x00158d00014a0a56_action
    name: '2'
    tap_action:
    action: call-service
    service: mqtt.publish
    service_data:
    topic: zigbee2mqtt/WirelessButtonSwitch/action
    retain: true
    payload: double
    – entity: sensor.0x00158d00014a0a56_action
    name: '3'
    tap_action:
    action: call-service
    service: mqtt.publish
    service_data:
    topic: zigbee2mqtt/WirelessButtonSwitch/action
    retain: true
    payload: triple
    – entity: sensor.0x00158d00014a0a56_action
    name: '4'
    tap_action:
    action: call-service
    service: mqtt.publish
    service_data:
    topic: zigbee2mqtt/WirelessButtonSwitch/action
    retain: true
    payload: quadruple
    – entity: sensor.0x00158d00014a0a56_action
    name: M
    tap_action:
    action: call-service
    service: mqtt.publish
    service_data:
    topic: zigbee2mqtt/WirelessButtonSwitch/action
    retain: true
    payload: many
    – entity: sensor.0x00158d00014a0a56_action
    name: H
    tap_action:
    action: call-service
    service: mqtt.publish
    service_data:
    topic: zigbee2mqtt/WirelessButtonSwitch/action
    retain: true
    payload: hold
    – entity: sensor.0x00158d00014a0a56_action
    name: R
    tap_action:
    action: call-service
    service: mqtt.publish
    service_data:
    topic: zigbee2mqtt/WirelessButtonSwitch/action
    retain: true
    payload: release

    Odpowiedz
  13. Tak mam dodanego Node-RED ale nie korzystam. Po doświadczeniach z Blockly w Domoticzu wolę póki co standard. Może z czasem jak czegoś więcej się nauczę o HA.

    Przy okazji dzięki, że chce Ci się prowadzić tego bloga. Duża inspiracja dla mnie.

    Odpowiedz
  14. Dziękuję za ciepłe słowa. Ostatnio właśnie motywacja siadła, bo zrobiłem już co chciałem, nie mam parcia na zmiany, a inne hobby czekają w kolejce 😉

    Odpowiedz

Dodaj komentarz