Ligar e desligar uma tomada pelo nível da bateria


(Márcio Santos) #1

Olá amigos, coloquei um sonoff dentro de uma tomada onde fica um Ipad com meu Home Assistant, e para não estregar a bateria queria que ligasse e desligasse baseado na carga da bateria que é mostrada pelo aplicativo do Home Assistant e Google Maps
peguei este códio baseado em algumas coisas que tenho mais não funciona.

      - platform: template
        sensors:
          display_kitchen_tablet_battery:
            value_template: '{{ states.bateria_marcio.attributes.battery_level }}'
            friendly_name: 'Bateria Iphone Márcio'
            unit_of_measurement: "%" 
            device_class: battery
    alias: Tomada Márcio on
    trigger:
    - below: '60'
      entity_id: sensor.bateria_marcio
      platform: numeric_state
    condition: []
    action:
    - data:
        entity_id: switch.sonoff_100039412b # barzinho   #switch.sonoff_1000494b4b # Tomada Márcio
      service: switch.turn_on
    alias: Tomada Márcio off
    trigger:
    - above: '99'
      entity_id: sensor.bateria_marcio
      platform: numeric_state
    condition: []
    action:
    - data:
        entity_id: switch.sonoff_100039412b # barzinho   #switch.sonoff_1000494b4b # Tomada Márcio
      service: switch.turn_off

(Hugo Encarnacao) #2

Pelo o código postado nao poderá funcionar, nao se consegue perceber o que ta ai feito,isso é como tens isso feito ? Ou falta ai sensor: no template e automation: no caso de estares a usar packages na automação
e também a indentation do código nao está alinhada, o yaml é esquisito queixa-se de tudo


(Márcio Santos) #3

Entendi, vou tentar corrigir aqui, você teria alguma coisa parecida que eu possa usar?


(Hugo Encarnacao) #4

nao tenho nada aqui parecido mas olhando ao que tens devera ser isto

automation:

  - alias: Tomada Márcio on
    trigger:
      platform: numeric_state
      entity_id: sensor.bateria_marcio
      below: 60
    action:
      service: switch.turn_on
      entity_id: switch.sonoff_100039412b
      
      
  - alias: Tomada Márcio off
    trigger:
      platform: numeric_state
      entity_id: sensor.bateria_marcio
      above: 99
    action:
      service: switch.turn_off
      entity_id: switch.sonoff_100039412b

confirma so depois o nome do sensor que te esta a dar os valores da bateria e depois muda
sensor.bateria_marcio caso nao seja esse o nome do sensor…

no turn off estavas a usar below: 99 e devera ser above: 99 ou seija acima de 99 desliga o sonoff
sugestão tenta sempre organizar código de uma maneira que seja fácil de interpretar, evitando assim confusoes…


(Bruno Melo) #5

Deixei aqui um post com essa configuração há tempos. Ligar sonoff s20 com estado da bateria


(Márcio Santos) #6

Este funcionou , ficou ótimo… Muito obrigado…


(Márcio Santos) #7

Vi seu códio e funcionou perfeitamente… testei o do @Encarnacao e em seguida coloquei o seu que também ficou perfeito!!! Muito obrigado.


(Márcio Santos) #8

Eu aproveitei e acrescentei aviso no Telegrama e GH.
tentei colocar para ativar só quando eu estiver em casa e não consegui.
Segue o códio caso alguém precise.

      # ação 01 - Liga o carregador ao chegar em "20"
  - alias: Tomada cabeceira Márcio ligar
    initial_state: true
    trigger:
      platform: numeric_state
      entity_id: sensor.iphone_marcio_battery_level_3
      below: 20
    action:
      - service: switch.turn_on
        entity_id: switch.sonoff_1000494b4b # Tomada cabeceira Márcio
      # ação 02 - Desiga o carregador ao chegar em "99"  
  - alias: Tomada cabeceira Márcio desligar
    initial_state: true
    trigger:
      platform: numeric_state
      entity_id: sensor.iphone_marcio_battery_level_3
      above: 99
    action:
      - service: switch.turn_off
        entity_id: 
          - switch.sonoff_1000494b4b # Tomada cabeceira Márcio  
      # ação 03 - envia mensagem ao telegram
      - service: notify.telegram
        data_template:
          message: >
              Olá Márcio. Seu carregador foi desliagado às {{ now ().hour }} horas e {{ now ().minute }} minutos..
      # ação 04 - envia áudio ao GH   
      - service: tts.google_translate_say
        entity_id: media_player.googlehome5925
        data_template:
          message: 'O celular, está carregado. Já desliguei a tomada da cabeceira.'
          language: 'pt-br'