The two configs are Identical except for Device_Name and WeatherStation_Name, only the "Nangkita" station has Weather Underground enabled.
BROADCAST_DATA is disabled on both.
Code:
// --------------------------------------------------------------------------------------
// WeatherDuino 4Pro Dual Band RF Receiver - Version: 4PESP32_RX_v6.0_b028
// Start of user configurable options
// 12/10/21 CRW Studio
// --------------------------------------------------------------------------------------
// If you need help about any of the user configurable settings, please first do a search
// at the WeatherDuino support forum. If you don't find any relevant info, then post
// a new thread.
//
//
// >>> DON'T FORGET THIS <<<
// If you are programing a device for the first time,
// please upload the fonts and icons to SPIFFS memory,
// using the "ESP32 Sketch Data Upload" menu option in the IDE.
//
// To add this option follow instructions here:
// https://github.com/me-no-dev/arduino-esp32fs-plugin
// or just copy to your Sketchbook location (on Windows, usually C:\Users\xxxxxx\Documents\Arduino)
// the full tools directory, included in the WeatherDuino 4Pro Dual Band receiver software package (look in utilities folder).
//
// Close the IDE and open again to see the new menu option.
//
// Unless clearly indicated, this operation only needs to be done 1 time.
// On regular software upgrades, or when reprogramming there is no need to re-upload the graphics to the Flash memory.
// *******************************************
// * User configurable settings start here *
// *******************************************
// --------------------------------------------------------------------------------------
// Define Name and URL for this weather station
// This data will be used to list your Weather Station on the WeatherDuino Online Weather Station Map
// --------------------------------------------------------------------------------------
//const char* WeatherStation_Name = "Nangkita"; // DON'T LEAVE EMPTY - Put here your Weather Station name or Location name CRW
const char* WeatherStation_Name = "Studio"; // DON'T LEAVE EMPTY - Put here your Weather Station name or Location name CRW
//const char* WeatherStation_Name = "Window"; // DON'T LEAVE EMPTY - Put here your Weather Station name or Location name CRW
const char* WeatherStation_URL = ""; // OPTIONAL - If you have an URL to your Meteo Website put it here (can be the WU URL). URL should start with http or https // If you have an URL to your Meteo Website put it here (can be the WU URL). URL should start with http or https
// --------------------------------------------------------------------------------------
// Define ID's for this weather station
// --------------------------------------------------------------------------------------
#define Station_ID 0xA1 // Station_ID, use the same value in all TX units
#define Relay_ID 0xA3 // Relay_ID, use the same value in all WD units
// --------------------------------------------------------------------------------------
// Define device ID for this specific unit
// Use a simple and short name to identify this unit.
// IMPORTANT: No spaces or special chars.
// --------------------------------------------------------------------------------------
//const char* Device_Name = "KitchenRx"; // Define a unique ID for each unit (used to identify unit for OTA upload) - DON'T LEAVE EMPTY CRW
const char* Device_Name = "StudioRx"; // Define a unique ID for each unit (used to identify unit for OTA upload) - DON'T LEAVE EMPTY CRW
//const char* Device_Name = "WindowRx"; // Define a unique ID for each unit (used to identify unit for OTA upload) - DON'T LEAVE EMPTY CRW
// --------------------------------------------------------------------------------------
// Define Radio Mode
// --------------------------------------------------------------------------------------
#define RADIO_MODE 0 // 0= RFM95 915MHz, 1= Dual Mode, 2= OOK 433Mhz
// --------------------------------------------------------------------------------------
// Define Station Connection Mode - USB or TCP
// --------------------------------------------------------------------------------------
#define CON_MODE 0 // 0= USB, 1= TCP
#define TCP_PORT 22220 // Davis default TCP/IP port: 22222
// --------------------------------------------------------------------------------------
// Define your Weather Station location
//
// >>> THIS SETTING IS VERY IMPORTANT! <<<
//
// The more precise you define your location, the more accurate will be the 4 Days Forecast.
// Use decimal format for Latitude and Longitude with at least 4 decimal places (preferably 5)
// LATITUDE: 90.00000 to -90.00000 (negative for Southern hemisphere)
// LONGITUDE: 180.000 to -180.000 (negative for West)
// --------------------------------------------------------------------------------------
#define LATITUDE -31.90405 // Put here your Station Latitude (up to 5 decimal places, don't use less than 4 decimal places)
#define LONGITUDE 116.20451 // Put here your Station Longitude (up to 5 decimal places, don't use less than 4 decimal places)
#define ELEVATION 268 // Put here your Station height above sea level in Meters (no decimal places)
// --------------------------------------------------------------------------------------
// Define Timezone and rules for auto Summer Time clock adjust
//
// System can use POSIX standard format, or a simpler format.
// Choose and set the one you prefer
// --------------------------------------------------------------------------------------
// Examples:
// In North American Eastern Standard Time (EST) and Eastern Daylight Time (EDT), the normal offset from UTC is 5 hours.
// Since this is west of the prime meridian, the sign is positive (+5 = 5).
// Summer time begins on March’s second Sunday at 2:00am, and ends on November’s first Sunday at 2:00am.
// TZ_info = "EST+5EDT,M3.2.0/2,M11.1.0/2"
//
// Western Greenland Time (WGT) and Western Greenland Summer Time (WGST) are 3 hours behind UTC in the winter.
// Its clocks follow the European Union rules of springing forward by one hour on March’s last Sunday at 01:00 UTC (-02:00 local time)
// and falling back on October’s last Sunday at 01:00 UTC (-01:00 local time).
// TZ_info = "WGT3WGST,M3.5.0/-2,M10.5.0/-1"
//const char* TZ_info = "AZOT1AZOST,M3.5.0/01:00:00,M10.5.0/02:00:00"; // --> Açores, Portugal Timezone rules
//const char* TZ_info = "WET0WEST,M3.5.0/01:00:00,M10.5.0/02:00:00"; // --> Portugal Timezone rules
const char* TZ_info = "AWST-8AWDT,M3.5.0/-1:00:00,M10.5.0/-1:00:00"; // --> West Aust Timezone rules
const long gmtOffset_sec = 0;
const int daylightOffset_sec = 3600;
#define TIMEZONE_DEFTYPE 0 // 0= POSIX, 1= Simple GMT Offset and Summer Time Offset
// --------------------------------------------------------------------------------------
// Prefered NTP Server - Enable only one
// --------------------------------------------------------------------------------------
#define TIMESERVER "pool.ntp.org"
//#define TIMESERVER "time.nist.gov" // ntp1.nl.net NTP server
// --------------------------------------------------------------------------------------
// Define User Interface Language
// --------------------------------------------------------------------------------------
// Change the language code according to your preference.
// Currently available languages: en_GB, fr_FR, de_DE, pt_PT, es_ES, cs_CZ, nl_NL, it_IT, pl_PL
#define en_GB
// --------------------------------------------------------------------------------------
// Define Roll Over Hour for Meteorological Day
// --------------------------------------------------------------------------------------
const uint8_t MeteoDay_HStart = 9; // Use values from 0 to 23
// --------------------------------------------------------------------------------------
// Define Screen Saver Settings (Backlight / BigClock)
// --------------------------------------------------------------------------------------
#define SCREENSAVER_TIMEOUT 0 // Timeout for screen saver in minutes (1 to 255). 0 = Always ON
#define SCREENSAVER_MODE 0 // 0= Backlight OFF, 1= Show a Big Clock, 2= Picture Frame (Experimental)
// --------------------------------------------------------------------------------------
// Define data display units
// --------------------------------------------------------------------------------------
#define DATE_TIME_FORMAT 0 // 0 for dd-mm-yyyy, 1 for yyyy/mm/dd
#define TEMP_DISPLAY_UNIT 0 // 0 for ºC, 1 for ºF
#define ATM_DISPLAY_UNIT 0 // 0 for mBar, 1 for inHg
#define RAIN_DISPLAY_UNIT 0 // 0 for mm, 1 for inches
#define WIND_DISPLAY_UNIT 0 // 0 for Km/h, 1 for mph, 2 for m/s, 3 for Knots
// --------------------------------------------------------------------------------------
// Fine adjusts for Inside Temperature and Barometer
// --------------------------------------------------------------------------------------
const int16_t TemperaturaInt_offset = 2; // Inside Temperature Fine Adjust in Tenths of Degree (-4 = -0,4ºC) +2 for kitchen -2 for studio CRW
const float pressure_offset = 0; // Pressure Fine Adjust in mB
// --------------------------------------------------------------------------------------
// Define Wind Speed and Wind Gust resolution
// --------------------------------------------------------------------------------------
// This setting only have effect when the software is used in Davis VP emulation mode
#define VP2_WIND_RESOLUTION 2 // If set to 2, set Cumulus Wind Speed and Wind Gust multipliers to 0.448. Wind Resolution 0.72 Km/h
// If set to 1, set Cumulus Wind Speed and Wind Gust multipliers to 0.224. Wind Resolution 0.36 Km/h
// WARNING !!! Setting this variable to 1 allows a better wind speed and gust resolution,
// but also limits both of them, to a maximum reading of just 91.8 Km/h
// If set to 0, system uses Standard Davis wind resolution (1 mph or 0.1mph with LOOP2).
// Weather Display users should set this option to 0 - Standard Davis wind resolution
// --------------------------------------------------------------------------------------
// Define use of Wind Gust Spike prevention routines (mostly for FO anemometers)
// --------------------------------------------------------------------------------------
#define WIND_SPIKECONTROL 0 // 0= Disable, 1= Enable
// --------------------------------------------------------------------------------------
// Define the source of your main outside sensors
// --------------------------------------------------------------------------------------
// ---- If you are using just one TX board, the source for all items should be equal to your single TX Unit ID (most likely zero).
// ---- Define the source of your main Temperature / Humidity sensor
#define TH_SOURCE 0 // 0= Temp/Hum sensor connected to TX_Unit 0, 1= for TX_Unit 1, ..., 3 for Auriol RF Temp / Hum
// ---- Define the source of your Main Wind sensor
#define WIND_SOURCE 0 // 0= Wind instruments connected to TX_Unit 0, 1= for TX_Unit 1, ..., 3 for Auriol RF Wind Speed & Dir
// ---- Define the source of your main Rain Gauge
#define RAIN_SOURCE 0 // 0= Rain Gauge connected to TX_Unit 0, 1= for TX_Unit 1, ..., 3 for Auriol RF Rain Gauge
// ---- Define the source of your main Solar Radiation sensor
#define SOLAR_SOURCE 0 // 0= Solar Radiation sensor connected to TX_Unit 0, 1= for TX_Unit1, ..., 9 for not used
// ---- Define the source of your main UV sensor
#define UV_SOURCE 0 // 0= UV sensor connected to TX_Unit 0, 1= for TX_Unit1, ..., 9 for not used
// ---- Define the source of your main Air Quality sensor
#define AQ_SOURCE 9 // 0= AQM Unit 0, 1= AQM Unit 1, 9 for not used - This seting have no effect if latter you select to get Air Quality data by WiFi
// --------------------------------------------------------------------------------------
// ADVANCED SETTING - Blocked TX Units
// This setting is intended for installation
// All data from blocked TX Units, no matter the Station_ID, will be rejected.
// Each bit corresponds to a TX_Unit number. Bit 0 refers to TX Unit0, bit 1 to TX Unit1 and so on, up to TX Unit3
// Putting a Bit to zero (0) forbids the corresponding TX Unit
// --------------------------------------------------------------------------------------
const byte Blocked_TX = B1111; // Default = B1111
// --------------------------------------------------------------------------------------
// Each TX unit can send data from two Temp / Hum sensors.
// Here you must define which one will be used as your main outside Temperature / Humidity Sensor
// SENSOR_0 can be any of the supported I2C T/H sensors (SHT31, SHT21 or HTU21D), SENSOR_1 can be an SHT1x or DHT22
// --------------------------------------------------------------------------------------
#define MAINOUT_TH_SENSOR 0 // 0 for SENSOR_0, 1 for SENSOR_1
// --------------------------------------------------------------------------------------
// Define the type of your Solar Radiation sensor
// --------------------------------------------------------------------------------------
// 1= Solar Cell "Pyranometer"
// 2= Apogee SP-110 Pyranometer
// 3= Reserved
// 4= Apogee SQ-110: Photosynthetically Active Radiation Sensor (Support for this sensor is experimental)
#define SOLAR_SENSOR 1
// --------------------------------------------------------------------------------------
// Define the type of your UV sensor
// --------------------------------------------------------------------------------------
// 1= UVM-30A
// 2= VEML6075
// 3= Reserved
// 20= Rika RK200-04 (MODBUS) - Requires special WeatherDuino AGRO Transmitter Unit
#define UV_SENSOR 1
const uint8_t UV_Transmission = 65; // UV Transmission percentage of UV sensor cover material.
// --------------------------------------------------------------------------------------
// If you are receiving Air Quality data from an AQM-II unit, then the settings bellow MUST match the settings defined on the AQM-II
// If you are receiving Air Quality data from and AQM-III unit, then the settings below can be chosen independently of the settings defined on the AQM-III
// --------------------------------------------------------------------------------------
#define AQI_STANDARD 3 // 0= USA (AQI-EPA), 1= EUROPE (EAQI), 2= UK (DAQI), 3= AUSTRALIA (AQC - NSW)
#define AQ_AVGMODE 1 // 1= 1 Hour Average, 2= 3 Hours Average, 3= Nowcast 12H, 4= 24 Hours Average
//---------------------------------------------------------
// Enable / Disable getting data WiFI sensors
// This can be data from the T/H sensor installed on the Wireless Display units,
// and/or T/H plus AQM data from one (just one) Air Quality Monitor (version III or II).
// If present, system can identify which one is an Air Quality Monitor, using the AQM device name defined bellow.
// Define the WiFi devices sequentially, first device, second device, and so on up to four.
//---------------------------------------------------------
#define GETDATA_FROM_WIFISENSORS 1 // 1= Enable, 0= Disable
#define WIFISENSORS_WEBSERVER_PORT 80 // WebServer Port defined on WD units (should be equal in all units)
const char* WIFIunit_address [][4]= { "192.168.1.31" // IP address of first WiFi sensor (Ex: 192.168.1.122) AQM CRW
, "" // IP address of second WiFi sensor
, "" // IP address of third WiFi sensor
, "" // IP address of fourth WiFi sensor
};
//------------------------------------------------------------------------------------------
// Enable / Disable getting Air Quality Data by WiFI instead of RF.
// IP address of the AQM should be included in list above
// In this case AQM sensor should be mapped to an availabe position
// on the extra-sensors table, always using code 8 as Source, and 0 as unit (Ex: {8,0}).
// See Mapping options and examples below.
//
// WeatherDuino can handle Air Quality data from just one AQM sensor,
// however can receive Temp / Hum data from a second or third AQM unit.
// They are treated as Wireless Display units, and should be mapped with code 5,
// and the number corresponding to the order of the defined IP address.
//-----------------------------------------------------------------------------------------
#define GETAQM_FROM_WIFI 1 // 0= No (means get it by RF if available), 1= Yes
const char* AQM_DeviceName = "Nangkita_AQM"; // This must be the same name used for Device_ID on the Config_Options of the AQ Monitor software
// --------------------------------------------------------------------------------------
// Extra Sensors Settings and Mapping
// --------------------------------------------------------------------------------------
// ---- Define the source and sensor type (number) for each of the seven extra sensors, insert 9 if not used.
// Sensors SHT31, SHT21 or HTU21D are type 0, sensors SHT1x or DHT22 are type 1
//
// ---- Source 0 means TX unit0, 1 means TX unit1...
// ---- Source 5 is for Temperature/Humidity from the Wireless Display units
// ---- Source 6 (Reserved)
// ---- Source 7 is for BIOS Sensor (Only Temperature is shown)
// ---- Source 8 is SPECIAL. For getting data (not only Temperature/Humidity) from the Air Quality Monitor, no matter received by RF or WiFi, source 8 MUST be defined at any desired position.
//
// ---- First field = Sensor source, Second field = Sensor number
// ---- For the Sensor number use the following rules: 0 or 1 for sensor 0 or sensor 1 on TX units,
// ---- 0 to 3* for T/H data from WiFi Wireless Display units,
// ---- always 0 for Temp. / Hum. from AQM units.
// ----
// ---- *Number is given by definition order of units IP Address, done above: First IP Address is unit 0, second IP Address is unit 1 and so on.
//
// ---- Example:
// ---- ES0 ES1 ES2 ES3 ES4 ES5 ES6
//#define EXTRASENSORS_SOURCE { {0,1},{1,1},{9,9},{5,0},{5,1},{9,9},{8,0} }
// {0,1} - First extra sensor (ES0), will be sensor 1 from TX unit0
// {1,1} - Second extra sensor (ES1), will be sensor 1 from TX unit1
// {9,9} - Third extra sensor (ES2), not used - not mapped
// {5,0} - Fourth extra sensor (ES3), will be T/H data from the first WiFi Sensor defined at WIFIunit_address (first IP address)
// {5,1} - Fifth extra sensor (ES3), will be T/H data from the second WiFi Sensor defined at WIFIunit_address (second IP address)
// {9,9} - Sixth extra sensor (ES5), not use - not mapped
// {8,0} - Seventh extra sensor (ES6), will be Temperature / Humidity from the Air Quality Monitor
//
//----- ES0 ES1 ES2 ES3 ES4 ES5 ES6
#define EXTRASENSORS_SOURCE { {9,9},{9,9},{9,9},{9,9},{9,9},{9,9},{8,0} } // Defaut Config - No Extra Sensors mapped}
// --------------------------------------------------------------------------------------
// Define personalized names for each Extra Sensors. Attention, maximum 12 chars
// --------------------------------------------------------------------------------------
// [- Max. Size ]
// [- 12 chars -]
const char ESname_1[] = "";
const char ESname_2[] = "";
const char ESname_3[] = "";
const char ESname_4[] = "";
const char ESname_5[] = "";
const char ESname_6[] = "";
const char ESname_7[] = "Lounge";
// --------------------------------------------------------------------------------------
// Soil / Leaf Interface Settings and Sensors Mapping
// (The mapping logic is the same than used with the Extra Sensors)
// --------------------------------------------------------------------------------------
// 0 = Soil Leaf Interface not used
// 1 = Soil Leaf Interface connected to a TX unit
#define SOIL_LEAF_INTERFACE 0 // 0, 1,
// ---- For Soil & Leaf data from SoilLeaf_Interface wired to a TX unit, use TX Unit number as source
// ---- For BIOS Soil Temp / Moisture use 7 as source
// ---- To disable use 9 in both fields
// S1 S2 S3 S4
#define SOILTEMPSENSORS_SOURCE { {9,9},{9,9},{9,9},{9,9} }
#define LEAFTEMPSENSORS_SOURCE { {9,9},{9,9},{9,9},{9,9} }
#define SOILMOISTSENSORS_SOURCE { {9,9},{9,9},{9,9},{9,9} }
#define LEAFWETSENSORS_SOURCE { {9,9},{9,9},{9,9},{9,9} }
// --------------------------------------------------------------------------------------
// Define personalized names for each Soil and Leaf Sensor. Attention, maximum 12 chars
// --------------------------------------------------------------------------------------
// [- Max. Size ]
// [- 12 chars -]
const char SSname_1[] = "";
const char SSname_2[] = "";
const char SSname_3[] = "";
const char SSname_4[] = "";
// [- Max. Size ]
// [- 12 chars -]
const char LSname_1[] = "";
const char LSname_2[] = "";
const char LSname_3[] = "";
const char LSname_4[] = "";
// --------------------------------------------------------------------------------------
// Define type of your Soil Moisture probe
//
// Type 1 - Applies only for VH400 soil moisture probes
// Conversion from voltage to VWC (volumetric water content) is done using the piecewise regressions provided by the manufacturer
// at http://www.vegetronix.com/Products/VH400/VH400-Piecewise-Curve.phtml
//
// Type 2 - Used for any sensor which have a linear output between voltage and VWC (0V=0VWC, maxV=100VWC)
// --------------------------------------------------------------------------------------
#define SOILMOISTURE_PROBE_TYPE 1
// Soil Moisture probes supported by WeatherDuino provide output in VWC. There isn't a direct conversion from VWC to cb !!!
// So, bear in mind that the conversion procedure we are currently using is valid (while always an approximation) just on part of the measurement range.
#define SOILMOISTURE_OUTPUT_UNIT 0 // 0= 0 to 100% VWC (Volumetric Water Content), 1 = 200 to 0 cb (Soil Moisture Tension)
// Max and Min output voltage of the analog sensors connected to Soil / Leaf Interface
// Default value for Decagon Devices LWS Leaf Wetness Sensor (3.3V power): Max. Output Voltage - 1395mV (max wetness), Min Output Voltage - 530mV (dry)
// ADC1 ADC2 ADC3 ADC4
const uint16_t AnalogSensor_MaxVoltOut[4] = { 3000, 1395, 5000, 5000 }; // Values in miliVolts
const uint16_t AnalogSensor_MinVoltOut[4] = { 0, 530, 0, 0 };
// --------------------------------------------------------------------------------------
// BIOS soil moisture sensor settings
// --------------------------------------------------------------------------------------
// ---- Please use the included BIOS_ID_Scanner sketch to find you BIOS Device ID
#define BIOS_SENSOR_ID 0 // Device ID in HEX format, or 0 not used
// --------------------------------------------------------------------------------------
// Deprecated! Enable only if you really know what you are doing.
// Output data in Easyweather format data
// --------------------------------------------------------------------------------------
#define EASYWEATHER_OUT 0 // 0= Disable (defaut) 1= Enable
// --------------------------------------------------------------------------------------
// Data Logger Settings (Davis compatible)
// --------------------------------------------------------------------------------------
#define LOGGER_ENABLE 1 // 0= Disable 1= Enable
uint8_t ARCHIVE_PERIOD = 5; // Default Archive Period in Minutes (Usable values: 1, 5, 10, 15, 30)
// --------------------------------------------------------------------------------------
// Send the whole content of the logger when no match record was found?
// Cumulus users may prefer NO, so the default option is NO.
// --------------------------------------------------------------------------------------
#define SEND_WHOLE_DATALOGGER 0 // 0= NO, 1= YES
// --------------------------------------------------------------------------------------
// Erase the Data Logger Flash Memory on Factory Reset
// --------------------------------------------------------------------------------------
#define ERASE_DATALOGGER 0 // 0= NO, 1= YES
// --------------------------------------------------------------------------------------
// Enable / Disable WiFi connection
// --------------------------------------------------------------------------------------
#define ENABLE_WIFI 1 // 1= Enable WiFi connection, 0= Disable
// --------------------------------------------------------------------------------------
// Broadcasting data to Wireless Display Units using WiFi
// --------------------------------------------------------------------------------------
#define BROADCAST_DATA 0 // 0= Disables Data Relay, 1= Enables Data Relay
#define UDP_BROADCAST_PORT 9889 // Define the UPD broadcast port
// --------------------------------------------------------------------------------------
// Enable / Disable send data to Weather Wunderground
// --------------------------------------------------------------------------------------
#define ENABLE_WU_UPLOAD 0 // 1= Enable upload to Wunderground, 0= Disable - disable for studio and window CRW
#define WU_UPLOAD_INTEMP 1 // 1= Enable upload of Inside Temperature / Humidity, 0= Disable
byte WU_upload_period = 5; // Period in minutes between uploads to WU. (Should be >= 4 minutes)
// --------------------------------------------------------------------------------------
// Enable / Disable send data to WeatherCloud
// ATTENTION - You can only change the default 10 minutes interval, if you have an WeatherCloud Pro or Premium account
// --------------------------------------------------------------------------------------
#define ENABLE_WC_UPLOAD 0 // 1= Enable upload to WeatherCloud, 0= Disable
#define WC_UPLOAD_INTEMP 0 // 1= Enable upload of Inside Temperature / Humidity, 0= Disable
byte WC_upload_period = 10; // Period in minutes between uploads to WC (Default for free and PLUS accounts is 10 minutes)
// --------------------------------------------------------------------------------------
// Enable / Disable Air Quality send data to ThingSpeak
// --------------------------------------------------------------------------------------
#define ENABLE_TS_UPLOAD 0 // 1= Enable, 0= Disable
// --------------------------------------------------------------------------------------
// Enable / Disable Air Quality send data to your own server ----
// Be sure you have already created the database and table. See AirQuality_LogToSQL.php script for info
// --------------------------------------------------------------------------------------
#define ENABLE_AQM_TO_MYSERVER 0 // 1= Enable, 0= Disable
// --------------------------------------------------------------------------------------
// Enable / Disable internal Web Server
// --------------------------------------------------------------------------------------
#define ENABLE_WEBSERVER 1 // 1= Enable 0= Disable
#define WEBSERVER_PORT 80 // WebServer port (default 80)
//---------------------------------------------------------
// Enable / Disable getting the 12 Hours Forecast from OpenWeather
// IMPORTANT: Sign up for an account at Open Weather to get your free API Key,
// then put it in Credentials.h
//---------------------------------------------------------
#define ENABLE_FORECAST 0 // 1= Enable, 0= Disable
// --------------------------------------------------------------------------------------
// Define data screens order
// Use numbers from 1 to 5 to define a personalized order for the data screens
// --------------------------------------------------------------------------------------
#define AIRQUALITY_DATA 1
#define SYSINFO_DATA 2
#define EXTRASENSORS_DATA 3
#define SOILLEAF_DATA 4
#define FORECAST_DATA 5
// --------------------------------------------------------------------------------------
// Test Mode : Never run a live system in test mode
// --------------------------------------------------------------------------------------
bool Test_Mode = false; // false= Normal working mode, true= Test mode only (no usb connection)
/*************************************************************************************
Hardware Settings
*************************************************************************************/
// --------------------------------------------------------------------------------------
// Define PCB Version Number
// --------------------------------------------------------------------------------------
// Take particular attention to this setting.
// Your system may not work properly if you define a wrong pcb version number.
// In case of doubt check what is printed in your pcb.
//
#define PCB_VERSION 32 // PCB version number, without the decimal point Ex: 3.2 = 32 (integer number)
// --------------------------------------------------------------------------------------
// Define Display type
// --------------------------------------------------------------------------------------
#define DISPLAY_TYPE 1 // 1= TFT 3.2
// --------------------------------------------------------------------------------------
// Debug helper - Print debug messages to serial monitor. For testing purposes ONLY.
//
// !!! NEVER LEAVE ANY OF THESE DEBUG FUNCTIONS ACTIVE WHEN THE STATION IS CONNECTED BY USB TO ANY WEATHER SOFTWARE !!!
// --------------------------------------------------------------------------------------
//#define PRINT_DEBUG_WIFI
//#define PRINT_DEBUG_SYNCTIME // Prints to serial monitor messages related to sync system time
//#define PRINT_DEBUG_WU_UPLOAD // Prints to serial monitor messages related to Weather Underground upload.
//#define PRINT_DEBUG_WC_UPLOAD
//#define PRINT_DEBUG_TS_UPLOAD
//#define PRINT_DEBUG_MYSERVER_UPLOAD
//#define PRINT_DEBUG_VCHECK
//#define PRINT_DEBUG_AURIOL
//#define PRINT_DEBUG_BIOS
//#define PRINT_DEBUG_RF_MESSAGES
//#define PRINT_DEBUG_WIFI_SENSORS_DEF
//#define PRINT_DEBUG_WIFI_SENSORS
//#define PRINT_GENERALDEBUG
//#define PRINT_DEBUG_FORECAST
//#define PRINT_DEBUG_LOGGER
// ---------------------------------------------------------------------------------------------------
// End of user configurable options
// There isn't any editable setting below this point.
// ---------------------------------------------------------------------------------------------------
#ifdef pt_PT
#include "data/lang/pt_PT_UTF8.h"
#endif
#ifdef en_GB
#include "data/lang/en_GB_UTF8.h"
#endif
#ifdef fr_FR
#include "data/lang/fr_FR_UTF8.h"
#endif
#ifdef de_DE
#include "data/lang/de_DE_UTF8.h"
#endif
#ifdef es_ES
#include "data/lang/es_ES_UTF8.h"
#endif
#ifdef cs_CZ
#include "data/lang/cs_CZ_UTF8.h"
#endif
#ifdef nl_NL
#include "data/lang/nl_NL_UTF8.h"
#endif
#ifdef it_IT
#include "data/lang/it_IT_UTF8.h"
#endif
#ifdef pl_PL
#include "data/lang/pl_PL_UTF8.h"
#endif