Home Assistant - grupowanie elementów - szybki poradnik

Home Assistant - grupowanie elementów - szybki poradnik

Dawno nie było poradników z tematyki Home Assistant a to jest jeden z ważniejszych i bardzo potrzebnych elementów. Pokażę jak grupować elementy na przykładzie czujników ruchu ale spokojnie możemy wykorzystać to do osób, świateł a nawet mieszać rodzaje urządzeń!

Zacznijmy może od podstawy po co to robić. Powiedzmy, że mamy 2 czujniki ruchu w kuchni, robienie automatyzacji na dwóch jest dość nie wygodne, na trzech to już katorga - zwłaszcza automatyzacja światła. Strasznie dużo musimy wtedy poprawiać dopisywać itp. 

Wtedy przychodzi nam z pomocą grupowanie. Grupowanie elementów działa podobnie jak danie ich w jedną Entities Card z przyciskiem. Jednak tego nie wykorzystamy do automatyzacji.

Home Assistant - grupowanie elementów - szybki poradnik_2

Przechodzimy do File Editor wybieramy z folderu plik groups.yaml i wprowadzamy:

motion_bathroom:
    name: Bathroom Motion Sensors 
#    all: true #Set this to true if the group state should only turn on if all grouped entities are on.
    icon: mdi:motion-sensor
    entities:
      - binary_sensor.0xec1bbdfffe95987d_occupancy
      - binary_sensor.0x00158d00047d2a28_occupancy

Pierw unikatowa nazwa, którą będziemy wywoływać do automatyzacji czyli np. group.motion_kitchen - aby jej użyć musimy dodać domenę group. 

Następnie nazwa wyświetlania name - czyli ta przyjazna widoczna dla nas.

I teraz najważniejsze - mamy dwa rodzaje grup:

  • domyślnie przynajmniej jedno urządzenie z grupy ON aby cała GRUPA była ON
  • możemy to zmienić i ustawić, że wszystkie urządzenia z grupy muszą być ON aby cała GRUPA była ON

Powyższe jest to mega przydatne w niektórych automatyzacjach. 

Możemy też dodać icon: mdi:motion-sensor lub inną spis tutaj: https://pictogrammers.github.io/@mdi/font/4.5.95/ aby nam się ładne ikonki wyświetlały w lovelace. 

Home Assistant - grupowanie elementów - szybki poradnik_3

Na sam koniec po myślniku dodajemy wybrane elementy do grupy. Co fajne, grupa może posiadać tylko jeden element. Więc jak często coś zmieniamy to jest to bardzo przydatne w automatyzacjach. 

Automatyzacja czujników NodeRED

A tak potem wygląda flow zamiast miliona razy powtarzania jednego czujnika.

Home Assistant - grupowanie elementów - szybki poradnik_4

Dzięki temu rozwiązaniu - wykrycie ruchu przez dowolny czujnik (z grupy) spowoduje zapalnie światła ale dopiero jak wszystkie (z grupy) przestaną wykrywać ruch to światło nam zgaśnie. 

Automatyzacja włączników (np. schodowych bez kabla) w NodeRED

Ja do tego wykorzystuję szklany ścienny przełącznik, do którego podłączone są światła kablem oraz na przeciwległej ścianie, modułowy szklany przełącznik ścienny, gdzie na wyjściu tego kanału jest po prostu pusto.

Jeżeli chcemy on/off całą grupę (świateł/włączników) to musimy zrobić tak w NodeRED:

nodered_1

Tak wygląda włączanie/wyłączanie grupy przycisków:

nodered_2

 

Przechodzimy do File Editor wybieramy z folderu plik groups.yaml i wprowadzamy:

livin_room_light_black:
    name: Living Room Light Black
    entities:
      - switch.sonoff_100059c494
      - switch.0xec1bbdfffe930500_switch_l1

Tutaj wersja do kopiowania:

