Liczniki wody, ekogroszku, gazu, energii -Licznik impulsów (AISpeaker - Home Assistant)

Jeśli inwertery odpadają… podaj tyko czy coś chcesz z czymś obsługiwać z jednej płytki. Tak aby logistycznie było dla Ciebie łatwiej. 5 linii po 6 czujników Tasmota na jednym ESP nie da rady.

EDIT:
Jakby pominąć pomysł z ESP… i wykorzystać LAN-Controlery bezpośrednio integrując w HA. Zawsze jeden pośrednik mniej. @begginer w HA masz jeszcze integracje:

Poczytaj:

Cezary.K napisał:

Jeśli inwertery odpadają… podaj tyko czy coś chcesz z czymś obsługiwać z jednej płytki. Tak aby logistycznie było dla Ciebie łatwiej. 5 linii po 6 czujników Tasmota na jednym ESP nie da rady

Oba liczniki prądu mogą być na 1 płytce bo są w tej samej rozdzielni. Natomiast dla każdego wodomierza oddzielne plytki bo jeden z nich jest w metalowej szafce i może tłumić sygnał wifi. W zasadzie to mogę zrezygnować z 18 czujników DS18B20 bo umieściłem je w trakcie wylewania płyty fundamentowej aby poznać wartość i rozkład temperatur pod nieocieploną płytą od spodu a ocieploną tylko z góry . Po 4 latach pomiarów potwierdziłem sobie prawidłowość koncepcji i słuszność wyboru. Pozostałoby tylko 12 DS-ów czyli 2 linie.
Co do połączenia LK bezpośrednio z HA znam ten temat ale jestem niechętny bo jak wspomniałem mają już swoje lata i jeden jest w wersji HW 2.0 i ma 10 lat a drugi w wersji 2.5 więc ile pociągną? W tej chwili jest już wersja 3.5 obsługująca MQTT ale trzeba to kupić. Starsze wersje mają błędy w sofcie i nie są rozwijane, więc zdarzają się zwiechy.

1 polubienie

W jednej lokalizacji? Jest możliwość skompilowania binarki i rozszerzenia ilości DS’ów do 18 aby nadal mieściły się w buforze wiadomości MQTT. Wówczas na jednej płytce (tylko ESP8266) można to teoretycznie ogarnąć.

DS-y niestety na dwóch płytkach bo są w dwóch różnych rozdzielniach 6szt i 6 szt.

1 polubienie

Do celu wgrania pliku .bin polecam będzie działa pod Win jako plik wykonawczy.

Rozumiem, że wgrywam Tasmotę a nie AIS-Tasmotę? czy to to samo i jeszcze prośba o wskazanie które z płytek wymienionych wyżej zamówić czy Espressif ESP32-WROOM oraz prosiłbym link do tej pięknej podstawki na zdjęciu abym mógł zamówić.

Wysłałem Ci wiadomość prywatną. Proszę zobacz zakładkę z kopertą. Nie chcę zaśmiecać tego tematu. Na końcu posumujemy może dokonania.

Odkopie trochę temat.
Założyłem w zbiorniku na eko-groszek hc sr-04.
Mam już pomiar odległości od góry zbiornika i próbuje zrobić wskaźnik procentowy.

Mam kod taki jak poniżej.
120 to maks głębokość zbiornika. co znaczy że 120 cm to 0%.
Oczywiście jest błąd przy sprawdzaniu konfiguracji.
Szukam kombinuje i nie wiem… :frowning:

- sensors:    
   - name: Zasobnik piec w procentach 
     unit_of_measurement: '%'
     value_template: "{{ 120 - (states('sensor.temperatura_piec_sr04_distance_2') | float * 0.0 ) | round(0) }}

Tu umieściłem kod do EspHome z ilością ekogroszku w podajniku w cm.

Widziałem ten wątek.
Wszystko mam na tasmota więc muszę jakoś to ogarnąć.
Sądzę że mój zapis jest prawidłowy tylko oczywiście znowu gdzieś brak przecinka.
@Stravi Możesz spojrzeć ?

w sensor.yaml wpis jak niżej i powinno być OK

