Flashar e configurar o Sonoff Bridge

Esse é o erro mas qual é o código que estás a utilizar?

no binary sensor pus isto

  - platform: mqtt
    name: "Sala"
    payload_on: "D3D49E" 
    payload_off: "D3D49Eoff"  
    device_class: motion
    state_topic: "tele/bridge/RESULT" 
    value_template: '{{ value_json.RfReceived.Data}}' 
    retain: true

e na automation

  - id: 'Sensorsala'    
    initial_state: true
    trigger:
  - entity_id: binary_sensor.sala
    platform: state
    to: 'on'
    for:
      seconds: 5 
    action:
    - service: mqtt.publish
      data:
        topic: tele/bridge/RESULT
        payload: D3D49Eoff
        retain: 'true'

Aliás isto é um copy /paste do @Nuno_Figueiredo , tirando os sensores claro

Mas isso não é a automation completa… E pelo que se vê ai os espaçamentos estão errados.

sim não estavam certos, mas agora está.

o que me acontece é que me aparece sempre a informação do sensor a dizer " limpo "

é normal ?

Acho esse payload de off fora do normal, tens a certeza que o payload é esse?

E na automação que acção é essa? É suposto fazer o quê?

@j_assuncao , vou colocar o yaml da sala completo

O ideal e o que pretendia mesmo era ter uma opção de estar desligado e quando ligar, avisar intrusão.

o meu yaml completo está assim

group:

  sala:
    view: yes
    name: sala
    entities:
      - group.salagrupo

  salagrupo:
    control: hidden
    name: Sala
    entities:
      - input_number.aberturapersianasala
      - cover.persianasala
      - binary_sensor.rele_1s
      - binary_sensor.rele_2s
      - switch.tomada
      - switch.sensorext
      - switch.tomada2
      - sensor.sensorext
      - sensor.Temperatura_Sala
      - sensor.Humidade_Sala
      - binary_sensor.Sensor_Sala
      
input_text:
#Alterar "inicial" para o valor em segundos que o estore demora a abrir desde a posição fechada e vice-versa nos input_text tempodeabertura e tempodefecho.
  tempodeaberturasala:
    name: tempo de maximo de abertura
    initial: 28
  tempodefechosala:
    name: tempo de maximo de fecho
    initial: 28
  iniciofechosala:
    name: Inicio Fecho Sala
  inicioaberturasala:
    name: Inicio Abertura Sala

cover:
  - platform: template
    covers:
      persianasala:
        friendly_name: "Persiana Sala"
        position_template: '{{ states.input_number.aberturapersianasala.state }}'
        open_cover:
          - service: mqtt.publish
            data:
              topic: 'cmnd/wemosd1mini/POWER1'
              payload: 'ON'
        close_cover:
          - service: mqtt.publish
            data:
              topic: 'cmnd/wemosd1mini/POWER2'
              payload: 'ON'
        stop_cover:
          - service: mqtt.publish
            data:
              topic: 'cmnd/wemosd1mini/Backlog'
              payload: 'POWER1 OFF; POWER2 OFF'

binary_sensor:
  - platform: mqtt
    name: rele 1s
    state_topic: "stat/wemosd1mini/POWER1"
    payload_on: "ON"
    payload_off: "OFF"
  - platform: mqtt
    name: rele 2s
    state_topic: "stat/wemosd1mini/POWER2"
    payload_on: "ON"
    payload_off: "OFF"
  - platform: mqtt
    name: Sensor Sala
    payload_on: "D3D49E" 
    payload_off: "D3D49Eoff"  
    device_class: motion
    state_topic: "tele/bridge/RESULT" 
    value_template: '{{ value_json.RfReceived.Data == "D3D49E"}}' 
    retain: true

input_boolean:
  alterarslidersala:
    name: Alterar o Slider Sala
    initial: on

input_number:
  aberturapersianasala:
    name: Abertura
    min: 0
    max: 100
    step: 1
    unit_of_measurement: '%'
    icon: mdi:blinds
  aberturapersianasalaold:
    name: valor antigo de abertura
    min: 0
    max: 100
    step: 1
    unit_of_measurement: '%'

automation:
  - id: iniciofecho
    alias: Começou a fechar Persiana Sala
    trigger:
    - platform: state
      entity_id: binary_sensor.rele_2s
      to: 'on'
    action:
      service: input_text.set_value
      data_template:
        entity_id: input_text.iniciofechosala
        value: '{{ now() }}'
  - id: fimfecho
    alias: Parou de fechar Persina Sala
    trigger:
    - platform: state
      entity_id: binary_sensor.rele_2s
      to: 'off'
    condition:
    - condition: state
      entity_id: input_boolean.alterarslidersala
      state: 'on'
    action:
    - service: input_number.set_value
      data_template:
        entity_id: input_number.aberturapersianasalaold
        value: >-
          {% if (states.input_number.aberturapersianasala.state)|int - ((as_timestamp(now()) - (as_timestamp(states.input_text.iniciofechosala.state))|float|round(2))*100/(states.input_text.tempodefechosala.state|int))|int < 4 %}
            0
          {% else %}
            {{ (states.input_number.aberturapersianasala.state)|int - ((as_timestamp(now()) - (as_timestamp(states.input_text.iniciofechosala.state))|float|round(2))*100/(states.input_text.tempodefechosala.state|int))|int }}
          {% endif %}
    - service: input_number.set_value
      data_template:
        entity_id: input_number.aberturapersianasala
        value: '{{ states.input_number.aberturapersianasalaold.state }}'
  - id: inicioabertura
    alias: Começou a abrir Persiana Sala
    trigger:
    - platform: state
      entity_id: binary_sensor.rele_1s
      to: 'on'
    action:
      service: input_text.set_value
      data_template:
        entity_id: input_text.inicioaberturasala
        value: '{{ now() }}'
  - id: fimabertura
    alias: Parou de abrir Persiana Sala
    trigger:
    - platform: state
      entity_id: binary_sensor.rele_1s
      to: 'off'
    condition:
    - condition: state
      entity_id: 'input_boolean.alterarslidersala'
      state: 'on'
    action:
    - service: input_number.set_value
      data_template:
        entity_id: input_number.aberturapersianasalaold
        value: >-
          {% if (states.input_number.aberturapersianasala.state)|int + ((as_timestamp(now()) - (as_timestamp(states.input_text.inicioaberturasala.state))|float|round(2))*100/(states.input_text.tempodeaberturasala.state|int))|int > 96 %}
            100
          {% else %}
            {{ (states.input_number.aberturapersianasala.state)|int + ((as_timestamp(now()) - (as_timestamp(states.input_text.inicioaberturasala.state))|float|round(2))*100/(states.input_text.tempodeaberturasala.state|int))|int }}
          {% endif %}
    - service: input_number.set_value
      data_template:
        entity_id: input_number.aberturapersianasala
        value: '{{ states.input_number.aberturapersianasalaold.state }}'

  - id: aberturapeloslider
    alias: Abertura pelo slider Persiana Sala
    trigger:
      platform: state
      entity_id: input_number.aberturapersianasala
    condition:
    - condition: template
      value_template: '{{ states.input_number.aberturapersianasala.state|int > states.input_number.aberturapersianasalaold.state|int }}'
    action:
    - service: input_boolean.turn_off
      data:
        entity_id: input_boolean.alterarslidersala
    - service: mqtt.publish
      data:
        topic: 'cmnd/wemosd1mini/Backlog'
        payload_template: "POWER1 ON; delay {% if is_state('input_number.aberturapersianasala', '100.0') %} {{ (((states.input_number.aberturapersianasala.state|int - states.input_number.aberturapersianasalaold.state|int)*(states.input_text.tempodeaberturasala.state|float)/100)|round(1)*10)|round(0) + 20 }} {% else %}
{{ (((states.input_number.aberturapersianasala.state|int - states.input_number.aberturapersianasalaold.state|int)*(states.input_text.tempodeaberturasala.state|float)/100)|round(1)*10)|round(0) }} {% endif %}; POWER1 OFF"
    - delay:
        milliseconds: 800
    - wait_template: "{{ is_state('binary_sensor.rele_1s', 'off') }}"
    - service: input_boolean.turn_on
      data:
        entity_id: input_boolean.alterarslidersala
    - service: input_number.set_value
      data_template:
        entity_id: input_number.aberturapersianasalaold
        value: '{{ states.input_number.aberturapersianasala.state }}'
  - id: fechopeloslider
    alias: Fecho pelo slider Persiana Sala
    trigger:
      platform: state
      entity_id: input_number.aberturapersianasala
    condition:
    - condition: template
      value_template: '{{ states.input_number.aberturapersianasala.state|int < states.input_number.aberturapersianasalaold.state|int }}'
    action:
    - service: input_boolean.turn_off
      data:
        entity_id: input_boolean.alterarslidersala
    - service: mqtt.publish
      data:
        topic: 'cmnd/wemosd1mini/Backlog'
        payload_template: "POWER2 ON; delay {% if is_state('input_number.aberturapersianasala', '0.0') %} {{ (((states.input_number.aberturapersianasalaold.state|int - states.input_number.aberturapersianasala.state|int)*(states.input_text.tempodefechosala.state|float)/100)|round(1)*10)|round(0) + 20 }} {% else %}
{{ (((states.input_number.aberturapersianasalaold.state|int - states.input_number.aberturapersianasala.state|int)*(states.input_text.tempodefechosala.state|float)/100)|round(1)*10)|round(0) }} {% endif %}; POWER2 OFF"
    - delay:
        milliseconds: 800
    - wait_template: "{{ is_state('binary_sensor.rele_2s', 'off') }}"
    - service: input_boolean.turn_on
      data:
        entity_id: input_boolean.alterarslidersala
    - service: input_number.set_value
      data_template:
        entity_id: input_number.aberturapersianasalaold
        value: '{{ states.input_number.aberturapersianasala.state }}'
        
  - id: Sensorsala    
    initial_state: true
    trigger:
      platform: state
      entity_id: binary_sensor.Sensor_Sala
      to: 'on'
      for:
        seconds: 5 
    action:
      service: mqtt.publish
      data:
        topic: tele/bridge/RESULT
        payload: D3D49Eoff
        retain: 'true'
               
        
