Wirtualne przyciski w Supli – integracja z myKRISHOME przez IFTTT
-
SOYER
- Posts: 1623
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
- Been thanked: 2 times
ciąg dalszy, bo mnie to zaciekawiło:
You do not have the required permissions to view the files attached to this post.
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
-
klew
- Posts: 13905
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
Kod przekazuje lambdę do parametru funkcji addAction, gdzie kod wymaga przekazania wskaźnika do klasy dziedziczącej po Supla::ActionHandler.SOYER wrote: Fri Jan 09, 2026 10:07 pm @klew jak znajdziesz chwilę napisz na czym się wywaliło gemini w tym szkicu, żeby mieć pojęcie o czym mówimy.
Nie róbmy tutaj proszę offtopa o możliwościach AI.
Najlepsze suple dla Twojego domu 
-
SOYER
- Posts: 1623
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
- Been thanked: 2 times
Póki co pozwolę sobie nadal tutaj pisać, a kieruję się tym, że po pierwsze, autor sam pisał, że lubi używać AI, po drugie ciągle pracujemy(kto?) na kodzie obsługującym "virtualne przyciski" więc nadal pozostajemy w sferze zainteresowania tego konkretnego tematu.
Ja tylko pokazuję, że obecnie osoby nie zaznajomione mogą już pracować ze wsparciem AI, nikogo nie zmuszam, ani nie przekonuję, że to najlepszy sposób. Pokazuję możliwość.
Przypominam, że pracujemy na tym kodzie zaproponowanym przez AI:
próba kompilacji wyrzuciła pierwszy błąd:
"'ON_EVENT_1' is not a member of 'Supla'
chciałem to wrzucić do AI ale zapomniałem wkleić treść błędu, ale zresztą sami zobaczcie:
Ja tylko pokazuję, że obecnie osoby nie zaznajomione mogą już pracować ze wsparciem AI, nikogo nie zmuszam, ani nie przekonuję, że to najlepszy sposób. Pokazuję możliwość.
Przypominam, że pracujemy na tym kodzie zaproponowanym przez AI:
Code: Select all
#include <SuplaDevice.h>
#include <supla/network/esp_wifi.h>
#include <supla/control/virtual_relay.h>
#include <HTTPClient.h> // Biblioteka do wysyłania Webhooków (dla ESP32)
// --- KONFIGURACJA SIECI I SUPLA ---
const char* ssid = "Twoja_Nazwa_WiFi";
const char* password = "Twoje_Haslo_WiFi";
// Dane z Twojego panelu https://cloud.supla.org (Sekcja Rejestracja Urządzeń)
char GUID[SUPLA_GUID_SIZE] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
const char* supla_server = "svrX.supla.org"; // Twój adres serwera
const char* supla_email = "[email protected]";
Supla::ESPWifi wifi(ssid, password);
// --- DEFINICJA WIRTUALNEGO PRZYCISKU ---
Supla::Control::VirtualRelay *vRelay = nullptr;
void setup() {
Serial.begin(115200);
// 1. Tworzymy instancję wirtualnego przekaźnika
// Pojawi się w aplikacji jako przycisk ON/OFF
vRelay = new Supla::Control::VirtualRelay();
// 2. Dodajemy akcję wyzwalaną po kliknięciu w aplikacji (Zdarzenie TURN_ON)
// To tutaj następuje integracja z myKRISHOME lub IFTTT
vRelay->addAction(Supla::TURN_ON, [](void*) {
Serial.println("Kliknięto przycisk w aplikacji! Wysyłam zapytanie do myKRISHOME...");
// Przykład wysłania zapytania HTTP (Webhook)
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
// Adres Twojego Webhooka (np. z IFTTT lub API myKRISHOME)
http.begin("maker.ifttt.com");
int httpResponseCode = http.GET();
if (httpResponseCode > 0) {
Serial.printf("Sukces, kod odpowiedzi: %d\n", httpResponseCode);
} else {
Serial.print("Błąd wysyłania: ");
Serial.println(httpResponseCode);
}
http.end();
}
// Opcjonalnie: automatyczne wyłączenie "przycisku" po 1 sekundzie (tryb monostabilny)
delay(1000);
vRelay->turnOff();
}, Supla::ON_EVENT_1);
// Inicjalizacja urządzenia w chmurze Supla
SuplaDevice.begin(GUID, supla_server, supla_email, AUTHKEY);
}
void loop() {
SuplaDevice.iterate();
}"'ON_EVENT_1' is not a member of 'Supla'
chciałem to wrzucić do AI ale zapomniałem wkleić treść błędu, ale zresztą sami zobaczcie:
You do not have the required permissions to view the files attached to this post.
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
-
SOYER
- Posts: 1623
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
- Been thanked: 2 times
Tym sposobem uzyskałem kod który się skompilował:
Nie mam jak sprawdzić(dawno temu używałem IFTTT z Blynkiem) więc pytanie czy to ma prawo działać?
P.S. najbardziej kluczowe pytanie zadawane AI zawsze brzmi "jesteś pewny?"

