Перейти к содержанию

Конструктор строк (Designer lines)

Описание опции

Конструктор строк — это специальный инструмент, который позволяет создавать шаблоны строк, которые будут выводиться на дисплей. Шаблоны строк могут включать в себя:

  • обычный текст
  • метрики (при выводе строки подставляются соответствующие значения)
  • логические и математические выражения

Для использования логических и математических выражений должна быть подключена опция «Логические выражения».

Конструктор строк находится в соответствующем пункте меню Designer_lines:

menu

На странице конструктора строк можно задать текст для каждой из доступных строк. В этом примере доступно 4 строки. Конструктор подсказывает длину шаблона и длину выводимого текста. Ниже области ввода текста отображается сам текст в том виде как он будет выводиться на дисплей.

settings

Количество строк по умолчанию (4) можно изменить в «Конструкторе прошивок». Доступные значения от 1 до 10 (при большем количестве могут возникнуть проблемы со свободной памятью).

constructor

Пример формирования строки

Ниже представлен пример формирования строки №3 с текущей датой и днём недели и выводом температуры в доме:

Сегодня _DATE_ _WEEK_ . дома _DSW1_ градусов

example

Максимальная длина строки может составлять 99 байт (русские буквы занимают 2 байта). названия доступных метрик (наименований данных) можно посмотреть в разделе "Метрики" ниже, а также на вкладке "Metrics" в веб-интерфейсе устройства.

Логические выражения

!!! Для работы выражений должна быть активна опция "Логические выражения" в конструкторе.

Выражения позволяют использовать логику и математику внутри текста опций: Конструктор строк, TCP/UDP Клиент, Текстовые шаблоны, Конструктор main page, Конструктор main page 2, Interpreter (функции вывода), SD логгер и любые другие, использующие шаблоны.

Поддерживается работа с числами только с одним знаком после запятой!

Математические выражения

Текст в скобках [..] заменяется на результат математического действия.
Например, [6+4] заменяется на 10. Вместо чисел может быть любая метрика датчика.

Поддерживаются операции умножения, деления, сложения и вычитания.
Допускается вложенная математика.
Например [[_DSW1_+_DSW2_]/2] - выдаст среднее значение двух датчиков.

Округление до целых: поставьте в начале открытой скобки восклицательный знак
[!_DSW1_] - выведет без дробной части
[!22.5] - вернет 23.

Подробнее см. примеры.

Логические выражения

Текст в скобках {условие?"правда":"ложь"} в определенном формате заменяется на одно из двух значений в зависимости от результата условия.

Доступные виды условий: ==, >, >=, <, <=, &

Например, текст вида {5>1?"правда":"ложь"} заменяется в данном случае на правда.
Вместо чисел могут использоваться метрики датчиков, GPIO или математические выражения.
Текстовые значения должны быть заключены в кавычки.

Подробнее про побитовое "И" (знак &): Это стандартная логика в языках программирования. Оставляет биты включенные в обеих числах, если на выходе значение не равно нулю, то условие выполняется. Актуально, например, для чтения битовых параметров в опции ModBus.
Пример: 130&128 - ответ 128, 2&64 - ответ 0.

Примеры

Пример 1 - Вывод (округление до) одного знака после запятой

Источник данных: значение метрики с двумя знаками после запятой.
Метрика: _DSW1_ - вывод температуры с первого датчика DS18B20.

[[![_DSW1_*10]]/10]
Например, для температуры 25,56 градусов вернет значение 25,6

Пример 2 - Расчёт среднего значения

Метрика 1: _DSW1_ - вывод температуры с первого датчика DS18B20.
Метрика 2: _DSW2_ - вывод температуры со второго датчика DS18B20.

[[_DSW1_+_DSW2_]/2]

Пример 3 - Фильтрация ошибочного значения

По-умолчанию когда нет данных от LoRa, вместо значения датчика появляется надпись ERR4
В примере показано, как отфильтровать эту надпись и заменить её на пустое место.
Метрика: _LORS0103_ - первый датчик LoRa, третье значение по шаблону

`{_LORS0103_=="ERR4"?"":"[!_LORS0103_]°C"}`
Дополнительно в примере для конечного значения применяется округление до целых [!_LORS0103_], а также добавляются единицы измерения °C

Пример 4 - Отображение погоды

Отображение температуры на завтра c gismeteo.ru только если данные есть на сайте

{"_GYT_"=="-"?"Погоды на завтра пока нет":"Завтра _GYT_°C"}

Метрики

Метрики могут использоваться для вывода данных от датчиков и других доступных переменных в конструкторе строк.

Для вывода используется шаблон _МЕТРИКА_ или _МЕТРИКАxy_

  • имя метрики печатается большими буквами со знаками подчёркивания
  • если метрик одного типа много, то вместо x, y подставляются конкретные числовые значения

Примеры метрик:

  • _DSW1_- датчик температуры
  • _LORS0103_ - метрика под номером 3, принятая от первого LoRa датчика

Примечание. Имена некоторых метрик могут меняться в новых версия прошивок. Точные имена можно посмотреть на вкладке Metrics в веб-интерфейсе устройства. Вкладку Metrics удобно использовать в качестве краткой справки по метрикам конкретного устройства.

Список доступных метрик

Метрика Описание
_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) Ватт/ч

Связанные темы

Настройка опций
ModBus
LoRa
MCP23008

Где купить

Купить оборудование Lavritech можно в официальном интернет-магазине.