switch:
#Tomada
  - platform: mqtt
    name: "Tomada"
    friendly_name: "Tomada Sala"
    icon: mdi:power-socket-eu
    state_topic: "stat/Tomada/POWER"
    command_topic: "cmnd/Tomada/POWER"
    availability_topic: "tele/Tomada/LWT"
    payload_available: "Online"
    payload_not_available: "Offline" 
    qos: 1
    payload_on: "ON"
    payload_off: "OFF"
    retain: true
    
  - platform: mqtt
    name: "Tomada2"
    friendly_name: "Tomada Sala2"
    icon: mdi:power-socket-eu
    state_topic: "stat/sensorext/POWER"
    command_topic: "cmnd/sensorext/POWER"
    availability_topic: "tele/sensorext/LWT"
    payload_available: "Online"
    payload_not_available: "Offline" 
    qos: 1
    payload_on: "ON"
    payload_off: "OFF"
    retain: true
    
sensor:
  
  - platform: mqtt
    name: "Temperatura Sala"
    state_topic: "tele/sensorext/SENSOR"
    value_template: "{{ value_json['SI7021'].Temperature }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: "Humidade Sala"
    icon: mdi:water-percent
    state_topic: "tele/sensorext/SENSOR"
    value_template: "{{ value_json['SI7021'].Humidity }}"
    unit_of_measurement: "%"

Para desligares o sensor o melhor era um input_boolean que sirva depois de condição na automação.

Agora em relação à questão de estar sempre a dizer Limpo (tradução literal de Clear, em inglês) tem quase de certeza a ver com os payloads. Mas como pouco RF usei talvez o @RodolfoVieira te possa ajudar mais que eu.

@miruim fiquei sem perceber o que queres fazer quando o movimento é detectado, o que tencionas fazer? na tua automação não refere que acontecimento queres a não ser a informação do estado do PIR.

bom, para já queria apenas que me informasse se liga ou não e apenas me indica “limpo” e não sai daí.
Queria que quando detecta-se me desse um sinal, o que não acontece. Se clicar em cima diz que está assim naquele estado há uma hora

O que podes fazer é:

Primeiro apagas a automação que fizeste.

Depois dentro do ficheiro package colocas:

sensor:
        
  - platform: mqtt
    state_topic: 'tele/bridge/RESULT'
    name: pir
    expire_after: 1



        
binary_sensor:


  - platform: template
    sensors:
      pir:
        value_template: '{{ is_state("sensor.pir", "D3D49E") }}'
        delay_off: '00:01:00'
        device_class: motion

