6#define STATUS_LED_PIN 2
9#define SENSOR_READ_INTERVAL 1000
10#define MQTT_PUBLISH_INTERVAL 60000
11#define THINGSPEAK_INTERVAL 900000
12#define WEB_UPDATE_INTERVAL 5000
17#define LED_FAST_BLINK_MS 100
18#define LED_SLOW_BLINK_MS 500
19#define WIFI_MAX_ATTEMPTS 20
20#define WIFI_RETRY_DELAY_MS 500
21#define BUTTON_HOLD_TIME_MS 2000
22#define CONFIG_SAVE_DELAY_MS 2000
23#define WATCHDOG_TIMEOUT_SEC 30
24#define OTA_WATCHDOG_TIMEOUT_SEC 60
27#define DELTA_TEMPERATURE 0.1f
28#define DELTA_HUMIDITY 0.5f
32#define FORCE_PUBLISH_CYCLES 5
35#define JXCT_MODBUS_ID 1
38#define WIFI_AP_SSID "JXCT-Setup"
39#define WIFI_AP_PASS "12345678"
42#include <Preferences.h>
55 char mqttPassword[24];
56 char mqttTopicPrefix[48];
57 char mqttDeviceName[24];
61 char thingSpeakApiKey[24];
62 char thingSpeakChannelId[12];
63 uint16_t thingspeakInterval;
66 char manufacturer[24];
72 uint32_t ntpUpdateInterval;
81 uint32_t sensorReadInterval;
82 uint32_t mqttPublishInterval;
83 uint32_t thingSpeakInterval;
84 uint32_t webUpdateInterval;
87 float deltaTemperature;
94 uint8_t movingAverageWindow;
95 uint8_t forcePublishCycles;
96 uint8_t filterAlgorithm;
97 uint8_t outlierFilterEnabled;
108 float irrigationSpikeThreshold;
109 uint16_t irrigationHoldMinutes;
110 uint16_t postIrrigationHoldMinutes;
113 uint8_t environmentType;
118 uint8_t hassEnabled : 1;
119 uint8_t useRealSensor : 1;
120 uint8_t mqttEnabled : 1;
121 uint8_t thingSpeakEnabled : 1;
122 uint8_t calibrationEnabled : 1;
123 uint8_t isGreenhouse : 1;
124 uint8_t seasonalAdjustEnabled : 1;
125 uint8_t autoOtaEnabled : 1;