Powiadomienie o otwartej bramie

A tak z polskiego na node-red? Jakiś graf albo najlepiej json? Raczkuję.

Jak wysyla sie wiadomość powiadomienie to co chcesz zrobić? No przypomnieć o niej za 10 min
więc dajesz opóźnienie 10 min i wysyłasz ponownie powiadomienie i tak w kółko
No ale co zrobic jak już brame zamkniesz i nie chcesz więcej wysyłać powiadomienia?
Wysyłasz do noda opóźniającego żeby się zresetował i więcej nie wysyłał powiadomienia

Prosze
fgbrege

[{"id":"1a7888b2.9b2d97","type":"server-state-changed","z":"fb7ad2d6d88b2fd4","name":"Okno Witek","server":"6e9513bd.3f70cc","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"","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,"for":"10","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":490,"y":540,"wires":[["26bd921.31c2d6e"],[]]},{"id":"26bd921.31c2d6e","type":"function","z":"fb7ad2d6d88b2fd4","name":"Wiadomość","func":"msg.wiadomosc =\n{\n    \"temat\":\"Ogrzewanie\",\n    \"tresc\":\"Okno u witka jest otwarte już przez 15 minut\",\n    \"typ\":\"info\"\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":910,"y":540,"wires":[["5c8582f9c702a08b"]]},{"id":"5c8582f9c702a08b","type":"delay","z":"fb7ad2d6d88b2fd4","name":"","pauseType":"delay","timeout":"10","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"x":890,"y":620,"wires":[["26bd921.31c2d6e"]]},{"id":"ed6ad8fa3a03a536","type":"change","z":"fb7ad2d6d88b2fd4","name":"","rules":[{"t":"set","p":"reset","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":660,"y":580,"wires":[["5c8582f9c702a08b"]]},{"id":"b7728edd783fdaa3","type":"server-state-changed","z":"fb7ad2d6d88b2fd4","name":"Okno Witek","server":"6e9513bd.3f70cc","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"","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,"for":"","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":490,"y":580,"wires":[[],["ed6ad8fa3a03a536"]]},{"id":"6e9513bd.3f70cc","type":"server","name":"AIS","version":1,"legacy":false,"addon":false,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]
1 polubienie

Nie wystarczy jeden sensor Okno Witek?

Wystraczy, tak jak pisałem nie wiem co w nim masz,
jeżeli masz np. czekaj 5min jak stan się zgadza to tak samo 5 min będzie trwało zrestartowanie opóźniacza. Jeżeli nie masz w nim czasu, to jak najbardziej wtedy korzystasz z drugiego węzła tego noda.

Bazowałem na tym co podesłał @Cino111 i skorzystałem z dodatkowego noda stoptimer.
U mnie wygląda to tak jak poniżej i w to chcę wcisnąć powtarzanie komunikatu co 5 minut, jeśli dalej brama nie zostanie zamknięta (z jak najmniejszą ilością nodów):


powiadomienie_brama_wjazdowa.json (5,6 KB)

Dałem Ci gotowe rozwiązanie do zaadaptowania :slight_smile: No ale dobra, masz tu gotowe
zredukowałem też nody

[{"id":"90e1bd90fb2d7e77","type":"server-state-changed","z":"334a828b68ba43e4","name":"Brama wjazdowa","server":"5803d2e1d6a8feb5","version":3,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"binary_sensor.brama","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":"","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":140,"y":260,"wires":[["4c46c83885dd387f"],["5de16a272a45b59a"]]},{"id":"4c46c83885dd387f","type":"stoptimer","z":"334a828b68ba43e4","duration":"5","units":"Minute","payloadtype":"num","payloadval":"0","name":"5 minut","x":360,"y":260,"wires":[["f858f7aec4bec84b"],[]]},{"id":"f858f7aec4bec84b","type":"function","z":"334a828b68ba43e4","name":"Komunikat głosowy na tPad80","func":"message = msg.payload.message;\nmsg.payload=\n{\n    \"data\":\n    {\n        \"device_id\":\"843a1046f891388b21b60edfc979638a\",\n        \"message\": \"Brama wjazdowa jest otwarta!\",\n        \"title\":\"Powiadomienie!!!\",\n        \"say\":true\n    }\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":630,"y":260,"wires":[["9ba7f9aee40f1b7d","c0dc508ffa47914b"]]},{"id":"9ba7f9aee40f1b7d","type":"api-call-service","z":"334a828b68ba43e4","name":"Powiadomienie głosowe","server":"5803d2e1d6a8feb5","version":3,"debugenabled":false,"service_domain":"ais_ai_service","service":"mob_notify","entityId":"","data":"","dataType":"json","mergecontext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":910,"y":260,"wires":[[]]},{"id":"5de16a272a45b59a","type":"change","z":"334a828b68ba43e4","name":"","rules":[{"t":"set","p":"reset","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":320,"wires":[["c0dc508ffa47914b"]]},{"id":"c0dc508ffa47914b","type":"delay","z":"334a828b68ba43e4","name":"","pauseType":"delay","timeout":"10","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"x":610,"y":320,"wires":[["f858f7aec4bec84b"]]},{"id":"5803d2e1d6a8feb5","type":"server","name":"AIS PRO1","version":2,"addon":false,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"credentials":{}}]

2 polubienia

Dzięki, sprawdzę działanie :wink:
EDIT:
Działa idealnie jak chciałem :smiley: Jeszcze raz dzięki :slight_smile:

@bartik22 niestety nie działa z tym stoptimer bo on po zmianie stanu przed upływem ustawionego czasu i tak puszcza msg dalej, co powoduje, że nie ma co zrestartować delaya, w którym czeka zapętlony msg.
Spróbuję zamienić stoptimer na delay z doprowadzonym resetem.

Ze stptimer nigdy nie korzystałem, tylko delay i to z drop message w środku ustaw.
I reset pusc do obu delay’ów

Teraz z delay działa lepiej.

BTW: a przy okazji ogarnąłem sobie na node-red synchronizację temperatury we wszystkich 12 głowicach termostatycznych na podstawie termometrów zewnętrznych :slight_smile:
Nie mam już żadnej aktywnej automatyzacji w HA, wszystko przeniesione na node-red :wink:

1 polubienie

Termometry są na zigbee?
To zrób sobie jeszcze powiadomienie jak jakiś termometr przestał sie odzywać
Po 3h od ostatniego kontaktu wysyła mi wiadomość, np. baterie sie skończyły

[{"id":"2a0c7abf9ce687f2","type":"zigbee2mqtt-in","z":"9f4805d.0f2bcf8","name":"","server":"e42dbc53.d003","friendly_name":"czujnik temperatury biuro","device_id":"0x00158d0005889321","state":"0","outputAtStartup":true,"x":3770,"y":60,"wires":[["13052c537e2dfd4d"]]},{"id":"13052c537e2dfd4d","type":"trigger","z":"9f4805d.0f2bcf8","name":"","op1":"","op2":"0","op1type":"nul","op2type":"str","duration":"3","extend":true,"overrideDelay":false,"units":"hr","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":4030,"y":60,"wires":[["524f44c16a44255e"]]},{"id":"524f44c16a44255e","type":"function","z":"9f4805d.0f2bcf8","name":"KOMUNIKAT","func":"msg.komunikat=\n{\n    \"data\":\n    {\n        \"message\": \"brak kontaktu z czujnikiem temperatury biuro\",\n    }\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":4210,"y":60,"wires":[["36fd250b610f1e41"]]},{"id":"e42dbc53.d003","type":"zigbee2mqtt-server","name":"zigbee2mqtt XPENOLOGY","host":"192.168.5.102","mqtt_port":"1883","mqtt_username":"","mqtt_password":"","tls":"","usetls":false,"base_topic":"zigbee2mqtt"}]

Czujniki mam DYI (Wemos D1 mini + BMP280) osuplowane i zintegrowane z AIS. Ale będę robił alerty dla stanu baterii wszystkich modułów Zigbee zasilanych tą drogą, więc się przyda :wink: Dzięki.

Mój kod prosty i działa:

alias: Brama garażowa wciąż otwarta
description: sprawdzenie czy brama jest wciąż otwarta
trigger:
  - platform: time_pattern
    minutes: /15
condition:
  - type: is_open
    condition: device
    device_id: 222d61a69589342faf51678264b82209
    entity_id: binary_sensor.czujnik_bramy_garazowej_contact
    domain: binary_sensor
    for:
      hours: 0
      minutes: 0
      seconds: 10
      milliseconds: 0
action:
  - service: ais_ai_service.say_it
    data:
      text: Uwaga. Brama garażowa wciąż otwarta.
mode: single

1 polubienie

Ja miałem podobnie :slight_smile:

alias: Otwarta brama garażowa
description: Powiadomienie o otwartej bramie garażowej
trigger:
  - platform: time_pattern
    minutes: /15
condition:
  - type: is_open
    condition: device
    device_id: 6b2203e213098a21af45cb48c20a79c4
    entity_id: binary_sensor.garage_door_opening_sensor
    domain: binary_sensor
    for:
      hours: 0
      minutes: 30
      seconds: 0
      milliseconds: 0
action:
  - service: ais_ai_service.mob_notify
    data:
      message: 'Brama garażowa jest otwarta '
      device_id: 843a1046f891388b21b60edfc979638a
      say: true
mode: single

Tylko powiadomienie wypowiadane jest głosowo na tablecie na ścianie.

Teraz mam to samo, ale w node-red :wink: