Webinterface czasowy(?)

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
User avatar
Zibi_007
Posts: 579
Joined: Tue Oct 31, 2023 10:06 pm

Post

SOYER wrote: Sun Feb 02, 2025 11:28 am
klew wrote: Fri Jan 31, 2025 5:27 pm Samo wifi zostaw Supli.
Natomiast dla mqtt utwórz sobie klasę klient tak samo jak to robiłeś wcześniej.
Na esp8266 raczej dwóch szyfrowanych połączeń nie zrobisz ze względu na pamięć RAM.
Oba iterate mogą być, o ile żaden nie będzie blokować wykonania pętli.
Da się jakoś wyłączyć to szyfrowanie żeby to zadziałało? Samo mqtt działa, sama supla.iterate też , jak dam razem to się sypie.
Szkoda mi specjalnie zamawiać esp32, a nie mam w szufladzie.
Przewidując tego typu problemy proponowałam Ci przejście na ESP32. Pisałem Ci, że te moduły można kupić za kilka zł. OK, teraz nie masz w szufladzie, ale jakbyś kupił, gdy pisałem, to miałbyś je już na biurku, albo przynajmniej w drodze (do mnie dochodzą max, w 5-7 dni).
Nawet jak to odpalisz na starym ESP, to tam np. po kilku wejściach w GUI pamięć potrafi się kurczyć, a jak zejdzie poniżej 10 kilobajtów, to robią się cuda. Testowanie czegoś takiego to męczarnia (piszę z doświadczenia). A Ty jeszcze masz kilka innych rzeczy w tym kodzie. Przejdź na ESP32 i nie kombinuj.
Mam propozycję, serio. Opłać paczkomat (może masz jakiś darmowy kod na przesyłkę w aplikacji INPOSTu). Wyślę Ci jutro jakieś C3 (gratis) i będziesz miał we wtorek w domu. To będzie taki mój malutki wkład w ten projekt ;-) Pisz na PW.
Zachęcam do dodawania urządzeń Zigbee do bramki Z2S, zgłoszenia tutaj: https://forum.supla.org/viewtopic.php?t=16638

Nec Hercules contra plures!
SOYER
Posts: 1282
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

Tak, ale nie miałem do tego głowy. Gdzie zamawiasz u chińczyka, że tak szybko dochodzi?
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
User avatar
Zibi_007
Posts: 579
Joined: Tue Oct 31, 2023 10:06 pm

Post

SOYER wrote: Sun Feb 02, 2025 12:06 pm Tak, ale nie miałem do tego głowy. Gdzie zamawiasz u chińczyka, że tak szybko dochodzi?
U Chińczyka, ale wysyłają z Europy, jak mają w magazynach. Wejdź na oferty łączone i wyszukaj ESP32-C3. Dzisiaj są wyjątkowo drogo - 6,29 zł za sztukę. Kup 3, to wysyłkę będziesz miał za darmo, a najpóźniej 13.02 będzie u Ciebie (zazwyczaj jest dużo wcześniej, rekord to 3 dni, bo wysyłają z Europy). Możliwe, że u Ciebie będzie taniej (szczególnie, jak masz kartę walutową, np. Revoult), płacąc bez przewalutowania.
You do not have the required permissions to view the files attached to this post.
Zachęcam do dodawania urządzeń Zigbee do bramki Z2S, zgłoszenia tutaj: https://forum.supla.org/viewtopic.php?t=16638

Nec Hercules contra plures!
SOYER
Posts: 1282
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

Mam zagwozdkę, w kodzie mam:

Code: Select all

const char PARAM1[] = "MQTT server";
const char PARAM2[] = "MQTT user";
const char PARAM3[] = "MQTT password";
const char PARAM4[] = "device ID";
const char PARAM5[] = "channel ID";
const char PARAM6[] = "night_h_start";
const char PARAM7[] = "night_h_end";
const char PARAM8[] = "message";
potem:

Code: Select all

