Jak przesłać dane z apk do urządzenia?

User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

Ok, a powiedz mi jest to do naprawienia na szybko, czy na dłuższy termin. Bo muszę kończyć te termostaty, więc ewentualnie inaczej napiszę zapis do eepromu. Chyba, że jest to szybki fix.
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 137 times
Been thanked: 137 times

Post

SOYER wrote: Sun Mar 12, 2023 5:07 pm Ok, a powiedz mi jest to do naprawienia na szybko, czy na dłuższy termin. Bo muszę kończyć te termostaty, więc ewentualnie inaczej napiszę zapis do eepromu. Chyba, że jest to szybki fix.
Może wystarczy nadpisać metodę onInit.
Dodaj w klasie:
void onInit() override {}
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

ok, idę...
co robi ta linijka?
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

Dziękuję @klew. Zadziałało. Teraz już nic nie odejmuje. :D

Mam jeszcze jedno pytanie o przekaźnik. Potrzebuję znać informację o tym, że ktoś kliknął na apk i włączył lub wyłączył fizyczny przekaźnik.
Chcę użytkownikowi zostawić możliwość ręcznego sterowania przekaźnikiem, ale chcę też by ta informacja pojawiała się na wyświetlaczu LCD, że przekaźnik został wyłączony/włączony "ręcznie" w apk na telefonie.
Mam w kodzie takie coś, zresztą za Twoją radą, jak chciałem sterować przekaźnikiem przy pomocy swojej zmiennej :
Supla::Control::Relay *relay2 = nullptr;
relay2 = new Supla::Control::Relay(D6, false);////GNIAZDKO
Co mam napisać by dostać info, że ktoś kliknął ON/OFF?
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 137 times
Been thanked: 137 times

Post

Jakie źródła sterowania tym gniazdkiem chcesz rozróżniać?
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

Chcę tylko wiedzieć, że je włączono/wyłączono z aplikacji, by na ekranie napisać, że pompa została wł/wył ręcznie.
Teraz wyświetlam info o tym, że to termostat wł lub wył., ale na urządzeniu muszę mieć też info o ręcznej ingerencji( przez apk).
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 137 times
Been thanked: 137 times

Post

SOYER wrote: Sun Mar 12, 2023 6:06 pm Chcę tylko wiedzieć, że je włączono/wyłączono z aplikacji, by na ekranie napisać, że pompa została wł/wył ręcznie.
Teraz wyświetlam info o tym, że to termostat wł lub wył., ale na urządzeniu muszę mieć też info o ręcznej ingerencji( przez apk).
To musiałbyś zrobić klasę, która dziedziczy po Relay i nadpisać metodę handleNewValueFromServer. W Twojej implementacji musiałbyś jakąś flagą sobie oznaczać, że nowa wartość przyszła z serwera.
Trzeba by jeszcze w innym miejscu tą "flagę" czyścić, tzn. wtedy gdy urządzenie autonomicznie zmienia wartość tego przekaźnika.

Natomiast wydaje mi się, że to jest trochę więcej dłubania.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

Napisz coś więcej o tym handleNewValueFromServer.
Jednak chyba najprościej będzie czytać stan pinu fizycznego i porównać ze stanem termostatu. Jeśli pin będzie LOW a termostat Off to znaczy, że ktoś kliknął w apk.
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 137 times
Been thanked: 137 times

Post

SOYER wrote: Mon Mar 13, 2023 7:22 am Napisz coś więcej o tym handleNewValueFromServer.
Jednak chyba najprościej będzie czytać stan pinu fizycznego i porównać ze stanem termostatu. Jeśli pin będzie LOW a termostat Off to znaczy, że ktoś kliknął w apk.
Ta metoda jest odpalana, gdy przychodzi jakiś "rozkaz" z serwera (kliknięcie z apki/clouda, harmonogram, asystenci głosowi, skrypty). Natomiast sterowanie lokalne (przyciski, czy inne klasy) raczej tej metody nie używają, więc na tej podstawie można odróżnić skąd przyszedł rozkaz.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

Dzięki za wszystko. Jeszcze tylko ostatnie poprawki.
Tu krótki filmik:
https://youtu.be/D03KZIbqY1M
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79

Return to “Pomoc”