diff --git a/src/classes/IoTScenario.cpp b/src/classes/IoTScenario.cpp index 0779d816..cb60fde6 100644 --- a/src/classes/IoTScenario.cpp +++ b/src/classes/IoTScenario.cpp @@ -321,6 +321,7 @@ enum SysOp { sysop_gethhmm, sysop_gethhmmss, sysop_getTime, + sysop_getRSSI, sysop_getIP, sysop_mqttPub, sysop_getUptime @@ -404,6 +405,10 @@ IoTValue sysExecute(SysOp command, std::vector ¶m) { #endif } break; + case sysop_getRSSI: + value.valD = WiFi.RSSI(); + value.isDecimal = true; + break; case sysop_getIP: value.valS = jsonReadStr(settingsFlashJson, F("ip")); value.isDecimal = false; @@ -460,6 +465,8 @@ class SysCallExprAST : public ExprAST { operation = sysop_getMonth; else if (Callee == "getDay") operation = sysop_getDay; + else if (Callee == "getRSSI") + operation = sysop_getRSSI; else if (Callee == "getIP") operation = sysop_getIP; else if (Callee == "mqttPub") diff --git a/src/modules/sceninfo.json b/src/modules/sceninfo.json index b358033e..6f26cc47 100644 --- a/src/modules/sceninfo.json +++ b/src/modules/sceninfo.json @@ -44,6 +44,11 @@ "descr": "Погрузить ESP в глубокий сон. Вывод из сна с перезагрузкой. Для ESP8266 необходимо соединить gpio 16 и RST", "params": ["ЧислоСекунд"] }, + { + "name": "getRSSI", + "descr": "Получить величину уровня принимаемого сигнала WI-FI.", + "params": [] + }, { "name": "getIP", "descr": "Получить строку IP ESP",