SmartIR i sensor poboru energii

Witam,

czy ktoś bawił się integracją SmartIR do sterowania klimatyzacją i mógłby mi wyjaśnić jak działa, lub do czego służy dodawanie w konfiguracji sensora informującego o poborze energii?
Dodałem do swojej konfiguracji ten sensor i nie widzę zmian w działaniu. Liczyłem trochę na to, że integracja dzięki temu będzie w stanie wykryć kiedy klimatyzator jest włączony a kiedy nie ale niestety to nie działa. W takim sensie, że jak włączę klimatyzator integracją a wyłączę oryginalnym pilotem to pomimo tego, że sensor binarny zmienia się na off integracja cały czas pokazuje włączone urządzenie.

Przecież to jest w dokumentacji…

Masz jakieś urządzenie, które zmierzy temperaturę/wilgotność czy właśnie pobór energii, a konkretniej stan on/off ustalony np. na podstawie poboru energii, to jego encję wstawiasz w tym miejscu konfiguracji.

Korzystając z transmitera IR nie da się badać stanu urządzenia (teoretycznie można by dodatkowo czymś - czytaj: odbiornikiem IR “podsłuchiwać” pilota, ale ta integracja tego nie robi).
O ile transmitery czasem mają funkcję “uczenia kodów”, to nie służy ona do ciągłego “podsłuchu”.

Czytałem dokumentację, wiem, że jest tam napisane, że ten sensor monitoruje stan włączenia urządzenia. W moim pytaniu chodziło o to co z tego monitorowania wynika bo jakiś czas używałem integracji bez tego sensora i po dodaniu go nie widzę żadnej różnicy w działaniu integracji. Zastanawiam się więc czy mam coś źle ustawione czy działanie tego sensora jest takie “dyskretne” dla użytkownika.

To jeszcze raz - bo nie wiem czy rozumiem to co napisałeś - używasz np. smart-pluga do monitorowania poboru mocy i stworzyłeś sobie używając np. template encję, która na podstawie REALNEGO poboru mocy przez klimę generuje stany on i off i użyłeś tą właśnie encję w integracji?

Dokładnie tak, klimę mam podłączoną przez Shelly Plug i stworzyłem przy pomocy template sensor binarny, który działa prawidłowo bo widzę, że jak włączę urządzenie to ma stan ON a jak wyłączę to OFF.
Niestety jak zasłonie transmiter IR (Broadlinka) i integracją włączę klimatyzacje to jej stan jest włączony pomimo tego, że fizycznie urządzenie jest wyłączone. Stąd moja rozkminka po co ten sensor w integracji.

Pokop po issues, albo stwórz nowe jeśli nie ma już takiego

ewentualnie możesz poprosić o otwarcie tego (chociaż to co tam opisane raczej nie pasuje do twojego problemu, ale nie mam motywacji by przekopać wszystkie issue wraz z zamkniętymi, które mogą pasować do problemu)

U mnie broadlink obecnie się już kurzy, a nie mam tyle czasu by testowo odpalić zbędną mi testową konfigurację.

Jest napisane w pliku konfiguracyjnym autor używa tasmota a w niej wpisana reguła która monitoruje stan Power>5 ON tele/k1_ac_power/power On ` `` Power<5 OFF ``` tele/k1_ac_power/power Off stan ten jest wysyłany po MQTT do HA, bez tej reguły stan ten nie będzie się zmieniał.

Przecież nie ma musu używania Tasmoty czy MQTT, ma to być encja z domeny binary_sensor o stanach on i off odpowiadających stanowi sprzętu, więc jeśli nie działa to poprawnie, to jest coś nie tak z tą integracją.

Oczywiście że tak ale trzeba to sobie dopisać. Kolega nie napisał co ma w gniazdku Shelly Plug

### This package is for managing AC with broadlink ###
### k1_ac means kitchen1 air conditioner. This is my HA naming convention ### 
input_datetime:
# Is used to set timer time from UI
  k1_ac_timer:
    name: K1 AC inpute time for timer
    has_date: false
    has_time: true
    initial: '00:30:00'

input_boolean:
# Item to save swing position. In my case I'm using 95% or full up or full down position. You can redo it to unput_number for more options
  k1_ac_swing:

input_text:  
# Used to compare what has changed from last call
  k1_ac_prev_data:

timer:
  k1_ac_timer:
    name: Turn off K1 AC in -  
    duration: '00:30:00'
    
sensor:
# I use power stats from PZEM 004 v3 collected with Tasmota.
# Tasmota rules for logical sensor
# Rule   ON tele-ENERGY#Power>5 DO publish tele/k1_ac_power/power On ENDON  ON tele-ENERGY#Power<5 DO publish tele/k1_ac_power/power Off ENDON
# TelePeriod 30
#stat/Klimatyzacja/POWER
- platform: mqtt
  name: K1 AC Power state
  state_topic: "tele/Klimatyzacja/POWER"
  value_template: "{{ value_json['ENERGY'].Total }}"
  icon: mdi:power-plug

# PZEM power monitoring Sensors
- platform: mqtt
  name: K1 AC Voltage
  state_topic: "tele/Klimatyzacja/SENSOR"
  value_template: "{{ value_json['ENERGY'].Voltage }}"
  unit_of_measurement: "V"
  icon: mdi:flash
- platform: mqtt

W zasadzie problem chyba się rozwiązał. Wydaje mi się, że coś było u mnie nie tak z smartir, po zainstalowaniu simple-thermostat smartir zupełnie przestał działać. Odinstalowałem więc wszystkie integracje, zainstalowałem na nowo i teraz działa rozpoznawanie stanu urządzenia na podstawie sensora binarnego tyle tylko, że trochę ułomnie to działa moim zdaniem. Jak włączę lub wyłączę klimatyzację oryginalnym pilotem to integracja reaguje ale jak przy wyłączonej klimatyzacji włączę z poziomu HA na przykład tryb chłodzenia (a zmiana trybów nie włącza fizycznie klimatyzatora) to według integracji urządzenie działa w trybie chłodzenia a fizycznie jest wyłączone. Czyli stan się nie odświeża cyklicznie tylko jest weryfikowany przy niektórych zdarzeniach. Nie jest to oczywiście duży problem, na upartego mogę zmienić kody IR tak żeby zmiana trybów włączała klimatyzator albo do karty simple-thermostat dodać sensor pokazujący włączenie urządzenia.
W każdym razie dziękuję za zainteresowanie tematem.

To się kwalifikuje na issue - może autor będzie w stanie doszlifować kod, jeśli ładnie mu opiszesz problemy.

Niestety u mnie jednak identyfikacja działania na podstawie poboru energii się nie sprawdza, w czasie pracy zbyt często są cykle z poborem energii na poziomie identycznym z tym kiedy urządzenie jest wyłączone.

obraz

Da się w template zastosować sprawdzanie długości stanu encji? W sensie, że sensor zmienia stan jeśli encja utrzymuje się w określonej wartości przez określony czas?

Teraz mam tak:

  - platform: template
    sensors:
      klimatyzator:
        friendly_name: klimatyzator
        value_template: >-
          {{ states('sensor.gniazdo_klimatyzator_power')|float > 4 }}