char mqtt_server[50] ={};
char mqtt_user[50] ={};
char mqtt_pass[50] ={};
int dv_id;
int chann_id;
int night_h_start;
int night_h_stop;
char message[25]={};
potem w SETUP:

Code: Select all

SuplaDevice.addClock(new Supla::Clock);
  auto clock1 = SuplaDevice.getClock();
  new Supla::Html::CustomTextParameter(PARAM1, "MQTT server", 50);
  new Supla::Html::CustomTextParameter(PARAM2, "MQTT user", 50);
  new Supla::Html::CustomTextParameter(PARAM3, "MQTT password", 50);
  new Supla::Html::CustomParameter(PARAM4, "device ID");
  new Supla::Html::CustomParameter(PARAM5, "channel ID");
  new Supla::Html::CustomParameter(PARAM6, "night_h_start");
  new Supla::Html::CustomParameter(PARAM7, "night_h_end");
  new Supla::Html::CustomTextParameter(PARAM8, "push message", 25);
  Supla::Notification::RegisterNotification(-1);
  SuplaDevice.setSuplaCACert(suplaCACert);
  SuplaDevice.setSupla3rdPartyCACert(supla3rdCACert);
    paramSave();
  SuplaDevice.begin();
funkcja paramSave:

Code: Select all

void paramSave(){
  if (Supla::Storage::ConfigInstance()->getString(PARAM1, mqtt_server, 50)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %s", PARAM1, mqtt_server);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM1);
  }
  
  if (Supla::Storage::ConfigInstance()->getString(PARAM2, mqtt_user, 50)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM2, mqtt_user);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM2);
  }
  if (Supla::Storage::ConfigInstance()->getString(PARAM3, mqtt_pass, 50)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM3, mqtt_pass);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM3);
  }
  if (Supla::Storage::ConfigInstance()->getInt32(PARAM4, &dv_id)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM4, dv_id);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM4);
  }
  if (Supla::Storage::ConfigInstance()->getInt32(PARAM5, &chann_id)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM5, chann_id);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM5);
  }
  if (Supla::Storage::ConfigInstance()->getInt32(PARAM6, &night_h_start)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM6, night_h_start);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM6);
  }
  if (Supla::Storage::ConfigInstance()->getInt32(PARAM7, &night_h_stop)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM7, night_h_stop);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM7);
  }
  if (Supla::Storage::ConfigInstance()->getString(PARAM8, message, 200)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM8, message);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM8);
  }
}
dla mqtt_user i mqtt_pass wpisuję(w web interface) ciąg znaków alfanumerycznych, tych podanych przy uruchamianiu mqtt supli. Zresztą podobnie jak w mqtt_server. Jednak mqtt_server zapisuje się prawidłowo, a dla mqtt_user, mqtt_pass i message zapisuje się ciąg numeryczny(wpisałem poniżej przykładowy/losowy ciąg znaków). Dal device id i channel id zapisuje dobrze. Jest jakiś problem z okienkami tekstowymi, PARAM2,3 i 8, a PARAM1 jest ok.
Proszę logi:

Code: Select all

14:04:57.673 -> Using Supla protocol version 23
14:04:57.720 -> Current status: [5] SuplaDevice initialized
14:04:57.767 -> Enter normal mode
14:04:57.767 ->  *** Supla - Initialization done
14:04:57.815 ->  **** Param[MQTT server]: mqttxx.supla.org
14:04:57.862 ->  **** Param[MQTT user]: 3752840273
14:04:57.909 ->  **** Param[MQTT password]: 9387362549
14:04:57.955 ->  **** Param[device ID]: 1111
14:04:58.002 ->  **** Param[channel ID]: 1111
14:04:58.002 ->  **** Param[night_h_start]: 1
14:04:58.050 ->  **** Param[night_h_end]: 7
14:04:58.094 ->  **** Param[message]: 5859493303
Również kiedy w loop uruchomię jeden raz na początku wypisanie zawartości zmiennych:

