value_template: "{{ (states('sensor.poziom szamba') | float * xxx) | round(0) }}"
xxx = 100 / ilość litrów
Np 100/180= 0,5555555555555556
Poczytaj Template - Home Assistant może i łatwiej to zrozumiesz
value_template: "{{ (states('sensor.poziom szamba') | float * xxx) | round(0) }}"
xxx = 100 / ilość litrów
Np 100/180= 0,5555555555555556
Poczytaj Template - Home Assistant może i łatwiej to zrozumiesz
Więc nie dodawaj, po prostu skonfiguruj to normalnie w configuration.yaml
Metoda, którą zaproponował @krskrab służy uporządkowaniu zawartości pliku configuration.yaml
i polega na wywaleniu wszystkich sensorów (i nie tylko, ale musisz tą metodę najpierw zrozumieć) do wskazanego innego pliku (w tym wypadku wystarczy skopiować do pliku sensor.yaml
wszystkie aktualne sensory i zmniejszyć tam w każdej linii wcięcia o 2 spacje, a w obecnym configuration.yaml
należy zakomentować lub usunąć wszystko co przeniosłeś).
Wszelki kod na forum wrzucaj między liniami z ``` (tak jak teraz zmodyfikowałem twojego posta powyżej).
A w kwestii template, to chyba raczej chciałeś coś takiego (nie do końca mi się ta arytmetyka zgadza, ale nie wiem jak działa twój czujnik):
value_template: "{{ 200.0 - (states('sensor.poziom szamba') | float * 0.5 ) | round(0) }}"
Dzięki, ale po dodaniu;
value_template: "{{ 200.0 - (states('sensor.poziom_szamba') | float * 0.5 ) | round(0) }}
czujnik wskazuje wartość 200, co nie jest prawdą… bo encja senzor.poziom_szamba ma wartość 47, czyli:
200 - 47 = 153*0,5 = 71,5%
Nawiasów we właściwych miejscach zabrakło (i wtedy mnożenie “wygrywa” z odejmowaniem), można też podzielić zamiast mnożyć
value_template: "{{ ((200.0 - states('sensor.poziom_szamba') | float) / 2.0) | round(0) }}"
z grubsza matematyka wewnątrz template wygląda tak
https://jinja.palletsprojects.com/en/latest/templates/#math
jeśli chcemy by wpisane liczby były traktowane jako float, a nie integer, to konieczne jest podanie zerowej części dziesiętnej (jeśli mnie pamięć nie zawiodła to wpływa na typ wyniku operacji).
No i?
78 to jednak nie 72 (zaokrąglone 71.5)
zgadza się, bo czujnik odległości w szambie lekko faluje, teraz ma wartość 43, czyli:
200 - 43 = 157 / 2 = 78,5
@AdamG czyli już masz rozwiązanie “sprzętowe” do mierzenia poziomu szamba ale jak to zawsze bywa, nie pochwaliłeś sie tym wątku, który założyłeś “Czujnik napełnienia szamba” (specjalnie nie linkuje do wątku bo co ma [Sumowanie danych z trzech encji (W z trzech faz)] do [Czujnik napełnienia szamba] .
Liczę na to, że jednak podzielisz się doświadczeniami w odpowiednim wątku.
Tak oczywiście, w tej chwili czujnik jest w fazie testów, jak zakończę całość konfiguracji to rzecz jasna opiszę jak to zrobiłem, dlaczego akurat tak, itp.
Załatwione - przeniosłem część wątku na właściwsze miejsce, choć lepiej by było gdyby @AdamG zapytał od razu tutaj kontynuując wątek…
Ok to w fazie testów mogę opisać co zrobiłem i dlaczego tak:
dom budowałem ponad 12 lat temu i jak to przy pierwszym domu “dla wroga” nie wszystko wyszło tak przemyślane jak być powinno…
Szambo u mnie to zbiornik betonowy o pojemności około 9 m3, na szambie jest “chudy beton” a na nim kostka i miejsce parkingowe. Do szamba jest dostęp przez 2 otwory: jeden to typowy wąż wypuszczony z murowanym słupku płotu do którego podłącza się wóz asenizacyjny i wyciąga co trzeba, drugie dojście to komin odpowietrzenia zlokalizowany kawałek dalej w ogrodzie.
Przez odpowietrzenie zamontowałem czujnik odległości wykonując wcześniej testy w wannie czy łapie odległość do cieczy, wyglądało ok - całość zintegrowałem przez platformę remoteme.org, dodałem czujnik i z adresu w sieci pobieram jego wartość. Czujnik mierzy odległość od góry zbiornika do cieczy, czyli podaje info ile jest pustego miejsca do góry szamba. Zasilanie póki co wziąłem z lampy ogrodowej - bo mam w pobliżu kostkę, ale pracuję nad małym panelem słonecznym, chociaż nie wiem, czy zimą wyprodukuje on prąd i może zostane na rozwiązaniu tymczasowym.
Odnalazłem projekt zbiornika i dane z jego zakupu - ma wymiary zewnętrzne 2,5 x 2,5 x 2 m - pojemność około 9m3. Przy każdym wybraniu szamba spisuje licznik wody i w ten sposób mniej więcej szacowałem jego zapełnienie, teraz widzę ile mam do pokrywy szamba i oczywiście dalej porównuje.
W tej chwili jeszcze pobieram wartość odległości co 30 minut, docelowo będę to robił co 6 lub 12 godzin. Dzięki pomocy forumowiczów zamieniłem odłeglość do pokrywy na wartość % napełnienia.
Teraz pozostaje przygotować powiadomienie o 25, 50, 75, 87, 90 i 95 napełnienia zbiornika i żeby nie były one wysylane przy każdym pobraniu wartości z czujnika… może ktoś ma na to sposób, bo jeden podany w innym poście nie do końca potrafię obsłużyć.
Czy mógł byś przedstawić model czujnika? Jestem ciekaw wykonania…
Mi ten opis “zapachniał” ultradźwiękowym czujnikiem HC-SR04 (albo podobnym), ale sam jestem ciekawy rozwiązania, (bo myślałem nad czymś takim do kontroli poziomu szamba w oczyszczalni, ale póki co sam czujnik czeka na impregnację i testy czy nadal jest zdatny do użytku po zalakierowaniu, bo jestem przekonany, że agresywne środowisko go “zeżre”).
Również jestem tego zdania, nie wytrzyma próby z tymi gazami…
czujnik ultradźwiękowy JSN-SR04 zobaczymy jak wytrzyma, ale w środowisku ścieków generalnie nawet blacha nierdzewna nie wytrzyma próby czasu.
Czy jesteś w stanie mi powiedzieć jak sprawić żeby ten flow działał?
@AdamG czy JSN-SR04 potrzebuje jeszcze czegoś (np. esp) do odbioru informacji i wysłania do HA (np. po mqtt?). W jaki sposób ograłeś zasilanie (5V)?
@DanielM
Z tego co widzę to działa identycznie jak każdy inny, więc oczywiście potrzebujesz choćby ESP, tylko sama czujka jest w wykonaniu nieco bardziej odpornym na warunki atmosferyczne (prawdopodobnie taka jak montowana w zderzakach samochodowych) niż “golas” taki jak HC-SR04 (z gołymi ultradźwiękowymi: mikrofonem i głośnikiem).
Przyjąłem założenie, że HC-SR04 są tanie jak barszcz, więc jeśli impregnacja się uda, to kupię ich garść na zapas i zobaczę na ile czasu wystarczą
@AdamG Jeśli chodzi o NR to doświadczenie mam zerowe, więc nie pomogę.
zasilanie z sieci 230V, zasilacz na zewnątrz umieściłem w obudowie.