W nowym sofcie do sterowników PELLO dodaliśmy obsługę BUFORA. Więcej informacji na forum lub w tym pliku
Forum  eCoal.pl v3.5  Integracja z Home Assistant Subskrybuj
Pierwsza stronaPoprzednia strona2 / 4Następna stronaOstatnia strona
2021-11-28 19:47
  Jaccyk Posty: 9 Ostrzeżenie: 0
Tylko nie wiem jak, bo jeszcze nie pokazaliście🤣
Proszę o instrukcje. Ja potrafię tylko kopiuj-wklej🤪
2021-11-28 21:01
  mkaminski76 Posty: 25 Ostrzeżenie: 0
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
2021-11-29 01:49
  pab11o Posty: 559 Ostrzeżenie: 0
a alarmowy?

dodane 2021-11-29 01:49
pab11o napisał » 2021-11-29 01:37
a alarmowy?
W sumie już działa tylko jak zrobić aby zamiast 1 był tekst automatyczny a zamiast 0 ręczny
2021-11-29 23:33
  OldShaterhan Posty: 32 Ostrzeżenie: 0
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
2021-11-30 17:03
  puter Posty: 101 Ostrzeżenie: 0
Komuś udało się wyciągnąć wilgotność z czujnika pokojowego???
2021-11-30 20:17
  Jaccyk Posty: 9 Ostrzeżenie: 0
pab11o napisał » 2021-11-29 01:49
a alarmowy?

dodane 2021-11-29 01:49
pab11o napisał » 2021-11-29 01:37
a alarmowy?
W sumie już działa tylko jak zrobić aby zamiast 1 był tekst automatyczny a zamiast 0 ręczny



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
2021-12-01 22:20
  mkaminski76 Posty: 25 Ostrzeżenie: 0
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
pab11o napisał » 2021-11-29 01:49
a alarmowy?

dodane 2021-11-29 01:49
pab11o napisał » 2021-11-29 01:37
a alarmowy?
W sumie już działa tylko jak zrobić aby zamiast 1 był tekst automatyczny a zamiast 0 ręczny



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
2021-12-01 23:50
  OldShaterhan Posty: 32 Ostrzeżenie: 0
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)

2021-12-02 13:34
  Jaccyk Posty: 9 Ostrzeżenie: 0
Dzięki. Już poprawiłem i działa.
2021-12-02 15:15
  pab11o Posty: 559 Ostrzeżenie: 0
Wielkie Dzięki Pany
2021-12-13 13:39
  OldShaterhan Posty: 32 Ostrzeżenie: 0
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 %} 
2021-12-13 14:32
  Jaccyk Posty: 9 Ostrzeżenie: 0
Moje działa od początku bez problemu. Tylko data zasypu źle pokazuje. 

2021-12-13 18:25
  OldShaterhan Posty: 32 Ostrzeżenie: 0
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ć. 
2021-12-13 20:01
  Jaccyk Posty: 9 Ostrzeżenie: 0
Tzn? Pokaż kod, może uda się podpowiedzieć. 



  - platform: template
    sensors:
      data_zasypu_bruli:
        friendly_name: "Data zasypu bruli"
        value_template: "{{ states(sensor.data_zasypu_bruli) | int | timestamp_custom(%Y-%m-%d %H:%M) }}"

I taka data mi wychodzi.


Data następnego zasypu jest ok.
2021-12-14 00:48
  OldShaterhan Posty: 32 Ostrzeżenie: 0
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)
2021-12-14 02:41
  Tomisss Posty: 83 Ostrzeżenie: 0
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
2021-12-14 14:58
  Jaccyk Posty: 9 Ostrzeżenie: 0
@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. 
2021-12-14 15:19
  OldShaterhan Posty: 32 Ostrzeżenie: 0
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ć...
2021-12-14 16:04
  Jaccyk Posty: 9 Ostrzeżenie: 0
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 %} 
2021-12-14 19:02
  OldShaterhan Posty: 32 Ostrzeżenie: 0
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
Użytkownicy online: harrypajak, jareckicbr, staryv