Code: Select all

void loop() {
  if(!wf){
  Serial.print("dv:.............");
  Serial.println(dv_id);
  Serial.print("channel:.............");
  Serial.println(chann_id);
  Serial.print("serwer:.............");
  Serial.println(mqtt_server);
  Serial.print("user:.............");
  Serial.println(mqtt_user);
  Serial.print("password:.............");
  Serial.println(mqtt_pass);
    wf=1;
  }
to otrzymuję:

Code: Select all

14:04:58.142 -> dv:.............0
14:04:58.142 -> channel:.............0
14:04:58.142 -> serwer:.............
14:04:58.189 -> user:.............
14:04:58.189 -> password:.............
Why?
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
SOYER
Posts: 1282
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

SOYER wrote: Sun Feb 02, 2025 1:13 pm Mam zagwozdkę, w kodzie mam:

Code: Select all

const char PARAM1[] = "MQTT server";
const char PARAM2[] = "MQTT user";
const char PARAM3[] = "MQTT password";
const char PARAM4[] = "device ID";
const char PARAM5[] = "channel ID";
const char PARAM6[] = "night_h_start";
const char PARAM7[] = "night_h_end";
const char PARAM8[] = "message";
potem:

Code: Select all

char mqtt_server[50] ={};
char mqtt_user[50] ={};
char mqtt_pass[50] ={};
int dv_id;
int chann_id;
int night_h_start;
int night_h_stop;
char message[25]={};
potem w SETUP:

Code: Select all

SuplaDevice.addClock(new Supla::Clock);
  auto clock1 = SuplaDevice.getClock();
  new Supla::Html::CustomTextParameter(PARAM1, "MQTT server", 50);
  new Supla::Html::CustomTextParameter(PARAM2, "MQTT user", 50);
  new Supla::Html::CustomTextParameter(PARAM3, "MQTT password", 50);
  new Supla::Html::CustomParameter(PARAM4, "device ID");
  new Supla::Html::CustomParameter(PARAM5, "channel ID");
  new Supla::Html::CustomParameter(PARAM6, "night_h_start");
  new Supla::Html::CustomParameter(PARAM7, "night_h_end");
  new Supla::Html::CustomTextParameter(PARAM8, "push message", 25);
  Supla::Notification::RegisterNotification(-1);
  SuplaDevice.setSuplaCACert(suplaCACert);
  SuplaDevice.setSupla3rdPartyCACert(supla3rdCACert);
    paramSave();
  SuplaDevice.begin();
funkcja paramSave:

Code: Select all

void paramSave(){
  if (Supla::Storage::ConfigInstance()->getString(PARAM1, mqtt_server, 50)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %s", PARAM1, mqtt_server);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM1);
  }
  
  if (Supla::Storage::ConfigInstance()->getString(PARAM2, mqtt_user, 50)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM2, mqtt_user);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM2);
  }
  if (Supla::Storage::ConfigInstance()->getString(PARAM3, mqtt_pass, 50)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM3, mqtt_pass);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM3);
  }
  if (Supla::Storage::ConfigInstance()->getInt32(PARAM4, &dv_id)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM4, dv_id);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM4);
  }
  if (Supla::Storage::ConfigInstance()->getInt32(PARAM5, &chann_id)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM5, chann_id);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM5);
  }
  if (Supla::Storage::ConfigInstance()->getInt32(PARAM6, &night_h_start)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM6, night_h_start);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM6);
  }
  if (Supla::Storage::ConfigInstance()->getInt32(PARAM7, &night_h_stop)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM7, night_h_stop);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM7);
  }
  if (Supla::Storage::ConfigInstance()->getString(PARAM8, message, 200)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM8, message);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM8);
  }
}
dla mqtt_user i mqtt_pass wpisuję(w web interface) ciąg znaków alfanumerycznych, tych podanych przy uruchamianiu mqtt supli. Zresztą podobnie jak w mqtt_server. Jednak mqtt_server zapisuje się prawidłowo, a dla mqtt_user, mqtt_pass i message zapisuje się ciąg numeryczny(wpisałem poniżej przykładowy/losowy ciąg znaków). Dal device id i channel id zapisuje dobrze. Jest jakiś problem z okienkami tekstowymi, PARAM2,3 i 8, a PARAM1 jest ok.
Proszę logi:

