Indicações de estado duplicadas

default_view:
  view: yes
  icon: mdi:home
  entities:
    - group.salagrupo
    - group.quartogrupo
    - group.cozinhagrupo
    - group.zanzito
    - group.home_spotify_player
    - group.hallgrupo
      
sala:
  view: yes
  name: sala
  entities:
    - group.salagrupo
      
cozinha:
  view: yes
  name: cozinha
  entities:
    - group.cozinhagrupo
      
quarto:
  view: yes
  name: quarto
  entities:
    - group.quartogrupo
    
internet_speed:
  name: Internet Speed
  entities:
    - sensor.speedtest_download
    - sensor.speedtest_upload
    - sensor.speedtest_ping  
    - sensor.qualidadedoar

Essa parte da internet_speed não é um separador, passa isso para dentro de um package. Mas o problema parece ser num dos outros ficheiros package.

coloquei um cardinal no internet speed e continua igual

Só um não chega, tem de ser um em cada linha.

sim… era isso que eu queria dizer… coloquei do internet speed até ao fim

ahhh… Se continuas a ter o erro o problema deve estar num dos ficheiros package.

o ficheiro cozinha depois de ter retirado o inicio, ficou assim

group:

  cozinhagrupo:
    control: hidden
    name: Cozinha
    entities:
      - input_number.aberturapersianacozinha
      - cover.persianacozinha
      - binary_sensor.rele_1c
      - binary_sensor.rele_2c
      - switch.luzcozinha
      - switch.Luz_Cozinha
      - sensor.pircozinha

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.
  tempodeaberturacozinha:
    name: tempo de maximo de abertura
    initial: 22
  tempodefechocozinha:
    name: tempo de maximo de fecho
    initial: 22
  iniciofechocozinha:
    name: Inicio Fecho Cozinha
  inicioaberturacozinha:
    name: Inicio Abertura Cozinha

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

binary_sensor:
  - platform: mqtt
    name: rele 1c
    state_topic: "stat/persianac/POWER1"
    payload_on: "ON"
    payload_off: "OFF"
  - platform: mqtt
    name: rele 2c
    state_topic: "stat/persianac/POWER2"
    payload_on: "ON"
    payload_off: "OFF"

input_boolean:
  alterarslidercozinha:
    name: Alterar o Slider Cozinha
    initial: on

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

automation:
  - id: iniciofecho
    alias: Começou a fechar Persiana Cozinha
    trigger:
    - platform: state
      entity_id: binary_sensor.rele_2c
      to: 'on'
    action:
      service: input_text.set_value
      data_template:
        entity_id: input_text.iniciofechocozinha
        value: '{{ now() }}'
  - id: fimfecho
    alias: Parou de fechar Persiana Cozinha
    trigger:
    - platform: state
      entity_id: binary_sensor.rele_2c
      to: 'off'
    condition:
    - condition: state
      entity_id: input_boolean.alterarslidercozinha
      state: 'on'
    action:
    - service: input_number.set_value
      data_template:
        entity_id: input_number.aberturapersianacozinhaold
        value: >-
          {% if (states.input_number.aberturapersianacozinha.state)|int - ((as_timestamp(now()) - (as_timestamp(states.input_text.iniciofechocozinha.state))|float|round(2))*100/(states.input_text.tempodefechocozinha.state|int))|int < 4 %}
            0
          {% else %}
            {{ (states.input_number.aberturapersianacozinha.state)|int - ((as_timestamp(now()) - (as_timestamp(states.input_text.iniciofechocozinha.state))|float|round(2))*100/(states.input_text.tempodefechocozinha.state|int))|int }}
          {% endif %}
    - service: input_number.set_value
      data_template:
        entity_id: input_number.aberturapersianacozinha
        value: '{{ states.input_number.aberturapersianacozinhaold.state }}'
  - id: inicioabertura
    alias: Começou a abrir Persiana Cozinha
    trigger:
    - platform: state
      entity_id: binary_sensor.rele_1c
      to: 'on'
    action:
      service: input_text.set_value
      data_template:
        entity_id: input_text.inicioaberturacozinha
        value: '{{ now() }}'
  - id: fimabertura
    alias: Parou de abrir Persiana Cozinha
    trigger:
    - platform: state
      entity_id: binary_sensor.rele_1c
      to: 'off'
    condition:
    - condition: state
      entity_id: 'input_boolean.alterarslidercozinha'
      state: 'on'
    action:
    - service: input_number.set_value
      data_template:
        entity_id: input_number.aberturapersianacozinhaold
        value: >-
          {% if (states.input_number.aberturapersianacozinha.state)|int + ((as_timestamp(now()) - (as_timestamp(states.input_text.inicioaberturacozinha.state))|float|round(2))*100/(states.input_text.tempodeaberturacozinha.state|int))|int > 96 %}
            100
          {% else %}
            {{ (states.input_number.aberturapersianacozinha.state)|int + ((as_timestamp(now()) - (as_timestamp(states.input_text.inicioaberturacozinha.state))|float|round(2))*100/(states.input_text.tempodeaberturacozinha.state|int))|int }}
          {% endif %}
    - service: input_number.set_value
      data_template:
        entity_id: input_number.aberturapersianacozinha
        value: '{{ states.input_number.aberturapersianacozinhaold.state }}'

  - id: aberturapeloslider
    alias: Abertura pelo slider Persiana Cozinha
    trigger:
      platform: state
      entity_id: input_number.aberturapersianacozinha
    condition:
    - condition: template
      value_template: '{{ states.input_number.aberturapersianacozinha.state|int > states.input_number.aberturapersianacozinhaold.state|int }}'
    action:
    - service: input_boolean.turn_off
      data:
        entity_id: input_boolean.alterarslidercozinha
    - service: mqtt.publish
      data:
        topic: 'cmnd/persianac/Backlog'
        payload_template: "POWER1 ON; delay {% if is_state('input_number.aberturapersianacozinha', '100.0') %} {{ (((states.input_number.aberturapersianacozinha.state|int - states.input_number.aberturapersianacozinhaold.state|int)*(states.input_text.tempodeaberturacozinha.state|float)/100)|round(1)*10)|round(0) + 20 }} {% else %}
{{ (((states.input_number.aberturapersianacozinha.state|int - states.input_number.aberturapersianacozinhaold.state|int)*(states.input_text.tempodeaberturacozinha.state|float)/100)|round(1)*10)|round(0) }} {% endif %}; POWER1 OFF"
    - delay:
        milliseconds: 800
    - wait_template: "{{ is_state('binary_sensor.rele_1c', 'off') }}"
    - service: input_boolean.turn_on
      data:
        entity_id: input_boolean.alterarslidercozinha
    - service: input_number.set_value
      data_template:
        entity_id: input_number.aberturapersianacozinhaold
        value: '{{ states.input_number.aberturapersianacozinha.state }}'
  - id: fechopeloslider
    alias: Fecho pelo slider Persiana Cozinha
    trigger:
      platform: state
      entity_id: input_number.aberturapersianacozinha
    condition:
    - condition: template
      value_template: '{{ states.input_number.aberturapersianacozinha.state|int < states.input_number.aberturapersianacozinhaold.state|int }}'
    action:
    - service: input_boolean.turn_off
      data:
        entity_id: input_boolean.alterarslidercozinha
    - service: mqtt.publish
      data:
        topic: 'cmnd/persianac/Backlog'
        payload_template: "POWER2 ON; delay {% if is_state('input_number.aberturapersianacozinha', '0.0') %} {{ (((states.input_number.aberturapersianacozinhaold.state|int - states.input_number.aberturapersianacozinha.state|int)*(states.input_text.tempodefechocozinha.state|float)/100)|round(1)*10)|round(0) + 20 }} {% else %}
{{ (((states.input_number.aberturapersianacozinhaold.state|int - states.input_number.aberturapersianacozinha.state|int)*(states.input_text.tempodefechocozinha.state|float)/100)|round(1)*10)|round(0) }} {% endif %}; POWER2 OFF"
    - delay:
        milliseconds: 800
    - wait_template: "{{ is_state('binary_sensor.rele_2c', 'off') }}"
    - service: input_boolean.turn_on
      data:
        entity_id: input_boolean.alterarslidercozinha
    - service: input_number.set_value
      data_template:
        entity_id: input_number.aberturapersianacozinhaold
        value: '{{ states.input_number.aberturapersianacozinha.state }}'
        
switch:
  - platform: mqtt
    name: "Luz Cozinha"
    icon: mdi:lightbulb
    state_topic: "stat/luzcozinha/POWER"
    command_topic: "cmnd/luzcozinha/POWER"
    availability_topic: "tele/luzcozinha/LWT"
    payload_available: "Online"
    payload_not_available: "Offline" 
    qos: 1
    payload_on: "ON"
    payload_off: "OFF"
    retain: true

Não me parece haver aí nenhum problema. Não tens mais nenhum ficheiro com entrada group:?

sim
Sala tambem tem
Quarto igual

Usa o https://hastebin.com/ e coloca, em ficheiros separados, o conteúdo dos ficheiros que contenham grupos.

Peço desculpa pela ignorancia, mas faço o que depois ??

Depois colocas aqui os links de cada ficheiro.

fica uma coisa tipo isto ??

file:///Z:/packages/cozinha.yaml

?

deve ser mais isto, não ??

https://hastebin.com/ixisovuqeb.pl

https://hastebin.com/xiyevuruzu.pl

https://hastebin.com/zonoqasoja.pl

Sim, é isso mesmo !!

Nesses três ficheiros não vejo problema nenhum…

e não tenho mais nenhum que começe por group

o groups está assim

https://hastebin.com/wihapefeke.cs

Eu já hoje falei contigo no Discord.
isso que tu tens ai no teu ultimo hastebin está mal. Tu dentro de um grupo estás a chamar outro.

É APENAS isto que tens que deixar dentro do groups.yaml, mas eu já te tinha dito isso.

default_view:
  view: yes
  icon: mdi:home
  entities:
    - group.salagrupo
    - group.quartogrupo
    - group.cozinhagrupo
    - group.zanzito
    - group.home_spotify_player
    - group.hallgrupo

@RodolfoVieira
O que ele tem dentro do groups.yaml é a constituição dos separadores.

Mas ele nas entities está a chamar novamente os grupos e não deve .
Pois os grupos já estão a ser chamados na view… ele nas entitities tem que por o que quer ver dentro de desse grupo… e não por novamente o nome do grupo.


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


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