JXCT Soil Sensor 7-in-1 3.10.1
IoT система мониторинга почвы на базе ESP32
Загрузка...
Поиск...
Не найдено
Файл validation_utils.cpp

Утилиты валидации для устранения дублирования кода Подробнее...

#include "validation_utils.h"
#include "jxct_constants.h"
#include "logger.h"
Граф включаемых заголовочных файлов для validation_utils.cpp:

Функции

ValidationResult validateInterval (unsigned long interval, unsigned long min_val, unsigned long max_val, const char *field_name)
 Валидация интервала (общая функция)
 
ValidationResult validateSensorReadInterval (unsigned long interval)
 Валидация интервала чтения датчика
 
ValidationResult validateMQTTPublishInterval (unsigned long interval)
 Валидация интервала публикации MQTT.
 
ValidationResult validateThingSpeakInterval (unsigned long interval)
 Валидация интервала ThingSpeak.
 
ValidationResult validateNTPInterval (unsigned long interval)
 Валидация интервала обновления NTP.
 
ValidationResult validateRange (float value, float min_val, float max_val, const char *field_name)
 Универсальная функция валидации диапазона
 
ValidationResult validateTemperature (float temperature)
 Валидация температуры
 
ValidationResult validateHumidity (float humidity)
 Валидация влажности
 
ValidationResult validatePH (float phValue)
 Валидация pH.
 
ValidationResult validateEC (float ecValue)
 Валидация электропроводности
 
ValidationResult validateNPK (float value, const char *nutrient)
 Валидация NPK значений
 
ConfigValidationResult validateFullConfig (const ConfigData &config, bool checkRequired)
 Полная валидация конфигурации
 
SensorValidationResult validateFullSensorData (const SensorData &data)
 Полная валидация данных датчика
 
bool isValidIPAddress (const String &ipAddress)
 Проверка валидности IP адреса
 
bool isValidHostname (const String &hostname)
 Проверка валидности hostname.
 
String formatValidationErrors (const ConfigValidationResult &result)
 Форматирование ошибок валидации конфигурации
 
String formatSensorValidationErrors (const SensorValidationResult &result)
 Форматирование ошибок валидации датчика
 
void logValidationResult (const ConfigValidationResult &result, const char *context)
 Логирование результата валидации конфигурации
 
void logSensorValidationResult (const SensorValidationResult &result, const char *context)
 Логирование результата валидации датчика
 
ValidationResult validateSSID (const String &ssid)
 Валидация SSID.
 
ValidationResult validatePassword (const String &password)
 Валидация пароля WiFi.
 
ValidationResult validateMQTTServer (const String &server)
 Валидация MQTT сервера
 
ValidationResult validateMQTTPort (int port)
 Валидация MQTT порта
 
ValidationResult validateThingSpeakAPIKey (const String &apiKey)
 Валидация ThingSpeak API ключа
 

Подробное описание

Утилиты валидации для устранения дублирования кода

Централизованные функции валидации конфигурации и данных

Функции

◆ validateInterval()

ValidationResult validateInterval ( unsigned long  interval,
unsigned long  min_val,
unsigned long  max_val,
const char *  name 
)

Валидация интервала (общая функция)

Аргументы
intervalИнтервал для проверки
min_valМинимальное значение
max_valМаксимальное значение
nameНазвание интервала для сообщения об ошибке
Возвращает
Результат валидации

◆ validateSensorReadInterval()

ValidationResult validateSensorReadInterval ( unsigned long  interval)

Валидация интервала чтения датчика

Аргументы
intervalИнтервал для проверки
Возвращает
Результат валидации

◆ validateMQTTPublishInterval()

ValidationResult validateMQTTPublishInterval ( unsigned long  interval)

Валидация интервала публикации MQTT.

Аргументы
intervalИнтервал для проверки
Возвращает
Результат валидации

◆ validateThingSpeakInterval()

ValidationResult validateThingSpeakInterval ( unsigned long  interval)

Валидация интервала ThingSpeak.

Аргументы
intervalИнтервал для проверки
Возвращает
Результат валидации

◆ validateNTPInterval()

ValidationResult validateNTPInterval ( unsigned long  interval)

Валидация интервала обновления NTP.

