123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- #include "settings.h"
- // Uptime
- struct sysUptimeStruct
- {
- unsigned int day = 0;
- unsigned int hour = 0;
- unsigned int min = 0;
- unsigned int sec = 0;
- unsigned int highMillis = 0;
- unsigned int rollover = 0;
- char uptimeStr[16];
- } sysUptime;
- unsigned long system_restartAtMillis = 0;
- bool system_pendingRestart = false;
- bool system_doRestart = false;
- unsigned long system_pendingRestart_lastMillis = 0;
- bool mqtt_tempDisabled_credentialError = false;
- char mqtt_topic_in_cmd[61];
- char mqtt_topic_in_setTemp[61];
- char mqtt_topic_in_setMode[61];
- char mqtt_topic_in_setPreset[61];
- char mqtt_topic_in_setPause[61];
- // Sensors - global
- unsigned long sensors_maxMeasurementAge = MAX_MEASUREMENT_AGE;
- unsigned long sensors_maxMeasurementAge_outside = MAX_MEASUREMENT_AGE_OUT;
- // DHT Sensor
- float sensor_DHT_currTemp; // last reading from DHT sensor with smoothing
- float sensor_DHT_currTemp_raw; // last reading from DHT sensor (raw)
- uint16_t sensor_DHT_currHum; // last reading from DHT sensor with smoothing
- uint16_t sensor_DHT_currHum_raw; // last reading from DHT sensor (raw)
- float sensor_DHT_tmpHum, sensor_DHT_tmpTemp;
- int sensor_DHT_readRetries = 2;
- unsigned long sensor_DHT_lastUpdate = 0; // last update time of DHT reading
- // OneWire Sensors
- float owTemp_feed;
- float owTemp_return;
- float owTemp_out;
- // Outside Temp/Hum via MQTT
- float outTemp; // outside temp (via MQTT if enabled and in-topic configured)
- uint16_t outHum; // outside temp (via MQTT if enabled and in-topic configured)
- unsigned long outTempHumLastUpdate; // last reading from out temp/hum source
- char outTemp_newValue[6];
- bool outTemp_parseNewValue;
- char outHum_newValue[4];
- bool outHum_parseNewValue;
- unsigned long lastMeasure = 0; // millis of last temp/hum measurement
- //char msg[101]; // buffer MQTT in payload
- //char topic[70]; // buffer MQTT in topic
- bool PIRSensorOn = false;
- //bool config_was_changed = false;
- bool configChangedRestartRequired = false;
- bool configChangedMqttConnResetRequired = false;
- char cmdPayload[101]; // buffer for commands
- bool cmdInQueue = false; // command is queued and will be processed next loop() run
- // not used any more, now triggered directly
- //bool saveConfigToFlash = false; // conf is saved in next loop() run
- //bool saveConfig2ToFlash = false; // conf2 is saved in next loop() run
- // ----
- unsigned long lastConfigChange;
- bool lastConfigChangeNoteAlreadyDone = false;
- unsigned long lastMillis_100ms = 0;
- unsigned long lastMillis_1s = 0;
- unsigned long lastMillis_1m = 0;
- //uint16_t count100ms = 0;
- //uint16_t countSeconds = 0;
- uint16_t countMeasureInterval = 0;
- unsigned long mqttLastReconnectAttempt = 0;
- uint16_t mqttReconnectAttempts = 0;
- uint16_t mqtt_reconnects = 0;
- bool mqtt_connected = false;
- unsigned long mqtt_lastHeartbeat;
- bool mqttInTopicSubscribed = false;
- char mqtt_topic_log[50];
- // Display
- uint16_t display_countInterval = 0;
- uint16_t display_overlayMsgTimeout = 2;
- bool display_showFullscreenMsg = false;
- bool display_updateImmediately = false;
- bool display_showRow2OverlayMsg = false;
- //uint16_t displayInterval;
- uint16_t display_overrideInterval;
- unsigned long display_lastDisplayUpdate = 0; // millis of last display update
- unsigned long display_lastDisplayToggle = 0; // millis of last display toggle
- bool display_active = false; // gets true when button is pressed. display light
- // gets switched on until timeout. button actions
- // are only performed while display is active
- // MQTT publishing
- unsigned int outPubInterval_states_count = 0;
- unsigned int outPubInterval_sensors_count = 0;
- // if command "debugmode 1" is called...
- bool debug = false;
- bool debug2 = false;
- bool sysInfoEverySecond = false;
- // global buffer variable for use with sendLog function
- char logBuf[LOG_BUFFER_SIZE];
- bool WifiInApMode = false;
- unsigned long WifiApModeStartedAt;
- #ifdef ENABLE_FEATURE_SECRETS_ENCRYPTION
- char encKey[] = SECRETS_ENCRYPTION_KEY;
- #endif
- bool confEncryptionEnabled = false;
- #ifdef ENABLE_FEATURE_NTP_TIME
- struct tm lt; // http://www.cplusplus.com/reference/ctime/tm/
- //const char *const PROGMEM dayNames[] = {"Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"};
- //const char *const PROGMEM dayShortNames[] = {"So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"};
- //const char *const PROGMEM monthNames[] = {"Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"};
- //const char *const PROGMEM monthShortNames[] = {"Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"};
- #endif
- #ifdef ENABLE_FEATURE_WEB_CONSOLE
- char webLogBuffer[WEB_CONSOLE_BUFFER_SIZE];
- unsigned int webLogBuffer_index = 0;
- #endif
- char mqttCurrentStateName[25];
- char httpServer_returnPage[21];
|