Supla Device i Kaisai

User avatar
ktsurma
Posts: 167
Joined: Mon Nov 18, 2019 7:07 pm
Location: Zgierz

Post

Czy próbował ktoś podłączyć Suplę do pompy ciepła Kaisai (rodzina MIDEA) w celu czytania parametrów z pompy ciepła i prezentacji w SUPLA. Nie chodzi o sterowanie.
[email protected]
Posts: 1585
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

ktsurma wrote: Mon Mar 11, 2024 2:07 pm Czy próbował ktoś podłączyć Suplę do pompy ciepła Kaisai (rodzina MIDEA) w celu czytania parametrów z pompy ciepła i prezentacji w SUPLA. Nie chodzi o sterowanie.
Próbuje ale do LG Therma V, komunikacja po MODBUS jest możliwa i nawet zadziałała od strzała, może też tedy droga do Kaisai?
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

[email protected] wrote: Tue Aug 13, 2024 11:38 am Próbuje ale do LG Therma V, komunikacja po MODBUS jest możliwa i nawet zadziałała od strzała, może też tedy droga do Kaisai?
Midea też ma modbusa. Czeka to u mnie już od kilku lat na zrobienie :)
Najlepsze suple dla Twojego domu :mrgreen:
[email protected]
Posts: 1585
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

klew wrote: Tue Aug 13, 2024 11:45 am
[email protected] wrote: Tue Aug 13, 2024 11:38 am Próbuje ale do LG Therma V, komunikacja po MODBUS jest możliwa i nawet zadziałała od strzała, może też tedy droga do Kaisai?
Midea też ma modbusa. Czeka to u mnie już od kilku lat na zrobienie :)
To jak mi podpowiesz to może ten czas się skróci :D

Przeglądam źródła supla-device i zgłupiałem czego mam użyć aby osiągnąć taką funkcjonalność - pewnie termostat, ale wydaje mi się to przerost formy nad treścią i nie będę miał żadnego hardware'u po za ESP gadającym po MODBUS z pompą a z tego co widzę trzeba podawać piny podpiętych czujników temperatury.
  • chcę przełączać stan urządzenia włącz/wyłącz grzanie w aplikacji i mieć podgląd aktualnego stanu - podoba mi się jak jest rozwiązane oświetlenie w ROW-02 w aplikacji
  • chcę przełączać stan urządzenia włącz/wyłącz CWU w aplikacji i mieć możliwość zrobienia timera co by było przydatne jeśli chce włączyć grzanie CWU na określony czas na żądanie - pompa ma harmonogram z którego korzystam na co dzień
  • pokazać w aplikację stan: włączony/wyłączony bez możliwości zmiany - domyślam się, że to może być jakiś czujnik binarny z odpowiednimi ikonami
Podgląd wartości liczbowych przemilczę bo to jest jasne.
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

[email protected] wrote: Tue Aug 13, 2024 12:17 pm To jak mi podpowiesz to może ten czas się skróci :D

Przeglądam źródła supla-device i zgłupiałem czego mam użyć aby osiągnąć taką funkcjonalność - pewnie termostat, ale wydaje mi się to przerost formy nad treścią i nie będę miał żadnego hardware'u po za ESP gadającym po MODBUS z pompą a z tego co widzę trzeba podawać piny podpiętych czujników temperatury.
  • chcę przełączać stan urządzenia włącz/wyłącz grzanie w aplikacji i mieć podgląd aktualnego stanu - podoba mi się jak jest rozwiązane oświetlenie w ROW-02 w aplikacji
  • chcę przełączać stan urządzenia włącz/wyłącz CWU w aplikacji i mieć możliwość zrobienia timera co by było przydatne jeśli chce włączyć grzanie CWU na określony czas na żądanie - pompa ma harmonogram z którego korzystam na co dzień
  • pokazać w aplikację stan: włączony/wyłączony bez możliwości zmiany - domyślam się, że to może być jakiś czujnik binarny z odpowiednimi ikonami
Podgląd wartości liczbowych przemilczę bo to jest jasne.
Ja chciałem to zrobić na kanale termostatu, ale proste on/off można też na kanale przekaźnika zrobić.
Termometry można zrobić, jeśli umiesz odczytać z pompy temperatury. Wtedy ich nie ustawiasz na "gpio", tylko odczytujesz wartość po modbus i ustawiasz na kanale tą wartość.
Podobnie stan pracy można pokazać na termostacie.

Umiesz te wszystkie rzeczy zrobić bez Supli? Tzn. wysyłasz odpowiednie polecenia do klimy i reaguje poprawnie? Umiesz odcyztać wszystkie parametry, które chcesz znać?
Najlepsze suple dla Twojego domu :mrgreen:
[email protected]
Posts: 1585
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

klew wrote: Tue Aug 13, 2024 12:42 pm
[email protected] wrote: Tue Aug 13, 2024 12:17 pm To jak mi podpowiesz to może ten czas się skróci :D

Przeglądam źródła supla-device i zgłupiałem czego mam użyć aby osiągnąć taką funkcjonalność - pewnie termostat, ale wydaje mi się to przerost formy nad treścią i nie będę miał żadnego hardware'u po za ESP gadającym po MODBUS z pompą a z tego co widzę trzeba podawać piny podpiętych czujników temperatury.
  • chcę przełączać stan urządzenia włącz/wyłącz grzanie w aplikacji i mieć podgląd aktualnego stanu - podoba mi się jak jest rozwiązane oświetlenie w ROW-02 w aplikacji
  • chcę przełączać stan urządzenia włącz/wyłącz CWU w aplikacji i mieć możliwość zrobienia timera co by było przydatne jeśli chce włączyć grzanie CWU na określony czas na żądanie - pompa ma harmonogram z którego korzystam na co dzień
  • pokazać w aplikację stan: włączony/wyłączony bez możliwości zmiany - domyślam się, że to może być jakiś czujnik binarny z odpowiednimi ikonami
Podgląd wartości liczbowych przemilczę bo to jest jasne.
Ja chciałem to zrobić na kanale termostatu, ale proste on/off można też na kanale przekaźnika zrobić.
Termometry można zrobić, jeśli umiesz odczytać z pompy temperatury. Wtedy ich nie ustawiasz na "gpio", tylko odczytujesz wartość po modbus i ustawiasz na kanale tą wartość.
Podobnie stan pracy można pokazać na termostacie.

Umiesz te wszystkie rzeczy zrobić bez Supli? Tzn. wysyłasz odpowiednie polecenia do klimy i reaguje poprawnie? Umiesz odcyztać wszystkie parametry, które chcesz znać?
Odczytać umiem wszystkie udokumentowane rejestry, zapisywać nie próbowałem, ale skoro komunikacja jest to powinno zadziałać.
Z tego co czytałem instrukcję to da się wystawić na innym adresie dane o zużytej energii co mnie bardziej interesuje ale do tego też dojdę :D

Czyli stworzyć sobie wirtualny termometr na podstawie odczytu z MODBUS i je wykorzystać w termostacie? I dla ogrzewania i CWU osobne termostaty?
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Każdy termostat osobno.
Może zacznij od termometrów i jakiegoś wirtualnego przekaźnika.
Termostat jest trochę bardziej złożony i tego tak w kilku zdaniach nie opiszę
Najlepsze suple dla Twojego domu :mrgreen:
[email protected]
Posts: 1585
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

klew wrote: Tue Aug 13, 2024 2:32 pm Każdy termostat osobno.
Może zacznij od termometrów i jakiegoś wirtualnego przekaźnika.
Termostat jest trochę bardziej złożony i tego tak w kilku zdaniach nie opiszę
Już sobie uruchomiłem termostat na ESP 😋 muszę tylko popatrzeć gdzie się zapiąć z modbusem 😉
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

Tam jest kilka elementów do połapania:
- najprostsze to termometry (wirtualny termometr i wrzucanie odczytu do termometru)
- stan wyjścia termostatu - tutaj trzeba zrobić klasę, która czyta stan z klimy//pompy (0/1 lub 0..100%) i ignoruje sterowane z termostatu Supli
- trzeba dopisać coś co monitoruje tryb pracy termostatu supli wraz z nastawą temperatury i przesyła to do klimy/pompy
- trzeba też odczytywać tryb pracy klimy i ustawiać do na termostacie (aby dobry tryb pokazywał)

Kilka prostych ;) kroków i mamy pełne sterowanie wraz z harmonogramami itp;)
Najlepsze suple dla Twojego domu :mrgreen:
[email protected]
Posts: 1585
Joined: Mon Feb 06, 2023 8:56 am
Has thanked: 18 times
Been thanked: 26 times

Post

klew wrote: Tue Aug 13, 2024 3:10 pm Tam jest kilka elementów do połapania:
- najprostsze to termometry (wirtualny termometr i wrzucanie odczytu do termometru)
- stan wyjścia termostatu - tutaj trzeba zrobić klasę, która czyta stan z klimy//pompy (0/1 lub 0..100%) i ignoruje sterowane z termostatu Supli
- trzeba dopisać coś co monitoruje tryb pracy termostatu supli wraz z nastawą temperatury i przesyła to do klimy/pompy
- trzeba też odczytywać tryb pracy klimy i ustawiać do na termostacie (aby dobry tryb pokazywał)

Kilka prostych ;) kroków i mamy pełne sterowanie wraz z harmonogramami itp;)
Pogrzebałem w kodzie i o ile mam pomysł jak to zrobić, tak czytam ten Twój opis i mam wątpliwości :D

Przypadek użycia, który chce zaimplementować: grzanie CWU - opcja na żądanie bo harmonogram mam w pompie :lol: :roll:

Bo jak bym to robił nie patrząc na Suplę, to zrobił bym tak:
1. Czytał stan z urządzenia i pokazywał na aplikacji zarówno ON/OFF jak i aktualną temp.
2. On/Off - brałbym z aplikacji patrząc na ostatni stan, sprawdzając czy stan urządzenia pozwala akcję wykonać
3. Zadaj temperaturę - aplikacja wie lepiej niż urządzenie, oczywiście w ustalonych granicach - i tu w przypadku pompy nie chciałbym, żeby termostat trzymał ją włączoną aż nie osiągnie temperatury widocznej dla termostatu bo pompa o tym doskonale wie, że tak ma zrobić i będzie pracować aż to osiągnie (lub wyłączy tryb grzania CWU sama jeśli ma zadany harmonogram).

Patrząc na Suplę:
1. Zaimplementował bym akcję w celu złapania zdarzenia ON/OFF i przed Modbus przesyłał co trzeba - pierwszy pomysł poszedłem za opisem i zaimplementowałem OutputInterface ale nie wywołuje mi metod nadpisanych, jak włączam/wyłączam
2. Sprawdzał bym w loopie co jakiś czas czy ostatnia temperatura zadana w Termostacie jest rożna od zadanej w pompie i jeśli tak to ustawiał nową w pompie.

Jak bym miał zgadywać z kodu to pobranie wartości zadanej to:

Code: Select all

  hvac->getTemperatureSetpointHeat()
Złapanie zdarzenia ON/OFF to chyba trzeba by zaimplementować akcję:

Code: Select all

  hvac->addAction(Supla::TURN_OFF, redStatusLed, Supla::ON_HVAC_STANDBY, true);
  hvac->addAction(Supla::TURN_ON, blueStatusLed, Supla::ON_HVAC_STANDBY, true);
Tak przy okazji ;) Zdecydowanie powinieneś pisać chociaż miejscami komentarze w kodzie co do czego służy bo sam kod:

Code: Select all

HvacBase::HvacBase(Supla::Control::OutputInterface *primaryOutput,
                   Supla::Control::OutputInterface *secondaryOutput)
absolutnie nie wyjaśnia czym jest OutputInterface i po co to przekazywać, sama implementacja OutputInterface czy nadpisana metoda w InternalPinOutput też nie bardzo, a przykład z GPIO diody sugeruje przekazywanie informacji ON/OFF.

Istnieje jakiś diagram/ opis co jest wejściem a co wyjściem termostatu lub jak to faktycznie działa?
Bo tak na logikę to jeśli włączony to przekazuj stan wyjściowy ON tak długo aż nie zostanie osiągnięta temperatura zadana +- histereza, a potem wyłącz no nie?

Return to “supla-dev”