@cino111 w powstałych encjach (daily, weekly, monthly) masz atrybut “last_period” który zapisuje poprzednią wartość tj. wczorajszą, poprzedniego tygodnia, poprzedniego miesiąca itd.
Wyciągnij sobie ten atrybut za pomocą template i będziesz miał tego co szukasz.
ale sensor nie działa. Pewnie coś tu źle mam wpisane.
Oryginalny sensor który zlicza mi ekogroszek to sensor.dzienny_licznik_ekogroszku
Może jeszcze raz opiszę o co mi chodzi.
mam licznik ekogroszku, który zlicza ilość spalonego ekogroszku do godziny 24:00 i zaczyna zliczać od początku.
dzienny_licznik_ekogroszku:
source: sensor.ekogroszek
cycle: daily
chcę mieć historię ile spaliłem opału w każdym dniu. Może jakiś wykres słupkowy na każdy dzień. Nie wiem jak to zrobić.
W ten sposób to nie może działać. @cino111 zakładając, że u Ciebie encja dziennego zużycia ekogroszku to “sensor.dzienny_licznik_ekogroszku” wtedy wpis “value_template” powinien wyglądać tak:
@cino111 Możesz podpowiedzieć jak zamontowałeś ten czujnik i gdzie? Myślę tez o rozwiązaniu informowania mnie o zużyciu ekogroszku, miałem pomysł żeby wpiąć się w zasilanie silnika od podajnika ale wydaje mi się, że nie spełni to funkcji, ponieważ jak na ślimaku będzie większe ziarno to silnik będzie pracował z większą mocą, i wyniki już będą się różnić.
Drugim rozwiązaniem jest zrobić na ślimaku jakiś czujnik który będzie zliczał jego pełne obroty, tylko nie wiem jaki czujnik no i taką zaślepkę musiałbym wydrukować/wykombinować.
Życie by to ułatwiło okrutnie, takie informowanie!
@jar87
Można też zbudować alternatywnie pomiar ilości zużytego paliwa stałego (jeśli masz zbiornik paliwa, w którym jest to wykonalne) za pomocą:
czujnika odległości PIR (musiałbyś skalibrować, ale myślę, że jest to wykonalne) mierząc odległość od “sufitu” (w cudzysłowach, bo to niekoniecznie musi być sufit) do najniższego punktu leja Czujnik napełnienia szamba
Chyba najsensowniejsze rozwiązanie aczkolwiek nie chciał bym w podajnik za wiele ingerować, żeby go nie rozszczelnić. Jak dostanie “lewe” powietrze może to się źle skończyć.
Dlatego sufit był w cudzysłowach - montujesz czujnik PIR wewnątrz (i nie podajnika, a zbiornika paliwa).
Są tensometry nadające się do pracy pod naciskiem wielu ton (w celu pomiaru ilości zużytego paliwa należałoby ważyć zbiornik) instalacja raczej należy do mocno upierdliwych ze względu na konieczność zabezpieczenia przewodów a nie ze względu na masę.
Dobra, źle to opisałem, mając na mysli podajnik chodziło mi o zbiornik
Czujnik PIR jest na przewody a więc gdzieś je przemieścić muszę, a tak jak pisałem, wiercić w zbiorniku nie chce, między uszczelkami nie przejdzie bo go przetnie.
tensometr montując, musiałbym podnosić zbiornik, a on “na pusto” do lekkich nie należy, dlatego ten pomysł raczej odpada:/
Masz tam zdjęcie jak to zamontowałem. Już dawno supli nie używam, a czujnik ostatnio mialem na taśmocie. Jakiś tydzień temu zjarał mi sie esp i nowy zrobiłem już na esphome. Jak chces to mogę wrzucić kod.
Forum jest po to, aby pomagać a nie uszczęśliwiać na siłę
Kod w EspHome. Dodatkowo mam podpięty przekaźnik do załączania pieca (termostat) i podpięty buzer. W Node Redzie mam ustawione, ze jak mam =<10cm opału to się załącza buzzer.
esphome:
name: podajnik
platform: ESP8266
board: d1_mini
wifi:
ssid: "xxxxxxxxx"
password: "xxxxxxx"
# Optional manual IP
manual_ip:
static_ip: 192.168.1.36
gateway: 192.168.1.1
subnet: 255.255.255.0
api:
logger:
ota:
web_server:
port: 80
sensor:
- platform: wifi_signal
name: "WiFi Signal Sensor"
id: wifi_signal_sensor
update_interval: 60s
filters:
- median:
window_size: 5
send_every: 5
send_first_at: 1
on_value:
then:
- lambda: |-
id(wifi_signal_sensor).publish_state(x);
- platform: ultrasonic
trigger_pin: D6
echo_pin: D7
name: "podajnik"
update_interval: 60s
# pulse_time: 20us
filters:
- median:
window_size: 5
send_every: 5
send_first_at: 1
- lambda: return (0.86 - x) * 100; # 0.86 to glebokosc podajnika 86cm. pokazuje ile cm ekogroszku zostało w podajniku
unit_of_measurement: "cm" # pomiar w cm
accuracy_decimals: 0 # zaokraglenie do 0 miejsc po przecinku
switch:
- platform: gpio
pin: D1
name: "termostat piec"
id: 'termostat'
restore_mode: ALWAYS_OFF # zawsze wylaczony przy wlaczeniu zasilania
- platform: gpio
name: "buzzer podajnik"
icon: mdi:campfire
pin: D5
id: 'buzzer'
restore_mode: ALWAYS_OFF # zawsze wylaczony przy wlaczeniu zasilania
inverted: true
Mam podobny problem, pewnie już dawno rozwiązany gdzieś na Forum, ale nie mogę tego nigdzie znależć…
Mam klasyczne gniazdo zigbee z pomiarem energii. Odpowiedni sensor.gniazdo_energy zlicza moc zużytą przez urządzenie ale od początku instalacji. Ja natomiast chciałbym znać wartość mocy zuzytej w ciągu doby.
Napisałem sensor, który zlicza czas pracy gniazda w ciągu doby:
- platform: history_stats # Licznik zeruje się o północy.
name: Gniazdo dzisiaj
entity_id: switch.gniazdo
state: "on"
type: time
start: "{{ now().replace(hour=0, minute=0, second=0) }}"
end: "{{ now() }}"
Jak stworzyć sensor, który zliczałby energię pobraną przez to gniazdo ale zerowałby się o północy?
Próbowałem stworzyć odpowiedni template sensora, ale bez powodzenia… (brak pomysłu na mechanizm zerowania wartości sensora o północy).
Czy mogę prosić o oświecenie mnie w tej sprawie?