Code: Select all

14:04:57.673 -> Using Supla protocol version 23
14:04:57.720 -> Current status: [5] SuplaDevice initialized
14:04:57.767 -> Enter normal mode
14:04:57.767 ->  *** Supla - Initialization done
14:04:57.815 ->  **** Param[MQTT server]: mqttxx.supla.org
14:04:57.862 ->  **** Param[MQTT user]: 3752840273
14:04:57.909 ->  **** Param[MQTT password]: 9387362549
14:04:57.955 ->  **** Param[device ID]: 1111
14:04:58.002 ->  **** Param[channel ID]: 1111
14:04:58.002 ->  **** Param[night_h_start]: 1
14:04:58.050 ->  **** Param[night_h_end]: 7
14:04:58.094 ->  **** Param[message]: 5859493303
Również kiedy w loop uruchomię jeden raz na początku wypisanie zawartości zmiennych:

Code: Select all

void loop() {
  if(!wf){
  Serial.print("dv:.............");
  Serial.println(dv_id);
  Serial.print("channel:.............");
  Serial.println(chann_id);
  Serial.print("serwer:.............");
  Serial.println(mqtt_server);
  Serial.print("user:.............");
  Serial.println(mqtt_user);
  Serial.print("password:.............");
  Serial.println(mqtt_pass);
    wf=1;
  }
to otrzymuję:

Code: Select all

14:04:58.142 -> dv:.............0
14:04:58.142 -> channel:.............0
14:04:58.142 -> serwer:.............
14:04:58.189 -> user:.............
14:04:58.189 -> password:.............
Why?
Kto mi wytknie gdzie robię błąd? @klew?
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
zjacek
Posts: 25
Joined: Tue May 11, 2021 5:29 pm

Post

raz używasz %s a innym razem %d
User avatar
klew
Posts: 10406
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław

Post

Wrzuć to proszę na githuba, albo gdzieś i daj link do całego kodu.
SOYER
Posts: 1282
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

klew wrote: Mon Feb 03, 2025 9:00 am Wrzuć to proszę na githuba, albo gdzieś i daj link do całego kodu.

Code: Select all

#include <SuplaDevice.h>//////https://github.com/SUPLA
#include <supla/network/esp_wifi.h>
#include <supla/storage/littlefs_config.h>
#include <supla/network/esp_web_server.h>
#include <supla/network/html/device_info.h>
#include <supla/network/html/protocol_parameters.h>
#include <supla/network/html/wifi_parameters.h>
#include <supla/network/html/custom_parameter.h>
#include <supla/network/html/custom_text_parameter.h>
#include <supla/device/supla_ca_cert.h>
#include <supla/device/notifications.h>
#include <PubSubClient.h>
#include <supla/clock/clock.h> //int suplaClock.getYear(); getMonth(); getDay(); getDayOfWeek();1 - Sunday, 2 - Monday getHour(); getMin(); getSec();

Supla::ESPWifi wifi;
Supla::Clock clock1;
Supla::LittleFsConfig configSupla(4000);
Supla::EspWebServer suplaServer;
Supla::Html::DeviceInfo htmlDeviceInfo(&SuplaDevice);
Supla::Html::WifiParameters htmlWifi;
Supla::Html::ProtocolParameters htmlProto;
WiFiClientSecure client1;
PubSubClient client(client1);

const char PARAM1[] = "MQTT server";
const char PARAM2[] = "MQTT user";
const char PARAM3[] = "MQTT password";
const char PARAM4[] = "device ID";
const char PARAM5[] = "channel ID";
const char PARAM6[] = "night_h_start";
const char PARAM7[] = "night_h_end";
const char PARAM8[] = "message";

int licznik = 0;
int chLicznikWody;
int progWody = 40;
int chLicznikWodyNoc;
boolean ResetchLicznikWodyNoc = 0;
int progWodyNoc = 10;

bool wf=0;
char wifi_id[50]={};
char wifi_pass[50]={};

char mqtt_server[50] ={};
char mqtt_user[50] ={};
char mqtt_pass[50] ={};
int dv_id=1;
int chann_id=1;
int night_h_start=1;
int night_h_stop=1;
char message[25]={};
String top1 = "supla/xx/devices/xx/channels/xx/state/calculated_value"; //odbieranie wartości wodomierza
String tim;

unsigned long prev_min_millis;
unsigned long prev_hour_millis;

void setup() {
  Serial.begin(9600);

  Supla::Storage::Init();
  SuplaDevice.addClock(new Supla::Clock);
  auto clock1 = SuplaDevice.getClock();
  new Supla::Html::CustomTextParameter(PARAM1, "MQTT server", 50);
  new Supla::Html::CustomTextParameter(PARAM2, "MQTT user", 50);
  new Supla::Html::CustomTextParameter(PARAM3, "MQTT password", 50);
  new Supla::Html::CustomParameter(PARAM4, "device ID");
  new Supla::Html::CustomParameter(PARAM5, "channel ID");
  new Supla::Html::CustomParameter(PARAM6, "night_h_start");
  new Supla::Html::CustomParameter(PARAM7, "night_h_end");
  new Supla::Html::CustomTextParameter(PARAM8, "push message", 25);
  Supla::Notification::RegisterNotification(-1);
  SuplaDevice.setSuplaCACert(suplaCACert);
  SuplaDevice.setSupla3rdPartyCACert(supla3rdCACert);
  SuplaDevice.begin();
  paramSave();

  prev_min_millis=millis();
  prev_hour_millis=millis();
  //mqttConfig();
}

void loop() {
    SuplaDevice.iterate();
    
  if(!wf){
  Serial.print("dv:.............");
  Serial.println(dv_id);
  Serial.print("channel:.............");
  Serial.println(chann_id);
  Serial.print("serwer:.............");
  Serial.println(mqtt_server);
  Serial.print("user:.............");
  Serial.println(mqtt_user);
  Serial.print("password:.............");
  Serial.println(mqtt_pass);
  top1 = "supla/"+String(mqtt_user)+"/devices/"+String(dv_id)+"/channels/"+String(chann_id)+"/state/calculated_value"; 
   Serial.println(top1);
    wf=1;
  }

}
void reconnect() {
  // Loop until we're reconnected
  while (!client.connected()) {
    Serial.print("Attempting MQTT connection...");
    String clientId = "ESP8266Client-";
    clientId += String(random(0xffff), HEX);
    // Attempt to connect
    if (client.connect(clientId.c_str(), mqtt_user, mqtt_pass)) {
      Serial.println("connected");
      client.subscribe(top1.c_str());
    } else {
      Serial.print("failed, rc=");
      Serial.print(client.state());
      Serial.println(" try again in 5 seconds");
      // Wait 5 seconds before retrying
      delay(1000);
    }
  }
}
void paramSave(){
  if (Supla::Storage::ConfigInstance()->getString(PARAM1, mqtt_server, 50)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %s", PARAM1, mqtt_server);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM1);
  }
  
  if (Supla::Storage::ConfigInstance()->getString(PARAM2, mqtt_user, 50)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %s", PARAM2, mqtt_user);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM2);
  }
  if (Supla::Storage::ConfigInstance()->getString(PARAM3, mqtt_pass, 50)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %s", PARAM3, mqtt_pass);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM3);
  }
  if (Supla::Storage::ConfigInstance()->getInt32(PARAM4, &dv_id)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM4, dv_id);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM4);
  }
  if (Supla::Storage::ConfigInstance()->getInt32(PARAM5, &chann_id)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM5, chann_id);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM5);
  }
  if (Supla::Storage::ConfigInstance()->getInt32(PARAM6, &night_h_start)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM6, night_h_start);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM6);
  }
  if (Supla::Storage::ConfigInstance()->getInt32(PARAM7, &night_h_stop)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %d", PARAM7, night_h_stop);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM7);
  }
  if (Supla::Storage::ConfigInstance()->getString(PARAM8, message, 200)) {
    SUPLA_LOG_DEBUG(" **** Param[%s]: %s", PARAM8, message);
  } else {
    SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM8);
  }
}
Niestety w loop dostaję "puste" wartości zmiennych do których powinno być zapisane to co podałem w inputach.