Depois dentro do teu grupo chamas o:

- binary_sensor.pir

exprimenta sff

@RodolfoVieira, vou experimentar

Continua com a frase “limpo” e não faz mais nada!

O que me aparece no log do pir cada vez que movimento é isto

23:51:33 MQT: tele/Bridge/RESULT = {"RfReceived":{"Sync":12540,"Low":420,"High":1220,"Data":"D3D49E","RfKey":"None"}}

Exprimenta assim:

sensor:
        
  - platform: mqtt
    state_topic: 'tele/bridge/RESULT'
    value_template: '{{value_json.RfReceived.Data}}'
    name: pir
    expire_after: 1



        
binary_sensor:


  - platform: template
    sensors:
      pir:
        value_template: '{{ is_state("sensor.pir", "D3D49E") }}'
        delay_off: '00:01:00'
        device_class: motion

E adiciona o - binary_sensor.pir ao teu grupo e diz o que aparece nele, apos passares a mão no sensor, e o que diz nele passado 1 minuto.

nada… Não aparece nada… Apenas um traço

manda-me la o ficheiro que criaste dentro do package conforme eu te disse. cola aqui

eu tenho tudo dentro do ficheiro sala.yaml

group:

  sala:
    view: yes
    name: sala
    entities:
      - group.salagrupo

  salagrupo:
    control: hidden
    name: Sala
    entities:
      - input_number.aberturapersianasala
      - cover.persianasala
      - binary_sensor.rele_1s
      - binary_sensor.rele_2s
      - switch.tomada
      - switch.sensorext
      - switch.tomada2
      - sensor.sensorext
      - sensor.Temperatura_Sala
      - sensor.Humidade_Sala
      - binary_sensor.pir
      
input_text:
#Alterar "inicial" para o valor em segundos que o estore demora a abrir desde a posição fechada e vice-versa nos input_text tempodeabertura e tempodefecho.
  tempodeaberturasala:
    name: tempo de maximo de abertura
    initial: 28
  tempodefechosala:
    name: tempo de maximo de fecho
    initial: 28
  iniciofechosala:
    name: Inicio Fecho Sala
  inicioaberturasala:
    name: Inicio Abertura Sala

cover:
  - platform: template
    covers:
      persianasala:
        friendly_name: "Persiana Sala"
        position_template: '{{ states.input_number.aberturapersianasala.state }}'
        open_cover:
          - service: mqtt.publish
            data:
              topic: 'cmnd/wemosd1mini/POWER1'
              payload: 'ON'
        close_cover:
          - service: mqtt.publish
            data:
              topic: 'cmnd/wemosd1mini/POWER2'
              payload: 'ON'
        stop_cover:
          - service: mqtt.publish
            data:
              topic: 'cmnd/wemosd1mini/Backlog'
              payload: 'POWER1 OFF; POWER2 OFF'

binary_sensor:
  - platform: mqtt
    name: rele 1s
    state_topic: "stat/wemosd1mini/POWER1"
    payload_on: "ON"
    payload_off: "OFF"
  - platform: mqtt
    name: rele 2s
    state_topic: "stat/wemosd1mini/POWER2"
    payload_on: "ON"
    payload_off: "OFF"
#  - platform: mqtt
#    name: Sensor Sala
#    payload_on: "D3D49E" 
#    payload_off: "D3D49Eoff"  
#    device_class: motion
#    state_topic: "tele/bridge/RESULT" 
#    value_template: '{{ value_json.RfReceived.Data }}' 
#    optimistic: false
#    qos: 1
#    #retain: true

  - platform: template
    sensors:
      pir:
        value_template: '{{ is_state("sensor.pir", "D3D49E") }}'
        delay_off: '00:01:00'
        device_class: motion

input_boolean:
  alterarslidersala:
    name: Alterar o Slider Sala
    initial: on

input_number:
  aberturapersianasala:
    name: Abertura
    min: 0
    max: 100
    step: 1
    unit_of_measurement: '%'
    icon: mdi:blinds
  aberturapersianasalaold:
    name: valor antigo de abertura
    min: 0
    max: 100
    step: 1
    unit_of_measurement: '%'

