Witam serdecznie.
Poszukuję od dłuższego czasu sposobu na obliczenie czasu pomiędzy załączeniem pompy wody a jej wyłączeniem.
Jest to niezbędne do zweryfikowania czy poduszka powietrzna w hydroforze jest odpowiedniej wielkości. Jeżeli czas pracy (załączenie i wyłączenie) pompy spadnie poniżej 30 sekund powinienem dopompować poduszkę. Aby nie uszkodzić sobie silnika w pompie wody.
Utworzyłem taki wpis w configuration.yaml ale uzyskuję tylko wartość 0.
sensor:
- platform: history_stats
name: Czas Pracy Pompy
entity_id: binary_sensor.pomiarykotlownia_pompa
state: "on"
type: time
start: "{{ now().replace(hour=0, minute=0, second=0) }}"
end: "{{ now() }}"
W dzienniku mam to ładnie zapisane włączenie i wyłączenia ale jak obliczyć i przedstawić jako zmienna która mógłbym umieścić na dashboadzie ?
nastąpiło wyłączenie
21:32:16 - 16 minut temu
nastąpiło włączenie
21:31:32 - 16 minut temu
nastąpiło wyłączenie
19:20:35 - 2 godziny temu
nastąpiło wyłączenie
18:42:44 - 3 godziny temu
Definicja jest poprawna, mam tak samo u siebie, pompę mam zdefiniowaną jako switch, tylko ta encja zsumuje czas pracy, resetuje sie o północy i znow liczy. Jesteś pewny, że dokładnie taka encja instnieje binary_sensor.pomiarykotlownia_pompa w HA?
Encja taka występuje. Sumowanie czasu nie jest mi potrzebne…
Może jest możliwość ustawienia jakiegoś licznika który będzie załączał się w momencie zmiany stany encji na ON i zatrzymanie licznika po zmianie stanu na OFF. Oczywiście przed startem licznika należałoby go wyzerować i wyświetlać na ekranie tylko wartość
Gdy stan encji binary_sensor.pomiarykotlownia_pompa zmienia się na ‘on’, następuje reset licznika (counter.reset) i rozpoczyna się odliczanie czasu pracy pompy (counter.increment).
Gdy stan encji binary_sensor.pomiarykotlownia_pompa zmienia się na ‘off’, następuje zatrzymanie licznika czasu pracy pompy (counter.stop).
alias: 'Zarządzaj czasem pracy pompy'
trigger:
platform: state
entity_id: binary_sensor.pomiarykotlownia_pompa
action:
- choose:
- conditions:
- condition: state
entity_id: binary_sensor.pomiarykotlownia_pompa
state: 'on'
sequence:
- service: counter.reset
entity_id: counter.czas_pracy_pompy
- service: counter.increment
entity_id: counter.czas_pracy_pompy
- conditions:
- condition: state
entity_id: binary_sensor.pomiarykotlownia_pompa
state: 'off'
sequence:
- service: counter.stop
entity_id: counter.czas_pracy_pompy
Automatyzacja:
Ustawienia > Automatyzacja>Utwórz automatyzacje>Utwórz nową automatyzacje> 3 kropeczki> Edycja w YAML.
Wklej kod , wróć do trybu graficznego, zmień nazwę, Zapisz.
Automatyzacja "Zarządzaj czasem pracy pompy" (`automation.zarzadzaj_czasem_pracy_pompy`) posiada akcję, która wywołuje nieznaną usługę: `counter.stop`.
Ten błąd uniemożliwia prawidłowe działanie automatyzacji. Może ta usługa nie jest już dostępna, a może spowodowała to literówka.
Aby naprawić ten błąd, [edytuj automatyzację](http://192.168.5.99:8123/config/automation/edit/1710277178245) i usuń działanie wywołujące tę usługę.
Kliknij ZATWIERDŹ poniżej, aby potwierdzić, że naprawiłeś tę automatyzację.
Wszystko prawie dobrze poza tym że licznik zwiększa się o jeden przy każdej zmianie. Niestety nie liczy ciągle dopóki nie dostanie polecenia stop.
Próbuję jeszcze automatyzacje na timerach ale nie bardzo wiem jak wyświetlić wartość timera na scenie