Code: Select all

18:42:18.915 ->  **** Param[MQTT server]: mqttXX.supla.org TUTAJ DOSTAJĘ TE WARTOŚCI KTÓRE WISAŁEM W INPUTY
18:42:19.057 ->  **** Param[MQTT user]: XXX                    TUTAJ DOSTAJĘ TE WARTOŚCI KTÓRE WISAŁEM W INPUTY
18:42:19.057 ->  **** Param[MQTT password]: xxxxx        TUTAJ DOSTAJĘ TE WARTOŚCI KTÓRE WISAŁEM W INPUTY
18:42:19.100 ->  **** Param[device ID]: 1                             TUTAJ DOSTAJĘ TE WARTOŚCI KTÓRE WISAŁEM W INPUTY
18:42:19.100 ->  **** Param[channel ID]: 1                          TUTAJ DOSTAJĘ TE WARTOŚCI KTÓRE WISAŁEM W INPUTY
18:42:19.148 ->  **** Param[night_h_start]: 2                      TUTAJ DOSTAJĘ TE WARTOŚCI KTÓRE WISAŁEM W INPUTY
18:42:19.194 ->  **** Param[night_h_end]: 2                        TUTAJ DOSTAJĘ TE WARTOŚCI KTÓRE WISAŁEM W INPUTY
18:42:19.194 ->  **** Param[message]: awq                        TUTAJ DOSTAJĘ TE WARTOŚCI KTÓRE WISAŁEM W INPUTY
18:42:19.240 -> WiFi: establishing connection with SSID: "xxxx"
18:42:19.286 -> 
                                                                                                    A TU JUŻ NIE:

