NicolaReina

netatmo

May 14th, 2021 (edited)
1,131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.  
Add Comment
Please, Sign In to add comment