automation:
  - id: iniciofecho
    alias: Começou a fechar Persiana Sala
    trigger:
    - platform: state
      entity_id: binary_sensor.rele_2s
      to: 'on'
    action:
      service: input_text.set_value
      data_template:
        entity_id: input_text.iniciofechosala
        value: '{{ now() }}'
  - id: fimfecho
    alias: Parou de fechar Persina Sala
    trigger:
    - platform: state
      entity_id: binary_sensor.rele_2s
      to: 'off'
    condition:
    - condition: state
      entity_id: input_boolean.alterarslidersala
      state: 'on'
    action:
    - service: input_number.set_value
      data_template:
        entity_id: input_number.aberturapersianasalaold
        value: >-
          {% if (states.input_number.aberturapersianasala.state)|int - ((as_timestamp(now()) - (as_timestamp(states.input_text.iniciofechosala.state))|float|round(2))*100/(states.input_text.tempodefechosala.state|int))|int < 4 %}
            0
          {% else %}
            {{ (states.input_number.aberturapersianasala.state)|int - ((as_timestamp(now()) - (as_timestamp(states.input_text.iniciofechosala.state))|float|round(2))*100/(states.input_text.tempodefechosala.state|int))|int }}
          {% endif %}
    - service: input_number.set_value
      data_template:
        entity_id: input_number.aberturapersianasala
        value: '{{ states.input_number.aberturapersianasalaold.state }}'
  - id: inicioabertura
    alias: Começou a abrir Persiana Sala
    trigger:
    - platform: state
      entity_id: binary_sensor.rele_1s
      to: 'on'
    action:
      service: input_text.set_value
      data_template:
        entity_id: input_text.inicioaberturasala
        value: '{{ now() }}'
  - id: fimabertura
    alias: Parou de abrir Persiana Sala
    trigger:
    - platform: state
      entity_id: binary_sensor.rele_1s
      to: 'off'
    condition:
    - condition: state
      entity_id: 'input_boolean.alterarslidersala'
      state: 'on'
    action:
    - service: input_number.set_value
      data_template:
        entity_id: input_number.aberturapersianasalaold
        value: >-
          {% if (states.input_number.aberturapersianasala.state)|int + ((as_timestamp(now()) - (as_timestamp(states.input_text.inicioaberturasala.state))|float|round(2))*100/(states.input_text.tempodeaberturasala.state|int))|int > 96 %}
            100
          {% else %}
            {{ (states.input_number.aberturapersianasala.state)|int + ((as_timestamp(now()) - (as_timestamp(states.input_text.inicioaberturasala.state))|float|round(2))*100/(states.input_text.tempodeaberturasala.state|int))|int }}
          {% endif %}
    - service: input_number.set_value
      data_template:
        entity_id: input_number.aberturapersianasala
        value: '{{ states.input_number.aberturapersianasalaold.state }}'

  - id: aberturapeloslider
    alias: Abertura pelo slider Persiana Sala
    trigger:
      platform: state
      entity_id: input_number.aberturapersianasala
    condition:
    - condition: template
      value_template: '{{ states.input_number.aberturapersianasala.state|int > states.input_number.aberturapersianasalaold.state|int }}'
    action:
    - service: input_boolean.turn_off
      data:
        entity_id: input_boolean.alterarslidersala
    - service: mqtt.publish
      data:
        topic: 'cmnd/wemosd1mini/Backlog'
        payload_template: "POWER1 ON; delay {% if is_state('input_number.aberturapersianasala', '100.0') %} {{ (((states.input_number.aberturapersianasala.state|int - states.input_number.aberturapersianasalaold.state|int)*(states.input_text.tempodeaberturasala.state|float)/100)|round(1)*10)|round(0) + 20 }} {% else %}
{{ (((states.input_number.aberturapersianasala.state|int - states.input_number.aberturapersianasalaold.state|int)*(states.input_text.tempodeaberturasala.state|float)/100)|round(1)*10)|round(0) }} {% endif %}; POWER1 OFF"
    - delay:
        milliseconds: 800
    - wait_template: "{{ is_state('binary_sensor.rele_1s', 'off') }}"
    - service: input_boolean.turn_on
      data:
        entity_id: input_boolean.alterarslidersala
    - service: input_number.set_value
      data_template:
        entity_id: input_number.aberturapersianasalaold
        value: '{{ states.input_number.aberturapersianasala.state }}'
  - id: fechopeloslider
    alias: Fecho pelo slider Persiana Sala
    trigger:
      platform: state
      entity_id: input_number.aberturapersianasala
    condition:
    - condition: template
      value_template: '{{ states.input_number.aberturapersianasala.state|int < states.input_number.aberturapersianasalaold.state|int }}'
    action:
    - service: input_boolean.turn_off
      data:
        entity_id: input_boolean.alterarslidersala
    - service: mqtt.publish
      data:
        topic: 'cmnd/wemosd1mini/Backlog'
        payload_template: "POWER2 ON; delay {% if is_state('input_number.aberturapersianasala', '0.0') %} {{ (((states.input_number.aberturapersianasalaold.state|int - states.input_number.aberturapersianasala.state|int)*(states.input_text.tempodefechosala.state|float)/100)|round(1)*10)|round(0) + 20 }} {% else %}
{{ (((states.input_number.aberturapersianasalaold.state|int - states.input_number.aberturapersianasala.state|int)*(states.input_text.tempodefechosala.state|float)/100)|round(1)*10)|round(0) }} {% endif %}; POWER2 OFF"
    - delay:
        milliseconds: 800
    - wait_template: "{{ is_state('binary_sensor.rele_2s', 'off') }}"
    - service: input_boolean.turn_on
      data:
        entity_id: input_boolean.alterarslidersala
    - service: input_number.set_value
      data_template:
        entity_id: input_number.aberturapersianasalaold
        value: '{{ states.input_number.aberturapersianasala.state }}'
        