[
    {
        "id": "a624b599.24e368",
        "type": "api-call-service",
        "z": "3caea190.4f720e",
        "name": "Group Light Off",
        "server": "b3e9b226.7fd0c",
        "version": 3,
        "debugenabled": false,
        "service_domain": "homeassistant",
        "service": "turn_off",
        "entityId": "group.livin_room_light_black",
        "data": "",
        "dataType": "json",
        "mergecontext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 380,
        "y": 3920,
        "wires": [
            []
        ]
    },
    {
        "id": "50d2949d.a375bc",
        "type": "server-state-changed",
        "z": "3caea190.4f720e",
        "name": "Black Light Wall",
        "server": "b3e9b226.7fd0c",
        "version": 3,
        "exposeToHomeAssistant": false,
        "haConfig": [
            {
                "property": "name",
                "value": ""
            },
            {
                "property": "icon",
                "value": ""
            }
        ],
        "entityidfilter": "switch.0xec1bbdfffe930500_switch_l1",
        "entityidfiltertype": "exact",
        "outputinitially": false,
        "state_type": "str",
        "haltifstate": "on",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "outputs": 2,
        "output_only_on_state_change": true,
        "for": "0",
        "forType": "num",
        "forUnits": "minutes",
        "outputProperties": [
            {
                "property": "payload",
                "propertyType": "msg",
                "value": "",
                "valueType": "entityState"
            },
            {
                "property": "data",
                "propertyType": "msg",
                "value": "",
                "valueType": "eventData"
            },
            {
                "property": "topic",
                "propertyType": "msg",
                "value": "",
                "valueType": "triggerId"
            }
        ],
        "x": 120,
        "y": 3860,
        "wires": [
            [
                "9ba2d696.885258"
            ],
            [
                "a624b599.24e368"
            ]
        ]
    },
    {
        "id": "9ff7e374.ea22f",
        "type": "server-state-changed",
        "z": "3caea190.4f720e",
        "name": "Black Light",
        "server": "b3e9b226.7fd0c",
        "version": 1,
        "exposeToHomeAssistant": false,
        "haConfig": [
            {
                "property": "name",
                "value": ""
            },
            {
                "property": "icon",
                "value": ""
            }
        ],
        "entityidfilter": "switch.sonoff_100059c494",
        "entityidfiltertype": "exact",
        "outputinitially": false,
        "state_type": "str",
        "haltifstate": "on",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "outputs": 2,
        "output_only_on_state_change": true,
        "x": 100,
        "y": 3920,
        "wires": [
            [
                "9ba2d696.885258"
            ],
            [
                "a624b599.24e368"
            ]
        ]
    },
    {
        "id": "9ba2d696.885258",
        "type": "api-call-service",
        "z": "3caea190.4f720e",
        "name": "Group Light On",
        "server": "b3e9b226.7fd0c",
        "version": 3,
        "debugenabled": false,
        "service_domain": "homeassistant",
        "service": "turn_on",
        "entityId": "group.livin_room_light_black",
        "data": "",
        "dataType": "json",
        "mergecontext": "",
        "mustacheAltTags": false,
        "outputProperties": [],
        "queue": "none",
        "x": 380,
        "y": 3860,
        "wires": [
            []
        ]
    }
]

Grupa nie wyświetla się w podpowiedziach NodeRED? Musisz przeładować grupy  w Konfiguracja -> Kontrola Serwera -> Grupy, ich encje oraz usługi powiadomień. Potem tylko w NodeRED kliknąć przeładuj encje (obok Deploy) i już będą działać.

Podsumowanie

Jak widzicie ten krótki poradnik był krótki ale mega przydatny i wygodny. Co tam to wszystko da? Skończą się akcje, że jeden czujni wyzwala zgaszenie światła a drugi jego zapalenie po sekundzie lub inne dziwne aukcje z przełączaniem świateł gdy robimy automatyzacje schodowe. 

Chcesz wiedzieć więcej? Dołącz do grupy na FB. Będzie nam też miło jak polubisz Fanpage!

Czujnik wody / zalania Xiaomi Aqara Zigbee

Od: 69 zł 85 zł | Powiadom gdy cena spadnie

Świetny czujnik zalania który po prostu działa! Posiada dla mnie dwie najważniejsze cechy: raportowanie o dostępności oraz stanie baterii. Jest oczywiście wielokrotnego użytku. 

Dziwi brak reklam? Przeczytaj dlaczego i wesprzyj bloga na  lub