mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-24 11:46:34 +00:00
Add ssid and ip dynamic text parameters
This commit is contained in:
parent
62540e8443
commit
952ab55b98
@ -456,5 +456,6 @@ _HASP_ATTRIBUTE(SCALE_END_LINE_WIDTH, scale_end_line_width, lv_style_int_t)
|
||||
#define ATTR_TEXT_HOSTNAME 10125
|
||||
#define ATTR_TEXT_MODEL 54561
|
||||
#define ATTR_TEXT_VERSION 60178
|
||||
#define ATTR_TEXT_SSID 62981
|
||||
|
||||
#endif
|
||||
|
@ -120,15 +120,6 @@ lv_obj_t* FindButtonLabel(lv_obj_t* btn)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// OK
|
||||
static inline void my_btn_set_text(lv_obj_t* obj, const char* value)
|
||||
{
|
||||
lv_obj_t* label = FindButtonLabel(obj);
|
||||
if(label) {
|
||||
lv_label_set_text(label, value);
|
||||
}
|
||||
}
|
||||
|
||||
// OK - lvgl does not return a const char *
|
||||
static const char* my_label_get_text(const lv_obj_t* label)
|
||||
{
|
||||
@ -144,10 +135,18 @@ static void my_label_set_text(lv_obj_t* label, const char* text)
|
||||
|
||||
switch(hash) {
|
||||
case ATTR_TEXT_MAC:
|
||||
case ATTR_TEXT_IP:
|
||||
if(len == 4) break;
|
||||
break;
|
||||
|
||||
#if HASP_USE_WIFI > 0
|
||||
case ATTR_TEXT_SSID:
|
||||
if(len == 6) static_text = wifi_get_ssid();
|
||||
break;
|
||||
|
||||
case ATTR_TEXT_IP:
|
||||
if(len == 4) static_text = wifi_get_ip_address();
|
||||
break;
|
||||
#endif
|
||||
case ATTR_TEXT_HOSTNAME:
|
||||
if(len == 10) static_text = haspDevice.get_hostname();
|
||||
break;
|
||||
@ -200,6 +199,15 @@ static const char* my_btn_get_text(const lv_obj_t* obj)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// OK
|
||||
static inline void my_btn_set_text(lv_obj_t* obj, const char* value)
|
||||
{
|
||||
lv_obj_t* label = FindButtonLabel(obj);
|
||||
if(label) {
|
||||
my_label_set_text(label, value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a new value_str for an object. Memory will be allocated to store the text by the object.
|
||||
* @param obj pointer to a object
|
||||
|
@ -48,6 +48,7 @@ char wifiPassword[64] = WIFI_PASSW;
|
||||
#else
|
||||
char wifiPassword[64] = "";
|
||||
#endif
|
||||
char wifiIpAddress[16] = "";
|
||||
uint8_t wifiReconnectCounter = 0;
|
||||
|
||||
// const byte DNS_PORT = 53;
|
||||
@ -60,10 +61,11 @@ static void wifiConnected(IPAddress ipaddress)
|
||||
#if defined(STM32F4xx)
|
||||
IPAddress ip;
|
||||
ip = WiFi.localIP();
|
||||
LOG_TRACE(TAG_WIFI, F("Received IP address %d.%d.%d.%d"), ip[0], ip[1], ip[2], ip[3]);
|
||||
snprintf_P(wifiIpAddress, sizeof(wifiIpAddress), PSTR("%d.%d.%d.%d"), ip[0], ip[1], ip[2], ip[3]);
|
||||
#else
|
||||
LOG_TRACE(TAG_WIFI, F(D_NETWORK_IP_ADDRESS_RECEIVED), ipaddress.toString().c_str());
|
||||
strncpy(wifiIpAddress, ipaddress.toString().c_str(), sizeof(wifiIpAddress));
|
||||
#endif
|
||||
LOG_TRACE(TAG_WIFI, F(D_NETWORK_IP_ADDRESS_RECEIVED), wifiIpAddress);
|
||||
|
||||
LOG_VERBOSE(TAG_WIFI, F("Connected = %s"),
|
||||
WiFi.status() == WL_CONNECTED ? PSTR(D_NETWORK_ONLINE) : PSTR(D_NETWORK_OFFLINE));
|
||||
@ -73,8 +75,9 @@ static void wifiConnected(IPAddress ipaddress)
|
||||
static void wifiDisconnected(const char* ssid, uint8_t reason)
|
||||
{
|
||||
wifiReconnectCounter++;
|
||||
char buffer[64];
|
||||
|
||||
haspProgressVal(wifiReconnectCounter * 3);
|
||||
// haspProgressVal(wifiReconnectCounter * 3);
|
||||
// networkStop();
|
||||
|
||||
if(wifiReconnectCounter > 33) {
|
||||
@ -82,8 +85,6 @@ static void wifiDisconnected(const char* ssid, uint8_t reason)
|
||||
dispatch_reboot(false);
|
||||
}
|
||||
|
||||
char buffer[64];
|
||||
|
||||
switch(reason) {
|
||||
#if defined(ARDUINO_ARCH_ESP8266)
|
||||
case REASON_UNSPECIFIED:
|
||||
@ -514,11 +515,22 @@ void wifi_get_statusupdate(char* buffer, size_t len)
|
||||
snprintf_P(buffer, len, PSTR("\"ssid\":\"%s\",\"rssi\":%i,\"ip\":\"%d.%d.%d.%d\","), WiFi.SSID(), WiFi.RSSI(),
|
||||
ip[0], ip[1], ip[2], ip[3]);
|
||||
#else
|
||||
strncpy(wifiIpAddress, WiFi.localIP().toString().c_str(), sizeof(wifiIpAddress));
|
||||
snprintf_P(buffer, len, PSTR("\"ssid\":\"%s\",\"rssi\":%i,\"ip\":\"%s\","), WiFi.SSID().c_str(), WiFi.RSSI(),
|
||||
WiFi.localIP().toString().c_str());
|
||||
wifiIpAddress);
|
||||
#endif
|
||||
}
|
||||
|
||||
const char* wifi_get_ssid()
|
||||
{
|
||||
return wifiSsid;
|
||||
}
|
||||
|
||||
const char* wifi_get_ip_address()
|
||||
{
|
||||
return wifiIpAddress;
|
||||
}
|
||||
|
||||
void wifi_get_info(JsonDocument& doc)
|
||||
{
|
||||
String buffer((char*)0);
|
||||
|
@ -16,6 +16,8 @@ bool wifiValidateSsid(const char* ssid, const char* pass);
|
||||
void wifi_get_statusupdate(char* buffer, size_t len);
|
||||
|
||||
void wifi_get_info(JsonDocument& doc);
|
||||
const char* wifi_get_ssid();
|
||||
const char* wifi_get_ip_address();
|
||||
|
||||
#if HASP_USE_CONFIG > 0
|
||||
bool wifiGetConfig(const JsonObject& settings);
|
||||
|
Loading…
x
Reference in New Issue
Block a user