Skip to content

иногда значания недоступны #13

Open
@532910

Description

@532910

я использую следующий скрипт и он иногда фэйлится:

Error: In 'template' condition: ValueError: Template error: int got invalid input 'unavailable' when rendering template '{{ states('input_text.electricity_night')|int >= (states('sensor.pesc_electricity_night')|int -1) and states('input_text.electricity_night')|int <= (states('sensor.pesc_electricity_night')|int +100) }}' but no default was specified

sequence:
  - alias: electricity day
    if:
      - condition: template
        value_template: >-
          {{ states('input_text.electricity_day')|int >=
          (states('sensor.pesc_electricity_day')|int -1) and
          states('input_text.electricity_day')|int <=
          (states('sensor.pesc_electricity_day')|int +200) }}
    then:
      - service: pesc.update_value
        target:
          entity_id: sensor.pesc_electricity_day
        data:
          value: "{{ states( 'input_text.electricity_day' ) | int }}"
  - alias: electricity night
    if:
      - condition: template
        value_template: >-
          {{ states('input_text.electricity_night')|int >=
          (states('sensor.pesc_electricity_night')|int -1) and
          states('input_text.electricity_night')|int <=
          (states('sensor.pesc_electricity_night')|int +100) }}
    then:
      - service: pesc.update_value
        target:
          entity_id: sensor.pesc_electricity_night
        data:
          value: "{{ states( 'input_text.electricity_night' ) | int }}"
  - alias: water cold
    if:
      - condition: template
        value_template: >-
          {{ states('input_text.water_cold')|int >=
          (states('sensor.pesc_water_cold')|int -1) and
          states('input_text.water_cold')|int <=
          (states('sensor.pesc_water_cold')|int +5) }}
    then:
      - service: pesc.update_value
        target:
          entity_id: sensor.pesc_water_cold
        data:
          value: "{{ states( 'input_text.water_cold' ) | int }}"
  - alias: water hot
    if:
      - condition: template
        value_template: >-
          {{ states('input_text.water_hot')|int >=
          (states('sensor.pesc_water_hot')|int -1) and
          states('input_text.water_hot')|int <=
          (states('sensor.pesc_water_hot')|int +5) }}
    then:
      - service: pesc.update_value
        target:
          entity_id: sensor.pesc_water_hot
        data:
          value: "{{ states('input_text.water_hot')|int }}"

первый блок отрабатывает всегда, а вот последующие иногда фэйлятся

дело точно не в input_text.*

думаю если вставить задержку между блоками будет работать стабильнее

вобще хотелось бы все показания одной транзакцией отправлять

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions