Forum eCoal.pl v3.5 Integracja z Home Assistant Subskrybuj | ||||
Pierwsza stronaPoprzednia strona2 / 4Następna stronaOstatnia strona | ||||
|
||||
Jaccyk
|
Tylko nie wiem jak, bo jeszcze nie pokazaliście🤣
Proszę o instrukcje. Ja potrafię tylko kopiuj-wklej🤪 |
|||
|
||||
mkaminski76
|
pab11o napisał » 2021-11-27 18:54 U mnie wszystko działa od strzału jedynie nie mogę ogarnąć jak dokładnie ma wyglądać wpis dotyczący w jakim trybie jest kocioł Alarmowy/automatyczny/manualny. Za Tryb pracy odpowiada parametr: tryb_auto_state gdzie: - 1 oznacza tryb automatyczny - 0 tryb ręczny |
|||
|
||||
pab11o
|
a alarmowy?
dodane 2021-11-29 01:49 pab11o napisał » 2021-11-29 01:37 W sumie już działa tylko jak zrobić aby zamiast 1 był tekst automatyczny a zamiast 0 ręczny
a alarmowy? |
|||
|
||||
OldShaterhan
|
A z ciekawości - myślał ktoś z Was nad pełnoprawną integracją do HA? Mi chodzi po głowie, ale Python to nie moja broszka :/
Jest do wersji 2.4 (https://www.home-assistant.io/integrations/ecoal_boiler/ ), ale no, do nowych nie, a myślę, że byłoby fajnie mieć możliwość programowania (choćby temp w pokojach ), a nie tylko też odczytu z poziomu HA dodane 2021-11-29 23:33 To mój sample kodu, tylko daty mi niestety nie działają... Podpowie ktoś coś? #### eCoal sensor # Odczyt temperatury zewnętrznej - platform: rest name: pello_temp_zew #friendly_name: Temperatura zewnętrzna resource: http://log:pass@IP_pieca/getregister.cgi?device=0&tzew_value value_template: {{ value_json["cmd"]["device"]["reg"]["@v"] }} unit_of_measurement: "°C" device_class: temperature # Odczyt poziomu paliwa - platform: rest name: pello_poziom_paliwa #friendly_name: Poziom paliwa resource: http://log:pass@IP_pieca/getregister.cgi?device=0&fuel_level value_template: {{ value_json["cmd"]["device"]["reg"]["@v"] }} unit_of_measurement: "%" # Odczyt daty następnego zasypu - platform: rest name: pello_data_zasypu #friendly_name: Data zasypu resource: http://log:pass@IP_pieca/getregister.cgi?device=0&next_fuel_time value_template: {{ value_json["cmd"]["device"]["reg"]["@v"] }} device_class: timestamp - platform: template sensors: pello_data_nast_zasypu: friendly_name: "Data następnego zasypu" value_template: {{ states(sensor.pello_data_zasypu) | int | timestamp_custom("%Y-%m-%d %H:%M") }} device_class: timestamp - platform: rest name: pello_temp_cwu_aktualna #friendly_name: Temperatura CWU resource: http://log:pass@IP_pieca/getregister.cgi?device=0&tcwu_value value_template: {{ value_json["cmd"]["device"]["reg"]["@v"] }} unit_of_measurement: "°C" - platform: rest name: pello_temp_kotla #friendly_name: Temperatura kotła resource: http://log:pass@IP_pieca/getregister.cgi?device=0&tkot_value value_template: {{ value_json["cmd"]["device"]["reg"]["@v"] }} unit_of_measurement: "°C" device_class: temperature |
|||
|
||||
puter
|
Komuś udało się wyciągnąć wilgotność z czujnika pokojowego???
|
|||
|
||||
Jaccyk
|
Ja zrobiłem na razie 2 tryby # Example configuration.yaml entry - platform: template sensors: tryb_pracy_bruli: friendly_name: "Tryb pracy" value_template: >- {%- if is_state("sensor.tryb_pracy", "1") -%} Automatyczny {%- else -%} Ręczny {%- endif -%} I nawet działa |
|||
|
||||
mkaminski76
|
Poniżej zamieszczam aktualizację dotyczącą odczytu daty następnego zasypu
# Odczyt daty następnego zasypu - platform: rest name: data_zasypu resource: http://root:root@adres_ip/getregister.cgi?device=0&next_fuel_time value_template: {{ value_json["cmd"]["device"]["reg"]["@v"] | int | timestamp_custom("%Y-%m-%d %H:%M") }} Nie ma potrzeby używać platformy template aby prawidłowo sformatować datę dodane 2021-12-01 22:20 Jaccyk napisał » 2021-11-30 20:17 Ja zrobiłem na razie 2 tryby # Example configuration.yaml entry - platform: template sensors: tryb_pracy_bruli: friendly_name: "Tryb pracy" value_template: >- {%- if is_state("sensor.tryb_pracy", "1") -%} Automatyczny {%- else -%} Ręczny {%- endif -%} I nawet działa Poniżej mała aktualizacja Twojego kodu która powinna wykryć również stan Alarmowy - platform: template sensors: tryb_pracy_bruli: friendly_name: "Tryb pracy" value_template: >- {% if is_state("sensor.tryb_pracy", "1") %} Automatyczny {% elif is_state("sensor.tryb_pracy", "0") %} Ręczny {% else %} Alarmowy {% endif %} kod powinien kończyć się na znaku } 14 i 15 to są oznaczenia kolejnych linii kodu, które są błędnie interpretowane przez formatowanie na stronie forum |
|||
|
||||
OldShaterhan
|
puter napisał » 2021-11-30 17:03 Komuś udało się wyciągnąć wilgotność z czujnika pokojowego??? Nie mam czujnika, ale prawdopodobnie coś w stylu: - platform: rest name: pello_wilgotnosc_pok #friendly_name: Wilgotność resource: http://log:pas@IP/getregister.cgi?device=id_urzadzenia&rh value_template: {{ value_json["cmd"]["device"]["reg"]["@v"] }} unit_of_measurement: "%" device_class: humidity id_urzadzenia możesz spróbować odczytać z http://IP_pieca/getdevices.cgi (jeśli są bezprzewodowe) |
|||
|
||||
Jaccyk
|
Dzięki. Już poprawiłem i działa.
|
|||
|
||||
pab11o
|
Wielkie Dzięki Pany
|
|||
|
||||
OldShaterhan
|
Czy ktoś z Was ma problem z tym odczytywaniem danych, że często pojawiają się Wam notki, że encja jest niedostępna? U mnie w efekcie np. często ostatnio wykrywa stan alarmowy, nie wiem dokładnie dlaczego...
Z reguły problem dotyczy tylko jednej ze skonfigurowanych encji. Raz to była temp. zewnętrzna, potem data zasypu, teraz mam tak z trybem pracy... #### eCoal sensor # Odczyt temperatury zewnętrznej - platform: rest name: pello_temp_zew #friendly_name: Temperatura zewnętrzna resource: http://uzyt:pass@IP/getregister.cgi?device=0&tzew_value value_template: {{ value_json["cmd"]["device"]["reg"]["@v"] }} unit_of_measurement: "°C" device_class: temperature # Odczyt temperatury wewnętrznej - czujnik pieca - platform: rest name: pello_temp_wew #friendly_name: Temperatura wewnętrzna resource: http://uzyt:pass@IP/getregister.cgi?device=0&twew_value value_template: {{ value_json["cmd"]["device"]["reg"]["@v"] }} unit_of_measurement: "°C" device_class: temperature # Odczyt poziomu paliwa - platform: rest name: pello_poziom_paliwa #friendly_name: Poziom paliwa resource: http://uzyt:pass@IP/getregister.cgi?device=0&fuel_level value_template: {{ value_json["cmd"]["device"]["reg"]["@v"] }} unit_of_measurement: "%" # Odczyt daty następnego zasypu - platform: rest name: pello_data_nast_zasypu resource: http://uzyt:pass@IP/getregister.cgi?device=0&next_fuel_time value_template: {{ value_json["cmd"]["device"]["reg"]["@v"] | int | timestamp_custom("%Y-%m-%d %H:%M") }} - platform: rest name: pello_temp_cwu_aktualna #friendly_name: Temp CWU aktualna resource: http://uzyt:pass@IP/getregister.cgi?device=0&tcwu_value value_template: {{ value_json["cmd"]["device"]["reg"]["@v"] }} unit_of_measurement: "°C" - platform: rest name: pello_temp_kotla #friendly_name: Temperatura kotła resource: http://uzyt:pass@IP/getregister.cgi?device=0&tkot_value value_template: {{ value_json["cmd"]["device"]["reg"]["@v"] }} unit_of_measurement: "°C" device_class: temperature - platform: rest name: pello_tryb_pracy_state #friendly_name: Tryb pracy resource: http://uzyt:pass@IP/getregister.cgi?device=0&tryb_auto_state value_template: {{ value_json["cmd"]["device"]["reg"]["@v"] }} - platform: template sensors: pello_tryb_pracy: friendly_name: "Tryb pracy" value_template: >- {% if is_state("sensor.pello_tryb_pracy_state", "1") %} Automatyczny {% elif is_state("sensor.pello_tryb_pracy_state", "0") %} Ręczny {% else %} Alarmowy {% endif %} |
|||
|
||||
Jaccyk
|
Moje działa od początku bez problemu. Tylko data zasypu źle pokazuje.
|
|||
|
||||
OldShaterhan
|
Jaccyk napisał » 2021-12-13 14:32 Moje działa od początku bez problemu. Tylko data zasypu źle pokazuje. Tzn? Pokaż kod, może uda się podpowiedzieć. |
|||
|
||||
Jaccyk
|
||||
|
||||
OldShaterhan
|
Na szybko zerkając - robisz rekurencję - odwołujesz się do samego siebie - definiujesz sensor data_zasypu_bruli jako coś co ma czytać dane z data_zasypu_bruli, przez co najpewniej pokazuje oryginalną datę. W oryginalnym kodzie jest to trochę niedopowiedziane.
Jeśli chcesz datę ostatniego zasypania - to analogicznie do szablonu na datę następnego zasypu zamień na: # Odczyt daty ostatniego zasypu - platform: rest name: pello_data_ostatniego_zasypu resource: http://user:pass@IP/getregister.cgi?device=0&add_fuel_time value_template: {{ value_json["cmd"]["device"]["reg"]["@v"] | int | timestamp_custom("%Y-%m-%d %H:%M") }} device_class: date add_fuel_time - to jest data ostatniego zasypu powinno śmigać Przy czym u mnie niestety mam wrażenie, że timeoutuje jakby, spróbuję przepisać ten config na coś trochę bardziej mniej zawalającego sieć dodane 2021-12-14 00:06 A mój problem... Logger: homeassistant.components.rest.data Source: components/rest/data.py:74 Integration: RESTful (documentation, issues) First occurred: 00:02:30 (8 occurrences) Last logged: 00:04:15 Error fetching data: http://us:pass@IP/getregister.cgi?device=0&tryb_auto_state failed with All connection attempts failed Obstawiam, że requesty się wybijają/zabijają piec, jak pisałem - spróbuję zrobić coś bardziej przyjaznego dodane 2021-12-14 00:48 @Jaccyk ile miałeś wpiętych do środka rzeczy (ile danych wyciągałeś)? Bo ciekawi mnie dlaczego u mnie nie dawało rady, a u Ciebie tak. Generalnie ok. 5-7 rzeczy na raz u mnie się wysypuje I szybka aktualizacja potencjalnie mniej zabójczej integracji (w efekcie - stabilniejszej) rest: - authentication: basic username: "us" password: "pass" scan_interval: 30 resource: http://IP/getregister.cgi?device=0&tzew_value&twew_value&fuel_level&add_fuel_time&next_fuel_time&tcwu_value&tkot_value&tryb_auto_state # 0 1 2 3 4 5 6 7 sensor: # Odczyt temperatury zewnętrznej - name: pello_temp_zew value_template: {{ value_json["cmd"]["device"]["reg"][0]["@v"] }} unit_of_measurement: "°C" device_class: temperature # json_attributes_path: "$.response.system" # json_attributes: # - "runstate" # - "model" # - "opmode" # - "freeze" # - "time" # - "sensor1" # - "sensor2" # - "sensor3" # - "sensor4" # - "sensor5" # - "version" # Odczyt temperatury wewnętrznej - czujnik pieca - name: pello_temp_wew value_template: {{ value_json["cmd"]["device"]["reg"][1]["@v"] }} unit_of_measurement: "°C" device_class: temperature # Odczyt poziomu paliwa - name: pello_poziom_paliwa #friendly_name: Poziom paliwa value_template: {{ value_json["cmd"]["device"]["reg"][2]["@v"] }} unit_of_measurement: "%" device_class: battery # Odczyt daty ostatniego zasypu - name: pello_data_ostatniego_zasypu value_template: {{ value_json["cmd"]["device"]["reg"][3]["@v"] | int | timestamp_custom("%Y-%m-%d %H:%M") }} #device_class: date - test disabled # Odczyt daty następnego zasypu - name: pello_data_nast_zasypu value_template: {{ value_json["cmd"]["device"]["reg"][4]["@v"] | int | timestamp_custom("%Y-%m-%d %H:%M") }} #device_class: date - test disabled - name: pello_temp_cwu_aktualna #friendly_name: Temp CWU aktualna value_template: {{ value_json["cmd"]["device"]["reg"][5]["@v"] }} unit_of_measurement: "°C" - name: pello_temp_kotla #friendly_name: Temperatura kotła value_template: {{ value_json["cmd"]["device"]["reg"][6]["@v"] }} unit_of_measurement: "°C" device_class: temperature - name: pello_tryb_pracy_state #friendly_name: Tryb pracy value_template: {{ value_json["cmd"]["device"]["reg"][7]["@v"] }} Jeszcze klasę do dat muszę ogarnąć, bo aktualnie jest zła, ale to pikuś. Więcej rzeczy - wkrótce Jakby ktoś był zainteresowany w jakichś konkretnych rzeczach - dajcie znać, zobaczę jak wyciągnąć (pokoje planuję później, na nie będzie osobny request najpewniej potrzebny) |
|||
|
||||
Tomisss
|
Temperatura z głowicy oraz temperatura i wilgotności z czujnika radiowego BT1. Od 1 do 20 głowice, od 21 czujniki radiowe. Najlepiej sprawdzić wywołując polecenie: http://user:pass@IP/syncvalues.cgi
#Odczyt temperatuty (głowica TH2) - platform: rest resource: http://user:pass@IP/getregister.cgi?21@vtemp name: Temperatura w salonie device_class: temperature value_template: {{ value_json["cmd"]["device"]["reg"]["@v"] | float(0) | round(1) }} unit_of_measurement: "°C" scan_interval: 60 Przed {{ i po }} wstawiamy # Odczyt temperatury z czujnika radiowego (BT1) - platform: rest resource: http://user:pass@IP/getregister.cgi?2@temp name: Temperatura u dzieci device_class: temperature value_template: {{ value_json["cmd"]["device"]["reg"]["@v"] | float(0) | round(1) }} unit_of_measurement: "°C" scan_interval: 60 # Odczyt wilgotności (czujnik BT1) - platform: rest resource: http://user:pass@IP/getregister.cgi?2@temp name: Wilgotność w pokoju dzieci device_class: humidity value_template: {{ value_json["cmd"]["device"]["reg"]["@v"] }} unit_of_measurement: "%" scan_interval: 60 |
|||
|
||||
Jaccyk
|
@Jaccyk ile miałeś wpiętych do środka rzeczy (ile danych wyciągałeś)? Bo ciekawi mnie dlaczego u mnie nie dawało rady, a u Ciebie tak. Generalnie ok. 5-7 rzeczy na raz u mnie się wysypuje
10 encji których używam plus encja daty zasypu(źle pokazuje) i ilość ekogroszku procentowe którego nie używam bo mam zrobione w Supli. Już dwa tygodnie działa bez problemu. |
|||
|
||||
OldShaterhan
|
Jaccyk napisał » 2021-12-14 14:58 10 encji których używam plus encja daty zasypu(źle pokazuje) i ilość ekogroszku procentowe którego nie używam bo mam zrobione w Supli. Już dwa tygodnie działa bez problemu. Ciekawe czemu u mnie wywala te pojedyncze encje na tamtym kodzie, a na przepisanym jest stabilniej, choć też czasem piec jakby nie daje rady odpowiedzieć... Ten kod na stan alarmowy też jest do lekkiego przepisania, bo jeśli piec nie odpowie to u mnie przechodzi z automatu w alarm, a może się zdarzyć błąd sieci czy coś i wtedy zdaje się null/none powinien być... |
|||
|
||||
Jaccyk
|
Jestem teraz w pracy. Z komórki przestawiam z trybu automat na ręczny i średnio p 10 sekundach w HA mam zmianę na ręczny. Zrobione jak pokazał kolega mkaminski76
- platform: template sensors: tryb_pracy_bruli: friendly_name: "Tryb pracy" value_template: >- {% if is_state("sensor.tryb_pracy", "1") %} Automatyczny {% elif is_state("sensor.tryb_pracy", "0") %} Ręczny {% else %} Alarmowy {% endif %} |
|||
|
||||
OldShaterhan
|
Też tak mam, ale to świruje w przypadku, gdy połączenie z piecem się nie uda jak ktoś ma na bazie tego automatyzacje ustawione.
|
|||
Pierwsza stronaPoprzednia strona2 / 4Następna stronaOstatnia strona | ||||