Аргументы
intervalИнтервал для проверки
Возвращает
Результат валидации

◆ validateRange()

ValidationResult validateRange ( float  value,
float  min_val,
float  max_val,
const char *  field_name 
)

Универсальная функция валидации диапазона

Аргументы
valueЗначение для проверки
min_valМинимальное значение
max_valМаксимальное значение
field_nameНазвание поля для сообщения об ошибке
Возвращает
Результат валидации

◆ validateTemperature()

ValidationResult validateTemperature ( float  temperature)

Валидация температуры

Аргументы
temperatureТемпература для проверки
Возвращает
Результат валидации

◆ validateHumidity()

ValidationResult validateHumidity ( float  humidity)

Валидация влажности

Аргументы
humidityВлажность для проверки
Возвращает
Результат валидации

◆ validatePH()

ValidationResult validatePH ( float  ph)

Валидация pH.

Аргументы
phpH для проверки
Возвращает
Результат валидации

◆ validateEC()

ValidationResult validateEC ( float  ec)

Валидация электропроводности

Аргументы
ecEC для проверки
Возвращает
Результат валидации

◆ validateNPK()

ValidationResult validateNPK ( float  value,
const char *  nutrient 
)

Валидация NPK значений

Аргументы
valueЗначение для проверки
nutrientНазвание питательного вещества
Возвращает
Результат валидации

◆ validateFullConfig()

ConfigValidationResult validateFullConfig ( const ConfigData config,
bool  checkRequired = true 
)

Полная валидация конфигурации

Аргументы
configКонфигурация для проверки
checkRequiredПроверять ли обязательные поля
Возвращает
Результат валидации с списком ошибок

◆ validateFullSensorData()

SensorValidationResult validateFullSensorData ( const SensorData data)

Полная валидация данных датчика

Аргументы
dataДанные датчика для проверки
Возвращает
Результат валидации с списком ошибок

◆ isValidIPAddress()

bool isValidIPAddress ( const String &  ip)

Проверка валидности IP адреса

Аргументы
ipIP адрес для проверки
Возвращает
true если IP адрес валиден

◆ isValidHostname()

bool isValidHostname ( const String &  hostname)

Проверка валидности hostname.

Аргументы
hostnameHostname для проверки
Возвращает
true если hostname валиден

◆ formatValidationErrors()

String formatValidationErrors ( const ConfigValidationResult result)

Форматирование ошибок валидации конфигурации

Аргументы
resultРезультат валидации
Возвращает
Отформатированная строка с ошибками

◆ formatSensorValidationErrors()

String formatSensorValidationErrors ( const SensorValidationResult result)

Форматирование ошибок валидации датчика

Аргументы
resultРезультат валидации
Возвращает
Отформатированная строка с ошибками

◆ logValidationResult()

void logValidationResult ( const ConfigValidationResult result,
const char *  context 
)

Логирование результата валидации конфигурации

Аргументы
resultРезультат валидации
contextКонтекст валидации

◆ logSensorValidationResult()

void logSensorValidationResult ( const SensorValidationResult result,
const char *  context 
)

Логирование результата валидации датчика

Аргументы
resultРезультат валидации
contextКонтекст валидации

◆ validateSSID()

ValidationResult validateSSID ( const String &  ssid)

Валидация SSID.

Аргументы
ssidSSID для проверки
Возвращает
Результат валидации

◆ validatePassword()

ValidationResult validatePassword ( const String &  password)

Валидация пароля WiFi.

Аргументы
passwordПароль для проверки
Возвращает
Результат валидации

◆ validateMQTTServer()

ValidationResult validateMQTTServer ( const String &  server)

Валидация MQTT сервера

Аргументы
serverАдрес сервера для проверки
Возвращает
Результат валидации

◆ validateMQTTPort()

ValidationResult validateMQTTPort ( int  port)

Валидация MQTT порта

Аргументы
portПорт для проверки
Возвращает
Результат валидации

◆ validateThingSpeakAPIKey()

ValidationResult validateThingSpeakAPIKey ( const String &  apiKey)

Валидация ThingSpeak API ключа

Аргументы
apiKeyAPI ключ для проверки
Возвращает
Результат валидации