MadBlinds v2 - Como Controlares os estores eléctricos e "estimares" a sua posição


(Nuno Neves) #116

A configuração que puseste aqui é do tasmota. Nunca daria erro no HA… Se dá erro no HA é por outro motivo qq. Tens que trocar o janela_garagem tb no package usando o substituir tudo…
O full topic não vale a pena mudar relativamente ao original… Mais vale pores como estava %prefix%/%topic%/


(Nuno Neves) #117

Puseste switchmode1 7 e switchmode2 7?
Coloca aqui o resultado de status 0


(Carlos Almeida) #118

É exatamente isso que faço, e quando no HA clico em verificar configuração, aparece isto:

Invalid config for [input_number]: [abertura_estore-alice] is an invalid option for [input_number]. Check: input_number->input_number->abertura_estore-alice. (See ?, line ?). Please check the docs at https://home-assistant.io/components/input_number/ Invalid config for [input_text]: [tempodeabertura_estore-alice] is an invalid option for [input_text]. Check: input_text->input_text->tempodeabertura_estore-alice. (See ?, line ?). Please check the docs at https://home-assistant.io/components/input_text/ Invalid config for [cover]: required key not provided @ data[‘platform’]. Got None. (See ?, line ?). Please check the docs at https://home-assistant.io/components/cover/ Invalid config for [cover.template]: [estore-alice] is an invalid option for [cover.template]. Check: cover.template->covers->estore-alice. (See ?, line ?). Please check the docs at https://home-assistant.io/components/cover.template/ Invalid config for [input_boolean]: [alterarslider_estore-alice] is an invalid option for [input_boolean]. Check: input_boolean->input_boolean->alterarslider_estore-alice. (See ?, line ?). Please check the docs at https://home-assistant.io/components/input_boolean/ Invalid config for [automation]: Entity ID binary_sensor.rele_2_estore-alice is an invalid entity id for dictionary value @ data[‘trigger’][0][‘entity_id’]. Got None. (See /config/configuration.yaml, line 241). Please check the docs at https://home-assistant.io/components/automation/ Invalid config for [automation]: Entity ID binary_sensor.rele_2_estore-alice is an invalid entity id for dictionary value @ data[‘trigger’][0][‘entity_id’]. Got None Entity ID input_boolean.alterarslider_estore-alice is an invalid entity id for dictionary value @ data[‘condition’][0][‘entity_id’]. Got None extra keys not allowed @ data[‘condition’][0][‘state’]. Got None not a valid value for dictionary value @ data[‘condition’][0][‘condition’]. Got None. (See /config/configuration.yaml, line 241). Please check the docs at https://home-assistant.io/components/automation/ Invalid config for [automation]: Entity ID binary_sensor.rele_1_estore-alice is an invalid entity id for dictionary value @ data[‘trigger’][0][‘entity_id’]. Got None. (See /config/configuration.yaml, line 241). Please check the docs at https://home-assistant.io/components/automation/ Invalid config for [automation]: Entity ID binary_sensor.rele_1_estore-alice is an invalid entity id for dictionary value @ data[‘trigger’][0][‘entity_id’]. Got None Entity ID input_boolean.alterarslider_estore-alice is an invalid entity id for dictionary value @ data[‘condition’][0][‘entity_id’]. Got None extra keys not allowed @ data[‘condition’][0][‘state’]. Got None not a valid value for dictionary value @ data[‘condition’][0][‘condition’]. Got None. (See /config/configuration.yaml, line 241). Please check the docs at https://home-assistant.io/components/automation/ Invalid config for [automation]: Entity ID input_number.abertura_estore-alice is an invalid entity id for dictionary value @ data[‘trigger’][0][‘entity_id’]. Got None. (See /config/configuration.yaml, line 241). Please check the docs at https://home-assistant.io/components/automation/ Invalid config for [automation]: Entity ID input_number.abertura_estore-alice is an invalid entity id for dictionary value @ data[‘trigger’][0][‘entity_id’]. Got None. (See /config/configuration.yaml, line 241). Please check the docs at https://home-assistant.io/components/automation/


