wtorek, 29 września 2020

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 :D

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












18 komentarzy:

  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?

    OdpowiedzUsuń
    Odpowiedzi
    1. 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.

      Usuń
    2. 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.

      Usuń
    3. 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ń.

      Usuń
    4. 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.

      Usuń
    5. 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.

      Usuń
  2. 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.

    OdpowiedzUsuń
    Odpowiedzi
    1. 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.

      Usuń
    2. 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.

      Usuń
    3. 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.

      Usuń
    4. Możesz w paru zdaniach napisać w jakich aspektach Domoticz lepiej obsługuje RFLink?

      Usuń
    5. Głównie chodziło mi o to, że w Domoticz miałem dużo więcej dostępnych urządzeń. Połowy nie widziałem w HA.

      Usuń
    6. Dzięki za szybką odpowiedź ;)

      Usuń
  3. 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

    OdpowiedzUsuń
    Odpowiedzi
    1. 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

      Usuń
    2. Pozostaje pogratulować :) Do pewnych tematów przydaje się Node-RED, ja akurat mam tak proste konfiguracje, że mi nie jest do tej pory potrzebny.

      Usuń
    3. 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.

      Usuń
    4. 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 ;)

      Usuń