Home Assistant - powiadomienia w telefonie (aplikacja + Node-RED)

Home Assistant - powiadomienia w telefonie (aplikacja + Node-RED)

Generalnie nie lubię powiadomień na telefon, mam ich bardzo dużo i uciekają mi po prostu te ważne. Dlatego zawsze wszystkim mówię, że najważniejsze dla mnie są maile. Mail oznaczaj jako odczytany dopiero jak wykonam "zdanie" w nim zawarte. Dzięki temu nic mi się nigdy nie gubi.

Jednak czasami powiadomienie jest po prostu wygodne, np. wychodzimy z domu i dyskretnie chcemy nie budząc nikogo zostać ostrzeżonym o tym co będzie się działo na zewnątrz. Czy mamy wziąć maskę na smog, czy będzie padać i jaka jest temperatura. W sumie to co robiłem w tym artykule: Home Assistant - Czy będzie dziś padać? Jednak wszystko wysyłaliśmy na głośnik.

Oczywiście aplikację pobieramy z Google Play. I mamy dostęp do takich informacji od razu w Configuration -> Integrations -> Mobile App: [nazwa]:

W Node-RED wygląda to tak:

A tutaj kod do skopiowania.

[
    {
        "id": "586846fa.368308",
        "type": "inject",
        "z": "5a0ef976.d066b8",
        "name": "",
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "x": 157,
        "y": 818,
        "wires": [
            [
                "9bbd13b0.423a6"
            ]
        ]
    },
    {
        "id": "9bbd13b0.423a6",
        "type": "api-current-state",
        "z": "5a0ef976.d066b8",
        "name": "temp",
        "server": "b3e9b226.7fd0c",
        "version": 1,
        "outputs": 1,
        "halt_if": "",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "override_topic": false,
        "entity_id": "sensor.weather_tmp",
        "state_type": "str",
        "state_location": "payloada",
        "override_payload": "msg",
        "entity_location": "data",
        "override_data": "msg",
        "blockInputOverrides": false,
        "x": 350,
        "y": 820,
        "wires": [
            [
                "c38b3d00.ebfb9"
            ]
        ]
    },
    {
        "id": "c38b3d00.ebfb9",
        "type": "api-current-state",
        "z": "5a0ef976.d066b8",
        "name": "AQI",
        "server": "b3e9b226.7fd0c",
        "version": 1,
        "outputs": 1,
        "halt_if": "",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "override_topic": false,
        "entity_id": "sensor.airly_pm25",
        "state_type": "str",
        "state_location": "payloadb",
        "override_payload": "msg",
        "entity_location": "data",
        "override_data": "msg",
        "blockInputOverrides": false,
        "x": 470,
        "y": 820,
        "wires": [
            [
                "b69cc68e.d562a8"
            ]
        ]
    },
    {
        "id": "e2b3d841.364858",
        "type": "api-current-state",
        "z": "5a0ef976.d066b8",
        "name": "Hallway motion on?",
        "server": "b3e9b226.7fd0c",
        "version": 1,
        "outputs": 2,
        "halt_if": "on",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "override_topic": false,
        "entity_id": "binary_sensor.0x00158d000449923f_occupancy",
        "state_type": "str",
        "state_location": "payload",
        "override_payload": "msg",
        "entity_location": "data",
        "override_data": "msg",
        "blockInputOverrides": false,
        "x": 550,
        "y": 740,
        "wires": [
            [
                "9bbd13b0.423a6"
            ],
            []
        ]
    },
    {
        "id": "b69cc68e.d562a8",
        "type": "api-current-state",
        "z": "5a0ef976.d066b8",
        "name": "Deszczowo za 1h?",
        "server": "b3e9b226.7fd0c",
        "version": 1,
        "outputs": 2,
        "halt_if": "0",
        "halt_if_type": "num",
        "halt_if_compare": "gt",
        "override_topic": false,
        "entity_id": "sensor.dark_sky_precip_intensity_1h",
        "state_type": "str",
        "state_location": "payloadt",
        "override_payload": "msg",
        "entity_location": "data",
        "override_data": "msg",
        "blockInputOverrides": false,
        "x": 670,
        "y": 800,
        "wires": [
            [
                "d5a992c2.382c9"
            ],
            [
                "4052cbc3.dac0b4"
            ]
        ]
    },
    {
        "id": "17965581.00fd0a",
        "type": "server-state-changed",
        "z": "5a0ef976.d066b8",
        "d": true,
        "name": "Lock Door Hallway close? ",
        "server": "b3e9b226.7fd0c",
        "version": 1,
        "exposeToHomeAssistant": false,
        "haConfig": [
            {
                "property": "name",
                "value": ""
            },
            {
                "property": "icon",
                "value": ""
            }
        ],
        "entityidfilter": "binary_sensor.0x00158d00044b7364_contact",
        "entityidfiltertype": "exact",
        "outputinitially": false,
        "state_type": "str",
        "haltifstate": "off",
        "halt_if_type": "str",
        "halt_if_compare": "is",
        "outputs": 2,
        "output_only_on_state_change": true,
        "x": 290,
        "y": 740,
        "wires": [
            [],
            [
                "e2b3d841.364858"
            ]
        ]
    },
    {
        "id": "d5a992c2.382c9",
        "type": "function",
        "z": "5a0ef976.d066b8",
        "name": "",
        "func": "msg = {\n    payloada : msg.payloada,\n    payloadp : \"Może padać za godzinę!\",\n    payloadb : msg.payloadb\n};\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "x": 790,
        "y": 740,
        "wires": [
            [
                "babca7d6.568398"
            ]
        ]
    },
    {
        "id": "4052cbc3.dac0b4",
        "type": "api-current-state",
        "z": "5a0ef976.d066b8",
        "name": "Deszczowo za 3h?",
        "server": "b3e9b226.7fd0c",
        "version": 1,
        "outputs": 2,
        "halt_if": "0",
        "halt_if_type": "num",
        "halt_if_compare": "gt",
        "override_topic": false,
        "entity_id": "sensor.dark_sky_precip_intensity_3h",
        "state_type": "str",
        "state_location": "payloadt",
        "override_payload": "msg",
        "entity_location": "data",
        "override_data": "msg",
        "blockInputOverrides": false,
        "x": 717,
        "y": 879,
        "wires": [
            [
                "3d14aa01.edca06"
            ],
            [
                "babca7d6.568398"
            ]
        ]
    },
    {
        "id": "babca7d6.568398",
        "type": "time-range-switch",
        "z": "5a0ef976.d066b8",
        "name": "od 9:00 do 15:00",
        "lat": "50.2443",
        "lon": "19.04186",
        "startTime": "9:00",
        "endTime": "15:00",
        "startOffset": 0,
        "endOffset": 0,
        "x": 1010,
        "y": 960,
        "wires": [
            [
                "d861cc0c.409f1"
            ],
            [
                "ece27e0e.a461f"
            ]
        ]
    },
    {
        "id": "3d14aa01.edca06",
        "type": "function",
        "z": "5a0ef976.d066b8",
        "name": "",
        "func": "msg = {\n    payloada : msg.payloada,\n    payloadp : \"Może padać za 3 godziny!\",\n    payloadb : msg.payloadb\n};\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "x": 710,
        "y": 960,
        "wires": [
            [
                "babca7d6.568398"
            ]
        ]
    },
    {
        "id": "d861cc0c.409f1",
        "type": "api-call-service",
        "z": "5a0ef976.d066b8",
        "name": "Google say",
        "server": "b3e9b226.7fd0c",
        "version": 1,
        "debugenabled": false,
        "service_domain": "tts",
        "service": "google_translate_say",
        "entityId": "media_player.mini_hallway",
        "data": "{\"message\":\"Temperatura na zewnątrz to {{payloada}} stopni Celcjusza. {{payloadp}} A zanieczyszczenie powietrza to {{payloadb}}.\",\"language\":\"pl\"}",
        "dataType": "json",
        "mergecontext": "",
        "output_location": "",
        "output_location_type": "none",
        "mustacheAltTags": false,
        "x": 1010,
        "y": 760,
        "wires": [
            []
        ]
    },
    {
        "id": "ece27e0e.a461f",
        "type": "api-call-service",
        "z": "5a0ef976.d066b8",
        "name": "Notify",
        "server": "b3e9b226.7fd0c",
        "version": 1,
        "debugenabled": false,
        "service_domain": "notify",
        "service": "mobile_app_sm_n950f",
        "entityId": "",
        "data": "{\"title\":\"Warunki pogodowe\",\"message\":\"Temperatura na zewnątrz to {{payloada}} stopni Celcjusza. {{payloadp}} A zanieczyszczenie powietrza to {{payloadb}}.\"}",
        "dataType": "json",
        "mergecontext": "",
        "output_location": "",
        "output_location_type": "none",
        "mustacheAltTags": false,
        "x": 1010,
        "y": 1040,
        "wires": [
            []
        ]
    }
]

Zobaczcie, że dokładnie jak wygląda składnia message i skąd są brane dane i w jaki sposób tam wstawianie. Działa to super i możemy przekazać naprawdę bardzo dużą liczbę informacji w jednej wiadomości! 

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

Odkurzacz automatyczny Xiaomi VIOMI V3

Od: 1190 zł 2306 zł | Powiadom gdy cena spadnie

Odkurzacz Xiaomi VIOMI V3 to 20% mocniejsze ssanie 2600Pa i 1,5 większa bateria 4900mAh (w porównaniu z V2) mapowanie LDS, wysyłka z Europy. W skrócie: jeżeli masz więcej niż 100m2 kupuj V2, jeżeli mniej w zupełności wystarczy V2. 

Dziwi brak reklam? Przeczytaj dlaczego i wesprzyj bloga na  lub