Added MAC address to be part of every returned message
This commit is contained in:
parent
554381cf2d
commit
a75939b3fa
10
.continue/mcpServers/new-mcpServer.yaml
Normal file
10
.continue/mcpServers/new-mcpServer.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
name: New mcpServer
|
||||
version: 0.0.1
|
||||
schema: v1
|
||||
mcpServers:
|
||||
- name: New MCP server
|
||||
command: npx
|
||||
args:
|
||||
- -y
|
||||
- <your-mcp-server>
|
||||
env: {}
|
||||
@ -24,32 +24,48 @@ char * getElementAt(int el, Parser & p, char * buffer)
|
||||
bool CommandProcessor::cmdSetGroupId(Parser & p, char * buffer)
|
||||
{
|
||||
int value = 0;
|
||||
|
||||
uint8_t wifi_mac[8];
|
||||
esp_read_mac(wifi_mac, ESP_MAC_WIFI_STA);
|
||||
if(strToInt(getElementAt(1, p, buffer), value))
|
||||
{
|
||||
ESP_LOGW(TAG, "new group value: %u", value);
|
||||
SETTINGS.device.group_id = value;
|
||||
SETTINGS_SAVE;
|
||||
strcpy(m_buffer, "Z|ok");
|
||||
m_rw.reset();
|
||||
m_rw.appendf("mac,%02x%02x%02x%02x%02x%02x", wifi_mac[0], wifi_mac[1], wifi_mac[2], wifi_mac[3], wifi_mac[4], wifi_mac[5]);
|
||||
m_rw.append("|Z|ok");
|
||||
strcpy(m_buffer, m_rw.getBuffer());
|
||||
return true;
|
||||
}
|
||||
strcpy(m_buffer, "Z|fail");
|
||||
m_rw.reset();
|
||||
m_rw.appendf("mac,%02x%02x%02x%02x%02x%02x", wifi_mac[0], wifi_mac[1], wifi_mac[2], wifi_mac[3], wifi_mac[4], wifi_mac[5]);
|
||||
m_rw.append("|Z|fail");
|
||||
strcpy(m_buffer, m_rw.getBuffer());
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CommandProcessor::cmdSetWorkingId(Parser & p, char * buffer)
|
||||
{
|
||||
int value = 0;
|
||||
|
||||
uint8_t wifi_mac[8];
|
||||
esp_read_mac(wifi_mac, ESP_MAC_WIFI_STA);
|
||||
if(strToInt(getElementAt(1, p, buffer), value))
|
||||
{
|
||||
ESP_LOGW(TAG, "new device working id: %u", value);
|
||||
SETTINGS.device.tata_id = value;
|
||||
SETTINGS_SAVE;
|
||||
strcpy(m_buffer, "-|ok");
|
||||
m_rw.reset();
|
||||
m_rw.appendf("mac,%02x%02x%02x%02x%02x%02x", wifi_mac[0], wifi_mac[1], wifi_mac[2], wifi_mac[3], wifi_mac[4], wifi_mac[5]);
|
||||
m_rw.append("|-|ok");
|
||||
strcpy(m_buffer, m_rw.getBuffer());
|
||||
|
||||
return true;
|
||||
}
|
||||
strcpy(m_buffer, "-|fail");
|
||||
m_rw.reset();
|
||||
m_rw.appendf("mac,%02x%02x%02x%02x%02x%02x", wifi_mac[0], wifi_mac[1], wifi_mac[2], wifi_mac[3], wifi_mac[4], wifi_mac[5]);
|
||||
m_rw.append("|-|fail");
|
||||
strcpy(m_buffer, m_rw.getBuffer());
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -61,18 +77,31 @@ bool CommandProcessor::cmdRestart(Parser & p, char * buffer)
|
||||
|
||||
bool CommandProcessor::cmdDeleteStoredSsids(Parser & p, char * buffer)
|
||||
{
|
||||
uint8_t wifi_mac[8];
|
||||
esp_read_mac(wifi_mac, ESP_MAC_WIFI_STA);
|
||||
|
||||
ESP_LOGW(TAG, "delete stored ssid's");
|
||||
SETTINGS.wifi.num = 0;
|
||||
SETTINGS_SAVE;
|
||||
strcpy(m_buffer, "d|ok");
|
||||
m_rw.reset();
|
||||
m_rw.appendf("mac,%02x%02x%02x%02x%02x%02x", wifi_mac[0], wifi_mac[1], wifi_mac[2], wifi_mac[3], wifi_mac[4], wifi_mac[5]);
|
||||
m_rw.append("|d|ok");
|
||||
strcpy(m_buffer, m_rw.getBuffer());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CommandProcessor::cmdReturnCurrentSsid(Parser & p, char * buffer)
|
||||
{
|
||||
uint8_t wifi_mac[8];
|
||||
esp_read_mac(wifi_mac, ESP_MAC_WIFI_STA);
|
||||
|
||||
ESP_LOGW(TAG, "return current ssid %s and rssi %d", WiFi.SSID().c_str(), WiFi.RSSI());
|
||||
|
||||
m_rw.reset();
|
||||
m_rw.appendf("mac,%02x%02x%02x%02x%02x%02x", wifi_mac[0], wifi_mac[1], wifi_mac[2], wifi_mac[3], wifi_mac[4], wifi_mac[5]);
|
||||
m_rw.append("|");
|
||||
|
||||
m_rw.appendf("a|%s,%d", WiFi.SSID().c_str(), WiFi.RSSI());
|
||||
|
||||
ESP_LOGI(TAG, "'%s'", m_rw.getBuffer());
|
||||
@ -83,11 +112,18 @@ bool CommandProcessor::cmdReturnCurrentSsid(Parser & p, char * buffer)
|
||||
|
||||
bool CommandProcessor::cmdReturnVisibleNetworks(Parser & p, char * buffer)
|
||||
{
|
||||
|
||||
uint8_t wifi_mac[8];
|
||||
esp_read_mac(wifi_mac, ESP_MAC_WIFI_STA);
|
||||
|
||||
ESP_LOGI(TAG, "Scanning wifi networks...");
|
||||
|
||||
int num_networks = WiFi.scanNetworks(false, false, false, 0);
|
||||
|
||||
m_rw.reset();
|
||||
m_rw.appendf("mac,%02x%02x%02x%02x%02x%02x", wifi_mac[0], wifi_mac[1], wifi_mac[2], wifi_mac[3], wifi_mac[4], wifi_mac[5]);
|
||||
m_rw.append("|");
|
||||
|
||||
m_rw.appendf("w|%d|", num_networks);
|
||||
for(int n = 0; n < num_networks; n++)
|
||||
{
|
||||
@ -106,6 +142,10 @@ bool CommandProcessor::cmdReturnVisibleNetworks(Parser & p, char * buffer)
|
||||
|
||||
bool CommandProcessor::cmdAddNetwork(Parser & p, char * buffer)
|
||||
{
|
||||
|
||||
uint8_t wifi_mac[8];
|
||||
esp_read_mac(wifi_mac, ESP_MAC_WIFI_STA);
|
||||
|
||||
if(p.getElementAt(1, buffer, BUF_LEN))
|
||||
{
|
||||
ESP_LOGI(TAG, "ssid/pwd: '%s'", buffer);
|
||||
@ -127,21 +167,34 @@ bool CommandProcessor::cmdAddNetwork(Parser & p, char * buffer)
|
||||
SETTINGS.wifi.num = ix + 1;
|
||||
SETTINGS_SAVE;
|
||||
|
||||
strcpy(m_buffer, "W|ok");
|
||||
m_rw.reset();
|
||||
m_rw.appendf("mac,%02x%02x%02x%02x%02x%02x", wifi_mac[0], wifi_mac[1], wifi_mac[2], wifi_mac[3], wifi_mac[4], wifi_mac[5]);
|
||||
m_rw.append("|W|ok");
|
||||
strcpy(m_buffer, m_rw.getBuffer());
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
strcpy(m_buffer, "W|fail");
|
||||
m_rw.reset();
|
||||
m_rw.appendf("mac,%02x%02x%02x%02x%02x%02x", wifi_mac[0], wifi_mac[1], wifi_mac[2], wifi_mac[3], wifi_mac[4], wifi_mac[5]);
|
||||
m_rw.append("|W|fail");
|
||||
strcpy(m_buffer, m_rw.getBuffer());
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CommandProcessor::cmdReportAllSettings(Parser & p, char * buffer)
|
||||
{
|
||||
int64_t up_time = esp_timer_get_time();
|
||||
uint8_t wifi_mac[8];
|
||||
|
||||
//added mac address
|
||||
esp_read_mac(wifi_mac, ESP_MAC_WIFI_STA);
|
||||
m_rw.reset();
|
||||
m_rw.appendf("mac,%02x%02x%02x%02x%02x%02x", wifi_mac[0], wifi_mac[1], wifi_mac[2], wifi_mac[3], wifi_mac[4], wifi_mac[5]);
|
||||
m_rw.append("|");
|
||||
m_rw.appendf("-,%u", SETTINGS.device.tata_id); //wid
|
||||
m_rw.append("|");
|
||||
m_rw.appendf("Z,%u", SETTINGS.device.group_id); //group id
|
||||
@ -170,31 +223,48 @@ bool CommandProcessor::cmdReportAllSettings(Parser & p, char * buffer)
|
||||
|
||||
bool CommandProcessor::cmdSetMqttDevId(Parser & p, char * buffer)
|
||||
{
|
||||
uint8_t wifi_mac[8];
|
||||
esp_read_mac(wifi_mac, ESP_MAC_WIFI_STA);
|
||||
if(p.getElementAt(1, buffer, BUF_LEN))
|
||||
{
|
||||
ESP_LOGI(TAG, "new mqtt dev id: '%s'", buffer);
|
||||
strcpy(SETTINGS.mqtt.device_id, buffer);
|
||||
SETTINGS_SAVE;
|
||||
strcpy(m_buffer, "0|ok");
|
||||
SETTINGS_SAVE;
|
||||
m_rw.reset();
|
||||
m_rw.appendf("mac,%02x%02x%02x%02x%02x%02x", wifi_mac[0], wifi_mac[1], wifi_mac[2], wifi_mac[3], wifi_mac[4], wifi_mac[5]);
|
||||
m_rw.append("|0|ok");
|
||||
strcpy(m_buffer, m_rw.getBuffer());
|
||||
return true;
|
||||
}
|
||||
strcpy(m_buffer, "0|fail");
|
||||
m_rw.reset();
|
||||
m_rw.appendf("mac,%02x%02x%02x%02x%02x%02x", wifi_mac[0], wifi_mac[1], wifi_mac[2], wifi_mac[3], wifi_mac[4], wifi_mac[5]);
|
||||
m_rw.append("|0|fail");
|
||||
strcpy(m_buffer, m_rw.getBuffer());
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CommandProcessor::cmdSetTemperatureOffset(Parser & p, char * buffer)
|
||||
{
|
||||
float value = 0;
|
||||
uint8_t wifi_mac[8];
|
||||
esp_read_mac(wifi_mac, ESP_MAC_WIFI_STA);
|
||||
|
||||
if(strToFloat(getElementAt(1, p, buffer), value))
|
||||
{
|
||||
ESP_LOGW(TAG, "new temp offset: %f", value);
|
||||
SETTINGS.sensors.temperature.temp_offset = value;
|
||||
SETTINGS_SAVE;
|
||||
strcpy(m_buffer, "9|ok");
|
||||
m_rw.reset();
|
||||
m_rw.appendf("mac,%02x%02x%02x%02x%02x%02x", wifi_mac[0], wifi_mac[1], wifi_mac[2], wifi_mac[3], wifi_mac[4], wifi_mac[5]);
|
||||
m_rw.append("|9|ok");
|
||||
strcpy(m_buffer, m_rw.getBuffer());
|
||||
|
||||
return true;
|
||||
}
|
||||
strcpy(m_buffer, "9|fail");
|
||||
m_rw.reset();
|
||||
m_rw.appendf("mac,%02x%02x%02x%02x%02x%02x", wifi_mac[0], wifi_mac[1], wifi_mac[2], wifi_mac[3], wifi_mac[4], wifi_mac[5]);
|
||||
m_rw.append("|9|fail");
|
||||
strcpy(m_buffer, m_rw.getBuffer());
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user