#  - id: Sensorsala    
 #   initial_state: true
  #  trigger:
   #   platform: state
    #  entity_id: binary_sensor.Sensor_Sala
     # to: 'on'
#      for:
 ##  action:
   #   service: mqtt.publish
    #  data:
     #   topic: tele/bridge/RESULT
      #  payload: D3D49Eoff
       # retain: 'true'
               
        
switch:
#Tomada
  - platform: mqtt
    name: "Tomada"
    friendly_name: "Tomada Sala"
    icon: mdi:power-socket-eu
    state_topic: "stat/Tomada/POWER"
    command_topic: "cmnd/Tomada/POWER"
    availability_topic: "tele/Tomada/LWT"
    payload_available: "Online"
    payload_not_available: "Offline" 
    qos: 1
    payload_on: "ON"
    payload_off: "OFF"
    retain: true
    
  - platform: mqtt
    name: "Tomada2"
    friendly_name: "Tomada Sala2"
    icon: mdi:power-socket-eu
    state_topic: "stat/sensorext/POWER"
    command_topic: "cmnd/sensorext/POWER"
    availability_topic: "tele/sensorext/LWT"
    payload_available: "Online"
    payload_not_available: "Offline" 
    qos: 1
    payload_on: "ON"
    payload_off: "OFF"
    retain: true
    
sensor:
  
  - platform: mqtt
    name: "Temperatura Sala"
    state_topic: "tele/sensorext/SENSOR"
    value_template: "{{ value_json['SI7021'].Temperature }}"
    unit_of_measurement: "°C"
  - platform: mqtt
    name: "Humidade Sala"
    icon: mdi:water-percent
    state_topic: "tele/sensorext/SENSOR"
    value_template: "{{ value_json['SI7021'].Humidity }}"
    unit_of_measurement: "%" 
    
  - platform: mqtt
    state_topic: 'tele/bridge/RESULT'
    value_template: '{{value_json.RfReceived.Data}}'
    name: pir
    expire_after: 1

Mostra -me aqui o que aparece em frente ao -binary_sensor.pir

quando clicas aqui nas <>
image

aparece off e depois tem escrito

friendly_name: pir
device_class: motion

Ok aparece off, e quando fazes um movimento em frente ao sensor o que aparece?

@miruim E manda-me um print screen deste teu grupo sff

salagrupo:
    control: hidden
    name: Sala
    entities:
      - input_number.aberturapersianasala
      - cover.persianasala
      - binary_sensor.rele_1s
      - binary_sensor.rele_2s
      - switch.tomada
      - switch.sensorext
      - switch.tomada2
      - sensor.sensorext
      - sensor.Temperatura_Sala
      - sensor.Humidade_Sala
      - binary_sensor.pir

Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade