Virtual relay we własnym kodzie ESP32-C3
-
Alex1603
- Posts: 93
- Joined: Sat Jan 01, 2022 1:46 pm
Masz całkowitą rację , sam dzisiaj zastanawiałem się czy ten awatar pasuje do supli , wczoraj analizując posty innych pomyślałem że też mógłbym dane uzupełnić . Akurat ten ma długą historię i to pozostałość z CSGO , z raczej steam . Tam pasował lepiej
. Może kojarzyć się z komunizmem , ruchem lewicowym albo być wyrazem buntu i siły , ale ma też aktualnie znaczenie oporu przeciw niesprawiedliwości- niekoniecznie politycznej . Rozumiem że może wywoływać negatywne emocje - da się nad tym popracować
. Na pewno znajdę coś odpowiedniego dla tutejszego klimatu .
*-------------- Pomysłów po sufit, czasu po kostki --------------*
*------ https://github.com/Rebel1603?tab=repositories ------*
*------ https://github.com/Rebel1603?tab=repositories ------*
Bardzo Ci dziękuję że tak do tego podszedłeś i za szybką reakcję. Nie ukrywam że na taką odpowiedź szczerze mówiąc liczyłem bo mnie zaczynały nachodzić wyrzuty sumienia czy dobrze robiłem że Ci pomogłem
A te znaczenia co opisałeś to jak najbardziej wiem, tylko że dokładnie jest tak jak sam napisałeś nie wszędzie wszystko pasuje a tym bardziej jak ktoś nie ma szansy wiedzieć o co tu z tym "biega"
Edit:
Tak przy okazji... W CSGO też grałem wiele wiele lat
Last edited by zzrr on Wed Oct 29, 2025 9:21 am, edited 1 time in total.
Zmień kolor czerwony na zielony i będzie OKAlex1603 wrote: Wed Oct 29, 2025 9:15 am Masz całkowitą rację , sam dzisiaj zastanawiałem się czy ten awatar pasuje do supli , wczoraj analizując posty innych pomyślałem że też mógłbym dane uzupełnić . Akurat ten ma długą historię i to pozostałość z CSGO , z raczej steam . Tam pasował lepiej. Może kojarzyć się z komunizmem , ruchem lewicowym albo być wyrazem buntu i siły , ale ma też aktualnie znaczenie oporu przeciw niesprawiedliwości- niekoniecznie politycznej . Rozumiem że może wywoływać negatywne emocje - da się nad tym popracować
. Na pewno znajdę coś odpowiedniego dla tutejszego klimatu .
Wiesz, że Supla obsługuje Zigbee? Wstąp do Klubu Promila: https://forum.supla.org/viewtopic.php?t=18018
Szukasz nowego GG? Jest tutaj: https://forum.supla.org/viewtopic.php?t=18036-
Alex1603
- Posts: 93
- Joined: Sat Jan 01, 2022 1:46 pm
@zzrr
Jestem pasjonatem elektroniki od dziecka, inżynierem ale i osobą zdrowo myślącą
- pewnie sam bym przyszedł na to wkrótce . Możesz liczyć na satysfakcjonującą zmianę 
Jestem pasjonatem elektroniki od dziecka, inżynierem ale i osobą zdrowo myślącą
*-------------- Pomysłów po sufit, czasu po kostki --------------*
*------ https://github.com/Rebel1603?tab=repositories ------*
*------ https://github.com/Rebel1603?tab=repositories ------*
Wyrzuty mnie zaczęły męczyć a Twoja reakcja mogła być też inna. Popadłbym w depresję i byłoby niedobrze, A tak jest wszystko jasneAlex1603 wrote: Wed Oct 29, 2025 9:55 am @zzrr
Jestem pasjonatem elektroniki od dziecka, inżynierem ale i osobą zdrowo myślącą- pewnie sam bym przyszedł na to wkrótce . Możesz liczyć na satysfakcjonującą zmianę
![]()
-
Alex1603
- Posts: 93
- Joined: Sat Jan 01, 2022 1:46 pm
Witam kolegów ,
Chciałem podziękować za pomoc - oczywiście wszystko zadziałało , muszę to teraz tylko dopracować i myślę że będzie do użycia. Miałbym wcześniej ale chciałem popracować nad tym nieszczęsnym awatarem aby już nikogo w oczy nie kłuło
.
W zasadzie po zakończeniu tego tematu a jest nim oczekiwany termostat różnicowy - chciałbym go udostępnić w formie w jakiej każdy mógłby go zastosować no i tam gdzie jego należne miejsce a więc w zakładce Termostat różnicowy. Sam oczywiście będę wykonywał do niego płytkę PCB i może drukował dedykowaną obudowę 3D, na mam jeszcze kilka niewiadomych o które chciałbym zapytać :
- jeśli już uruchomię konfig w którym mogę ustawić histerezę i czas co który następuję przełączenie przekaźnika, to czy i jak mogę ustawiać histerezę co mniej niż pełny stopień, być może nie jest wymagane ale nie wiadomo , na razie kod mam taki: i mogę zmieniać co 1 stopień,
- drugie pytanie do wejścia w konfig : funkcja poniżej działa bardzo dobrze ale nigdy nie wiem kiedy zacząć 10xclick, czy można to jakoś poprawić aby np. po starcie układ czekał chwile na moje 10x click ?
- i ostatnie pytanie ale to już pewnie wyższa szkoła - czy można konfigurować w konfigu np. gdy nie potrzebuję dodatkowych funkcji jak Auto/Man , Chłodzenie<>Grzanie, On/Off i wyłączyć je w konfigu, tak aby wyłaczenie przyniosło efekt w kodzie ? czy to możliwe lub czy łatwiej zrobić dwa oddzielne modele termostatu - może nie każdy potrzebuje rozbudowanego menu- wtedy nie ma tematu
- jeśli chciałbym wygenerować poprawnie kod dla innego użytkownika, z Arduino - jak to poprawnie zrobić i utworzyć dobrego zipa (z opisem sposobu programowania czyli jeden bin albo kilka jak w GG)
To na razie moje pytania, z góry dziękuję za odpowiedź i pozdrawiam
Jeśli temat termostatu powinienem już przenieść gdzie indziej proszę o informację
Chciałem podziękować za pomoc - oczywiście wszystko zadziałało , muszę to teraz tylko dopracować i myślę że będzie do użycia. Miałbym wcześniej ale chciałem popracować nad tym nieszczęsnym awatarem aby już nikogo w oczy nie kłuło
W zasadzie po zakończeniu tego tematu a jest nim oczekiwany termostat różnicowy - chciałbym go udostępnić w formie w jakiej każdy mógłby go zastosować no i tam gdzie jego należne miejsce a więc w zakładce Termostat różnicowy. Sam oczywiście będę wykonywał do niego płytkę PCB i może drukował dedykowaną obudowę 3D, na mam jeszcze kilka niewiadomych o które chciałbym zapytać :
- jeśli już uruchomię konfig w którym mogę ustawić histerezę i czas co który następuję przełączenie przekaźnika, to czy i jak mogę ustawiać histerezę co mniej niż pełny stopień, być może nie jest wymagane ale nie wiadomo , na razie kod mam taki:
Code: Select all
int32_t val1 = 0;
if (Supla::Storage::ConfigInstance()->getInt32(PARAM1, &val1))
{
SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM1, val1);
histereza = val1; //histereza pomiędzy Temp_out a temp_in
}
else
{
SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM1);
}
int32_t val2 = 0;
if (Supla::Storage::ConfigInstance()->getInt32(PARAM2, &val2))
{
SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM2, val2);
meas_cycle = val2*1000; //cykl przełaczania relay K1
}
else
{
SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM2);
}
}
- drugie pytanie do wejścia w konfig : funkcja poniżej działa bardzo dobrze ale nigdy nie wiem kiedy zacząć 10xclick, czy można to jakoś poprawić aby np. po starcie układ czekał chwile na moje 10x click ?
Code: Select all
// Przycisk konfiguracyjny 10x click
auto cfgButton = new Supla::Control::Button(CONFIG_BUTTON_PIN, true, true);
cfgButton->setMulticlickTime(800, false);
cfgButton->addAction(Supla::TOGGLE_CONFIG_MODE, SuplaDevice, Supla::ON_CLICK_10);- jeśli chciałbym wygenerować poprawnie kod dla innego użytkownika, z Arduino - jak to poprawnie zrobić i utworzyć dobrego zipa (z opisem sposobu programowania czyli jeden bin albo kilka jak w GG)
To na razie moje pytania, z góry dziękuję za odpowiedź i pozdrawiam
Jeśli temat termostatu powinienem już przenieść gdzie indziej proszę o informację
You do not have the required permissions to view the files attached to this post.
*-------------- Pomysłów po sufit, czasu po kostki --------------*
*------ https://github.com/Rebel1603?tab=repositories ------*
*------ https://github.com/Rebel1603?tab=repositories ------*
jak to nie wiesz kiedy zacząć? Zaczynasz kiedy chcesz. A jak masz urządzenie po pierwszym wgraniu firmware to AP się włącza automatycznie. Wtedy nie musisz wywoływać configa. Oczywiście do wersji SD < 25.8 i po czyszczonym przed wgraniem softu flashu.Alex1603 wrote: Wed Oct 29, 2025 8:46 pm ... funkcja poniżej działa bardzo dobrze ale nigdy nie wiem kiedy zacząć 10xclick, czy można to jakoś poprawić aby np. po starcie układ czekał chwile na moje 10x click ?Code: Select all
// Przycisk konfiguracyjny 10x click auto cfgButton = new Supla::Control::Button(CONFIG_BUTTON_PIN, true, true); cfgButton->setMulticlickTime(800, false); cfgButton->addAction(Supla::TOGGLE_CONFIG_MODE, SuplaDevice, Supla::ON_CLICK_10);
Tutaj masz viewtopic.php?p=216201#p216201Alex1603 wrote: Wed Oct 29, 2025 8:46 pm jeśli chciałbym wygenerować poprawnie kod dla innego użytkownika, z Arduino - jak to poprawnie zrobić i utworzyć dobrego zipa
A co do zmian w configu... niby wszystko jest możliwe ale tu już trzeba albo zmieniać bibliotekę albo klasy dziedziczyć albo też może być tak że się nie da w ogóle bo nie będzie grało z kanałem na cloudzie. Musiałby już się wypowiedzieć ktoś z wyższego levelu.
Co do screna... Jeśli chcesz zrobić termostat różnicowy to może dodaj jeszcze jeden termometr wirtualny na którym będziesz relayem ustawiał różnicę przy jakiej ma zadziałać.
[/quote]
-
Alex1603
- Posts: 93
- Joined: Sat Jan 01, 2022 1:46 pm
To by tłumaczyło brak AP - nie czyszczę flasha, wgrywam po prostu jak leci , a jeśli chodzi o 10x Click to załapuje na początku po restarcie , później już nie bardzo . Z komplikowaniem kodu dam sobie może na razie spokój , jedynie jeśli by dało radę zmieniać tą histerezę co 0.1 albo 0.5 stopnia byłoby coś , nie ma to ogromnego znaczenia ale czasami lepiej porównywać coś prawie progowo . No i sprawdzę rzeczywiście generowanie binarek jak pokazałeś - dziękuję .
*-------------- Pomysłów po sufit, czasu po kostki --------------*
*------ https://github.com/Rebel1603?tab=repositories ------*
*------ https://github.com/Rebel1603?tab=repositories ------*
Jak nie zobisz kasowania Flash to Ci wszystkie dane zostają w pamieci mikrokontrolera i sie AP nie uruchamia bo nie potrzebujeAlex1603 wrote: Wed Oct 29, 2025 9:43 pm To by tłumaczyło brak AP - nie czyszczę flasha, wgrywam po prostu jak leci , a jeśli chodzi o 10x Click to załapuje na początku po restarcie , później już nie bardzo . Z komplikowaniem kodu dam sobie może na razie spokój , jedynie jeśli by dało radę zmieniać tą histerezę co 0.1 albo 0.5 stopnia byłoby coś , nie ma to ogromnego znaczenia ale czasami lepiej porównywać coś prawie progowo . No i sprawdzę rzeczywiście generowanie Bonarek jak pokazałeś - dziękuję .
histerezę da sie co 0,1
hvac->setTemperatureHisteresisMin(10); // 10 to 0,1 jak masz w kodzie 100 to min jakie możesz ustawiać to 1. Musi być skasowany kanał na cloudzie po zmianach
hvac->setTemperatureHisteresisMax(1000);
a 10CLK musi działać tak jak masz. No chyba że coś innego w kodzie blokuje. Może gdzieś jakiegoś Delay() wstawiłeś i zegar się gubi
Edit:
Chyba Cię w błąd wprowadziłem ale nie skłamałem
