Zmiana nazwy stanu sensora

Pytanie od początkującego: Gdzie mogę zmienić nazwę stanu sensora? Chodzi mi o to że Sterownik PLC podaje stany 1 lub 0, a chciałbym aby na wyświetlaczu karty pokazywał mi się stan np: otwarty lub zamknięty (1=otwarty, 0=zamknięty).

Ja bym to zrobił w NR tworząc nową encję sensor i w nodzie switch zamieniał wartość payload do wyświetlenia w nowej encji.
Zrobiłem na szybko coś takiego dla sprawdzenia koncepcji.
flows (7).json (2,0 KB)

Wystąpił taki błąd: Attention: This node requires Node-RED custom integration to be installed in Home Assistant for it to function.

Masz integrację NR zainstalowaną z HACS?

Na pewno problemem błędu jest brak instalacji NR z HACS. Też tak miałem z kilkoma innymi nodami.

HACS mam zainstalowane. NR też tylko nie wiem czy jedno z drugim jest zintegrowane

Nie musi być zintegrowane, tylko musisz zainstalować dodatkowo Node red z HACS a póżniej instalujesz konfiguracja->integracje znowu NodeRed. Więc finalnie NodeRed instalujesz 3 razy z różnych miejsc

A dlaczego tego nie zrobić najprościej w HA:

# Example configuration.yaml entry
sensor:
  - platform: template
    sensors:
       nowy_sensor:
          value_template: >-
            {%- if is_state("sensor.0x00158d00045ca805", "1") -%}
            otwarty
            {%- else -%}
            zamkniety
            {%- endif -%}

Tworzymy nowy sensor o nazwie nowy_sensor za pomocą template - jeżeli sensor.0x00158d00045ca805 będzie miał stan 1 wtedy nowy_sensor przyjmie stan otwarty , w przeciwnym wypadku stan zamkniety.
@Maniekbeton zamiast sensor.0x00158d00045ca805 wstaw nazwę sensora z sterownika PLC.

1 Like

A dlaczego tego nie zrobić jeszcze prościej?

konfiguracja => dostosowanie => encja => device class

1 Like

@wusiu zgadza się, dopiero jak wypisalem sobie stany z device class w HA:
0/off/low/closed/false
1/on/high/open/true
czyli
window : on means open, off means closed
door : on means open, off means closed
opening : on means open, off means closed
to zauważyłem, że kolega @Maniekbeton chcial osiągnąć to samo:
1=otwarty, 0=zamknięty
czyli faktycznie wystarczy sensor przypisać do odpowiedniego device class :slight_smile:.

“Device class” ustawić na door lub window i będzie otwarte/zamknięte. Ikonę również tam można zmienić. Chyba że faktycznie chodzi o końcówki opisów: otwarte - otwarty (-te, -ty).

Dokładnie o to mi chodziło. Dziękuję bardzo, teraz mam schemat jak zmieniać nazwy stanów :slight_smile:
sensor:

  • platform: template
    sensors:
    garaz_brama:
    value_template: >-
    {%- if is_state(“sensor.brama_garazowa_czujnik”, “0”) -%}
    otwarta
    {%- else -%}
    zamknieta
    {%- endif -%}

@Maniekbeton nie musisz robić tego z każdym sensorem, wystarczy, że przydzielisz taki sensor do odpowiedniej device class i HA załatwi resztę, nawet przydzieli odpowiednie ikony oraz ładnie pokaże za pomocą tych ikon stany otwarty/zamknięty, popatrz w dokumentację https://www.home-assistant.io/integrations/binary_sensor/

Tego właśnie nie potrafiłem ogarnąć. Pomógłby jakiś szblon.

@Maniekbeton prosze wklej ze swojej konfiguracji HA konfigurację sensor.brama_garazowa_czujnik, zakładam, że ten czujnik przyjmuje tylko dwie wartości 0 i 1.

Według device class mam zrobione wszystkie rolety oraz światła. Działa to dobrze, w takim przypadku do każdego rodzaju klasy są odpowiednio przypisane stany, a mi zależało na własnym nazewnictwie stanów.
Kontyniując temat bramy garażowej co powinienem dopisać aby pokazywało godzinę o której zmienił się stan bramy: np: zamknięta o 21.30. Jak wpisałem sensor.time to niestety godzina była cały czas aktualna

Chodzi Ci o takie informacje jak poniżej - “8 minut temu” nastąpiła zmiana stanu czujnika temperatury sensor.0x00158d000320d1d8_temperature:

Widok dla Home Assistant Core version 0.115.6, w nowszej wersji można to już “wyklikać”.

2 Likes

Dokładnie oto chodziło. Dziękuję2 1