- platform: template
  sensors:
    zasobnik_piec_w_procentach:
      friendly_name: "Zasobnik piec w procentach"
      unit_of_measurement: '%'
      value_template: "{{ 120 - (states('sensor.temperatura_piec_sr04_distance_2')|float(2) * 0.01)| round(0) }}"
1 polubienie

Na końcu nie masz znaku ", który jest na początku czyli otwierasz coś znakiem " i musisz to także zamknąć tym samym znakiem " (mam nadzieję, że kumasz, nie wiem jak to fachowo wytłumaczyć :smile:)

Proponuje to najpierw weryfikować w Narzedziach deweloperskich (powinno też być w AIS) a dopiero potem wrzucać do konfiguracji, poniżej na samej górze Twój konfig i konfig @Tomasz 'a, różnicę widać od razu:

1 polubienie

W tej chwili czujnik pokazuje 120% pomimo tego że odległość to około 30 cm.
Dodałem drugi czujnik z wartością 100 ale zachowuje się tak samo jak ten z wartością 120.

Bez tytułu

- sensors:
    zasobnik_piec_w_procentach:
      friendly_name: "Zasobnik piec w procentach"
      unit_of_measurement: '%'
      value_template: "{{ 120 - (states('sensor.temperatura_piec_sr04_distance_2')|float(2) * 0.01)| round(0) }}"


- sensors:
    zasobnik_piec_w_procentach2:
      friendly_name: "Zasobnik piec w procentach2"
      unit_of_measurement: '%'
      value_template: "{{ 100 - (states('sensor.temperatura_piec_sr04_distance_2')|float(2) * 0.01)| round(0) }}"

spróbuj tak:

- platform: template
  sensors:
    zasobnik_piec_w_procentach:
      friendly_name: "Zasobnik piec w procentach"
      unit_of_measurement: '%'
      value_template: "{{ (states('sensor.temperatura_piec_sr04_distance_2')|float(2) / 1.18)| round(0) }}"

Pierwszy jest bez zmian.
Drugi to aktualny kod który przesłałeś.
Wybacz ale ja nic z tego nie rozumiem.
Dla uproszczenia przyjmijmy odległość 100cm.
gdzie 100cm to 0%
Bez tytułu

- platform: template
  sensors:
    zasobnik_piec_w_procentach:
      friendly_name: "Zasobnik piec w procentach"
      unit_of_measurement: '%'
      value_template: "{{ (states('sensor.temperatura_piec_sr04_distance_2')|float(2) / 4)| round(0) }}"

albo

- platform: template
  sensors:
    zasobnik_piec_w_procentach:
      friendly_name: "Zasobnik piec w procentach"
      unit_of_measurement: '%'
      value_template: "{{ 100 - (states('sensor.temperatura_piec_sr04_distance_2')|float(2) / 1.18)| round(0) }}"

i powinno być OK

Działa.
Powiedz teraz jak do tego doszedłeś :slight_smile:
Źródło albo coś :slight_smile:
Poniżej kod dla potomnych.
Przy wartości 120 cm jest 3%
@Tomasz powiedz jak to policzyłeś przyda się do korekty która napewno będzie. :slight_smile:

- sensors:
    zasobnik_piec:
      friendly_name: "Zasobnik piec"
      unit_of_measurement: '%'
      value_template: "{{ 100 - (states('sensor.temperatura_piec_sr04_distance_2')|float(2) / 1.18)| round(0) }}"

A jak zrobić aby była wartość 0% przy 100cm ?

- sensors:
    zasobnik_piec:
      friendly_name: "Zasobnik piec"
      unit_of_measurement: '%'
      value_template: "{{ 100 - (states('sensor.temperatura_piec_sr04_distance_2')|float(2) / 1.0)| round(0) }}"

???

Eeee… ja mam gorączkę ale odnoszę wrażenie że coś tu poszło nie tak z matematyką

{{ (1 - states('sensor.temperatura_piec_sr04_distance_2') / 120) * 100 }}

120 to max odległość

Potrzebne jest odległość 100cm jako 0%.

@Stravi
Twoja formuła jest zupełnie inna.

{{ (1 - states(‘sensor.temperatura_piec_sr04_distance_2’) / 120) * 100 }}

od tej podanej przez @Tomasz

value_template: "{{ 100 - (states(‘sensor.temperatura_piec_sr04_distance_2’)|float(2) / 1.18)| round(0) }}