Code: Select all
#include <SuplaDevice.h>
#include <supla/network/esp_wifi.h>
#include <supla/control/virtual_relay.h>
#include <HTTPClient.h>
// --- KONFIGURACJA ---
const char* ssid = "Twoja_Nazwa_WiFi";
const char* password = "Twoje_Haslo_WiFi";
char GUID[SUPLA_GUID_SIZE] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
const char* supla_server = "svrX.supla.org";
const char* supla_email = "[email protected]";
Supla::ESPWifi wifi(ssid, password);
// 1. Tworzymy własną klasę WebhookRelay, która dziedziczy po VirtualRelay
// Dzięki temu mamy pełną kontrolę nad tym, co dzieje się po włączeniu
class WebhookRelay : public Supla::Control::VirtualRelay {
public:
void turnOn(int duration = 0) override {
Serial.println("Przekaźnik włączony - wysyłam Webhook!");
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
http.begin("maker.ifttt.com");
int httpCode = http.GET();
Serial.printf("Odpowiedź HTTP: %d\n", httpCode);
http.end();
}
// Wywołujemy standardowe włączenie
Supla::Control::VirtualRelay::turnOn(duration);
// Opcjonalnie: automatyczne wyłączenie po 500ms (efekt przycisku)
// setNewState(false);
}
};
WebhookRelay *vRelay = new WebhookRelay();
void setup() {
Serial.begin(115200);
// Inicjalizacja Supli
SuplaDevice.begin(GUID, supla_server, supla_email, AUTHKEY);
}
void loop() {
SuplaDevice.iterate();
}P.S. najbardziej kluczowe pytanie zadawane AI zawsze brzmi "jesteś pewny?"
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
-
klew
- Posts: 13905
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
- Has thanked: 134 times
- Been thanked: 137 times
Na oko może ruszyć odpalanie linku, gdy ktoś włączy przekaźnik.SOYER wrote: Sat Jan 10, 2026 8:27 am
Nie mam jak sprawdzić(dawno temu używałem IFTTT z Blynkiem) więc pytanie czy to ma prawo działać?
P.S. najbardziej kluczowe pytanie zadawane AI zawsze brzmi "jesteś pewny?"![]()
![]()
![]()
![]()
Kierunek spoko.
Ale nadal, jak chcesz pokazywać krok po kroku jak gadasz z ai to po prostu udostępnij dyskusję, a tutaj wklej link.
Możesz też spróbować zrobić mini poradnik jak dojść z chatem do działającego kodu (na czymś co sam będziesz w stanie sprawdzić czy działa), tylko załóż sobie temat w "projekty użytkowników", a tutaj nie róbmy offtopa.
AI nadal zachwyca i aż chce się tym dzielić, ale czytanie tego z trzeciej osoby jest już dużo mniej atrakcyjne.
Najlepsze suple dla Twojego domu 
-
SOYER
- Posts: 1623
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
- Been thanked: 2 times
Nie mam takiej ochoty by robić jakieś relacje. Nie używam AI do pisania kodu na codzień, nawet nie raz w tygodniu. Zwyczajnie jak potrzebuję zrobić nową funkcjonalność to oprócz źródeł i zasypywania Was tu pytaniami, używam też najłatwiejszego w dostępie ai czyli tego zaszytego w przeglądarce google. Nie szukam jakichś wymyślnych, specjalizowanych wspomagaczy AI do „szkicowania”.
Po prostu zauważyłem progres AI w tej formie najbardziej dostępnej, w zadaniach o których tu piszemy na forum Supli i postanowiłem się podzielić tym „odkryciem”, że przy pomocy gemini można w 10 minut(zależy ile trwają kompilacje na kompie;)) mieć coś na czym można się opierać i albo wgrać albo jeszcze dopytać na forum;).
To tak tylko informacyjnie dla autora wątku, że AI można nie tyle poprosić o napisanie pytania które wkleimy na forum, ale od razu zadać to pytanie AI.
Po prostu zauważyłem progres AI w tej formie najbardziej dostępnej, w zadaniach o których tu piszemy na forum Supli i postanowiłem się podzielić tym „odkryciem”, że przy pomocy gemini można w 10 minut(zależy ile trwają kompilacje na kompie;)) mieć coś na czym można się opierać i albo wgrać albo jeszcze dopytać na forum;).
To tak tylko informacyjnie dla autora wątku, że AI można nie tyle poprosić o napisanie pytania które wkleimy na forum, ale od razu zadać to pytanie AI.
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
-
Robert Błaszczak
- Posts: 5222
- Joined: Sat Dec 22, 2018 8:55 pm
- Location: Zielona Góra
- Has thanked: 37 times
- Been thanked: 27 times
<OFFTOP>
Tomek, a mógłbyś nie wklejać elaboratów w formie takich długich plików graficznych? Nie da rady przekleić tego jako tekst?
</OFFTOP>
Tomek, a mógłbyś nie wklejać elaboratów w formie takich długich plików graficznych? Nie da rady przekleić tego jako tekst?
</OFFTOP>
Pozdrawiam
Robert Błaszczak
Moja prywatna strona: www.blaszczak.pl
Robert Błaszczak
Moja prywatna strona: www.blaszczak.pl
-
SOYER
- Posts: 1623
- Joined: Wed Aug 10, 2022 12:29 pm
- Location: Kryry
- Been thanked: 2 times
Już nic wklejał nie będę (dzisiaj;)), zawsze screen shot jest bardziej wiarygodny od tekstu pisanego. Dlatego by nie być posądzonym o manipulację, a jednocześnie pokazać jak w kilku krokach można przejść od kompetnie naiwnego pytania do satysfakcjonującego rozwiązania w postaci działającego kodu.Robert Błaszczak wrote: Sat Jan 10, 2026 11:25 am <OFFTOP>
Tomek, a mógłbyś nie wklejać elaboratów w formie takich długich plików graficznych? Nie da rady przekleić tego jako tekst?
</OFFTOP>
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
Jak przewijałem te screens żeby przeczytać co jest pod spodem to ziemia zdążyła przewinąć się dookoła słońcaRobert Błaszczak wrote: Sat Jan 10, 2026 11:25 am <OFFTOP>
Tomek, a mógłbyś nie wklejać elaboratów w formie takich długich plików graficznych? Nie da rady przekleić tego jako tekst?
</OFFTOP>
-
Robert Błaszczak
- Posts: 5222
- Joined: Sat Dec 22, 2018 8:55 pm
- Location: Zielona Góra
- Has thanked: 37 times
- Been thanked: 27 times
Zawsze możesz wrzucić screen na np. Google Drive, a na forum umieścić link. Wiem, że Tobie jest najprościej zrobić zrzut na smartfonie, ale mogę Cię zapewnić, że 99,99% czytających ten wątek Forumowiczów nie będzie przeglądało tych grafik i czytało z nich tekstu.SOYER wrote: Sat Jan 10, 2026 12:14 pmJuż nic wklejał nie będę (dzisiaj;)), zawsze screen shot jest bardziej wiarygodny od tekstu pisanego. Dlatego by nie być posądzonym o manipulację, a jednocześnie pokazać jak w kilku krokach można przejść od kompetnie naiwnego pytania do satysfakcjonującego rozwiązania w postaci działającego kodu.Robert Błaszczak wrote: Sat Jan 10, 2026 11:25 am <OFFTOP>
Tomek, a mógłbyś nie wklejać elaboratów w formie takich długich plików graficznych? Nie da rady przekleić tego jako tekst?
</OFFTOP>
Pozdrawiam
Robert Błaszczak
Moja prywatna strona: www.blaszczak.pl
Robert Błaszczak
Moja prywatna strona: www.blaszczak.pl
