SHOW:
|
|
- or go back to the newest paste.
1 | ################################################################################ | |
2 | ## Sensor | |
3 | ################################################ | |
4 | sensor: | |
5 | - platform: mqtt | |
6 | name: Netatmo webhook | |
7 | state_topic: 'netatmo/event' | |
8 | value_template: '{{ value_json.snapshot_id }}' | |
9 | json_attributes_topic: 'netatmo/event' | |
10 | ||
11 | ||
12 | - platform: template | |
13 | sensors: | |
14 | camera_netatmo: | |
15 | friendly_name_template: "Camera Netatmo" | |
16 | entity_id: sensor.netatmo_webhook | |
17 | value_template: "{{ state_attr('sensor.netatmo_webhook','data').push_type }}" | |
18 | ||
19 | ||
20 | - platform: template | |
21 | sensors: | |
22 | netatmo_type: | |
23 | friendly_name: Netatmo tipo di rilevamento | |
24 | value_template: > | |
25 | {%- if is_state("sensor.camera_netatmo", "NACamera-animal") %} | |
26 | Gatti | |
27 | {%- elif is_state("sensor.camera_netatmo", "NACamera-human") %} | |
28 | Sconosciuto | |
29 | {%- elif is_state("sensor.camera_netatmo", "NACamera-person") %} | |
30 | Familiare | |
31 | {%- elif is_state("sensor.camera_netatmo", "NACamera-movement") %} | |
32 | Movimento | |
33 | {%- elif is_state("sensor.camera_netatmo", "NACamera-vehicle") %} | |
34 | Veicolo | |
35 | {%- elif is_state("sensor.camera_netatmo", "topology_changed") %} | |
36 | Info | |
37 | {%- elif is_state("sensor.camera_netatmo", "NACamera-light_mode") %} | |
38 | Light | |
39 | {% endif %} | |
40 | icon_template: > | |
41 | {%- if is_state("sensor.camera_netatmo", "NACamera-animal") %} | |
42 | mdi:cat | |
43 | {%- elif is_state("sensor.camera_netatmo", "NACamera-human") %} | |
44 | mdi:account-alert | |
45 | {%- elif is_state("sensor.camera_netatmo", "NACamera-person") %} | |
46 | mdi:account-star | |
47 | {%- elif is_state("sensor.camera_netatmo", "NACamera-movement") %} | |
48 | mdi:motion-sensor | |
49 | {%- elif is_state("sensor.camera_netatmo", "NACamera-vehicle") %} | |
50 | mdi:car-hatchback | |
51 | {%- elif is_state("sensor.camera_netatmo", "topology_changed") %} | |
52 | mdi:information-variant | |
53 | {%- elif is_state("sensor.camera_netatmo", "NACamera-light_mode") %} | |
54 | mdi:lightbulb-on | |
55 | {% endif %} | |
56 | ||
57 | ################################################################################ | |
58 | ## Binary Sensor | |
59 | ################################################ | |
60 | binary_sensor: | |
61 | - platform: template | |
62 | sensors: | |
63 | netatmo_webhook_trigger: | |
64 | device_class: motion | |
65 | friendly_name: Netatmo webhook trigger | |
66 | value_template: "{{ is_state('sensor.netatmo_webhook_trigger', 'NACamera-human') }}" | |
67 | ||
68 | ################################################################################ | |
69 | ## Automation | |
70 | ################################################ | |
71 | automation: | |
72 | - alias: Netatmo Event | |
73 | description: Eventi Netatmo | |
74 | trigger: | |
75 | - event_data: {} | |
76 | event_type: netatmo_event | |
77 | platform: event | |
78 | action: | |
79 | - service: persistent_notification.create | |
80 | data_template: | |
81 | message: > | |
82 | {% if is_state('persistent_notification.netatmo' , 'notifying') %} | |
83 | {{ states.persistent_notification.netatmo.attributes.message }} | |
84 | [{{ now().strftime('%H:%M') }}] - Messaggio: {{ trigger.event.data.data.message }} - tipo evento: {{ trigger.event.data.data.event_type }} | |
85 | {% else %} | |
86 | [{{ now().strftime('%H:%M') }}] - Messaggio: {{ trigger.event.data.data.message }} - tipo evento: {{ trigger.event.data.data.event_type }} | |
87 | {% endif %} | |
88 | notification_id: "test" | |
89 | title: "ciccio" | |
90 | ||
91 | ||
92 | # - service: mqtt.publish | |
93 | # data_template: | |
94 | # payload: 'Messaggio: {{ trigger.event.data.data.message }}' | |
95 | # retain: true | |
96 | # topic: netatmo/event | |
97 | ||
98 | - service: mqtt.publish | |
99 | data_template: | |
100 | payload: '{{ trigger.event.data | tojson }}' | |
101 | retain: true | |
102 | topic: netatmo/event | |
103 | ||
104 | - alias: Francesco a casa | |
105 | trigger: | |
106 | - event_type: netatmo_event | |
107 | platform: event | |
108 | event_data: | |
109 | type: person | |
110 | condition: | |
111 | - condition: template | |
112 | value_template: "{{ trigger.event.data['data']['name'] == 'Francesco' }}" | |
113 | action: | |
114 | - service: notify.alexa_media | |
115 | data: | |
116 | target: | |
117 | - media_player.soggiorno | |
118 | data: | |
119 | type: announce | |
120 | method: speak | |
121 | message: "ok" | |
122 | ||
123 | - service: persistent_notification.create | |
124 | data_template: | |
125 | title: Netatmo event | |
126 | notification_id: "identificazione" | |
127 | message: > | |
128 | {% if is_state('persistent_notification.netatmo' , 'notifying') %} | |
129 | {{ states.persistent_notification.netatmo.attributes.message }} | |
130 | [{{ now().strftime('%H:%M') }}] - {{ trigger.event.data["data"]["name"] }} è a casa | |
131 | {% else %} | |
132 | [{{ now().strftime('%H:%M') }}] - {{ trigger.event.data["data"]["name"] }} è a casa | |
133 | {% endif %} | |
134 | # {{ trigger.event.data["data"]["home_name"] }} | |
135 |