Supla CFG + webserver

mtcz
Posts: 32
Joined: Tue Sep 27, 2022 12:34 pm

Post

Cześć
Tworzę moduł do sterowania klimatyzatorem przez diodę IR. Z tego co wiem to supla nie obsługuje dokładnego sterowania(mogę tylko zrobić on/off przez virtualrelay).
Stworzyłem więc webserver, który przyjmuje odpowiednie parametry:

Code: Select all

ESP8266WebServer server(80);
server.on("/ac", handleRoot);
  server.on("/off", handleOff);
  server.on("/on", handleOn);
  server.onNotFound(handleNotFound);
  server.begin();


Niestety w takiej sytuacji nie potrafię skorzystać z webservera Supla::EspWebServer
Chciałbym pozbyć się osobnego webservera i skorzystać z tego od supli ale otrzymuję błąd

Code: Select all

'class Supla::EspWebServer' has no member named 'on'
Odkryłem że mogę postawić własny webserver na innym porcie dzięki czemu oba się nie gryzą. Ale po co dwa osobne jak wszystko mógłby obsługiwać ten od Supli
User avatar
klew
Posts: 13909
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

Jak chcesz z tego korzystać? Jak stawiasz własny web server, to w zasadzie to jest sterowanie pomijające Suplę. Do czego więc tutaj Supla potrzebna?

Supla::EspWebServer jest zrobiony do obsługi trybu konfiguracyjnego i raczej nie miał w zamyśle możliwości rozbudowania o dodatkowe URL.
Natomiast jeśli chcesz, to jest metoda:
::ESPWebServer *Supla::EspWebServer::getServerPtr()

która zwróci Ci wskaźnik na serwer z ESP.
Najlepsze suple dla Twojego domu :mrgreen:
mtcz
Posts: 32
Joined: Tue Sep 27, 2022 12:34 pm

Post

Mam podłączone dodatkowo czujniki temperatury. Supla ma fajną historię temperatury. Najczęściej będzie używane jedynie on/off.
Czasem będzie trzeba zmienić ustawienie klimatyzatora i myślałem że najłatwiej będzie zrobić to poprzez wysłanie zapytania IP/ac?temp=24&fan=1&mode=2
Na razie pozostanę chyba na opcji z innym portem.

Fajnie jakby z aplikacji supla można było całkowicie sterować klimatyzatorem. Nie myślał ktoś o tym może? ;) Trzeba by tylko suple spiąć z biblioteką https://github.com/crankyoldgit/IRremoteESP8266
User avatar
klew
Posts: 13909
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

mtcz wrote: Thu Dec 22, 2022 12:44 pm Mam podłączone dodatkowo czujniki temperatury. Supla ma fajną historię temperatury. Najczęściej będzie używane jedynie on/off.
Czasem będzie trzeba zmienić ustawienie klimatyzatora i myślałem że najłatwiej będzie zrobić to poprzez wysłanie zapytania IP/ac?temp=24&fan=1&mode=2
Na razie pozostanę chyba na opcji z innym portem.
Podałem Tobie metodę, która zwraca wskaźnik na ten serwer z bibliotek ESP. Na nim możesz odpalić te metody "on()" itd.
Najlepsze suple dla Twojego domu :mrgreen:
mtcz
Posts: 32
Joined: Tue Sep 27, 2022 12:34 pm

Post

Trochę się pomęczyłem zanim ogarnąłem jak tego użyć.
Faktycznie udało mi się uruchomić to na webserver supli ale działa to tylko w trybie konfiguracyjnym :roll:
Można uruchomić webserver poza trybem konfiguracji?
User avatar
klew
Posts: 13909
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 135 times
Been thanked: 137 times

Post

mtcz wrote: Thu Dec 22, 2022 2:03 pm Trochę się pomęczyłem zanim ogarnąłem jak tego użyć.
Faktycznie udało mi się uruchomić to na webserver supli ale działa to tylko w trybie konfiguracyjnym :roll:
Można uruchomić webserver poza trybem konfiguracji?
Można, ale weź pod uwagę, że każdy z dostępem do Twojej domowej sieci, może wejść i przestawić konfigurację.

Wystarczy wywołać:

Code: Select all

SuplaDevice.handleAction(0, Supla::START_LOCAL_WEB_SERVER);
Tylko to należy zrobić jednorazowo w loop() po tym jak sieć będzie gotowa ( if (Supla::Network::IsReady() ).
Najlepsze suple dla Twojego domu :mrgreen:

Return to “Arduino IDE”