Опция простого скриптового языка для создания своей логики и математики: управление GPIO, вывод на дисплеи по условиям, отправка http get запросов с параметрами. Редактор скриптов находится непосредственно на самом модуле в веб интерфейсе. Вызов скрипта происходит по указанному интервалу в настройках.
Документация ниже относится к версии Interpreter (v2.1).
Обновление 06.02.2021!! Глобальные переменные valset внутри Interpreter считаются от 0, выводятся в модуле везде считая от 1, пример _INTVAL1_
Обновление 28.08.2021 - Добавлена поддержка расширенной работы с математикой и поддержка дробных чисел (только RTOS)
Обновление 31.01.2022 - Глобальные переменные сейчас везде начинаются с нумерации от 1. При попытке использования номера 0 - выдаст ошибку 24.
Обновление 04.03.2022 - Переменные состояния gpio и pwm сейчас называются как gpioX и pwmX , где Х - номер gpio или pwm.
Внешний вид веб интерфейса редактора скриптов:
17.04.2017 - исправлена работа оператора goto.
01.05.2017 - обновлен список переменных датчиков.
17.11.2018 - доступна 2 версия интерпретатора.
14.08.2020 - упразднена документация по первой версии интерпретатора.
06.02.2021 - глобальное обновление имен переменных. Актуальный список переменных на модуле на вкладке Metrics.
28.08.2021 - добавлена поддержка расширенной работы с математикой и поддержка дробных чисел (только RTOS). Документация ниже.
31.01.2022 - обновление версии Interpreterа до 2.1. Глобальные переменные сейчас везде начинаются с нумерации от 1.
04.03.2022 - переменные состояния gpio и pwm сейчас называются как gpioX и pwmX , где Х - номер gpio или pwm.
gpioset(x,y*) - установка gpio. Пример gpioset(5,1). Не рекомендуется использовать vgpio номера при частом интервале выполнения скрипта
pwmset(x,y*) - установка уровня ШИМ. Пример pwmset(1,200).
if (условие*) - условный оператор. Поддерживается сравнение == , != , < , > , >= , <=. Более подробное описание ниже:
endif - обязательный оператор окончания действия оператора if.
end - выход из скрипта.
else - после этого оператора выполняется код если условие if не выполнилось. Обязательное использование совместно с if.
delay(x) - остановка скрипта на указанное количество миллисекунд. На работу модуля не влияет. На время остановки запуск по интервалу не происходит.
goto XXX переход к строке по ссылке XXX. Ссылка ставится в любом месте кода в виде :XXX , без использования delay количество переходов ограничено.
reboot() - перезапуск модуля.
speakline(строка) - воспроизведение MP3 из конструктора фраз. Возможно указать как номер шаблона в виде #1 так и сам шаблон.
mp3cmd(команда,параметр) - управление MP3 UART плеером , все команды в документации на плеер.
valset(x,y*) - установка значения y глобальной переменной x, номер переменой x считается от 1(До 31.01.22 считая от 0).
playwav(путь_до_файла) - проигрывание mp3/wav файла(ESP32).
imageprint(путь_до_файла) - вывод картинки на TFT дисплей(ESP32).
debug(х) - включает или отключает отладку в UART, только для ESP32 и ESP8266RTOS. x - 1 или 0.
httpget(url) - отправить по http строку данных. url - адрес/путь. Подробное описание ниже.
load(имя_файла) - выполняет файл скрипта с диска SD&SPIFFS (ESP32 и ESP8266RTOS), а так же в Linux приложении. Подробное описание ниже.
rgbsend(hex строка) - управление WS2812. Подробности в документации.
rgb16send(hex строка) -управление WS2812. Подробности в документации.
mqttsend(топик,значение) - отправка данных в mqtt. Значение может содержать шаблоны и метрики.
stepper(х,у) - управление степпером.
irsendraw(hex данные) - отправка raw ИК команд.
irsend(режим,команда) - отправка ИК команды.
sleep(x) - отправка модуля в спящий режим на время х (секунды). Требуется установка опции спящего режима.
Строки, начинающиеся с // считаются комментариями, удобно временно отключать строку скрипта.
* - можно указывать переменные.
В дополнительных настройках(в шестеренке) доступно изменение максимального размера скрипта, По умолчанию размер установлен в 500 байт(+1 байт окончание строки), максимальный размер определен максимальным значением числа на вкладке debug в строке Len mem config , для ESP8266 конструктора это значение ограничено 4096 байт, для ESP8266 RTOS и ESP32 - 8192. Максимальный размер скрипта так же ограничен возможностями веб сервера.
Обратите внимание, что у уже настроенного модуля изменение параметра размера , если опция NVS2 не включена, повлечет повреждение некоторых настроек у опций!!!
if(условие*) - условный оператор,. Поддерживается сравнение == , != , < , > , >= , <=. Пробелы не допускаются
Условие может содержать несколько сравнений, через оператор ИЛИ , например if(second==0||second==30) - включить или на 0 или на 30 секунде.
И через оператор И, например if(second>=10&&second<=30) -включить, когда секунды больше либо равно 10 и меньше либо равно 30 т.е. включаем когда секунды в диапазоне от 10 до 30.
else - необязательный оператор. После этого оператора выполняется код если условие if не выполнилось.
endif - этим оператором должно заканчиваться секция действий оператора if.
Вариант с else:if(условие) функции, когда условие выполняется else функции, когда условие не выполняется endifВариант без else:
if(условие) функции, когда условие выполнено endif
Поддерживается вложенность операторов до 255 уровней! После endif выполнение скрипта продолжается.
goto внутри if использовать крайне не рекомендуется, допустимо, если это бесконечный цикл с условием, где идет выход из скрипта по оператору end
На модулях ESP32 и ESP8266(RTOS) возможна работа скриптами, находящиеся на дисках SD или SPIFFS. Поддерживается работа с диска и в Linux приложении.
Количество строк в файле не ограничено. Длина строки ограничена 1 кб.
Загрузить скрипт можно командой load(имя файла) только из окна-редактора. Сами скрипты загружать другие файлы не умеют на данный момент. Пример: load(/SPIFFS/loopnext.txt)
После выполнения файла скрипта управление передается обратно скрипту в окне-редакторе, если не задан параметр end.
Доступна отправка метрик на любой сервер используя функцию httpget(url), где url - это полноценный адрес ,можно отправить на любой сервер или на другой модуль esp без авторизации. Поддерживается установка порта через двоеточие. Пробелы и спецсимволы в запросе недопустимы. Поддерживаются текстовые метрики (вида _ХХХ_).
Примеры:
Отправка данных на Thingspeak.com: httpget(api.thingspeak.com/update?key=<ключ>&field1=_BMPT_&field2=_BMPP_&field3=_DHTT1_&field4=_DHTH1_)
Отправка данных на Domoticz: httpget(192.168.1.100:8080/json.htm?param=udevice&type=command&idx=55&nvalue=0&svalue=_BMPT_)
Можно отправлять несколько запросов подряд , в ESP8266 NoOS рекомендуется использовать delay(500) между несколькими запросами.
printw(текст) - вывод текста на главной модуля. Поддерживаются html теги.
printd(номер строки,текст) - вывод на дисплей модуля LCD.
printd(номер строки,номер шрифта,текст) - вывод на дисплей модуля OLED и TFT, добавлен обязательный параметр размер шрифта.
printm(скорость строки, текст) - вывод на LED матрицы.
printn(id,текст) - вывод на Nextion дисплей. Пример: printn(d0,_TIMES_).
printnraw(raw дата) вывод raw данных на Nextion дисплей.
printuart(текст) - вывод строки в uart используя опцию UART bridge.
printmx(x,y,z*) - функция вывода на 7 Сегм MAX7219. x - знакоместо, y - тип вывода(0..3). z - значение.
segsetbr(x) - Управление яркостью 7 Сегм MAX7219.
printmt(z*) - функция вывода на TM1637.
tmsetbr(x) - Управление яркостью TM1637.
printei(z,x,y,текст) - Вывод текста на E-Ink LILYGO T5 V3. Подробнее в документации на дисплей.
В текстовых дисплеях в функциях printw, printd, printm и прочие вместо текста можно указывать номер шаблона в виде #1 конструктора строк или сразу текстовые метрики в виде printw(_DATE_ _TIME_).
В числовых дисплеях (обозначенных звездочкой) используются числовые переменные.
matrixbr(уровень яркости) - установка яркости у LED матриц. 100 - выключает матрицу.
Список текстовых метрик и числовых переменных находится внизу статьи !
sendsms(текст сообщения) - отправка уведомлений через Telegram, ICQ, Email, SMS GSM, SMS.RU, SMSC.RU - все включенные сервисы отправки, можно использовать текстовые шаблоны, если они установлены в прошивке, пример sendsms(#1) или текстовые метрики в виде sendsms(_DATE_ _TIME_)
resetsms() - сброс флага отправки, применяется в противоположном действии условия для защиты от циклической отправки. Смотрите пример 6 в конце статьи.
gpioX - чтение состояния GPIO. До 4.03.22 - gpioget(х)
pwmX - чтение состояния PWM. До 4.03.22 - pwm[x]
Переменные времени: second, minute, hour, mday, month, week, minutesperday (минут в день ), secondsperday (секунд в день).
Список остальных переменных смотрите на вкладке Metrics модуля (для старых прошивок - внизу статьи)
Переменные с датчиков температуры и влажности идут умноженные на 10 или 100 ! Если температуру кажет к примеру 26.4, то сравнивать её нужно как число 264. Не относиться при включенной опции расширенной математики.
В скриптах возможно использовать специализированные глобальные переменные, которые доступны и на чтение и на запись, в эту же переменную производится запись при работе с математикой. Количество и имена глобальных переменных фиксировано. Максимальное количество переменных - 5 ( от 1 до 5) , тип переменных int32.
Для работы с математикой используется функция valmath(X,Y+Z) , где X - это номер переменной начиная с 1 (До 31.01.22 начиная от 0), Y+Z - это математическое действие. Ограничение: без опции расширенной математики поддерживается только одиночное действие прибавления, вычитания, деления или умножения. Так же поддерживается остаток от деления (%) .
Для установки переменной используем функцию valset(x,y). считая от 1 (До 31.01.22 считая от 0).
Для чтения переменной используем intvalX считая от 1 (старая метрика valget(X) считая от 0. Упразднена 31.01.22).
Для вывода переменных используем макрос _INTVALx_ считая от 1 (старая метрика _VALx_ считая от 0)
Тестовые примеры смотрим внизу статьи под номерами 7 и 8.
Опция доступна только на RTOS прошивках, включая ESP32 и на Linux ! По умолчанию не включена - включается в шестеренке опции !
Опция позволяет использовать функцию valmath с сложной и вложенной математикой и поддержкой дробных чисел в условии IF. В valmath допустимо писать любые выражения и их комбинации, включая скобки для установки приоритета решения.
Так же дополнительно поддерживаются следующие переменные и функции:
pi - число Пи
e - число E.
x^y - возведение в степень y числа x
map(x,ind,inu,outd,outp) - классическая функция map, пример: map(adc,0,4095,0,3.3) - приведение значения ацп к 3.3в
ceil(x) - округляет x в большую сторону. Пример: valmath(0,ceil(dsw1))
floor(x) - округляют аргумент x до наибольшего целого числа.
abs(x) - модуль числа х
sqrt(x) - квадратный корень числа x
exp(x) - значение экспоненты от x
Триготрометрия:
sin(x) - синус числа х
cos(x) - косинус числа х
tan(x) - тангенс угла x
sinh(x) - гиперболический синус числа х
cosh(x) - гиперболический косинус числа х
tanh(x) - гиперболический тангенс числа x
atan(x) - арктангенс числа x
asin(x) - арксинус числа x
acos(x) - арккосинус числа x
ln(x) - натуральный логарифм от x
log10(x) -десятичный логарифм от x
Глобальные переменные при включенной данной опции работают с дробными числами(до 3 знаков), выводят их везде в данном виде.
Лишние пробелы и другие знаки недопустимы. Каждый оператор должен быть в отдельной строке.
Если скрипт уже выполняется, то кнопка Test не работает.
1 - ошибка синтаксиса, например не хватает скобки
2 - ошибка синтаксиса
3 - превышен лимит переходов.
4 - не найдена переменная в условии
5 - ожидаем условие == , != , < , > , >= , <=
6 - не найдена функция (ошибка в названии или не установлена соответствующая опция)
7 - не найдена точка перехода у оператора goto
8 - слишком малое значение delay
9 - ошибка номера шаблона в конструкторе строк в операторах вывода
10 - ошибка в математической функции
11 - нет переменной с указанным номером
12 - попытка деления на ноль
21 - использование операторов else или endif без if
22- невозможно загрузить файл скрипта с диска
23- превышено количество вложений if
24- нумерация переменной изменена, сейчас она считается от 1.
При включенной опции расширенной математики и поддержки дробных чисел в примерах ниже нужно корректировать значения сравнения в условиях.
Описание: простейший термостат с управлением по gpio 14 и индикацией режимов
if(gpio14==0) printw(выключено) else if(dsw1<300) gpioset(16,1) printw(холодно) else gpioset(16,0) printw(горячо) endif endif
Описание: простейшая мигалка GPIO с выводом состояния на главную страницу
:testm printw(Тик) gpioset(16,1) delay(1000) printw(Так) gpioset(16,0) delay(1000) goto testm
Описание: мигалка GPIO посложнее с выводом состояния на главную страницу и выключением через GPIO14
:testm if(gpio14==0) printw(выключено) gpioset(16,0) delay(1000) else printw(Тик) gpioset(16,1) delay(1000) printw(Так) gpioset(16,0) delay(1000) endif goto testm
Описание: вывод поочередно из конструктора строк данных на LCD дисплей. Аналогично можно использовать и для LED матриц.
printd(1,#1) delay(2000) printd(1,#2) delay(2000) printd(1,#3)
Описание: Включает gpio16, если gpio14 включен и температура на ds18b20 ниже 30 градусов.
if(gpio14==1&&dsw1<300) gpioset(16,1) else gpioset(16,0) endif
Описание: мониторинг GPIO 12 и отправки sms и email при появлении единички на GPIO12.
if(gpio12==1) sendsms(Кто-то взломал дверь) else resetsms() endif
Описание: вычисляем среднее значение 3 датчиков тремя действиями. Комменты убрать перед вставкой в редактор !! Пример ниже без использования расширенной математики - с ним все проще: valmath(1,(dsw1+dsw2+dsw3)/3)
valmath(1,dsw1+dsw2) // суммируем в глобальную переменную 0 значение 2 датчиков ds18b20 valmath(1,intval1+dsw3) // прибавляем еще третий датчик ds18b20 к глобальной переменной 0 valmath(1,intval1/3) // делим на 3 глобальную переменную 0 для получения среднего значения, значение деления сохраняем в глобальной переменной 1. printw(_INTVAL1_) // выводим тут через конструктор строк переменную _INTVAL1_ end
Описание: Мигаем раз в 5 секунд светодиодом
valmath(1,secondsperday%5) if(intval1==0) gpioset(19,1) delay(500) gpioset(19,0) endif
Описание: Мигаем светодиодом каждые 10 секунд по 5 раз
valmath(1,secondsperday%10) if(intval1==0) valset(2,0) :testf if(intval2>=5) end endif gpioset(16,1) delay(500) gpioset(16,0) delay(500) valmath(2,intval2+1) goto testf endif
Описание: Простой планировщик по времени включения с 7 по 21 час
if(hour>=7&&hour<21) gpioset(16,1) else gpioset(16,0) endif
Описание: Простой способ включения GPIO на заданное время.
if(gpio16==1) delay(2000) gpioset(16,0) endif
Описание: Сложный способ включения GPIO на заданное время. Не мешает действиям других условий в скрипте. Время задается period*X
if(gpio12==1) valmath(1,intval1+1) if(intval1>Х) gpioset(12,0) endif else valset(1,0) endif
Описание: работа с циклом используя goto с периодом 100мс - delay обязателен.
:testm свой код delay(100) goto testm
Внимание ! Имена некоторых метрик поменялись с 6.02.21 !! Новые имена можно посмотреть на вкладке Metrics на самом модуле. Там указаны только первый номер на устройстве.
Ниже метрики относятся прошивкам до 6.02.21:
Переменные, содержащие заглавную "X" , "Y" или массивы [x] , [y] обозначают как порядковый номер-число.
Массивы в формате [x][y] нумеруются от нуля ! Пример data1wire[х]: - data1wire[0] - выводит первый датчик
Key
ds3231t
Температура DS3231
adc
Внутренний АЦП (ESP8266)
ADCdata[x]
Данные с АЦП PCF8591
am_h
Влажность с датчика AM2321
am_t
Температура с датчика AM2321
apdsb
APDS9960 Освещенность синий
apdsc
APDS9960 Освещенность
apdsg
APDS9960 Освещенность зеленый
apdsr
APDS9960 Освещенность красный
bh_l
Освещенность с датчика BH1750
bme_h
Влажность с датчика BME280
bme_p
Давление с датчика BME280
bme_t
Температура с датчика BME280
bmp_p
Давление датчиков BMP180/085
bmp_t
Температура датчиков BMP180/085
cntXi
Данные с счетчика 60
co2data
Датчики CO2 MH-Z1x
csea
Active Power CSE7766
cseap
Apparent Power CSE7766
csec
Ток на CSE7766
csee
Потребление суммарно CSE7766
csef
Power Factor CSE7766
csev
Напряжение на CSE7766
d2d[x][y]
Данные с Device to Device(D2D)
data1wire[х]
Температура датчиков DS18B20
dht_hХ
Влажность датчиков DHT22 DHT11
dht_tХ
Температура датчиков DHT22 DHT11
hcsr04
HC-SR04
hdch
Влажность датчика HDC1080
hdct
Температура датчика HDC1080
hlw_c
HLW8012 (Sonoff POW) Ток
hlw_v
HLW8012 (Sonoff POW) Напряжение
hlw_w
HLW8012 (Sonoff POW) Мощность
hlw_wh
HLW8012 (Sonoff POW) Ватт/ч
hx711
Весы HX711
ina_a
Ток с датчика INA219
ina_v
Напряжение с датчика INA219
mb[y][x]
ModBus метрики
mlxa
Температура окружающая MLX90614
mlxo
Температура объекта MLX90614
nmval[x]
Принятые данные с датчиков narodmon.ru
nrfa[x][y]
АПЦ с модулей NRF24
nrfb[x][y]
Другие данные с модулей NRF24
nrfc[x][y]
Счетчик с модулей NRF24
nrfg[x][y]
Состояние GPIO с модулей NRF24
nrfh[x][y]
Влажность с модулей NRF24
nrft[x][y]
Температура с модулей NRF24
pmcn
Ток с устройства Power Monitor
pmspm10
PM1.0
pmspm100
PM1.00
pmspm25
PM2.5
pmv
Напряжение с устройства Power Monitor
pwm[x]
Состояние ШИМ
rtd
MAX31865 Температура
sht30_h
Влажность с датчика SHT30
sht30_t
Температура с датчика SHT30
shtc3h
Влажность SHTC3
shtc3t
Температура SHTC3
sht_h
Влажность с датчика SHT21
sht_t
Температура с датчика SHT21
tsllux
Данные с TSL2561
valget(x)
Переменные Interpreter
vl53l0x
Расстояние VL53L0X
vsens[y][x]
Данные с датчиков Virtual SENS
vw_a[x][y]
АЦП с VirtualWire
vw_b[x][y]
Один байт с VirtualWire
vw_c[x][y]
Счетчики с VirtualWire
vw_h[x][y]
Влажность с VirtualWire
vw_t[x][y]
Температура с VirtualWire
Внимание ! Имена некоторых метрик поменялись с 6.02.21 !! Новые имена можно посмотреть на вкладке Metrics на самом модуле.
Topic
Description
_IP_
IP адрес устройства
_MEM_
Свободное ОЗУ
_UPTIME_ / _UPTIMES_
Время работы
_RSSI_
Уровень сигнала (нет на старых SDK)
_TIME_
Время
_TIMES_
Время с секундами
_WEEK_
День недели
_RADIO_
Имя текущей интернет станции
_APDSC_
APDS9960 Освещенность
_APDSR_
APDS9960 Освещенность красный
_APDSG_
APDS9960 Освещенность зеленый
_APDSB_
APDS9960 Освещенность синий
_TSSETx_
Установка термостата
_TSONx_
Состояние термостата вкл/выкл
_CCSCO2_
CO2 датчика CCS811
_CCSTVOC_
TVOC датчика CCS811
_LORSxy_
Метрики LORA
_RTD_
MAX31865 Температура
_HDCT_
Температура датчика HDC1080
_HDCH_
Влажность датчика HDC1080
_PMS10_
PM1.0
_PMS25_
PM2.5
_PMS100_
PM1.00
_VL53L0X_
Расстояние VL53L0X
_MByyxx_
ModBus метрики
_OWT_
Температура воздуха OpenWeatherMap
_OWH_
Влажность воздуха OpenWeatherMap
_OWP_
Давление воздуха OpenWeatherMap
_OWWIND_
Скорость ветра OpenWeatherMap
_OWD_
Описание погоды OpenWeatherMap
_OWC_
Облачность OpenWeatherMap
_OWF_
Температура по ощущениям OpenWeatherMap
_OWR3_
Количество осадков 3 часа OpenWeatherMap
_OWR1_
Количество осадков 1 часа OpenWeatherMap
_OWV_
Видимость OpenWeatherMap
_SUNDW_
Восход солнца OpenWeatherMap
_SUNUP_
Заход солнца OpenWeatherMap
_SUNDAY_
Продолжительность дня OpenWeatherMap
_AS5600_
Угол AS5600
_GPSLAT_
Широта GPS приемник
_GPSLON_
Долгота GPS приемник
_GPSH_
Высота GPS приемник
_GPSS_
Скорость GPS приемник
_GPSC_
Курс GPS приемник
_GPSN_
Количество спутиков GPS приемник
_BTxR_
BT HUB RSSI
_BTxT_
BT HUB Температура
_BTxL_
BT HUB Освещенность
_BTxF_
BT HUB Плодородие
_BTxM_
BT HUB Влажность(почвы)
_BTxH_
BT HUB Влажность
_BTxB_
BT HUB Заряд батареи
_GTR_
Осадки gismeteo.ru
_GTC_
Облачность gismeteo.ru
_GTWIND_
Ветер gismeteo.ru
_SHTC3T_
Температура SHTC3
_SHTC3H_
Влажность SHTC3
_D2Dxxyy_
Данные с Device to Device(D2D)
_CSEV_
Напряжение на CSE7766
_CSEC_
Ток на CSE7766
_CSEE_
Потребление суммарно CSE7766
_CSEAP_
Apparent Power CSE7766
_CSEA_
Active Power CSE7766
_CSPF_
Power Factor CSE7766
_ADC_
Внутренний АЦП (ESP8266)
_IADCx_
Внутренние АЦП (ESP32)
_LM_
Температура с датчика LM75 или DS1621
_INAV_
Напряжение с датчика INA219
_INAC_
Ток с датчика INA219
_DHTTx_
Температура датчиков DHT22 DHT11
_DHTHx_
Влажность датчиков DHT22 DHT11
_BMPT_
Температура датчиков BMP180/085
_BMPP_
Давление датчиков BMP180/085
_CNTxI_
Данные с счетчика 60
_BH_
Освещенность с датчика BH1750
_AMT_
Температура с датчика AM2321
_AMH_
Влажность с датчика AM2321
_DSWx_
Температура датчиков DS18B20
_BMET_
Температура с датчика BME280
_BMEH_
Влажность с датчика BME280
_BMEP_
Давление с датчика BME280
_SHTT_
Температура с датчика SHT21
_SHTH_
Влажность с датчика SHT21
_SHT30T_
Температура с датчика SHT30
_SHT30H_
Влажность с датчика SHT30
_HEAT_
Температура с термопары MAX6675
_CVV_
Напряжение с устройства CC/CV
_CVC_
Ток с устройства CC/CV
_PMV_
Напряжение с устройства Power Monitor
_PMC_
Ток с устройства Power Monitor
_PMW_
Мощность с устройства Power Monitor
_PMWH_
Расход с устройства Power Monitor
_RFID_
Данные с RFID
_SHT10T_
Температура SHT1x
_SHT10H_
Влажность SHT1x
_CO2_
Датчики CO2 MH-Z1x
_PING_
ping тест статус
_VSyx_
Данные с датчиков Virtual SENS
_GTT_
Температура с gismeteo.ru на сегодня
_GTH_
Влажность с gismeteo.ru на сегодня
_GYT_
Температура с gismeteo.ru на завтра
_GYH_
Влажность с gismeteo.ru на завтра
_GTP_
Давление с gismeteo.ru на сегодня
_GYP_
Давление с gismeteo.ru на завтра
_GTWIND_
Скорость и направление ветра gismeteo.ru сегодня
_GYWIND_
Скорость и направление ветра gismeteo.ru завтра
_NMx_
Принятые данные с датчиков narodmon.ru
_ADCx_
Данные с АЦП PCF8591
_RTCT_
Температура DS3231
_NRFxCy_
Счетчик с модулей NRF24
_NRFxTy_
Температура с модулей NRF24
_NRFxHy_
Влажность с модулей NRF24
_NRFxAy_
АПЦ с модулей NRF24
_NRFxGy_
Состояние GPIO с модулей NRF24
_NRFxBy_
Другие данные с модулей NRF24
_RSSIGSM_
RSSI GSM
_PCFCx_
Счетчик импульсов PCF8583
_PCFCTx_
Счетчик импульсов PCF8583 на сегодня
_PCFCYx_
Счетчик импульсов PCF8583 на вчера
_RSx_
Температура с модулей RC датчик
_RSx_
Влажность с модулей RC датчик
_RSx_
АЦП с модулей RC датчик
_CNTx_
Счетчики импульсов.
_INTx_
Событие прерывания
_PWMx_
Состояние ШИМ
_GPIOx_
Состояние GPIO входа
_DATE_
Дата. Требуется поддержка календаря
_VALDESx_
Глобальные переменные конструктора кода
_SCALE_
Весы HX711
_MCPA_
Данные с АЦП MCP3201
_ADSx_
Данные с АЦП ADS1115
_VZCO2_
Датчик VZ-89T CO2
_VZTV_
Датчик VZ-89T tvoc
_NLxT_
Температура с датчиков NooLite
_NLxH_
Влажность с датчиков NooLite
_HCSR_
HC-SR04
_TSL_
Данные с TSL2561
_MCMSG_
Количество сообщений в электронном ящике
_MCUNS_
Количество непрочитанных сообщений в электронном ящике
_UPSI_
Данные с UPS Монитора. Напряжение на входе.
_UPSF_
Данные с UPS Монитора. Напряжение на входе.
_UPSO_
Данные с UPS Монитора. Напряжение на выходе.
_UPSH_
Данные с UPS Монитора. Частота сети
_UPST_
Данные с UPS Монитора. Температура в корпусе
_UPSB_
Данные с UPS Монитора. Напряжение батареи.
_UPSS_
Данные с UPS Монитора. Нагрузка
_MLXO_
Температура объекта MLX90614
_MLXA_
Температура окружающая MLX90614
_VALx_
Переменные Interpreter
_VWTxy_
Температура с VirtualWire
_VWHxy_
Влажность с VirtualWire
_VWCxy_
Счетчики с VirtualWire
_VWAxy_
АЦП с VirtualWire
_VWBxy_
Один байт с VirtualWire
_HLWW_
HLW8012 (Sonoff POW) Мощность
_HLWV_
HLW8012 (Sonoff POW) Напряжение
_HLWC_
HLW8012 (Sonoff POW) Ток
_HLWWH_
HLW8012 (Sonoff POW) Ватт/ч