poniedziałek, 6 lipca 2020

Home Assistant - Jak ułożyć dane w kartach aby były tak jak chcemy - tips and tricks

Powitać.

Jednym z potężnych i niezaprzeczalnych plusów Home Assistant jest możliwość jego dostosowania do naszych potrzeb.

Mam sobie kod jak poniżej:

      - entity: weather.dark_sky
        type: weather-forecast
      - entity: weather.home
        type: weather-forecast
      - entities:
          - entity: binary_sensor.burze_dzis_net_frost_warning
          - entity: binary_sensor.burze_dzis_net_heat_warning
          - entity: binary_sensor.burze_dzis_net_precipitation_warning
          - entity: binary_sensor.burze_dzis_net_storm_warning
          - entity: binary_sensor.burze_dzis_net_storms_nearby
          - entity: binary_sensor.burze_dzis_net_tornado_warning
          - entity: binary_sensor.burze_dzis_net_wind_warning
        type: entities

który wygląda tak:

Używając dodatku Vertical stack https://www.home-assistant.io/lovelace/vertical-stack/ możemy te karty połączyć ze sobą. Oczywiście jest to jeden z przykładów, bo można łączyć różne elementy i encje w jeden pionowy zestaw.

      - type: vertical-stack
        in_card: true
        cards:
          - entity: weather.dark_sky
            type: weather-forecast
          - entity: weather.home
            type: weather-forecast
          - entities:
              - entity: binary_sensor.burze_dzis_net_frost_warning
              - entity: binary_sensor.burze_dzis_net_heat_warning
              - entity: binary_sensor.burze_dzis_net_precipitation_warning
              - entity: binary_sensor.burze_dzis_net_storm_warning
              - entity: binary_sensor.burze_dzis_net_storms_nearby
              - entity: binary_sensor.burze_dzis_net_tornado_warning
              - entity: binary_sensor.burze_dzis_net_wind_warning
            type: entities


Aby połączyć je natomiast poziomo możemy skorzystać z Glance https://www.home-assistant.io/lovelace/glance/ :

        - type: glance
          no_card: true
          title: "Salon"
          show_name: false
          entities:
            - sensor.salon_flora_temperature
            - sensor.humidity_158d000163e802
            - sensor.salon_flora_light_intensity
            - sensor.salon_flora_moisture


Z kolei menu 'Drop down' jest już trochę bardziej czasochłonne, ale również proste.

W configuration.yaml zdefiniowałem sobie plik dla takich właśnie przełączników:

input_select: !include input_select.yaml

W tym oto pliku:

light_scenes_tv:
  name: "LED za TV"
  icon: mdi:palette
  options:
    - "ledzatvonwhite"
    - "ledzatvonblue"
    - "ledzatvonfade"
    - "ledzatvoff"

W ui-lovelace.yaml
- input_select.light_scenes_tv

A pod konkretne nazwy podpiąłem Automatyzacje:

- id: '1589838898697'
  alias: LED za TV white
  description: ''
  trigger:
  - entity_id: input_select.light_scenes_tv
    platform: state
    to: ledzatvonwhite
  condition: []
  action:
  - scene: scene.led_za_tv_white

I scena:

- id: ledzatvonwhite
  name: LED za TV white
  entities:
    switch.ledzatv: on
    switch.ledzatvwhite: on

Oraz, żeby było śmieszniej, to wywołuje kody IrDA w Broadlink :)

  - platform: broadlink
    host: 192.168.1.119
    mac: 34:EA:34:CE:00:CC
    switches:
      ledzatv:
        friendly_name: "LED za TV"
        command_on: 'JgBQAAABR5QXERYRFxEWERYRFxEWERYRFjcWNxY2FzYWNxY2FzYXNhY3FhEXNhc2FhEWEhYRFhEWERc2FhEXERY2FjcWNhc2FgAFFAABR0oVAA0FAAAAAAAAAAA='
        command_off: 'JgBYAAABUZMXERYRFxEWERcRFhIWERcRFjcXNhc2FzcXNhc2FzYYNhY3FzYXNhg2FzYXEhcRFxEWEhcRFxEXERgRFzYXNhg2FwAFFQABU0oXAAxdAAFSSRcADQU='

  - platform: broadlink
    host: 192.168.1.119
    mac: 34:EA:34:CE:00:CC
    switches:
      ledzatvwhite:
        friendly_name: "LED za TV white"
        command_on: 'JgBYAAABTJUVERUVExMVExUSFRUTExQTFTgVOBU3FjgWNhc2FjgRPRU3FhQTORUbDDkUExUUExQVFhE3FhMUOBcSFDkUOBU4FgAFGAABS0oWAAxgAAFOSRcADQU='
        command_off: 'JgBYAAABTJUVERUVExMVExUSFRUTExQTFTgVOBU3FjgWNhc2FjgRPRU3FhQTORUbDDkUExUUExQVFhE3FhMUOBcSFDkUOBU4FgAFGAABS0oWAAxgAAFOSRcADQU='

Może da się łatwiej, ale na ten moment inaczej nie potrafię ;)

Dwie rzeczy:
- ja uwielbiam 'babrać się' w skryptach i plikach konfiguracyjnych. To mi daje poczucie pełnej kontroli
- uważajcie na wcięcia w tekście! To jest YAML i bardzo ważne są odstępy, odpowiednie marginesy

Brak komentarzy:

Prześlij komentarz