18:42:19.333 -> dv:.............1
18:42:19.333 -> channel:.............1
18:42:19.333 -> serwer:.............
18:42:19.380 -> user:.............
18:42:19.426 -> password:.............
18:42:19.473 -> supla//devices/1/channels/1/state/calculated_value
Co jest?
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
SOYER
Posts: 1282
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

Jakiej funkcji użyć by dostać informację, że device wyszedł z config mode i zaczął normalnie pracować. To może byc np. info, że połączył się z siecią.

Code: Select all

Supla::ESPWifi wifi;
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
SOYER
Posts: 1282
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry

Post

SOYER wrote: Tue Feb 04, 2025 8:48 pm Jakiej funkcji użyć by dostać informację, że device wyszedł z config mode i zaczął normalnie pracować. To może byc np. info, że połączył się z siecią.

Code: Select all

Supla::ESPWifi wifi;
To było proste :oops:

Code: Select all

if (WiFi.status() == WL_CONNECTED) 
ale tego nie wiem:
jak dołożyć klienta sieci dla supli?
Chciałem importować ssid i hasło żeby uruchamiać:

Code: Select all

WiFi.begin("ssid", "pass");
dla:

Code: Select all

WiFiClientSecure client1;
PubSubClient client(client1);
@klew napisałeś, "po co?", więc rozumiem, że mogę do tego użyć bibliotek supli i dołożyć jej klienta.
Dobrze to rozumiem?
Jak to zrobić?
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603

Return to “Pomysły i koncepcje”