(Bruno Melo) #119

@Maddoctor. aqui está o status 0

17:38:39 CMD: status 0
17:38:39 MQT: stat/estore_da_sala/STATUS = {"Status":{"Module":39,"FriendlyName":["Sala_subir","Sala_descer"],"Topic":"estore_da_sala","ButtonTopic":"0","Power":0,"PowerOnState":0,"LedState":1,"SaveData":1,"SaveState":1,"SwitchTopic":"0","SwitchMode":[7,7,0,0,0,0,0,0],"ButtonRetain":0,"SwitchRetain":0,"SensorRetain":0,"PowerRetain":0}}
17:38:39 MQT: stat/estore_da_sala/STATUS1 = {"StatusPRM":{"Baudrate":115200,"GroupTopic":"sonoffs","OtaUrl":"http://thehackbox.org/tasmota/release/sonoff.bin","RestartReason":"Power on","Uptime":"0T00:05:11","StartupUTC":"2019-01-12T16:33:28","Sleep":0,"BootCount":24,"SaveCount":233,"SaveAddress":"FB000"}}
17:38:39 MQT: stat/estore_da_sala/STATUS2 = {"StatusFWR":{"Version":"6.3.0","BuildDateTime":"2018-10-30T17:33:53","Boot":31,"Core":"2_3_0","SDK":"1.5.3(aec24ac9)"}}
17:38:39 MQT: stat/estore_da_sala/STATUS3 = {"StatusLOG":{"SerialLog":0,"WebLog":2,"SysLog":0,"LogHost":"","LogPort":514,"SSId":["Vaitentando",""],"TelePeriod":300,"SetOption":["0000C009","55818000","00000000"]}}
17:38:39 MQT: stat/estore_da_sala/STATUS4 = {"StatusMEM":{"ProgramSize":489,"Free":512,"Heap":13,"ProgramFlashSize":1024,"FlashSize":1024,"FlashMode":3,"Features":["00000809","0FDAE794","000183A0","23B617CE","00003BC0"]}}
17:38:39 MQT: stat/estore_da_sala/STATUS5 = {"StatusNET":{"Hostname":"persianasala","IPAddress":"192.168.1.86","Gateway":"192.168.1.254","Subnetmask":"255.255.252.0","DNSServer":"192.168.1.254","Mac":"60:01:94:AC:8C:3D","Webserver":2,"WifiConfig":5}}
17:38:39 MQT: stat/estore_da_sala/STATUS6 = {"StatusMQT":{"MqttHost":"192.168.1.250","MqttPort":1883,"MqttClientMask":"DVES_%06X","MqttClient":"DVES_AC8C3D","MqttUser":"maxcalavera","MqttType":1,"MAX_PACKET_SIZE":1000,"KEEPALIVE":15}}
17:38:39 MQT: stat/estore_da_sala/STATUS7 = {"StatusTIM":{"UTC":"Sat Jan 12 16:38:39 2019","Local":"Sat Jan 12 17:38:39 2019","StartDST":"Sun Mar 31 02:00:00 2019","EndDST":"Sun Oct 27 03:00:00 2019","Timezone":1,"Sunrise":"08:40","Sunset":"17:16"}}
17:38:39 MQT: stat/estore_da_sala/STATUS10 = {"StatusSNS":{"Time":"2019-01-12T17:38:39","Switch1":"ON","Switch2":"ON"}}
17:38:39 MQT: stat/estore_da_sala/STATUS11 = {"StatusSTS":{"Time":"2019-01-12T17:38:39","Uptime":"0T00:05:11","Vcc":3.160,"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"Vaitentando","BSSId":"2C:FD:A1:69:4C:20","Channel":11,"RSSI":100}}}
17:38:47 MQT: stat/estore_da_sala/STATUS = {"Status":{"Module":39,"FriendlyName":["Sala_subir","Sala_descer"],"Topic":"estore_da_sala","ButtonTopic":"0","Power":0,"PowerOnState":0,"LedState":1,"SaveData":1,"SaveState":1,"SwitchTopic":"0","SwitchMode":[7,7,0,0,0,0,0,0],"ButtonRetain":0,"SwitchRetain":0,"SensorRetain":0,"PowerRetain":0}}
17:38:47 MQT: stat/estore_da_sala/STATUS1 = {"StatusPRM":{"Baudrate":115200,"GroupTopic":"sonoffs","OtaUrl":"http://thehackbox.org/tasmota/release/sonoff.bin","RestartReason":"Power on","Uptime":"0T00:05:19","StartupUTC":"2019-01-12T16:33:28","Sleep":0,"BootCount":24,"SaveCount":233,"SaveAddress":"FB000"}}
17:38:47 MQT: stat/estore_da_sala/STATUS2 = {"StatusFWR":{"Version":"6.3.0","BuildDateTime":"2018-10-30T17:33:53","Boot":31,"Core":"2_3_0","SDK":"1.5.3(aec24ac9)"}}
17:38:47 MQT: stat/estore_da_sala/STATUS3 = {"StatusLOG":{"SerialLog":0,"WebLog":2,"SysLog":0,"LogHost":"","LogPort":514,"SSId":["Vaitentando",""],"TelePeriod":300,"SetOption":["0000C009","55818000","00000000"]}}
17:38:47 MQT: stat/estore_da_sala/STATUS4 = {"StatusMEM":{"ProgramSize":489,"Free":512,"Heap":13,"ProgramFlashSize":1024,"FlashSize":1024,"FlashMode":3,"Features":["00000809","0FDAE794","000183A0","23B617CE","00003BC0"]}}
17:38:47 MQT: stat/estore_da_sala/STATUS5 = {"StatusNET":{"Hostname":"persianasala","IPAddress":"192.168.1.86","Gateway":"192.168.1.254","Subnetmask":"255.255.252.0","DNSServer":"192.168.1.254","Mac":"60:01:94:AC:8C:3D","Webserver":2,"WifiConfig":5}}
17:38:47 MQT: stat/estore_da_sala/STATUS6 = {"StatusMQT":{"MqttHost":"192.168.1.250","MqttPort":1883,"MqttClientMask":"DVES_%06X","MqttClient":"DVES_AC8C3D","MqttUser":"maxcalavera","MqttType":1,"MAX_PACKET_SIZE":1000,"KEEPALIVE":15}}
17:38:47 MQT: stat/estore_da_sala/STATUS7 = {"StatusTIM":{"UTC":"Sat Jan 12 16:38:47 2019","Local":"Sat Jan 12 17:38:47 2019","StartDST":"Sun Mar 31 02:00:00 2019","EndDST":"Sun Oct 27 03:00:00 2019","Timezone":1,"Sunrise":"08:40","Sunset":"17:16"}}
17:38:47 MQT: stat/estore_da_sala/STATUS10 = {"StatusSNS":{"Time":"2019-01-12T17:38:47","Switch1":"ON","Switch2":"ON"}}
17:38:47 MQT: stat/estore_da_sala/STATUS11 = {"StatusSTS":{"Time":"2019-01-12T17:38:47","Uptime":"0T00:05:19","Vcc":3.160,"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"Vaitentando","BSSId":"2C:FD:A1:69:4C:20","Channel":11,"RSSI":100}}}
17:38:53 MQT: tele/estore_da_sala/STATE = {"Time":"2019-01-12T17:38:53","Uptime":"0T00:05:25","Vcc":3.160,"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"Vaitentando","BSSId":"2C:FD:A1:69:4C:20","Channel":11,"RSSI":100}}
17:38:53 MQT: tele/estore_da_sala/SENSOR = {"Time":"2019-01-12T17:38:53","Switch1":"ON","Switch2":"ON"}
17:38:55 MQT: stat/estore_da_sala/STATUS = {"Status":{"Module":39,"FriendlyName":["Sala_subir","Sala_descer"],"Topic":"estore_da_sala","ButtonTopic":"0","Power":0,"PowerOnState":0,"LedState":1,"SaveData":1,"SaveState":1,"SwitchTopic":"0","SwitchMode":[7,7,0,0,0,0,0,0],"ButtonRetain":0,"SwitchRetain":0,"SensorRetain":0,"PowerRetain":0}}
17:38:55 MQT: stat/estore_da_sala/STATUS1 = {"StatusPRM":{"Baudrate":115200,"GroupTopic":"sonoffs","OtaUrl":"http://thehackbox.org/tasmota/release/sonoff.bin","RestartReason":"Power on","Uptime":"0T00:05:27","StartupUTC":"2019-01-12T16:33:28","Sleep":0,"BootCount":24,"SaveCount":233,"SaveAddress":"FB000"}}
17:38:55 MQT: stat/estore_da_sala/STATUS2 = {"StatusFWR":{"Version":"6.3.0","BuildDateTime":"2018-10-30T17:33:53","Boot":31,"Core":"2_3_0","SDK":"1.5.3(aec24ac9)"}}
17:38:55 MQT: stat/estore_da_sala/STATUS3 = {"StatusLOG":{"SerialLog":0,"WebLog":2,"SysLog":0,"LogHost":"","LogPort":514,"SSId":["Vaitentando",""],"TelePeriod":300,"SetOption":["0000C009","55818000","00000000"]}}
17:38:55 MQT: stat/estore_da_sala/STATUS4 = {"StatusMEM":{"ProgramSize":489,"Free":512,"Heap":13,"ProgramFlashSize":1024,"FlashSize":1024,"FlashMode":3,"Features":["00000809","0FDAE794","000183A0","23B617CE","00003BC0"]}}
17:38:55 MQT: stat/estore_da_sala/STATUS5 = {"StatusNET":{"Hostname":"persianasala","IPAddress":"192.168.1.86","Gateway":"192.168.1.254","Subnetmask":"255.255.252.0","DNSServer":"192.168.1.254","Mac":"60:01:94:AC:8C:3D","Webserver":2,"WifiConfig":5}}
17:38:55 MQT: stat/estore_da_sala/STATUS6 = {"StatusMQT":{"MqttHost":"192.168.1.250","MqttPort":1883,"MqttClientMask":"DVES_%06X","MqttClient":"DVES_AC8C3D","MqttUser":"maxcalavera","MqttType":1,"MAX_PACKET_SIZE":1000,"KEEPALIVE":15}}
17:38:55 MQT: stat/estore_da_sala/STATUS7 = {"StatusTIM":{"UTC":"Sat Jan 12 16:38:55 2019","Local":"Sat Jan 12 17:38:55 2019","StartDST":"Sun Mar 31 02:00:00 2019","EndDST":"Sun Oct 27 03:00:00 2019","Timezone":1,"Sunrise":"08:40","Sunset":"17:16"}}
17:38:55 MQT: stat/estore_da_sala/STATUS10 = {"StatusSNS":{"Time":"2019-01-12T17:38:55","Switch1":"ON","Switch2":"ON"}}
17:38:55 MQT: stat/estore_da_sala/STATUS11 = {"StatusSTS":{"Time":"2019-01-12T17:38:55","Uptime":"0T00:05:27","Vcc":3.160,"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"Vaitentando","BSSId":"2C:FD:A1:69:4C:20","Channel":11,"RSSI":100}}} 

Sim, configurei como switchmode1 7 e switchmode2 7.
Obrigado pela tua disponibilidade.


(Nuno Neves) #120

Não podes usar hífen no código! É uma regra “absoluta”… Troca por underscore…


(Nuno Neves) #121

O comportamento que descreves é de switchmode 3,salvo erro… Põe aí o module configuration
Os switch estão como on… Estranho… Ligaste os Interruptores entre gpio e gnd?


(Jorge Assunção) #122

Tal como disse o @Maddoctor não é possível utilizar o hífen nos nomes dos dispositivos, sensores, etc. tal como não devem ser utilizadas letras maiúsculas.


(Carlos Almeida) #123

Sou um nabo nisto…Obrigado. Tenho de alterar isso…quando chegar a casa trato disso e dou notícias.


(Tiago Marques) #124

@Calmeida
Imaginando que estás a usar um BHonofre com SSR de 2A, desaconselho vivamente que o ligues aos estores.

Se quiseres BHOnofre para estores tens de comprar a nova versão Rev5 com relés mecânicos de 5A. Não me lembro se o problema era estragar o onofre ou estragar o motor do estore, em qualquer dos casos eu não arriscava dado que são conhecidos alguns problemas.

Encomenda uns novos para os estores de 5A e usa esses para iluminação :slight_smile:


(Carlos Almeida) #125

@tmarquespt, eu tenho o rev5, comprei para testar com os estores. :wink:


(Bruno Melo) #126

@MadDoctor aqui fica uma imagem do module configuration. Tenho configurado o switchmode como 7.

https://1drv.ms/u/s!AhhTRQMupRdtg5UIQuRZVy7yc243RQ

Obrigado pela atenção.


(Nuno Neves) #127

Parece estar bem configurado, no entanto o interruptor aparece como ON… Estranho… Se calhar as ligações estão erradas no interruptor… Os fios do interruptor estão entre gpio e gnd ou gpio e 3.3?


(Carlos Almeida) #128

@Maddoctor, muito obrigado pelo código! já consegui meter a funcionar. Ainda tive mais 2 problemas, no cover o no facto de ter primeiro o topic e depois o prefix, e como não consegui alterar isso, alterei o código.
Está impecável! obrigado a todos pela ajuda! :wink:


(Bruno Melo) #129

@MadDoctor as ligações estão tal como no tutorial… Muito obrigado pelo teu apoio…

https://1drv.ms/u/s!AhhTRQMupRdtg5Uf9UDzv1D5-8AGgg


(Nuno Neves) #130

Experimenta antes switchmode 5… Deve funcionar…


(Bruno Melo) #131

@MadDoctor, obrigado pela dica, agora ficou a funcionar fixe. Muito obrigado pela tua paciência, atenção e compreensão… Forte abraço.


(Ricardo Ferreira) #132

Boa noite,

Venho mais uma vez pedir ajuda de experts.
Depois de mais uns dias com este projeto parado, e depois de arranjar uns quantos shelly 2, estou a tentar utilizar o código fornecido pelo Rodolfo num shelly2 com a firmware original.
Já tentei várias vezes flashar o shelly2 com tasmota mas não consegui, então desisti e tentei outra abordagem.
Então, tudo funciona devidamente à exceção do pulsetime e do interlock que não sei como “ativar” e de não conseguir fazer com que o slider faça ativar os reles.
O slider mexe quando ativo cada um dos reles nos botões do HA, mas se mexer o slider, nada acontece; quando chega a 100% ou o 0% também não faz parar os reles (é suposto isso acontecer?)
Segue o código para se tiverem tempo para analisar e me dar algumas dicas…

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.
  tempodeabertura_sala:
    name: tempo de maximo de abertura sala
    initial: 35
  tempodefecho_sala:
    name: tempo de maximo de fecho sala
    initial: 35
  iniciofecho_sala:
    name: iniciofecho sala
  inicioabertura_sala:
    name: inicioabertura sala

cover:
  - platform: template
    covers:
      sala:
        friendly_name: "sala"
        position_template: '{{ states.input_number.abertura_sala.state }}'
        open_cover:
          - service: mqtt.publish
            data:
              topic: 'shellies/shellyswitch-13503C/relay/0/command'
              payload: 'on'
        close_cover:
          - service: mqtt.publish
            data:
              topic: 'shellies/shellyswitch-13503C/relay/1/command'
              payload: 'on'
        stop_cover:
          - service: mqtt.publish
            data:
              topic: 'shellies/shellyswitch-13503C/relay/0/command'
              payload: 'off'
         - service: mqtt.publish
            data:
              topic: 'shellies/shellyswitch-13503C/relay/1/command'
              payload: 'off'

binary_sensor:
  - platform: mqtt
    name: rele_1_sala
    state_topic: "shellies/shellyswitch-13503C/relay/0"
    payload_on: "on"
    payload_off: "off"
  - platform: mqtt
    name: rele_2_sala
    state_topic: "shellies/shellyswitch-13503C/relay/1"
    payload_on: "on"
    payload_off: "off"

input_boolean:
  alterarslider_sala:
    name: Alterar o slider sala
    initial: on

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

automation:
  - id: iniciofecho_sala
    alias: começou a fechar sala
    initial_state: 'on'
    trigger:
    - platform: state
      entity_id: binary_sensor.rele_2_sala
      to: 'on'
    action:
      service: input_text.set_value
      data_template:
        entity_id: input_text.iniciofecho_sala
        value: '{{ now() }}'

  - id: fimfecho_sala
    alias: parou de fechar sala
    initial_state: 'on'
    trigger:
    - platform: state
      entity_id: binary_sensor.rele_2_sala
      to: 'off'
    condition:
    - condition: state
      entity_id: 'input_boolean.alterarslider_sala'
      state: 'on'
    action:
    - service: input_number.set_value
      data_template:
        entity_id: input_number.abertura_salaold
        value: >-
          {% if (states.input_number.abertura_sala.state)|int - ((as_timestamp(now()) - (as_timestamp(states.input_text.iniciofecho_sala.state))|float|round(2))*100/(states.input_text.tempodefecho_sala.state|int))|int < 4 %}
            0
          {% else %}
            {{ (states.input_number.abertura_sala.state)|int - ((as_timestamp(now()) - (as_timestamp(states.input_text.iniciofecho_sala.state))|float|round(2))*100/(states.input_text.tempodefecho_sala.state|int))|int }}
          {% endif %}
    - service: input_number.set_value
      data_template:
        entity_id: input_number.abertura_sala
        value: '{{ states.input_number.abertura_salaold.state }}'

  - id: inicioabertura_sala
    alias: começou a abrir sala
    initial_state: 'on'
    trigger:
    - platform: state
      entity_id: binary_sensor.rele_1_sala
      to: 'on'
    action:
      service: input_text.set_value
      data_template:
        entity_id: input_text.inicioabertura_sala
        value: '{{ now() }}'

  - id: fimabertura_sala
    alias: parou de abrir sala
    initial_state: 'on'
    trigger:
    - platform: state
      entity_id: binary_sensor.rele_1_sala
      to: 'off'
    condition:
    - condition: state
      entity_id: 'input_boolean.alterarslider_sala'
      state: 'on'
    action:
    - service: input_number.set_value
      data_template:
        entity_id: input_number.abertura_salaold
        value: >-
          {% if (states.input_number.abertura_sala.state)|int + ((as_timestamp(now()) - (as_timestamp(states.input_text.inicioabertura_sala.state))|float|round(2))*100/(states.input_text.tempodeabertura_sala.state|int))|int > 96 %}
            100
          {% else %}
            {{ (states.input_number.abertura_sala.state)|int + ((as_timestamp(now()) - (as_timestamp(states.input_text.inicioabertura_sala.state))|float|round(2))*100/(states.input_text.tempodeabertura_sala.state|int))|int }}
          {% endif %}
    - service: input_number.set_value
      data_template:
        entity_id: input_number.abertura_sala
        value: '{{ states.input_number.abertura_salaold.state }}'

  - id: aberturapeloslider_sala
    alias: Abertura pelo slider sala
    initial_state: 'on'
    trigger:
      platform: state
      entity_id: input_number.abertura_sala
    condition:
    - condition: template
      value_template: '{{ states.input_number.abertura_sala.state|int > states.input_number.abertura_salaold.state|int }}'
    action:
    - service: input_boolean.turn_off
      data:
        entity_id: input_boolean.alterarslider_sala
    - service: mqtt.publish
      data:
        topic: 'shellies/shellyswitch-13503C/relay/0'
        payload_template: "on; delay {% if is_state('input_number.abertura_sala', '100.0') %} {{ (((states.input_number.abertura_sala.state|int - states.input_number.abertura_salaold.state|int)*(states.input_text.tempodeabertura_sala.state|float)/100)|round(1)*10)|round(0) + 20 }} {% else %}
{{ (((states.input_number.abertura_sala.state|int - states.input_number.abertura_salaold.state|int)*(states.input_text.tempodeabertura_sala.state|float)/100)|round(1)*10)|round(0) }} {% endif %}; off"
    - delay:
        milliseconds: 800
    - wait_template: "{{ is_state('binary_sensor.rele_1_sala', 'off') }}"
    - service: input_boolean.turn_on
      data:
        entity_id: input_boolean.alterarslider_sala
    - service: input_number.set_value
      data_template:
        entity_id: input_number.abertura_salaold
        value: '{{ states.input_number.abertura_sala.state }}'

  - id: fechopeloslider_sala
    alias: Fecho pelo slider sala
    initial_state: 'on'
    trigger:
      platform: state
      entity_id: input_number.abertura_sala
    condition:
    - condition: template
      value_template: '{{ states.input_number.abertura_sala.state|int < states.input_number.abertura_salaold.state|int }}'
    action:
    - service: input_boolean.turn_off
      data:
        entity_id: input_boolean.alterarslider_sala
    - service: mqtt.publish
      data:
        topic: 'shellies/shellyswitch-13503C/relay/1'
        payload_template: "on; delay {% if is_state('input_number.abertura_sala', '0.0') %} {{ (((states.input_number.abertura_salaold.state|int - states.input_number.abertura_sala.state|int)*(states.input_text.tempodefecho_sala.state|float)/100)|round(1)*10)|round(0) + 20 }} {% else %}
{{ (((states.input_number.abertura_salaold.state|int - states.input_number.abertura_sala.state|int)*(states.input_text.tempodefecho_sala.state|float)/100)|round(1)*10)|round(0) }} {% endif %}; 'off'"
    - delay:
        milliseconds: 800
    - wait_template: "{{ is_state('binary_sensor.rele_2_sala', 'off') }}"
    - service: input_boolean.turn_on
      data:
        entity_id: input_boolean.alterarslider_sala
    - service: input_number.set_value
      data_template:
        entity_id: input_number.abertura_salaold
        value: '{{ states.input_number.abertura_sala.state }}'

Obrigado desde já pela ajuda, vou continuar a tentar e explorar. Se conseguir algum avanço logo aviso.


Cover - Estores
(Tiago Marques) #133

Quanto ao resto não sei, mas sem o pulsetime os relés não vão parar ao fim de X tempo.

Esse código foi feito para trabalhar com tasmota, se não estás a usar tasmota podes ter de adaptar alguma coisa.

Qual é o problema a flashar o shelly2?


(Tiago Marques) dividir este tópico #134

Uma mensagem foi dividida em um novo tópico: Como ‘flashar’ o Shelly2


(MRodrigues) #136

Viva, experimentei hoje o shelly2 nos meus estores e funcionou muito bem. A calibração (feita na aplicação deles) é essencial para o processo.

Para usares o firmware original (como eu), não te esqueças de atualizar para a última versão que tem melhorias significativas.

Tenho aqui o código que está a funcionar no meu caso: