Tinycontrol Lan Kontroler v2.5 - Integracja z Home Assistant

Mam podobnie, ale utworzylem jeszcze jedną instalacje z nr1 CO i w niej juz moge zaznaczyc ktore wykresy chce mieć i temp cwu i co sie dodaja.Nr2 CO i wysylka np f22.2 (cwu)brak wykresów.

Wydaje mi się, że brak danych związany jest z brakiem sygnatury czasowej przy ich wysyłce.

Testowo ręcznie z przeglądarki wysłałem dane z datą i godziną to się pokazały, a bez nie chciały, ktoś ma pomysł jak dodać do tego datę i godzinę w formacie jak opisany wyżej ?
Doszedłem już do tego jak to dodać - zostawiam dla wszystkich :wink:
Time & Date - Home Assistant datę i czas da się wyciągnąć.
W config trzeba dodać:

sensor:
  - platform: time_date
    display_options:
      - 'date_time_iso'

W automatyzacji wtedy będzie to wyglądało tak:

service: rest_command.pvmonitor
data_template:
  pvm: >-
    &tm={{ states("sensor.date_time_iso") }}&F15.5={{
    states("sensor.pompa_ciepla_temperatura_w_domu") }}&F16.5={{
    states("sensor.pompa_ciepla_temperatura_zewnetrzna") }}&F22.5={{
    states("sensor.pompa_ciepla_temperatura_cwu") }}&F26.5={{
    states("sensor.pompa_ciepla_wilgotnosc_w_domu") }}

Wtedy wszystkie dane wpadają jak się należy :wink:

Ja wysyłam bez sensora daty i czasu i działa,ale może dodam. :slightly_smiling_face:

U mnie bez daty i czasu nie chciały się pokazywać dane, weszły za pierwszym wysłaniem, a później się nie dodawały, a jak otworzyłem stronę w przeglądarce to dostałem ERR zamiast OK.

Ktoś wie jak zrobić aby automatyzacja nie odpalała się częściej jak co 3minuty ?

Sam sobie odpowiem dla potomnych
Do config yaml dodać trzeba

timer:
  automatyzacja_opoznienie:
    duration: '00:03:01'

A potem dodać do automatyzacji tak

- id: '1663599200393'
  alias: pvmonitor wilgotność
  description: ''
  trigger:
  - platform: state
    entity_id:
    - sensor.pompa_ciepla_wilgotnosc_w_domu
  condition:
  - condition: state
    entity_id: timer.automatyzacja_opoznienie
    state: idle
  action:
  - service: rest_command.pvmonitor
    data_template:
      pvm: '&tm={{ states("sensor.date_time_iso") }}&F26.2={{ states("sensor.pompa_ciepla_wilgotnosc_w_domu")
        }}'
  - service: timer.start
    data: {}
    target:
      entity_id: timer.automatyzacja_opoznienie
  mode: single

Finalnie działa to tak, że wysyła co każda zmiane stanu ale nie częściej niż 3minuty i 1s, dzięki temu nie robimy zbędnego ruchu na pvminitor a wysyłamy każda zmiane stanu możliwie często - w przypadku temperatur się przydaje bo przy narastaniu potrafią zapisywać co kilka sekund, a to działać będzie jak ddos na serwer.

Dzięki podpowiedzi @wileu ja wysyłam tak

alias: pvmonitor
description: ""
trigger:
  - platform: time_pattern
    minutes: /3
condition: []
action:
  - service: rest_command.pvmonitor
    data_template:
      pvm: >-
        &tm={{states("sensor.date.itd....

Chyba działa ok . Dodałem też dla spełnienia wymogów pvmonitor czas w formie ISO.
Dzięki wszystkim za pomoc w ogarnięciu tej wysyłki , miała być w NR ale w sumie liczy się efekt.Gdyby nie forum pewnie nie byłoby jej nigdy👍

2 polubienia

Czy po ostatnim update NodeRed działa wam ten sposób odczytu z LK? U mnie pokazuje:
msg: string
“Deprecated API warning: Calls to RED.util.evaluateJSONataExpression must include a callback. This will not be optional in Node-RED 4.0. Please identify the node from the following stack and check for an update on npm. If none is available, please notify the node author.”
a drugi błąd jaki się pojawia to:
“Call-service error. Service not found.”

Co ciekawe działało do aktualizacji a teraz nawet przywrócenie kopii nie pomaga.

Coś się chyba zmieniło odnośnie service set_value:
image
pomimo, że jest to wybrane to w polu wyboru już nie istnieje aby wybrać ponownie?

Edit:
W sumie temat już nieaktualny pozbyłem się node-red i użyłem rest do odczytu LK.
Dla zainteresowanych

sensor:
  - platform: rest
    name: "Napięcie zasilania LK"
    resource: http://IP/st0.xml
    scan_interval: 60
    value_template: "{{ (value_json.response.ia1 | float / 10) | round(2) }}"
    unit_of_measurement: 'V'
    json_attributes_path: "$.response.ia1"
  - platform: rest
    name: "zuzycie INP1D(36)"
    resource: http://IP/st0.xml
    scan_interval: 60
    value_template: "{{ (value_json.response.ia20 | float / 1000) | round(2) }}"
    unit_of_measurement: 'kWh'
    json_attributes_path: "$.response.ia20"
  - platform: rest
    name: "Temperatura Inp17(28)"
    resource: http://IP/st0.xml
    scan_interval: 60
    value_template: "{{ (value_json.response.ia35 | float / 10) | round(2) }}"
    unit_of_measurement: '°C'
    json_attributes_path: "$.response.ia35"
1 polubienie

Witam, siedzę już chyba 12 godzin , (próbuję za pomocą rest , w/g ostatniego postu…), co bym nie robił nie chce mi pobrać wartości z LK i wyświetlić w Dasz’u, jest tylko informacja: Nieznany
Chciałbym pobrać wartości , aktualne zużycie, jak to się zakończy powodzeniem zamierzam pobrać wartość “produkcji” PV i zrobić warunek że jak będzie powyżej 2kv odpali gniazdko kanluxa do którego jest podłączona grzałka w CWU.
Ale na ta chwilę za chiny nie chce pociągnąć tych wartości…
Mój LK:


Serdeczne dzieki za pomoc
p.s.
zapomniałem o logu:
lk3
ROZWIĄZANY :)))
Zgubiła mnie “automatyzacja” , po wrzuceniu w/w kodu błędy jak w logach i ni chuchu… dopiero po 24h (zabawa z HA ogólnie trwa 48h) rozbiłem na czynniki pierwsze w Redzie (a w zasadzie chciałem tu to uczynić - pobrać dane) w debuggu wyszedł mi błąd autoryzacji:
lk4

  • EUREKA! i tu jak na wstępie … miałem włączona autoryzacje w LK , po wyłączeniu śmiga :slight_smile:
    Dzięki za pomoc, czasami przelanie myśli z głowy na papier, klawiaturę pomaga :slight_smile:
    teraz przechodzę do pkt 2: Produkcja powyżej 2k załącz gniazdko :slight_smile:
2 polubienia

Witam wszystkich na forum. Jestem tu nowy i trochę zielony jeśli chodzi HA. Posiadam bramkę DEV3 na linuksie i chciałbym dołączyć odczyt LK do mojej bramki. Czy możecie mi pomóc?

pozdr.

Rozumiem że pisząc DEV3 na linuksie masz na myśli AI-Speaker, czyli polski projekt nakładki na HA. Nie znam jej możliwości, ale jeśli możesz na niej doinstalować jako dodatek Node-Red’a, to czytając od początku wątek dasz radę wszystko poustawiać. Jakby co to pytaj w miarę możliwości pomogę.

Na tym dev3 da się postawić HA 🎉 Home Assistant Supervised na DEV3 i PRO1 - Ogłoszenia - AI-Speaker

Witam. Dzięki za zainteresowanie. Tak posiadam DEV3 z postawionym HA. I dlatego proszę o pomoc jak to zrobić. Bo @dar3k podaje przykład ale nie bardzo wiem o co chodzi. Wszystko co robię na mojej bramce to dzięki WAM. Nie jestem znawcą tego tematu.

To w configuration.yaml w HA musisz dopisać co potrzebujesz z LK.
Wejdz przez przeglądarkę na http://IP_lankonwertera/st0.xml
Dostaniesz coś w stylu

<response>
<out0>0</out0>
<out1>0</out1>
...
<ia0>178</ia0>
...
<sec0>312</sec0>
</response>

I z tego co Cię interesuje wpisujesz sobie jako sensory do HA, zgodnie z przykładem tutaj:

sensor:
  - platform: rest
    name: "Napięcie zasilania LK"
    resource: http://IP/st0.xml
    scan_interval: 60
    value_template: "{{ (value_json.response.ia1 | float / 10) | round(2) }}"
    unit_of_measurement: 'V'
    json_attributes_path: "$.response.ia1"
  - platform: rest
    name: "zuzycie INP1D(36)"
    resource: http://IP/st0.xml
    scan_interval: 60
    value_template: "{{ (value_json.response.ia20 | float / 1000) | round(2) }}"
    unit_of_measurement: 'kWh'
    json_attributes_path: "$.response.ia20"
  - platform: rest
    name: "Temperatura Inp17(28)"
    resource: http://IP/st0.xml
    scan_interval: 60
    value_template: "{{ (value_json.response.ia35 | float / 10) | round(2) }}"
    unit_of_measurement: '°C'
    json_attributes_path: "$.response.ia35"

Na głównej stronie LK (bez /st0.xml) masz te dane uporządkowane, więc mam nadzieję, że znajdziesz co potrzebujesz.

Moje podłączenia w LK są takie: LK do którego wejść jest podłączony odczyt zużycia pompy ciepła Inp1D(#36), do wejścia podłączony jest odczyt produkcji fotowoltaiki Inp3D(#32) i odczyt zużycia z całego domu Inp4D(#34).
a po wpisaniu adresu mam coś takiego:
http://192.168.2.149/st0.xml

0 0 0 0 0 1 -18 122 0 -83 0 4346 0 -800 -800 -800 -800 -800 -800 1732647 88 0 6 3745691 0 -5924 221299 75 0 0 442 0 0 512 -72 3966990 -800 -800 -800 -800 -800 -800 12 10 17 0 1704916802

Jeżeli mogę poprosić o jeden przykład jak to napisać.

Czy możecie to sprawdzić:

# Odczyt danych LK
  sensor:
  - platform: rest
    name: "Napięcie zasilania LK"
    resource: http://192.168.2.149/st0.xml
    scan_interval: 60
    value_template: "{{ (value_json.response.ia1 | float / 10) | round(2) }}"
    unit_of_measurement: 'V'
    json_attributes_path: "$.response.ia1"
  - platform: rest
    name: "zuzycie caly dom Inp4D(34)"
    resource: http://192.168.2.149/st0.xml
    scan_interval: 60
    value_template: "{{ (value_json.response.ia20 | float / 1000) | round(2) }}"
    unit_of_measurement: 'kWh'
    json_attributes_path: "$.response.ia20"
  - platform: rest
    name: "zuzycie pompa ciepla Inp1D(36)"
    resource: http://192.168.2.149/st0.xml
    scan_interval: 60
    value_template: "{{ (value_json.response.ia20 | float / 1000) | round(2) }}"
    unit_of_measurement: 'kWh'
    json_attributes_path: "$.response.ia20"
  - platform: rest
    name: "Produkcja Fotowoltaika Inp3D(32)"
    resource: http://192.168.2.149/st0.xml
    scan_interval: 60
    value_template: "{{ (value_json.response.ia20 | float / 1000) | round(2) }}"
    unit_of_measurement: 'kWh'
    json_attributes_path: "$.response.ia20"

Jak dopisałem do configu i po sprawdzeniu ma błędy:
Ostrzeżenia konfiguracji

Invalid config for ‘panel_iframe’ at configuration.yaml, line 24: expected a dictionary for dictionary value ‘panel_iframe->sensor’, got [{‘platform’: ‘rest’, ‘name’: ‘Napięcie zasilania LK’, ‘resource’: ‘http://192.168.2.149/st0.xml’, ‘scan_interval’: 60, ‘value_template’: ‘{{ (value_json.response.ia1 | float / 10) | round(2) }}’, ‘unit_of_measurement’: ‘V’, ‘json_attributes_path’: ‘$.response.ia1’}, {‘platform’: ‘rest’, ‘name’: ‘zuzycie caly dom Inp4D(34)’, ‘resource’: ‘http://192.168.2.149/st0.xml’, ‘scan_interval’: 60, ‘value_template’: ‘{{ (value_json.response.ia20 | float / 1000) | round(2) }}’, ‘unit_of_measurement’: 'k…

brak błędów, polskie znaki.

I co teraz, jak mogę to zobaczyć w HA?

Powinny się wygenerować sensory z tego rest oczywiście dopiero po ponownym uruchomieniu HA,
ALE
prawdopodobnie masz złe wcięcia w tym YAMLu, a on reaguje na każdą użytą spację… więc nie licz na cud, ostrzeżenia świadczą, że raczej skleiłeś to z jakąś poprzednią sekcją YAMLa, a wkleiłeś tylko jakiś kawałek, a nie całość, więc nikt nie przeanalizuje co jest skopane…

Dzięki, nie ma błędów. Tak to wygląda po dodaniu sensorów na karcie:

Brak odczytów.

Ale ten YAML to stworzyłeś chyba na pałę nie analizując w ogóle co jest z czym powiązane i skąd się mają brać dane…
z całą pewnością nie możesz 3x użyć

ia20 

Może sobie wyobraź, że nie jesteśmy w twojej sieci LAN, więc sobie nie sięgniemy do
http://192.168.2.149/st0.xml
by pobrać dane

pobierz tego JSONa czy tam XMLa i wklej TEKST do posta w taki sposób by coś było widać - screenshot jest do d…

Swoją drogą to i tak sam sobie musisz powiązać identyfikatory danych ze swoją realna instalacją, jak mielibyśmy to zgadnąć?

Cze, to powiedz jakie dane mam podać to podam.

a to jest wyżej: http://192.168.2.149/st0.xml

A nie rozumiesz, że nie będę przepisywał z obrazka?
Przykład dostarczony przez @dar3k jest chyba wystarczająco jasny.