UWAGA: Strona oraz Forum Smart'ny Dom nie będzie dostępne 23 Grudnia 2024 ze względu na przenoszenie serwisu na mocniejszą maszynę.
W tym czasie polecam poświęcenie swojego czasu na pomoc partnerowi w przygotowaniu udanych Świąt 😉
Za niedogodności z góry przepraszam, admin
Witam,
Gdzieś w zakątkach internetu natknąłem się na projekt licznika wody. Zainspirowany kolejną automatyzacją i wrodzonym pociągiem do lutownicy, narysowałem schemat i zaprojektowałem płytkę na bazie modułu wemos. Do odczytów wykorzystałem tranoptor pc817, ponieważ w szafie zalega pełno czujników indukcyjnych, które pracują na wyższych napięciach (10-30V). Jako, że w jlcpcb trzeba zamówić minimum 5 płytek, to postanowiłem dorzucić układ do odczytywania impulsów z licznika prądu omron (piny S0+ S0-). Narysowałem także uchwyt do czujnika pasujący pod wodomierz Itron. Na początku chciałem zainstalować na wemosie micropythona i napisać program do wysyłania odczytów jsonem do domoticza. W między czasie przeszedłem na Home Assistanta i koncepcja się zmieniła. Poszedłem po najmniejszej lini oporu, wgrałem Tasmotę i na pinie D5 ustawiłem licznik (counter). Za pomocą konsoli w tasmocie ustawiłem odpowiednią wartość z licznika (np. Counter 39072). I w tym momencie zaczynają się schody. HA mam od niedawna i konfiguracja plików yaml nie bardzo mi wychodzi. Mam za pomocą integracji Tasmota dodaną encję z licznikiem, ale chciałbym dodatkowo dopisać jednostkę na końcu wskazania, a dla odczytu prądu potrzebuję odczytaną wartość podzielić i dopiero wyświetlić na panelu. Do pliku configuration.yaml dodałem linijkę:
sensor: !include sensor.yaml
a mój plik sensor.yaml wygląda tak:
platform: mqtt
name: “Licznik wody”
state_topic: “tele/licznik_49AD0C/SENSOR”
#value_template: “{{{{value_json[‘COUNTER’].C1 |float / 1000 }}”
value_template: "{{(sensor.licznik_counter_c1) |float / 10000 }}"
unit_of_measurement: “m3”
Kombinuje już na różne sposoby, tj. wykorzystuje nazwę zmiennej z encji, lub próbuję pobrać wartość bezpośrednio z wemosa. Niestety cały czas wyskakuje mi zamiast wartości "unknown"
Może ktoś mnie naprowadzi, gdzie popełniam błąd? Pozdrawiam Marcin
Nie wiem ,czy nie używasz jakiś dziwnych cudzysłowiów (czy jak to się pisze) , po wkopiowaniu do mnie na pewno nie działają ,musiałem je zastąpić ( albo to problem wrzucaniu i kopiowaniu przez forum , albo faktycznie musisz użyć właściwych).
Można dodać ścieżkę w configuration.yaml ,ale ja to robię w katalogu /config/packages , jak HA nakazuje: https://www.home-assistant.io/docs/configuration/packages
A plik /config/packages/sensor.yaml zrobić tak:
sensor: - platform: mqtt name: "Licznik wody" state_topic: "tele/licznik_49AD0C/SENSOR" value_template: '{{(value_json) | float / 1000 }}' unit_of_measurement: 'm3'
oczywiście value_json trzeba dopasować do formatu , coś w ten deseń: value_json.counter.c1.value ( musiałbyś wstawić tego jsona jak to tasmota do mqtt wysyła).
@marcingajda
"musiałbyś wstawić tego jsona jak to tasmota do mqtt wysyła"
Da się to jakoś podejrzeć?
Np programem MQTT Explorer , i podłączyć się do brokera mqtt.
Panowie, pijcie ze mną kompot:P
Licznik działa:))) Powodem problemów były dziwne apostrofy. Zamieniłem wszystkie i teraz już jest ok:)
Jeżeli ktoś byłby zainteresowany projektem płytki to mogę udostępnić wraz z wykazem elementów oraz plik stl uchwytu do czujnika indukcyjnego.
J.W. 🙂
Dajcie na p.w. emaila to wam wyślę paczkę.
Ja niestety musiałem zdemontować, bo mi pogrozili:P
Można dodać ścieżkę w configuration.yaml ,ale ja to robię w katalogu /config/packages , jak HA nakazuje: https://www.home-assistant.io/docs/configuration/packages
A plik /config/packages/sensor.yaml zrobić tak:
sensor: - platform: mqtt name: "Licznik wody" state_topic: "tele/licznik_49AD0C/SENSOR" value_template: '{{(value_json) | float / 1000 }}' unit_of_measurement: 'm3'1. Czy ten plik packages trzeba sobie utworzyć (świeżo po instalacji u mnie go nie ma) ?
2. W yaml muszę podać jakoś do niego odniesienie?
Ad.1 Tak ,trzeba utworzyć
Ad.2 w coniguration.yaml trzeba dopisać:
homeassistant: packages: !include_dir_named packages
I później wszystkie .yaml z katalogu packages będą uwzględniane ( więc nazwy obojętne).
@leckimarcin można zastosować coś takiego za licznikiem:
https://pl.aliexpress.com/item/1005002782714389.html?spm=a2g0o.productlist.0.0.125f644942KHEd&algo_pvid=593d1fbc-124a-4279-8748-b3b276f055d8&algo_exp_id=593d1fbc-124a-4279-8748-b3b276f055d8-0&pdp_ext_f=%7 B"sku_id"%3A"12000022218729976"%7D&pdp_npi=2%40dis%21PLN%21%2136.07%21%21%21%21%21%400b0a0ac216545004589827706e663c%2112000022218729976%21sea