<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[WeatherDuino Forum - All Forums]]></title>
		<link>https://www.meteocercal.info/forum/</link>
		<description><![CDATA[WeatherDuino Forum - https://www.meteocercal.info/forum]]></description>
		<pubDate>Wed, 12 Aug 2026 04:50:55 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[4pro RX keeps silent, no comm with CMX anymore.]]></title>
			<link>https://www.meteocercal.info/forum/Thread-4pro-RX-keeps-silent-no-comm-with-CMX-anymore</link>
			<pubDate>Sat, 25 Jul 2026 12:08:31 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.meteocercal.info/forum/member.php?action=profile&uid=3176">PapaErde</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.meteocercal.info/forum/Thread-4pro-RX-keeps-silent-no-comm-with-CMX-anymore</guid>
			<description><![CDATA[Dear all,<br />
i had a working setup with a 4proRX that receives one TX with 2 T/H sensors (1 Rain- and 1 FakeWind-Sensor (4,7kOhm inserted)) and one AQMIII configured as Indoor Airlink Sensor. The RX communicated with a CumulusMX on a RPI via tttyUSB0. this test-setup was running for nearly 2 month now. but i ran in serious problems.<br />
<br />
what happend? <br />
i uploaded the latest sketch (v6.3_b008) for the RX via arduino (IDE 1.8.19) and boardmanager 2.0.14 ESP32. <br />
my guess is, that accidently i had "Erase all flash before sketch upload" activated. but i don´t really know it.<br />
after the upload the spiffs was empty, fonts and pictures were gone. letters on the display were very little.<br />
everything else seemed to function, sensors were received, and data were displayed correctly. but the communication with cumulusMX was gone. <br />
the latest error section of cumulusMX shows a long list of "WakeVP: *** VP2 Not woken"<br />
<br />
next try: connected the 4proRX directly to the LinuxMint notebook with arduino IDE and did a fresh sketch-upload with "Erase flash" before. After successful upload, i transferred the complete "data" folder to SPIFFS  via ESP32 Sketch Data  Upload Tool<br />
<br />
<br />
 i checked everything. is the correct USB connection in use (yes it is /dev/ttyUSB0 connected to cp210x)<br />
when i reboot the rpi - restart cumulusMX, whats the output of Log:<br />
<br />
2026-07-25 11:30:51 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:47 - GetArchiveData: No Ack in response to DMPAFT, giving up<br />
2026-07-25 11:30:47 - GetArchiveData: No Ack in response to DMPAFT<br />
2026-07-25 11:30:45 - GetArchiveData: Unable to wake VP<br />
2026-07-25 11:30:45 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:41 - GetArchiveData: No Ack in response to DMPAFT<br />
2026-07-25 11:30:39 - GetArchiveData: Unable to wake VP<br />
2026-07-25 11:30:39 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:35 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:31 - GetArchiveData: No Ack in response to DMPAFT, giving up<br />
2026-07-25 11:30:31 - GetArchiveData: No Ack in response to DMPAFT<br />
2026-07-25 11:30:29 - GetArchiveData: Unable to wake VP<br />
2026-07-25 11:30:29 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:25 - GetArchiveData: No Ack in response to DMPAFT<br />
2026-07-25 11:30:23 - GetArchiveData: Unable to wake VP<br />
2026-07-25 11:30:23 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:19 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:15 - Console clock: Failed to read console time<br />
2026-07-25 11:30:15 - getTime: Expected 8 bytes, got 0<br />
2026-07-25 11:30:15 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:10 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:06 - Unable to determine the firmware version, LOOP2 may not be supported<br />
2026-07-25 11:30:06 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:02 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:29:52 - You are not running the latest version of Cumulus MX, Version 5.1.5  - Build 5012 is available.<br />
<br />
<br />
<br />
<br />
<img src="https://i.postimg.cc/Y9jpM6k8/image.png" loading="lazy"  alt="[Image: image.png]" class="mycode_img img-responsive" /><br />
<br />
My next guess was, that i changed something in config.h, but i can´t find a bug. Pls find the config.h attached below. I did further investigation with direct usb connection and debug mode to see the comm. in Serial.Monitor of the IDE. I even did a debug-session with directly connected RX to the Notebook and Serial Monitor. If there´s interest, i´ll post the outcome here too.<br />
<br />
Conclusio until now<br />
So while sensor readings are displayed on the WD pro4RX, it seems to me, that the communication with cumulusMX in Davis Mode is completly gone. cumulusMX dashboard keeps empty with 0° and zero time. But there´s one interesting part: the AQMIII readings are displayed in CMX -&gt; Extra Sensors -&gt; Airlink Sensors. <br />
<br />
Thanks in advance, and greetings from Austria.  <img src="https://www.meteocercal.info/forum/images/smilies/rolleyes.gif" alt="Rolleyes" title="Rolleyes" class="smilie smilie_6" /><br />
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>// --------------------------------------------------------------------------------------<br />
//  WeatherDuino 4Pro Dual Band RF Receiver - Version: 4PESP32_RX_v6.3_b008<br />
//                  Start of user configurable options <br />
// --------------------------------------------------------------------------------------<br />
//  If you need help about any of the user configurable settings, please first do a search<br />
//  at the WeatherDuino support forum. If you don't find any relevant info, then post<br />
//  a new thread.<br />
//<br />
//<br />
//        &gt;&gt;&gt;   DON'T FORGET THIS   &lt;&lt;&lt;<br />
//  If you are programing a device for the first time,<br />
//  please upload the fonts and icons to SPIFFS memory,<br />
//  using the "ESP32 Sketch Data Upload" menu option in the IDE.<br />
//<br />
//  To add this option follow instructions here:<br />
//  https://github.com/me-no-dev/arduino-esp32fs-plugin<br />
//  or just copy to your Sketchbook location (on Windows, usually C:&#92;Users&#92;xxxxxx&#92;Documents&#92;Arduino)<br />
//  the full tools directory, included in the WeatherDuino 4Pro Dual Band receiver software package (look in utilities folder). <br />
//<br />
//  Close the IDE and open again to see the new menu option.<br />
// <br />
//  Unless clearly indicated, uploading data to SPIFFS memory only needs to be done 1 time.<br />
//  On regular software upgrades, or when reprogramming there is no need to re-upload the graphics and fonts to the SPIFFS memory.<br />
<br />
<br />
// *******************************************<br />
// *  User configurable settings start here  *<br />
// *******************************************<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define Name and URL for this weather station<br />
//   This data will be used to list your Weather Station on the WeatherDuino Online Weather Station Map<br />
// --------------------------------------------------------------------------------------<br />
const char* WeatherStation_Name = "Leobendorf";      // DON'T LEAVE EMPTY - Put here your Weather Station name or Location name<br />
const char* WeatherStation_URL  = "http://wetter.papaerde.at";      // 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<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define ID's for this weather station<br />
// --------------------------------------------------------------------------------------<br />
#define Station_ID  0xA1     // Station_ID, use the same value in all TX units<br />
#define Relay_ID    0xA3     // Relay_ID,   use the same value in all WD units<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define device ID for this specific unit<br />
//   Use a simple and short name to identify this unit.<br />
//   IMPORTANT: No spaces or special chars.  <br />
// --------------------------------------------------------------------------------------<br />
const char* Device_Name = "LeoWXbase";  // Define a unique ID for each unit (used to identify unit for OTA upload) - DON'T LEAVE EMPTY<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define Radio Mode<br />
// --------------------------------------------------------------------------------------<br />
#define RADIO_MODE  0      // 0= RFM95 868MHz, 1= Dual Mode, 2= OOK 433Mhz<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define type of LoRa radio module<br />
// --------------------------------------------------------------------------------------<br />
#define LORA_FREQUENCY  0   // 0= Europe (868Mhz), 1= Australia &amp; USA (915Mhz)<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define Station Connection Mode - USB or TCP<br />
// --------------------------------------------------------------------------------------<br />
#define CON_MODE    0      // 0= USB, 1= TCP<br />
<br />
#define TCP_PORT    22222  // Davis default TCP/IP port: 22222<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define your Weather Station location<br />
//<br />
//     &gt;&gt;&gt; THIS SETTING IS VERY IMPORTANT! &lt;&lt;&lt;<br />
//<br />
//   The more precise you define your location, the more accurate will be the 4 Days Forecast.<br />
//   Use decimal format for Latitude and Longitude with at least 4 decimal places (preferably 5)<br />
//   LATITUDE:  90.00000 to -90.00000 (negative for Southern hemisphere)<br />
//   LONGITUDE: 180.000 to -180.000 (negative for West) <br />
// --------------------------------------------------------------------------------------<br />
#define LATITUDE      48.380782    // Put here your Station Latitude (up to 5 decimal places, don't use less than 4 decimal places)<br />
#define LONGITUDE     16.324375    // Put here your Station Longitude (up to 5 decimal places, don't use less than 4 decimal places)<br />
#define ELEVATION     190         // Put here your Station height above sea level in Meters (no decimal places)<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define Timezone and rules for auto Summer Time clock adjust<br />
//<br />
//   System can use POSIX standard format, or a simpler format.<br />
//   Choose and set the one you prefer <br />
// --------------------------------------------------------------------------------------<br />
// Examples:<br />
// In North American Eastern Standard Time (EST) and Eastern Daylight Time (EDT), the normal offset from UTC is 5 hours.<br />
// Since this is west of the prime meridian, the sign is positive (+5 = 5).<br />
// Summer time begins on March’s second Sunday at 2:00am, and ends on November’s first Sunday at 2:00am.<br />
//       TZ_info = "EST+5EDT,M3.2.0/2,M11.1.0/2"<br />
//<br />
// Western Greenland Time (WGT) and Western Greenland Summer Time (WGST) are 3 hours behind UTC in the winter.<br />
// 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)<br />
// and falling back on October’s last Sunday at 01:00 UTC (-01:00 local time).  <br />
//       TZ_info = "WGT3WGST,M3.5.0/-2,M10.5.0/-1"<br />
<br />
//const char* TZ_info = "GMT0BST,M3.5.0/01,M10.5.0/02";                   // --&gt; British Time Zone<br />
const char* TZ_info = "CEST-1CET,M3.2.0/2:00:00,M11.1.0/2:00:00";       // --&gt; Germany Time Zone<br />
//const char* TZ_info = "CET-1CEST,M3.5.0/2,M10.5.0/3";                   // --&gt; France Timezone<br />
//const char* TZ_info = "AZOT1AZOST,M3.5.0/01:00:00,M10.5.0/02:00:00";    // --&gt; Açores, Portugal Time Zone<br />
//const char* TZ_info = "AEST-10AEDT,M10.1.0,M4.1.0/3";                   // --&gt; Camberra Australia<br />
//const char* TZ_info = "NZST-12NZDT,M9.5.0/2,M4.1.0/3";                  // --&gt; New Zealand Time Zone<br />
<br />
//const char* TZ_info = "WET0WEST,M3.5.0/01:00:00,M10.5.0/02:00:00";        // --&gt; Portugal Time Zone<br />
<br />
const long gmtOffset_sec      = 0; <br />
const int  daylightOffset_sec = 3600; <br />
<br />
#define TIMEZONE_DEFTYPE 0    // 0= POSIX, 1= Simple GMT Offset and Summer Time Offset<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Prefered NTP Server - Enable only one<br />
// --------------------------------------------------------------------------------------<br />
#define TIMESERVER "pool.ntp.org"<br />
//#define TIMESERVER "europe.pool.ntp.org"<br />
//#define TIMESERVER "time.nist.gov"                 // ntp1.nl.net NTP server<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define User Interface Language<br />
// --------------------------------------------------------------------------------------      <br />
// Change the language code according to your preference.<br />
// Currently available languages: en_GB, fr_FR, de_DE, pt_PT, es_ES, cs_CZ, nl_NL, it_IT, pl_PL                            <br />
<br />
#define de_DE<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define Roll Over Hour for Meteorological Day<br />
// --------------------------------------------------------------------------------------<br />
const uint8_t MeteoDay_HStart = 0;    // Use values from 0 to 23<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define Screen Saver Settings<br />
//   <br />
//   After the time defined, the screen will turn to a big clock with minimal weather info on bottom.<br />
//   Alternatively, you can set the screen saver to run a slide show of up to five of your favorite pictures.<br />
//   Pictures should be 320x240 pixels in JPG format (try make them smaller than 20KB). File names should be as 0.jpg, 1.jpg and so on.<br />
//   Place your pictures at "data/mypics". <br />
//<br />
//   Enever the Big Clock screen is active, you always can activate the Picture Slide show, by just touching on the top left of the screen.<br />
// --------------------------------------------------------------------------------------<br />
#define SCREENSAVER_TIMEOUT     5      // Timeout for screen saver in minutes (1 to 255). 0 = Always ON <br />
#define SCREENSAVER_MODE         1      // 0= Backlight OFF, 1= Show a Big Clock, 2= Slideshow<br />
    <br />
// --------------------------------------------------------------------------------------<br />
//   Define data display units<br />
// --------------------------------------------------------------------------------------<br />
#define DATE_TIME_FORMAT  0    // 0 for dd-mm-yyyy, 1 for yyyy/mm/dd<br />
#define TEMP_DISPLAY_UNIT 0    // 0 for ºC, 1 for ºF<br />
#define ATM_DISPLAY_UNIT  0    // 0 for mBar, 1 for inHg<br />
#define RAIN_DISPLAY_UNIT 0    // 0 for mm, 1 for inches<br />
#define WIND_DISPLAY_UNIT 0    // 0 for Km/h, 1 for mph, 2 for m/s, 3 for Knots<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Fine adjusts for Inside Temperature and Barometer<br />
// --------------------------------------------------------------------------------------<br />
const int16_t TemperaturaInt_offset = 0;   // Inside Temperature Fine Adjust in Tenths of Degree (-4 = -0,4ºC) <br />
const float pressure_offset         = 0;   // Pressure Fine Adjust in mB<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Fine adjusts for TX Batery Voltage<br />
//   First value is for TX_0, second for TX_1 and so on<br />
// --------------------------------------------------------------------------------------<br />
const int16_t TXBatVolt_offset [4] = {0, 1, 0, 0};   // Fine Adjust in Tenths of Volt (Ex: -4 = -0,4V) <br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define Wind Speed and Wind Gust resolution<br />
// --------------------------------------------------------------------------------------<br />
// This setting only have effect when the software is used in Davis VP emulation mode<br />
#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<br />
                                     // If set to 1, set Cumulus Wind Speed and Wind Gust multipliers to 0.224. Wind Resolution 0.36 Km/h<br />
                                     // WARNING !!! Setting this variable to 1 allows a better wind speed and gust resolution,<br />
                                     // but also limits both of them, to a maximum reading of just 91.8 Km/h<br />
                                     // If set to 0, system uses Standard Davis wind resolution (1 mph or 0.1mph with LOOP2).<br />
                                     // Weather Display users should set this option to 0 - Standard Davis wind resolution   <br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define use of Wind Gust Spike prevention routines (mostly for FO anemometers)<br />
// --------------------------------------------------------------------------------------<br />
#define WIND_SPIKECONTROL       1    // 0= Disable, 1= Enable<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define the source of your main outside sensors<br />
// --------------------------------------------------------------------------------------<br />
// ---- 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).<br />
// ---- Define the source of your main Temperature / Humidity sensor<br />
#define TH_SOURCE       0   // 0= Temp/Hum sensor connected to TX_Unit 0, 1= for TX_Unit 1, ..., 3 for Auriol RF Temp / Hum<br />
// ---- Define the source of your Main Wind sensor<br />
#define WIND_SOURCE     0   // 0= Wind instruments connected to TX_Unit 0, 1= for TX_Unit 1, ..., 3 for Auriol RF Wind Speed &amp; Dir<br />
// ---- Define the source of your main Rain Gauge<br />
#define RAIN_SOURCE     0   // 0= Rain Gauge connected to TX_Unit 0, 1= for TX_Unit 1, ..., 3 for Auriol RF Rain Gauge<br />
// ---- Define the source of your main Solar Radiation sensor<br />
#define SOLAR_SOURCE    9   // 0= Solar Radiation sensor connected to TX_Unit 0, 1= for TX_Unit1, ..., 9 for not used<br />
// ---- Define the source of your main UV sensor<br />
#define UV_SOURCE       9  // 0= UV sensor connected to TX_Unit 0, 1= for TX_Unit1, ..., 9 for not used<br />
// ---- Define the source of your main Air Quality sensor<br />
#define AQ_SOURCE       0  // 0= AQM Unit 0, 1= AQM Unit 1, 9 for not used<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   ADVANCED SETTING - Blocked TX Units<br />
//   All data from blocked TX Units, no matter the Station_ID,  will be rejected.<br />
//   Each bit corresponds to a TX_Unit number. Bit 0 means TX Unit0, bit 1 TX Unit1 and so on, up to TX Unit3<br />
//   Putting a Bit to zero (0) forbids the corresponding TX Unit<br />
// --------------------------------------------------------------------------------------<br />
const byte Blocked_TX = B1111;            // Default = B1111<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Each TX unit can send data from two Temp / Hum sensors. <br />
//   Here you must define which one will be used as your main outside Temperature / Humidity Sensor<br />
//   SENSOR_0 can be any of the supported I2C T/H sensors (SHT31, SHT21 or HTU21D), SENSOR_1 can be an SHT1x or DHT22<br />
// --------------------------------------------------------------------------------------<br />
#define MAINOUT_TH_SENSOR 0   // 0 for SENSOR_0, 1 for SENSOR_1 <br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define the type of your Solar Radiation sensor<br />
// --------------------------------------------------------------------------------------<br />
//                       1= Solar Cell "Pyranometer"<br />
//                       2= Apogee SP-110 Pyranometer<br />
//                       3= Reserved<br />
//                       4= Apogee SQ-110: Photosynthetically Active Radiation Sensor (Support for this sensor is experimental)<br />
<br />
#define SOLAR_SENSOR     1   <br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define the type of your UV sensor<br />
// --------------------------------------------------------------------------------------<br />
//                       1= UVM-30A<br />
//                       2= VEML6075<br />
//                       3= Reserved <br />
//                      20= Rika RK200-04 (MODBUS)<br />
<br />
#define UV_SENSOR        1<br />
const uint8_t UV_Transmission = 65;    // UV Transmission percentage of UV sensor cover material.  <br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   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<br />
//   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<br />
// --------------------------------------------------------------------------------------<br />
#define AQI_STANDARD   1   //  0= USA (AQI-EPA), 1= EUROPE (EAQI), 2= UK (DAQI), 3= AUSTRALIA (AQC - NSW)<br />
#define AQ_AVGMODE     1   //  1= 1 Hour Average, 2= 3 Hours Average, 3= Nowcast 12H, 4= 24 Hours Average <br />
<br />
<br />
//---------------------------------------------------------<br />
//    Enable / Disable getting data WiFI sensors<br />
//    This can be data from the T/H sensor installed on the Wireless Display units,<br />
//    and/or T/H plus AQM data from one (just one) Air Quality Monitor (version III or II).<br />
//    If present, system can identify which one is an Air Quality Monitor, using the AQM device name defined bellow.<br />
//    Define the WiFi devices sequentially, first device, second device, and so on up to four.<br />
//---------------------------------------------------------<br />
#define GETDATA_FROM_WIFISENSORS       0                         // 1= Enable, 0= Disable<br />
#define WIFISENSORS_WEBSERVER_PORT    80                         // WebServer Port defined on WD units (should be equal in all units)<br />
<br />
<br />
const char* WIFIunit_address [][4]= { ""            // IP address of first WiFi sensor (Ex: 192.168.1.122)<br />
                                    , ""            // IP address of second WiFi sensor <br />
                                    , ""            // IP address of third WiFi sensor                  <br />
                                    , ""            // IP address of fourth WiFi sensor <br />
                                    }; <br />
<br />
//------------------------------------------------------------------------------------------<br />
//    Enable / Disable getting Air Quality Data by WiFI instead of RF.<br />
//    IP address of the AQM should be included in list above<br />
//    In this case AQM sensor should be mapped to an availabe position<br />
//    on the extra-sensors table, always using code 8 as Source, and 0 as unit (Ex: {8,0}).<br />
//    See Mapping options and examples below.<br />
// <br />
//    WeatherDuino can handle Air Quality data from just one AQM sensor,<br />
//    however can receive Temp / Hum data from a second or third AQM unit.<br />
//    They are treated as Wireless Display units, and should be mapped with code 5,<br />
//    and the number corresponding to the order of the defined IP address.<br />
//-----------------------------------------------------------------------------------------<br />
#define GETAQM_FROM_WIFI  0                 // 0= No (means get it by RF if available), 1= Yes<br />
const char* AQM_DeviceName = "My-AQM";     // This must be the same name used for Device_ID on the Config_Options of the AQ Monitor software<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Extra Sensors Settings and Mapping<br />
// --------------------------------------------------------------------------------------<br />
// ---- Define the source and sensor type (number) for each of the seven extra sensors, insert 9 if not used.<br />
//      Sensors SHT31, SHT21 or HTU21D are type 0, sensors SHT1x or DHT22 are type 1<br />
// <br />
// ---- Source 0 means TX unit0, 1 means TX unit1... <br />
// ---- Source 5 is for Temperature/Humidity from the Wireless Display units<br />
// ---- Source 6 (Reserved)<br />
// ---- Source 7 is for BIOS Sensor (Only Temperature is shown)<br />
// ---- 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.<br />
//<br />
// ---- First field = Sensor source, Second field = Sensor number<br />
// ---- For the Sensor number use the following rules: 0 or 1 for sensor 0 or sensor 1 on TX units,<br />
// ----                                                0 to 3* for T/H data from WiFi Wireless Display units,<br />
// ----                                                always 0 for Temp. / Hum. from AQM units.<br />
// ----<br />
// ---- *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.<br />
//<br />
// ---- Example:<br />
// ----                          ES0   ES1   ES2   ES3   ES4   ES5   ES6     <br />
//#define EXTRASENSORS_SOURCE { {0,1},{1,1},{9,9},{5,0},{5,1},{9,9},{8,0} }<br />
//               {0,1} - First extra sensor (ES0), will be sensor 1 from TX unit0<br />
//               {1,1} - Second extra sensor (ES1), will be sensor 1 from TX unit1<br />
//               {9,9} - Third extra sensor (ES2), not used - not mapped<br />
//               {5,0} - Fourth extra sensor (ES3), will be T/H data from the first WiFi Sensor defined at WIFIunit_address (first IP address)<br />
//               {5,1} - Fifth extra sensor (ES3), will be T/H data from the second WiFi Sensor defined at WIFIunit_address (second IP address)<br />
//               {9,9} - Sixth extra sensor (ES5), not use - not mapped<br />
//               {8,0} - Seventh extra sensor (ES6), will be Temperature / Humidity from the Air Quality Monitor<br />
//<br />
//-----                        ES0   ES1   ES2   ES3   ES4   ES5   ES6     <br />
#define EXTRASENSORS_SOURCE { {0,1},{9,9},{9,9},{9,9},{9,9},{9,9},{8,0} }  // Defaut Config - No Extra Sensors mapped}<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define personalized names for each Extra Sensors. Attention, maximum 12 chars<br />
// --------------------------------------------------------------------------------------<br />
//                       [- Max. Size ]  <br />
//                       [- 12 chars -]<br />
const char ESname_1[]  = "Bodentemp.";   <br />
const char ESname_2[]  = ""; <br />
const char ESname_3[]  = ""; <br />
const char ESname_4[]  = "";  <br />
const char ESname_5[]  = ""; <br />
const char ESname_6[]  = ""; <br />
const char ESname_7[]  = "AQ Sensor"; <br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Soil / Leaf Interface Settings and Sensors Mapping<br />
//   (The mapping logic is the same than used with the Extra Sensors)<br />
// --------------------------------------------------------------------------------------<br />
// 0 = Soil Leaf Interface not used<br />
// 1 = Soil Leaf Interface connected to a TX unit<br />
#define SOIL_LEAF_INTERFACE  0   // 0, 1, <br />
<br />
// ---- For Soil &amp; Leaf data from SoilLeaf_Interface wired to a TX unit, use TX Unit number as source <br />
// ---- For BIOS Soil Temp / Moisture use 7 as source<br />
// ---- To disable use 9 in both fields<br />
//                                 S1    S2    S3    S4<br />
#define SOILTEMPSENSORS_SOURCE  { {9,9},{9,9},{9,9},{9,9} }<br />
#define LEAFTEMPSENSORS_SOURCE  { {9,9},{9,9},{9,9},{9,9} }<br />
#define SOILMOISTSENSORS_SOURCE { {9,9},{9,9},{9,9},{9,9} }<br />
#define LEAFWETSENSORS_SOURCE   { {9,9},{9,9},{9,9},{9,9} }<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define personalized names for each Soil and Leaf Sensor. Attention, maximum 12 chars<br />
// --------------------------------------------------------------------------------------<br />
//                       [- Max. Size ]  <br />
//                       [- 12 chars -]<br />
const char SSname_1[]  = ""; <br />
const char SSname_2[]  = "";      <br />
const char SSname_3[]  = "";     <br />
const char SSname_4[]  = ""; <br />
<br />
//                       [- Max. Size ]  <br />
//                       [- 12 chars -]<br />
const char LSname_1[]  = "";  <br />
const char LSname_2[]  = ""; <br />
const char LSname_3[]  = "";  <br />
const char LSname_4[]  = "";<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define type of your Soil Moisture probe <br />
//<br />
//   Type 1  - Applies only for VH400 soil moisture probes<br />
//             Conversion from voltage to VWC (volumetric water content) is done using the piecewise regressions provided by the manufacturer <br />
//             at http://www.vegetronix.com/Products/VH400/VH400-Piecewise-Curve.phtml <br />
//<br />
//   Type 2  - Used for any sensor which have a linear output between voltage and VWC (0V=0VWC, maxV=100VWC) <br />
// --------------------------------------------------------------------------------------<br />
#define SOILMOISTURE_PROBE_TYPE     1       <br />
<br />
// Soil Moisture probes supported by WeatherDuino provide output in VWC. There isn't a direct conversion from VWC to cb !!!<br />
// 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. <br />
#define SOILMOISTURE_OUTPUT_UNIT    0     // 0= 0 to 100% VWC (Volumetric Water Content), 1 = 200 to 0 cb (Soil Moisture Tension)<br />
<br />
// Max and Min output voltage of the analog sensors connected to Soil / Leaf Interface<br />
// Default value for Decagon Devices LWS Leaf Wetness Sensor (3.3V power): Max. Output Voltage - 1395mV (max wetness), Min Output Voltage - 530mV (dry)<br />
<br />
//                                              ADC1  ADC2  ADC3  ADC4  <br />
const uint16_t AnalogSensor_MaxVoltOut[4]   = { 3000, 1395, 5000, 5000 };    // Values in miliVolts<br />
const uint16_t AnalogSensor_MinVoltOut[4]   = {    0,  530,    0,    0 };<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   BIOS soil moisture sensor settings<br />
// --------------------------------------------------------------------------------------<br />
// ---- Please use the included BIOS_ID_Scanner sketch to find you BIOS Device ID<br />
#define BIOS_SENSOR_ID   0   // Device ID in HEX format, or 0 not used<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Deprecated! Enable only if you really know what you are doing.<br />
//   Output data in Easyweather format data<br />
// --------------------------------------------------------------------------------------<br />
#define EASYWEATHER_OUT  0   // 0= Disable (defaut) 1= Enable<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Data Logger Settings (Davis compatible)<br />
// --------------------------------------------------------------------------------------<br />
#define LOGGER_ENABLE      1   // 0= Disable 1= Enable<br />
uint8_t ARCHIVE_PERIOD  =  5;  // Default Archive Period in Minutes (Usable values: 1, 5, 10, 15, 30)<br />
<br />
  // --------------------------------------------------------------------------------------<br />
  //   Send the whole content of the logger when no match record was found? <br />
  //   Cumulus users may prefer NO, so the default option is NO. <br />
  // --------------------------------------------------------------------------------------<br />
#define SEND_WHOLE_DATALOGGER  0   // 0= NO, 1= YES<br />
<br />
  // --------------------------------------------------------------------------------------<br />
  //   Erase the Data Logger Flash Memory on Factory Reset  <br />
  // --------------------------------------------------------------------------------------<br />
#define ERASE_DATALOGGER   0      // 0= NO, 1= YES<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Enable / Disable WiFi connection<br />
// --------------------------------------------------------------------------------------<br />
#define ENABLE_WIFI     1                            // 1= Enable WiFi connection, 0= Disable<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Broadcasting data to Wireless Display Units using WiFi<br />
// --------------------------------------------------------------------------------------<br />
#define BROADCAST_DATA      0                        // 0= Disables Data Relay, 1= Enables Data Relay<br />
#define UDP_BROADCAST_PORT  9889                     // Define the UPD broadcast port<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Enable / Disable send data to Weather Wunderground<br />
// --------------------------------------------------------------------------------------<br />
#define ENABLE_WU_UPLOAD   0                         // 1= Enable upload to Wunderground, 0= Disable<br />
#define WU_UPLOAD_INTEMP   0                         // 1= Enable upload of Inside Temperature / Humidity, 0= Disable<br />
byte    WU_upload_period = 5;                        // Period in minutes between uploads to WU. (Should be &gt;= 4 minutes)  <br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Enable / Disable send data to WeatherCloud<br />
//   ATTENTION - You can only change the default 10 minutes interval, if you have an WeatherCloud Pro or Premium account<br />
// --------------------------------------------------------------------------------------<br />
#define ENABLE_WC_UPLOAD   0                         // 1= Enable upload to WeatherCloud, 0= Disable<br />
#define WC_UPLOAD_INTEMP   0                         // 1= Enable upload of Inside Temperature / Humidity, 0= Disable<br />
byte    WC_upload_period = 10;                       // Period in minutes between uploads to WC (Default for free and PLUS accounts is 10 minutes)<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Enable / Disable Air Quality send data to ThingSpeak<br />
// --------------------------------------------------------------------------------------<br />
#define ENABLE_TS_UPLOAD   0                         // 1= Enable, 0= Disable<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
// Enable / Disable Air Quality send data to your own server ----<br />
// Be sure you have already created the database and table. See AirQuality_LogToSQL.php script for info<br />
// --------------------------------------------------------------------------------------<br />
#define ENABLE_AQM_TO_MYSERVER    0                 // 1= Enable, 0= Disable<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Enable / Disable internal Web Server <br />
// --------------------------------------------------------------------------------------<br />
#define ENABLE_WEBSERVER      1                       // 1= Enable 0= Disable<br />
#define WEBSERVER_PORT       80                       // WebServer port (default 80)  <br />
<br />
<br />
//---------------------------------------------------------<br />
//    Enable / Disable getting the 12 Hours Forecast from OpenWeather<br />
//    IMPORTANT: Sign up for an account at Open Weather to get your free API Key,<br />
//               then put it in Credentials.h<br />
//---------------------------------------------------------<br />
#define ENABLE_FORECAST  1       // 1= Enable, 0= Disable<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define data screens order<br />
//   Use numbers from 1 to 5 to define a personalized order for the data screens<br />
// --------------------------------------------------------------------------------------<br />
#define AIRQUALITY_DATA    1<br />
#define SYSINFO_DATA       2<br />
#define EXTRASENSORS_DATA  3<br />
#define SOILLEAF_DATA      4<br />
#define FORECAST_DATA      5<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Test Mode : Never run a live system in test mode <br />
// --------------------------------------------------------------------------------------<br />
bool Test_Mode = false;    // false= Normal working mode, true= Test mode only (no usb connection)<br />
<br />
                                  <br />
<br />
/*************************************************************************************<br />
     Hardware Settings <br />
*************************************************************************************/<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define PCB Version Number<br />
// --------------------------------------------------------------------------------------<br />
//   Take particular attention to this setting.<br />
//   Your system may not work properly if you define a wrong pcb version number.<br />
//   In case of doubt check what is printed in your pcb.<br />
//<br />
#define PCB_VERSION   32   // PCB version number, without the decimal point Ex: 1.3 = 13 (integer number)<br />
 <br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define Display type <br />
// --------------------------------------------------------------------------------------<br />
//   If your display is show inverted colors please chose type 2 (applies only for units supplied after August 2025).<br />
<br />
#define DISPLAY_TYPE  1    //  1= TFT 3.2, 2= IPS 3.2<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Debug helper - Print debug messages to serial monitor. For testing purposes ONLY.<br />
//<br />
//   !!! NEVER LEAVE ANY OF THESE DEBUG FUNCTIONS ACTIVE WHEN THE STATION IS CONNECTED BY USB TO ANY WEATHER SOFTWARE !!! <br />
// --------------------------------------------------------------------------------------<br />
//#define PRINT_DEBUG_WIFI<br />
//#define PRINT_DEBUG_SYNCTIME            // Prints to serial monitor messages related to sync system time<br />
//#define PRINT_DEBUG_WU_UPLOAD           // Prints to serial monitor messages related to Weather Underground upload.<br />
//#define PRINT_DEBUG_WC_UPLOAD<br />
//#define PRINT_DEBUG_TS_UPLOAD<br />
//#define PRINT_DEBUG_MYSERVER_UPLOAD<br />
//#define PRINT_DEBUG_VCHECK<br />
//#define PRINT_DEBUG_AURIOL<br />
//#define PRINT_DEBUG_BIOS<br />
//#define PRINT_DEBUG_RF_MESSAGES <br />
//#define PRINT_DEBUG_WIFI_SENSORS_DEF<br />
//#define PRINT_DEBUG_WIFI_SENSORS<br />
//#define PRINT_GENERALDEBUG<br />
//#define PRINT_DEBUG_FORECAST<br />
//#define PRINT_DEBUG_LOGGER<br />
<br />
// ---------------------------------------------------------------------------------------------------<br />
//     End of user configurable options<br />
//     There isn't any editable setting below this point.<br />
// ---------------------------------------------------------------------------------------------------<br />
<br />
#ifdef pt_PT<br />
  #include "data/lang/pt_PT_UTF8.h"<br />
#endif<br />
#ifdef en_GB<br />
  #include "data/lang/en_GB_UTF8.h"<br />
#endif<br />
#ifdef fr_FR<br />
  #include "data/lang/fr_FR_UTF8.h"<br />
#endif<br />
#ifdef de_DE<br />
  #include "data/lang/de_DE_UTF8.h"<br />
#endif<br />
#ifdef es_ES<br />
  #include "data/lang/es_ES_UTF8.h"<br />
#endif<br />
#ifdef cs_CZ<br />
  #include "data/lang/cs_CZ_UTF8.h"<br />
#endif<br />
#ifdef nl_NL<br />
  #include "data/lang/nl_NL_UTF8.h"<br />
#endif<br />
#ifdef it_IT<br />
  #include "data/lang/it_IT_UTF8.h"<br />
#endif<br />
#ifdef pl_PL<br />
  #include "data/lang/pl_PL_UTF8.h"<br />
#endif</code></div></div>]]></description>
			<content:encoded><![CDATA[Dear all,<br />
i had a working setup with a 4proRX that receives one TX with 2 T/H sensors (1 Rain- and 1 FakeWind-Sensor (4,7kOhm inserted)) and one AQMIII configured as Indoor Airlink Sensor. The RX communicated with a CumulusMX on a RPI via tttyUSB0. this test-setup was running for nearly 2 month now. but i ran in serious problems.<br />
<br />
what happend? <br />
i uploaded the latest sketch (v6.3_b008) for the RX via arduino (IDE 1.8.19) and boardmanager 2.0.14 ESP32. <br />
my guess is, that accidently i had "Erase all flash before sketch upload" activated. but i don´t really know it.<br />
after the upload the spiffs was empty, fonts and pictures were gone. letters on the display were very little.<br />
everything else seemed to function, sensors were received, and data were displayed correctly. but the communication with cumulusMX was gone. <br />
the latest error section of cumulusMX shows a long list of "WakeVP: *** VP2 Not woken"<br />
<br />
next try: connected the 4proRX directly to the LinuxMint notebook with arduino IDE and did a fresh sketch-upload with "Erase flash" before. After successful upload, i transferred the complete "data" folder to SPIFFS  via ESP32 Sketch Data  Upload Tool<br />
<br />
<br />
 i checked everything. is the correct USB connection in use (yes it is /dev/ttyUSB0 connected to cp210x)<br />
when i reboot the rpi - restart cumulusMX, whats the output of Log:<br />
<br />
2026-07-25 11:30:51 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:47 - GetArchiveData: No Ack in response to DMPAFT, giving up<br />
2026-07-25 11:30:47 - GetArchiveData: No Ack in response to DMPAFT<br />
2026-07-25 11:30:45 - GetArchiveData: Unable to wake VP<br />
2026-07-25 11:30:45 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:41 - GetArchiveData: No Ack in response to DMPAFT<br />
2026-07-25 11:30:39 - GetArchiveData: Unable to wake VP<br />
2026-07-25 11:30:39 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:35 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:31 - GetArchiveData: No Ack in response to DMPAFT, giving up<br />
2026-07-25 11:30:31 - GetArchiveData: No Ack in response to DMPAFT<br />
2026-07-25 11:30:29 - GetArchiveData: Unable to wake VP<br />
2026-07-25 11:30:29 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:25 - GetArchiveData: No Ack in response to DMPAFT<br />
2026-07-25 11:30:23 - GetArchiveData: Unable to wake VP<br />
2026-07-25 11:30:23 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:19 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:15 - Console clock: Failed to read console time<br />
2026-07-25 11:30:15 - getTime: Expected 8 bytes, got 0<br />
2026-07-25 11:30:15 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:10 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:06 - Unable to determine the firmware version, LOOP2 may not be supported<br />
2026-07-25 11:30:06 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:30:02 - WakeVP: *** VP2 Not woken<br />
2026-07-25 11:29:52 - You are not running the latest version of Cumulus MX, Version 5.1.5  - Build 5012 is available.<br />
<br />
<br />
<br />
<br />
<img src="https://i.postimg.cc/Y9jpM6k8/image.png" loading="lazy"  alt="[Image: image.png]" class="mycode_img img-responsive" /><br />
<br />
My next guess was, that i changed something in config.h, but i can´t find a bug. Pls find the config.h attached below. I did further investigation with direct usb connection and debug mode to see the comm. in Serial.Monitor of the IDE. I even did a debug-session with directly connected RX to the Notebook and Serial Monitor. If there´s interest, i´ll post the outcome here too.<br />
<br />
Conclusio until now<br />
So while sensor readings are displayed on the WD pro4RX, it seems to me, that the communication with cumulusMX in Davis Mode is completly gone. cumulusMX dashboard keeps empty with 0° and zero time. But there´s one interesting part: the AQMIII readings are displayed in CMX -&gt; Extra Sensors -&gt; Airlink Sensors. <br />
<br />
Thanks in advance, and greetings from Austria.  <img src="https://www.meteocercal.info/forum/images/smilies/rolleyes.gif" alt="Rolleyes" title="Rolleyes" class="smilie smilie_6" /><br />
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>// --------------------------------------------------------------------------------------<br />
//  WeatherDuino 4Pro Dual Band RF Receiver - Version: 4PESP32_RX_v6.3_b008<br />
//                  Start of user configurable options <br />
// --------------------------------------------------------------------------------------<br />
//  If you need help about any of the user configurable settings, please first do a search<br />
//  at the WeatherDuino support forum. If you don't find any relevant info, then post<br />
//  a new thread.<br />
//<br />
//<br />
//        &gt;&gt;&gt;   DON'T FORGET THIS   &lt;&lt;&lt;<br />
//  If you are programing a device for the first time,<br />
//  please upload the fonts and icons to SPIFFS memory,<br />
//  using the "ESP32 Sketch Data Upload" menu option in the IDE.<br />
//<br />
//  To add this option follow instructions here:<br />
//  https://github.com/me-no-dev/arduino-esp32fs-plugin<br />
//  or just copy to your Sketchbook location (on Windows, usually C:&#92;Users&#92;xxxxxx&#92;Documents&#92;Arduino)<br />
//  the full tools directory, included in the WeatherDuino 4Pro Dual Band receiver software package (look in utilities folder). <br />
//<br />
//  Close the IDE and open again to see the new menu option.<br />
// <br />
//  Unless clearly indicated, uploading data to SPIFFS memory only needs to be done 1 time.<br />
//  On regular software upgrades, or when reprogramming there is no need to re-upload the graphics and fonts to the SPIFFS memory.<br />
<br />
<br />
// *******************************************<br />
// *  User configurable settings start here  *<br />
// *******************************************<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define Name and URL for this weather station<br />
//   This data will be used to list your Weather Station on the WeatherDuino Online Weather Station Map<br />
// --------------------------------------------------------------------------------------<br />
const char* WeatherStation_Name = "Leobendorf";      // DON'T LEAVE EMPTY - Put here your Weather Station name or Location name<br />
const char* WeatherStation_URL  = "http://wetter.papaerde.at";      // 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<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define ID's for this weather station<br />
// --------------------------------------------------------------------------------------<br />
#define Station_ID  0xA1     // Station_ID, use the same value in all TX units<br />
#define Relay_ID    0xA3     // Relay_ID,   use the same value in all WD units<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define device ID for this specific unit<br />
//   Use a simple and short name to identify this unit.<br />
//   IMPORTANT: No spaces or special chars.  <br />
// --------------------------------------------------------------------------------------<br />
const char* Device_Name = "LeoWXbase";  // Define a unique ID for each unit (used to identify unit for OTA upload) - DON'T LEAVE EMPTY<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define Radio Mode<br />
// --------------------------------------------------------------------------------------<br />
#define RADIO_MODE  0      // 0= RFM95 868MHz, 1= Dual Mode, 2= OOK 433Mhz<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define type of LoRa radio module<br />
// --------------------------------------------------------------------------------------<br />
#define LORA_FREQUENCY  0   // 0= Europe (868Mhz), 1= Australia &amp; USA (915Mhz)<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define Station Connection Mode - USB or TCP<br />
// --------------------------------------------------------------------------------------<br />
#define CON_MODE    0      // 0= USB, 1= TCP<br />
<br />
#define TCP_PORT    22222  // Davis default TCP/IP port: 22222<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define your Weather Station location<br />
//<br />
//     &gt;&gt;&gt; THIS SETTING IS VERY IMPORTANT! &lt;&lt;&lt;<br />
//<br />
//   The more precise you define your location, the more accurate will be the 4 Days Forecast.<br />
//   Use decimal format for Latitude and Longitude with at least 4 decimal places (preferably 5)<br />
//   LATITUDE:  90.00000 to -90.00000 (negative for Southern hemisphere)<br />
//   LONGITUDE: 180.000 to -180.000 (negative for West) <br />
// --------------------------------------------------------------------------------------<br />
#define LATITUDE      48.380782    // Put here your Station Latitude (up to 5 decimal places, don't use less than 4 decimal places)<br />
#define LONGITUDE     16.324375    // Put here your Station Longitude (up to 5 decimal places, don't use less than 4 decimal places)<br />
#define ELEVATION     190         // Put here your Station height above sea level in Meters (no decimal places)<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define Timezone and rules for auto Summer Time clock adjust<br />
//<br />
//   System can use POSIX standard format, or a simpler format.<br />
//   Choose and set the one you prefer <br />
// --------------------------------------------------------------------------------------<br />
// Examples:<br />
// In North American Eastern Standard Time (EST) and Eastern Daylight Time (EDT), the normal offset from UTC is 5 hours.<br />
// Since this is west of the prime meridian, the sign is positive (+5 = 5).<br />
// Summer time begins on March’s second Sunday at 2:00am, and ends on November’s first Sunday at 2:00am.<br />
//       TZ_info = "EST+5EDT,M3.2.0/2,M11.1.0/2"<br />
//<br />
// Western Greenland Time (WGT) and Western Greenland Summer Time (WGST) are 3 hours behind UTC in the winter.<br />
// 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)<br />
// and falling back on October’s last Sunday at 01:00 UTC (-01:00 local time).  <br />
//       TZ_info = "WGT3WGST,M3.5.0/-2,M10.5.0/-1"<br />
<br />
//const char* TZ_info = "GMT0BST,M3.5.0/01,M10.5.0/02";                   // --&gt; British Time Zone<br />
const char* TZ_info = "CEST-1CET,M3.2.0/2:00:00,M11.1.0/2:00:00";       // --&gt; Germany Time Zone<br />
//const char* TZ_info = "CET-1CEST,M3.5.0/2,M10.5.0/3";                   // --&gt; France Timezone<br />
//const char* TZ_info = "AZOT1AZOST,M3.5.0/01:00:00,M10.5.0/02:00:00";    // --&gt; Açores, Portugal Time Zone<br />
//const char* TZ_info = "AEST-10AEDT,M10.1.0,M4.1.0/3";                   // --&gt; Camberra Australia<br />
//const char* TZ_info = "NZST-12NZDT,M9.5.0/2,M4.1.0/3";                  // --&gt; New Zealand Time Zone<br />
<br />
//const char* TZ_info = "WET0WEST,M3.5.0/01:00:00,M10.5.0/02:00:00";        // --&gt; Portugal Time Zone<br />
<br />
const long gmtOffset_sec      = 0; <br />
const int  daylightOffset_sec = 3600; <br />
<br />
#define TIMEZONE_DEFTYPE 0    // 0= POSIX, 1= Simple GMT Offset and Summer Time Offset<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Prefered NTP Server - Enable only one<br />
// --------------------------------------------------------------------------------------<br />
#define TIMESERVER "pool.ntp.org"<br />
//#define TIMESERVER "europe.pool.ntp.org"<br />
//#define TIMESERVER "time.nist.gov"                 // ntp1.nl.net NTP server<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define User Interface Language<br />
// --------------------------------------------------------------------------------------      <br />
// Change the language code according to your preference.<br />
// Currently available languages: en_GB, fr_FR, de_DE, pt_PT, es_ES, cs_CZ, nl_NL, it_IT, pl_PL                            <br />
<br />
#define de_DE<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define Roll Over Hour for Meteorological Day<br />
// --------------------------------------------------------------------------------------<br />
const uint8_t MeteoDay_HStart = 0;    // Use values from 0 to 23<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define Screen Saver Settings<br />
//   <br />
//   After the time defined, the screen will turn to a big clock with minimal weather info on bottom.<br />
//   Alternatively, you can set the screen saver to run a slide show of up to five of your favorite pictures.<br />
//   Pictures should be 320x240 pixels in JPG format (try make them smaller than 20KB). File names should be as 0.jpg, 1.jpg and so on.<br />
//   Place your pictures at "data/mypics". <br />
//<br />
//   Enever the Big Clock screen is active, you always can activate the Picture Slide show, by just touching on the top left of the screen.<br />
// --------------------------------------------------------------------------------------<br />
#define SCREENSAVER_TIMEOUT     5      // Timeout for screen saver in minutes (1 to 255). 0 = Always ON <br />
#define SCREENSAVER_MODE         1      // 0= Backlight OFF, 1= Show a Big Clock, 2= Slideshow<br />
    <br />
// --------------------------------------------------------------------------------------<br />
//   Define data display units<br />
// --------------------------------------------------------------------------------------<br />
#define DATE_TIME_FORMAT  0    // 0 for dd-mm-yyyy, 1 for yyyy/mm/dd<br />
#define TEMP_DISPLAY_UNIT 0    // 0 for ºC, 1 for ºF<br />
#define ATM_DISPLAY_UNIT  0    // 0 for mBar, 1 for inHg<br />
#define RAIN_DISPLAY_UNIT 0    // 0 for mm, 1 for inches<br />
#define WIND_DISPLAY_UNIT 0    // 0 for Km/h, 1 for mph, 2 for m/s, 3 for Knots<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Fine adjusts for Inside Temperature and Barometer<br />
// --------------------------------------------------------------------------------------<br />
const int16_t TemperaturaInt_offset = 0;   // Inside Temperature Fine Adjust in Tenths of Degree (-4 = -0,4ºC) <br />
const float pressure_offset         = 0;   // Pressure Fine Adjust in mB<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Fine adjusts for TX Batery Voltage<br />
//   First value is for TX_0, second for TX_1 and so on<br />
// --------------------------------------------------------------------------------------<br />
const int16_t TXBatVolt_offset [4] = {0, 1, 0, 0};   // Fine Adjust in Tenths of Volt (Ex: -4 = -0,4V) <br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define Wind Speed and Wind Gust resolution<br />
// --------------------------------------------------------------------------------------<br />
// This setting only have effect when the software is used in Davis VP emulation mode<br />
#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<br />
                                     // If set to 1, set Cumulus Wind Speed and Wind Gust multipliers to 0.224. Wind Resolution 0.36 Km/h<br />
                                     // WARNING !!! Setting this variable to 1 allows a better wind speed and gust resolution,<br />
                                     // but also limits both of them, to a maximum reading of just 91.8 Km/h<br />
                                     // If set to 0, system uses Standard Davis wind resolution (1 mph or 0.1mph with LOOP2).<br />
                                     // Weather Display users should set this option to 0 - Standard Davis wind resolution   <br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define use of Wind Gust Spike prevention routines (mostly for FO anemometers)<br />
// --------------------------------------------------------------------------------------<br />
#define WIND_SPIKECONTROL       1    // 0= Disable, 1= Enable<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define the source of your main outside sensors<br />
// --------------------------------------------------------------------------------------<br />
// ---- 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).<br />
// ---- Define the source of your main Temperature / Humidity sensor<br />
#define TH_SOURCE       0   // 0= Temp/Hum sensor connected to TX_Unit 0, 1= for TX_Unit 1, ..., 3 for Auriol RF Temp / Hum<br />
// ---- Define the source of your Main Wind sensor<br />
#define WIND_SOURCE     0   // 0= Wind instruments connected to TX_Unit 0, 1= for TX_Unit 1, ..., 3 for Auriol RF Wind Speed &amp; Dir<br />
// ---- Define the source of your main Rain Gauge<br />
#define RAIN_SOURCE     0   // 0= Rain Gauge connected to TX_Unit 0, 1= for TX_Unit 1, ..., 3 for Auriol RF Rain Gauge<br />
// ---- Define the source of your main Solar Radiation sensor<br />
#define SOLAR_SOURCE    9   // 0= Solar Radiation sensor connected to TX_Unit 0, 1= for TX_Unit1, ..., 9 for not used<br />
// ---- Define the source of your main UV sensor<br />
#define UV_SOURCE       9  // 0= UV sensor connected to TX_Unit 0, 1= for TX_Unit1, ..., 9 for not used<br />
// ---- Define the source of your main Air Quality sensor<br />
#define AQ_SOURCE       0  // 0= AQM Unit 0, 1= AQM Unit 1, 9 for not used<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   ADVANCED SETTING - Blocked TX Units<br />
//   All data from blocked TX Units, no matter the Station_ID,  will be rejected.<br />
//   Each bit corresponds to a TX_Unit number. Bit 0 means TX Unit0, bit 1 TX Unit1 and so on, up to TX Unit3<br />
//   Putting a Bit to zero (0) forbids the corresponding TX Unit<br />
// --------------------------------------------------------------------------------------<br />
const byte Blocked_TX = B1111;            // Default = B1111<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Each TX unit can send data from two Temp / Hum sensors. <br />
//   Here you must define which one will be used as your main outside Temperature / Humidity Sensor<br />
//   SENSOR_0 can be any of the supported I2C T/H sensors (SHT31, SHT21 or HTU21D), SENSOR_1 can be an SHT1x or DHT22<br />
// --------------------------------------------------------------------------------------<br />
#define MAINOUT_TH_SENSOR 0   // 0 for SENSOR_0, 1 for SENSOR_1 <br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define the type of your Solar Radiation sensor<br />
// --------------------------------------------------------------------------------------<br />
//                       1= Solar Cell "Pyranometer"<br />
//                       2= Apogee SP-110 Pyranometer<br />
//                       3= Reserved<br />
//                       4= Apogee SQ-110: Photosynthetically Active Radiation Sensor (Support for this sensor is experimental)<br />
<br />
#define SOLAR_SENSOR     1   <br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define the type of your UV sensor<br />
// --------------------------------------------------------------------------------------<br />
//                       1= UVM-30A<br />
//                       2= VEML6075<br />
//                       3= Reserved <br />
//                      20= Rika RK200-04 (MODBUS)<br />
<br />
#define UV_SENSOR        1<br />
const uint8_t UV_Transmission = 65;    // UV Transmission percentage of UV sensor cover material.  <br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   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<br />
//   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<br />
// --------------------------------------------------------------------------------------<br />
#define AQI_STANDARD   1   //  0= USA (AQI-EPA), 1= EUROPE (EAQI), 2= UK (DAQI), 3= AUSTRALIA (AQC - NSW)<br />
#define AQ_AVGMODE     1   //  1= 1 Hour Average, 2= 3 Hours Average, 3= Nowcast 12H, 4= 24 Hours Average <br />
<br />
<br />
//---------------------------------------------------------<br />
//    Enable / Disable getting data WiFI sensors<br />
//    This can be data from the T/H sensor installed on the Wireless Display units,<br />
//    and/or T/H plus AQM data from one (just one) Air Quality Monitor (version III or II).<br />
//    If present, system can identify which one is an Air Quality Monitor, using the AQM device name defined bellow.<br />
//    Define the WiFi devices sequentially, first device, second device, and so on up to four.<br />
//---------------------------------------------------------<br />
#define GETDATA_FROM_WIFISENSORS       0                         // 1= Enable, 0= Disable<br />
#define WIFISENSORS_WEBSERVER_PORT    80                         // WebServer Port defined on WD units (should be equal in all units)<br />
<br />
<br />
const char* WIFIunit_address [][4]= { ""            // IP address of first WiFi sensor (Ex: 192.168.1.122)<br />
                                    , ""            // IP address of second WiFi sensor <br />
                                    , ""            // IP address of third WiFi sensor                  <br />
                                    , ""            // IP address of fourth WiFi sensor <br />
                                    }; <br />
<br />
//------------------------------------------------------------------------------------------<br />
//    Enable / Disable getting Air Quality Data by WiFI instead of RF.<br />
//    IP address of the AQM should be included in list above<br />
//    In this case AQM sensor should be mapped to an availabe position<br />
//    on the extra-sensors table, always using code 8 as Source, and 0 as unit (Ex: {8,0}).<br />
//    See Mapping options and examples below.<br />
// <br />
//    WeatherDuino can handle Air Quality data from just one AQM sensor,<br />
//    however can receive Temp / Hum data from a second or third AQM unit.<br />
//    They are treated as Wireless Display units, and should be mapped with code 5,<br />
//    and the number corresponding to the order of the defined IP address.<br />
//-----------------------------------------------------------------------------------------<br />
#define GETAQM_FROM_WIFI  0                 // 0= No (means get it by RF if available), 1= Yes<br />
const char* AQM_DeviceName = "My-AQM";     // This must be the same name used for Device_ID on the Config_Options of the AQ Monitor software<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Extra Sensors Settings and Mapping<br />
// --------------------------------------------------------------------------------------<br />
// ---- Define the source and sensor type (number) for each of the seven extra sensors, insert 9 if not used.<br />
//      Sensors SHT31, SHT21 or HTU21D are type 0, sensors SHT1x or DHT22 are type 1<br />
// <br />
// ---- Source 0 means TX unit0, 1 means TX unit1... <br />
// ---- Source 5 is for Temperature/Humidity from the Wireless Display units<br />
// ---- Source 6 (Reserved)<br />
// ---- Source 7 is for BIOS Sensor (Only Temperature is shown)<br />
// ---- 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.<br />
//<br />
// ---- First field = Sensor source, Second field = Sensor number<br />
// ---- For the Sensor number use the following rules: 0 or 1 for sensor 0 or sensor 1 on TX units,<br />
// ----                                                0 to 3* for T/H data from WiFi Wireless Display units,<br />
// ----                                                always 0 for Temp. / Hum. from AQM units.<br />
// ----<br />
// ---- *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.<br />
//<br />
// ---- Example:<br />
// ----                          ES0   ES1   ES2   ES3   ES4   ES5   ES6     <br />
//#define EXTRASENSORS_SOURCE { {0,1},{1,1},{9,9},{5,0},{5,1},{9,9},{8,0} }<br />
//               {0,1} - First extra sensor (ES0), will be sensor 1 from TX unit0<br />
//               {1,1} - Second extra sensor (ES1), will be sensor 1 from TX unit1<br />
//               {9,9} - Third extra sensor (ES2), not used - not mapped<br />
//               {5,0} - Fourth extra sensor (ES3), will be T/H data from the first WiFi Sensor defined at WIFIunit_address (first IP address)<br />
//               {5,1} - Fifth extra sensor (ES3), will be T/H data from the second WiFi Sensor defined at WIFIunit_address (second IP address)<br />
//               {9,9} - Sixth extra sensor (ES5), not use - not mapped<br />
//               {8,0} - Seventh extra sensor (ES6), will be Temperature / Humidity from the Air Quality Monitor<br />
//<br />
//-----                        ES0   ES1   ES2   ES3   ES4   ES5   ES6     <br />
#define EXTRASENSORS_SOURCE { {0,1},{9,9},{9,9},{9,9},{9,9},{9,9},{8,0} }  // Defaut Config - No Extra Sensors mapped}<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define personalized names for each Extra Sensors. Attention, maximum 12 chars<br />
// --------------------------------------------------------------------------------------<br />
//                       [- Max. Size ]  <br />
//                       [- 12 chars -]<br />
const char ESname_1[]  = "Bodentemp.";   <br />
const char ESname_2[]  = ""; <br />
const char ESname_3[]  = ""; <br />
const char ESname_4[]  = "";  <br />
const char ESname_5[]  = ""; <br />
const char ESname_6[]  = ""; <br />
const char ESname_7[]  = "AQ Sensor"; <br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Soil / Leaf Interface Settings and Sensors Mapping<br />
//   (The mapping logic is the same than used with the Extra Sensors)<br />
// --------------------------------------------------------------------------------------<br />
// 0 = Soil Leaf Interface not used<br />
// 1 = Soil Leaf Interface connected to a TX unit<br />
#define SOIL_LEAF_INTERFACE  0   // 0, 1, <br />
<br />
// ---- For Soil &amp; Leaf data from SoilLeaf_Interface wired to a TX unit, use TX Unit number as source <br />
// ---- For BIOS Soil Temp / Moisture use 7 as source<br />
// ---- To disable use 9 in both fields<br />
//                                 S1    S2    S3    S4<br />
#define SOILTEMPSENSORS_SOURCE  { {9,9},{9,9},{9,9},{9,9} }<br />
#define LEAFTEMPSENSORS_SOURCE  { {9,9},{9,9},{9,9},{9,9} }<br />
#define SOILMOISTSENSORS_SOURCE { {9,9},{9,9},{9,9},{9,9} }<br />
#define LEAFWETSENSORS_SOURCE   { {9,9},{9,9},{9,9},{9,9} }<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define personalized names for each Soil and Leaf Sensor. Attention, maximum 12 chars<br />
// --------------------------------------------------------------------------------------<br />
//                       [- Max. Size ]  <br />
//                       [- 12 chars -]<br />
const char SSname_1[]  = ""; <br />
const char SSname_2[]  = "";      <br />
const char SSname_3[]  = "";     <br />
const char SSname_4[]  = ""; <br />
<br />
//                       [- Max. Size ]  <br />
//                       [- 12 chars -]<br />
const char LSname_1[]  = "";  <br />
const char LSname_2[]  = ""; <br />
const char LSname_3[]  = "";  <br />
const char LSname_4[]  = "";<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define type of your Soil Moisture probe <br />
//<br />
//   Type 1  - Applies only for VH400 soil moisture probes<br />
//             Conversion from voltage to VWC (volumetric water content) is done using the piecewise regressions provided by the manufacturer <br />
//             at http://www.vegetronix.com/Products/VH400/VH400-Piecewise-Curve.phtml <br />
//<br />
//   Type 2  - Used for any sensor which have a linear output between voltage and VWC (0V=0VWC, maxV=100VWC) <br />
// --------------------------------------------------------------------------------------<br />
#define SOILMOISTURE_PROBE_TYPE     1       <br />
<br />
// Soil Moisture probes supported by WeatherDuino provide output in VWC. There isn't a direct conversion from VWC to cb !!!<br />
// 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. <br />
#define SOILMOISTURE_OUTPUT_UNIT    0     // 0= 0 to 100% VWC (Volumetric Water Content), 1 = 200 to 0 cb (Soil Moisture Tension)<br />
<br />
// Max and Min output voltage of the analog sensors connected to Soil / Leaf Interface<br />
// Default value for Decagon Devices LWS Leaf Wetness Sensor (3.3V power): Max. Output Voltage - 1395mV (max wetness), Min Output Voltage - 530mV (dry)<br />
<br />
//                                              ADC1  ADC2  ADC3  ADC4  <br />
const uint16_t AnalogSensor_MaxVoltOut[4]   = { 3000, 1395, 5000, 5000 };    // Values in miliVolts<br />
const uint16_t AnalogSensor_MinVoltOut[4]   = {    0,  530,    0,    0 };<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   BIOS soil moisture sensor settings<br />
// --------------------------------------------------------------------------------------<br />
// ---- Please use the included BIOS_ID_Scanner sketch to find you BIOS Device ID<br />
#define BIOS_SENSOR_ID   0   // Device ID in HEX format, or 0 not used<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Deprecated! Enable only if you really know what you are doing.<br />
//   Output data in Easyweather format data<br />
// --------------------------------------------------------------------------------------<br />
#define EASYWEATHER_OUT  0   // 0= Disable (defaut) 1= Enable<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Data Logger Settings (Davis compatible)<br />
// --------------------------------------------------------------------------------------<br />
#define LOGGER_ENABLE      1   // 0= Disable 1= Enable<br />
uint8_t ARCHIVE_PERIOD  =  5;  // Default Archive Period in Minutes (Usable values: 1, 5, 10, 15, 30)<br />
<br />
  // --------------------------------------------------------------------------------------<br />
  //   Send the whole content of the logger when no match record was found? <br />
  //   Cumulus users may prefer NO, so the default option is NO. <br />
  // --------------------------------------------------------------------------------------<br />
#define SEND_WHOLE_DATALOGGER  0   // 0= NO, 1= YES<br />
<br />
  // --------------------------------------------------------------------------------------<br />
  //   Erase the Data Logger Flash Memory on Factory Reset  <br />
  // --------------------------------------------------------------------------------------<br />
#define ERASE_DATALOGGER   0      // 0= NO, 1= YES<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Enable / Disable WiFi connection<br />
// --------------------------------------------------------------------------------------<br />
#define ENABLE_WIFI     1                            // 1= Enable WiFi connection, 0= Disable<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Broadcasting data to Wireless Display Units using WiFi<br />
// --------------------------------------------------------------------------------------<br />
#define BROADCAST_DATA      0                        // 0= Disables Data Relay, 1= Enables Data Relay<br />
#define UDP_BROADCAST_PORT  9889                     // Define the UPD broadcast port<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Enable / Disable send data to Weather Wunderground<br />
// --------------------------------------------------------------------------------------<br />
#define ENABLE_WU_UPLOAD   0                         // 1= Enable upload to Wunderground, 0= Disable<br />
#define WU_UPLOAD_INTEMP   0                         // 1= Enable upload of Inside Temperature / Humidity, 0= Disable<br />
byte    WU_upload_period = 5;                        // Period in minutes between uploads to WU. (Should be &gt;= 4 minutes)  <br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Enable / Disable send data to WeatherCloud<br />
//   ATTENTION - You can only change the default 10 minutes interval, if you have an WeatherCloud Pro or Premium account<br />
// --------------------------------------------------------------------------------------<br />
#define ENABLE_WC_UPLOAD   0                         // 1= Enable upload to WeatherCloud, 0= Disable<br />
#define WC_UPLOAD_INTEMP   0                         // 1= Enable upload of Inside Temperature / Humidity, 0= Disable<br />
byte    WC_upload_period = 10;                       // Period in minutes between uploads to WC (Default for free and PLUS accounts is 10 minutes)<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Enable / Disable Air Quality send data to ThingSpeak<br />
// --------------------------------------------------------------------------------------<br />
#define ENABLE_TS_UPLOAD   0                         // 1= Enable, 0= Disable<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
// Enable / Disable Air Quality send data to your own server ----<br />
// Be sure you have already created the database and table. See AirQuality_LogToSQL.php script for info<br />
// --------------------------------------------------------------------------------------<br />
#define ENABLE_AQM_TO_MYSERVER    0                 // 1= Enable, 0= Disable<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Enable / Disable internal Web Server <br />
// --------------------------------------------------------------------------------------<br />
#define ENABLE_WEBSERVER      1                       // 1= Enable 0= Disable<br />
#define WEBSERVER_PORT       80                       // WebServer port (default 80)  <br />
<br />
<br />
//---------------------------------------------------------<br />
//    Enable / Disable getting the 12 Hours Forecast from OpenWeather<br />
//    IMPORTANT: Sign up for an account at Open Weather to get your free API Key,<br />
//               then put it in Credentials.h<br />
//---------------------------------------------------------<br />
#define ENABLE_FORECAST  1       // 1= Enable, 0= Disable<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define data screens order<br />
//   Use numbers from 1 to 5 to define a personalized order for the data screens<br />
// --------------------------------------------------------------------------------------<br />
#define AIRQUALITY_DATA    1<br />
#define SYSINFO_DATA       2<br />
#define EXTRASENSORS_DATA  3<br />
#define SOILLEAF_DATA      4<br />
#define FORECAST_DATA      5<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Test Mode : Never run a live system in test mode <br />
// --------------------------------------------------------------------------------------<br />
bool Test_Mode = false;    // false= Normal working mode, true= Test mode only (no usb connection)<br />
<br />
                                  <br />
<br />
/*************************************************************************************<br />
     Hardware Settings <br />
*************************************************************************************/<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define PCB Version Number<br />
// --------------------------------------------------------------------------------------<br />
//   Take particular attention to this setting.<br />
//   Your system may not work properly if you define a wrong pcb version number.<br />
//   In case of doubt check what is printed in your pcb.<br />
//<br />
#define PCB_VERSION   32   // PCB version number, without the decimal point Ex: 1.3 = 13 (integer number)<br />
 <br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Define Display type <br />
// --------------------------------------------------------------------------------------<br />
//   If your display is show inverted colors please chose type 2 (applies only for units supplied after August 2025).<br />
<br />
#define DISPLAY_TYPE  1    //  1= TFT 3.2, 2= IPS 3.2<br />
<br />
<br />
// --------------------------------------------------------------------------------------<br />
//   Debug helper - Print debug messages to serial monitor. For testing purposes ONLY.<br />
//<br />
//   !!! NEVER LEAVE ANY OF THESE DEBUG FUNCTIONS ACTIVE WHEN THE STATION IS CONNECTED BY USB TO ANY WEATHER SOFTWARE !!! <br />
// --------------------------------------------------------------------------------------<br />
//#define PRINT_DEBUG_WIFI<br />
//#define PRINT_DEBUG_SYNCTIME            // Prints to serial monitor messages related to sync system time<br />
//#define PRINT_DEBUG_WU_UPLOAD           // Prints to serial monitor messages related to Weather Underground upload.<br />
//#define PRINT_DEBUG_WC_UPLOAD<br />
//#define PRINT_DEBUG_TS_UPLOAD<br />
//#define PRINT_DEBUG_MYSERVER_UPLOAD<br />
//#define PRINT_DEBUG_VCHECK<br />
//#define PRINT_DEBUG_AURIOL<br />
//#define PRINT_DEBUG_BIOS<br />
//#define PRINT_DEBUG_RF_MESSAGES <br />
//#define PRINT_DEBUG_WIFI_SENSORS_DEF<br />
//#define PRINT_DEBUG_WIFI_SENSORS<br />
//#define PRINT_GENERALDEBUG<br />
//#define PRINT_DEBUG_FORECAST<br />
//#define PRINT_DEBUG_LOGGER<br />
<br />
// ---------------------------------------------------------------------------------------------------<br />
//     End of user configurable options<br />
//     There isn't any editable setting below this point.<br />
// ---------------------------------------------------------------------------------------------------<br />
<br />
#ifdef pt_PT<br />
  #include "data/lang/pt_PT_UTF8.h"<br />
#endif<br />
#ifdef en_GB<br />
  #include "data/lang/en_GB_UTF8.h"<br />
#endif<br />
#ifdef fr_FR<br />
  #include "data/lang/fr_FR_UTF8.h"<br />
#endif<br />
#ifdef de_DE<br />
  #include "data/lang/de_DE_UTF8.h"<br />
#endif<br />
#ifdef es_ES<br />
  #include "data/lang/es_ES_UTF8.h"<br />
#endif<br />
#ifdef cs_CZ<br />
  #include "data/lang/cs_CZ_UTF8.h"<br />
#endif<br />
#ifdef nl_NL<br />
  #include "data/lang/nl_NL_UTF8.h"<br />
#endif<br />
#ifdef it_IT<br />
  #include "data/lang/it_IT_UTF8.h"<br />
#endif<br />
#ifdef pl_PL<br />
  #include "data/lang/pl_PL_UTF8.h"<br />
#endif</code></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Problem with Optional CO2 sensor]]></title>
			<link>https://www.meteocercal.info/forum/Thread-Problem-with-Optional-CO2-sensor</link>
			<pubDate>Tue, 10 Feb 2026 17:04:30 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.meteocercal.info/forum/member.php?action=profile&uid=3267">sv2bzq</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.meteocercal.info/forum/Thread-Problem-with-Optional-CO2-sensor</guid>
			<description><![CDATA[Hi. <br />
After a long time and a lot of reading I managed to get the AQM-III working.<br />
But the only problem I have is with the Sensirion SCD30, it worked for 2 reboots then stopped and shows me 0.<br />
I have Arduino IDE 1.8.19 / ESP32 2.0.3 and firmware 6.1_b013.<br />
I would appreciate any help. Is there a chance that the Sensor is broken?<br />
<br />
George.<br /><!-- start: postbit_attachments_attachment -->
<div style="padding:4px 0px;"><span class="inline-block vmiddle"><!-- start: attachment_icon -->
<img src="https://www.meteocercal.info/forum/images/attachtypes/image.gif" title="JPG Image" alt=".jpg" />
<!-- end: attachment_icon --></span>
<a  class="vmiddle inline-block" href="attachment.php?aid=3293" target="_blank">Screenshot_20260210_185831_Chrome.jpg</a> <span class="smalltext float_right">Size: <span class="inline-block vmiddle">222,91 KB</span>&nbsp;&nbsp;Downloads: <span class="inline-block vmiddle">72</span></span>
</div>
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Hi. <br />
After a long time and a lot of reading I managed to get the AQM-III working.<br />
But the only problem I have is with the Sensirion SCD30, it worked for 2 reboots then stopped and shows me 0.<br />
I have Arduino IDE 1.8.19 / ESP32 2.0.3 and firmware 6.1_b013.<br />
I would appreciate any help. Is there a chance that the Sensor is broken?<br />
<br />
George.<br /><!-- start: postbit_attachments_attachment -->
<div style="padding:4px 0px;"><span class="inline-block vmiddle"><!-- start: attachment_icon -->
<img src="https://www.meteocercal.info/forum/images/attachtypes/image.gif" title="JPG Image" alt=".jpg" />
<!-- end: attachment_icon --></span>
<a  class="vmiddle inline-block" href="attachment.php?aid=3293" target="_blank">Screenshot_20260210_185831_Chrome.jpg</a> <span class="smalltext float_right">Size: <span class="inline-block vmiddle">222,91 KB</span>&nbsp;&nbsp;Downloads: <span class="inline-block vmiddle">72</span></span>
</div>
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[WeatherDuino (Local JSON) – Home Assistant Integration (v0.5.6)]]></title>
			<link>https://www.meteocercal.info/forum/Thread-WeatherDuino-Local-JSON-%E2%80%93-Home-Assistant-Integration-v0-5-6</link>
			<pubDate>Wed, 28 Jan 2026 06:33:54 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.meteocercal.info/forum/member.php?action=profile&uid=2393">Sun_Dancer</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.meteocercal.info/forum/Thread-WeatherDuino-Local-JSON-%E2%80%93-Home-Assistant-Integration-v0-5-6</guid>
			<description><![CDATA[<span style="font-weight: bold;" class="mycode_b">WeatherDuino (Local JSON) – Home Assistant Integration (v0.5.6)</span><br />
Local-only Home Assistant integration for <span style="font-weight: bold;" class="mycode_b">WeatherDuino devices</span> using the built-in HTTP JSON interface – <span style="font-weight: bold;" class="mycode_b">no cloud, no YAML</span>, UI setup via Config Flow.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Supported devices:</span><br />
WeatherDuino <span style="font-weight: bold;" class="mycode_b">4Pro</span>, <span style="font-weight: bold;" class="mycode_b">WeatherDisplay 4Pro</span>, <span style="font-weight: bold;" class="mycode_b">AQM2</span>, <span style="font-weight: bold;" class="mycode_b">AQM3</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Features:</span><ul class="mycode_list"><li>Local JSON (/json or / )<br />
</li>
<li>Automatic sensor creation<br />
</li>
<li>Correct scaling &amp; display precision<br />
</li>
<li>CO₂ shown as real ppm (no decimals)<br />
</li>
<li>Wind, rain, solar, air quality, soil &amp; external sensors supported<br />
</li>
</ul>
Repository:<br />
👉 <a href="https://github.com/Sundancer78/weatherduino-homeassistant?utm_source=chatgpt.com" target="_blank" rel="noopener" class="mycode_url">https://github.com/Sundancer78/weatherduino-homeassistant</a><br />
<br />
<br />
<br />
----old<br />
WeatherDuino 4Pro (Local JSON) – Home Assistant Integration<br />
I’ve released a <span style="font-weight: bold;" class="mycode_b">custom Home Assistant integration specifically for the WeatherDuino 4Pro</span>, reading sensor data <span style="font-weight: bold;" class="mycode_b">locally via HTTP JSON</span> – <span style="font-weight: bold;" class="mycode_b">no cloud</span>, <span style="font-weight: bold;" class="mycode_b">no YAML configuration required</span>.<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>⚠️ <span style="font-weight: bold;" class="mycode_b">Important:</span><br />
 At the moment, this integration is tested and confirmed to work <span style="font-weight: bold;" class="mycode_b">only with the WeatherDuino 4Pro</span>.<br />
 Other WeatherDuino models may require adjustments to the JSON structure and are not yet supported.</blockquote>
🔧 Key Features<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Local-only integration</span> via the WeatherDuino 4Pro JSON endpoint ( /json)<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Config Flow (UI setup)</span> – just enter IP/hostname<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Automatic sensor creation</span><br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Clean naming</span> (no WeatherDuino &lt;IP&gt;<br />
 prefixes in Home Assistant)<br />
</li>
<li>Uses the <span style="font-weight: bold;" class="mycode_b">device-reported ID</span> for proper device naming<br />
</li>
<li>Supported sensors (depending on your 4Pro configuration):<ul class="mycode_list"><li>Temperature &amp; humidity (indoor / outdoor)<br />
</li>
<li>Barometric pressure<br />
</li>
<li>Wind (speed, gust, direction)<br />
</li>
<li>Rain (rate &amp; total today)<br />
</li>
<li>Solar radiation / UV index<br />
</li>
<li>Air quality (CO₂, PM2.5, PM10, AQI)<br />
</li>
<li>Soil moisture sensors<br />
</li>
<li>Additional external sensors (ES1–ES4)<br />
</li>
</ul>
</li>
</ul>
📊 Dashboard Examples Included<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Windrose Card</span> (24h / 4h wind distribution)<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">ApexCharts</span> for wind, gusts and rain history<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Rain Gauge Card</span> for daily rainfall<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Mushroom Cards</span> for clean status &amp; quick values<br />
</li>
</ul>
All Lovelace dashboard examples (including full YAML) are documented in the repository.<br />
📦 Installation<ul class="mycode_list"><li>Via <span style="font-weight: bold;" class="mycode_b">HACS (Custom Repository)</span> or manual installation<br />
</li>
<li>After installation, add the integration via<br />
 <span style="font-weight: bold;" class="mycode_b">Settings → Devices &amp; Services → Add Integration</span><br />
</li>
</ul>
🔗 Repository<br />
👉 <a href="https://github.com/Sundancer78/weatherduino-homeassistant" target="_blank" rel="noopener" class="mycode_url">https://github.com/Sundancer78/weatherdu...eassistant</a><br />
Feedback, issues, and pull requests are very welcome — especially from other WeatherDuino 4Pro users 😊]]></description>
			<content:encoded><![CDATA[<span style="font-weight: bold;" class="mycode_b">WeatherDuino (Local JSON) – Home Assistant Integration (v0.5.6)</span><br />
Local-only Home Assistant integration for <span style="font-weight: bold;" class="mycode_b">WeatherDuino devices</span> using the built-in HTTP JSON interface – <span style="font-weight: bold;" class="mycode_b">no cloud, no YAML</span>, UI setup via Config Flow.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">Supported devices:</span><br />
WeatherDuino <span style="font-weight: bold;" class="mycode_b">4Pro</span>, <span style="font-weight: bold;" class="mycode_b">WeatherDisplay 4Pro</span>, <span style="font-weight: bold;" class="mycode_b">AQM2</span>, <span style="font-weight: bold;" class="mycode_b">AQM3</span><br />
<br />
<span style="font-weight: bold;" class="mycode_b">Features:</span><ul class="mycode_list"><li>Local JSON (/json or / )<br />
</li>
<li>Automatic sensor creation<br />
</li>
<li>Correct scaling &amp; display precision<br />
</li>
<li>CO₂ shown as real ppm (no decimals)<br />
</li>
<li>Wind, rain, solar, air quality, soil &amp; external sensors supported<br />
</li>
</ul>
Repository:<br />
👉 <a href="https://github.com/Sundancer78/weatherduino-homeassistant?utm_source=chatgpt.com" target="_blank" rel="noopener" class="mycode_url">https://github.com/Sundancer78/weatherduino-homeassistant</a><br />
<br />
<br />
<br />
----old<br />
WeatherDuino 4Pro (Local JSON) – Home Assistant Integration<br />
I’ve released a <span style="font-weight: bold;" class="mycode_b">custom Home Assistant integration specifically for the WeatherDuino 4Pro</span>, reading sensor data <span style="font-weight: bold;" class="mycode_b">locally via HTTP JSON</span> – <span style="font-weight: bold;" class="mycode_b">no cloud</span>, <span style="font-weight: bold;" class="mycode_b">no YAML configuration required</span>.<br />
<blockquote class="mycode_quote"><cite>Quote:</cite>⚠️ <span style="font-weight: bold;" class="mycode_b">Important:</span><br />
 At the moment, this integration is tested and confirmed to work <span style="font-weight: bold;" class="mycode_b">only with the WeatherDuino 4Pro</span>.<br />
 Other WeatherDuino models may require adjustments to the JSON structure and are not yet supported.</blockquote>
🔧 Key Features<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Local-only integration</span> via the WeatherDuino 4Pro JSON endpoint ( /json)<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Config Flow (UI setup)</span> – just enter IP/hostname<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Automatic sensor creation</span><br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Clean naming</span> (no WeatherDuino &lt;IP&gt;<br />
 prefixes in Home Assistant)<br />
</li>
<li>Uses the <span style="font-weight: bold;" class="mycode_b">device-reported ID</span> for proper device naming<br />
</li>
<li>Supported sensors (depending on your 4Pro configuration):<ul class="mycode_list"><li>Temperature &amp; humidity (indoor / outdoor)<br />
</li>
<li>Barometric pressure<br />
</li>
<li>Wind (speed, gust, direction)<br />
</li>
<li>Rain (rate &amp; total today)<br />
</li>
<li>Solar radiation / UV index<br />
</li>
<li>Air quality (CO₂, PM2.5, PM10, AQI)<br />
</li>
<li>Soil moisture sensors<br />
</li>
<li>Additional external sensors (ES1–ES4)<br />
</li>
</ul>
</li>
</ul>
📊 Dashboard Examples Included<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Windrose Card</span> (24h / 4h wind distribution)<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">ApexCharts</span> for wind, gusts and rain history<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Rain Gauge Card</span> for daily rainfall<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Mushroom Cards</span> for clean status &amp; quick values<br />
</li>
</ul>
All Lovelace dashboard examples (including full YAML) are documented in the repository.<br />
📦 Installation<ul class="mycode_list"><li>Via <span style="font-weight: bold;" class="mycode_b">HACS (Custom Repository)</span> or manual installation<br />
</li>
<li>After installation, add the integration via<br />
 <span style="font-weight: bold;" class="mycode_b">Settings → Devices &amp; Services → Add Integration</span><br />
</li>
</ul>
🔗 Repository<br />
👉 <a href="https://github.com/Sundancer78/weatherduino-homeassistant" target="_blank" rel="noopener" class="mycode_url">https://github.com/Sundancer78/weatherdu...eassistant</a><br />
Feedback, issues, and pull requests are very welcome — especially from other WeatherDuino 4Pro users 😊]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[WeatherDuino (Local JSON) – Home Assistant Integration]]></title>
			<link>https://www.meteocercal.info/forum/Thread-WeatherDuino-Local-JSON-%E2%80%93-Home-Assistant-Integration</link>
			<pubDate>Wed, 28 Jan 2026 06:23:38 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.meteocercal.info/forum/member.php?action=profile&uid=2393">Sun_Dancer</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.meteocercal.info/forum/Thread-WeatherDuino-Local-JSON-%E2%80%93-Home-Assistant-Integration</guid>
			<description><![CDATA[WeatherDuino (Local JSON) – Home Assistant Integration<br />
I’ve released a <span style="font-weight: bold;" class="mycode_b">custom Home Assistant integration for WeatherDuino</span> that reads sensor data <span style="font-weight: bold;" class="mycode_b">locally via HTTP JSON</span> – <span style="font-weight: bold;" class="mycode_b">no cloud</span>, <span style="font-weight: bold;" class="mycode_b">no YAML configuration required</span>.<br />
🔧 Key Features<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Local integration</span> via JSON endpoint (/ json )<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Config Flow (UI setup)</span> – just enter IP/hostname<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Automatic sensor creation</span><br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Clean naming</span> (no “WeatherDuino + IP” prefixes)<br />
</li>
<li>Supports a wide range of sensors, including:<ul class="mycode_list"><li>Temperature &amp; humidity (indoor / outdoor)<br />
</li>
<li>Barometric pressure<br />
</li>
<li>Wind (speed, gust, direction)<br />
</li>
<li>Rain (rate &amp; total today)<br />
</li>
<li>Solar radiation / UV<br />
</li>
<li>Air quality (CO₂, PM2.5, PM10, AQI)<br />
</li>
<li>Soil moisture &amp; additional external sensors<br />
</li>
</ul>
</li>
</ul>
📊 Included Dashboard Examples<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Windrose Card</span> (24h / 4h wind distribution)<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">ApexCharts</span> (wind, gusts, rain history)<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Rain Gauge Card</span><br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Mushroom Cards</span> for quick status &amp; values<br />
 All Lovelace YAML examples are documented in the repository.<br />
</li>
</ul>
📦 Installation<ul class="mycode_list"><li>Via <span style="font-weight: bold;" class="mycode_b">HACS (Custom Repository)</span> or manual installation<br />
</li>
<li>After installation, the integration can be added directly via<br />
 <span style="font-weight: bold;" class="mycode_b">Settings → Devices &amp; Services</span><br />
</li>
</ul>
🔗 Repository<br />
👉 <a href="https://github.com/Sundancer78/weatherduino-homeassistant" target="_blank" rel="noopener" class="mycode_url">https://github.com/Sundancer78/weatherdu...eassistant</a><br />
Feedback, issues, and feature requests are very welcome 😊]]></description>
			<content:encoded><![CDATA[WeatherDuino (Local JSON) – Home Assistant Integration<br />
I’ve released a <span style="font-weight: bold;" class="mycode_b">custom Home Assistant integration for WeatherDuino</span> that reads sensor data <span style="font-weight: bold;" class="mycode_b">locally via HTTP JSON</span> – <span style="font-weight: bold;" class="mycode_b">no cloud</span>, <span style="font-weight: bold;" class="mycode_b">no YAML configuration required</span>.<br />
🔧 Key Features<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Local integration</span> via JSON endpoint (/ json )<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Config Flow (UI setup)</span> – just enter IP/hostname<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Automatic sensor creation</span><br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Clean naming</span> (no “WeatherDuino + IP” prefixes)<br />
</li>
<li>Supports a wide range of sensors, including:<ul class="mycode_list"><li>Temperature &amp; humidity (indoor / outdoor)<br />
</li>
<li>Barometric pressure<br />
</li>
<li>Wind (speed, gust, direction)<br />
</li>
<li>Rain (rate &amp; total today)<br />
</li>
<li>Solar radiation / UV<br />
</li>
<li>Air quality (CO₂, PM2.5, PM10, AQI)<br />
</li>
<li>Soil moisture &amp; additional external sensors<br />
</li>
</ul>
</li>
</ul>
📊 Included Dashboard Examples<ul class="mycode_list"><li><span style="font-weight: bold;" class="mycode_b">Windrose Card</span> (24h / 4h wind distribution)<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">ApexCharts</span> (wind, gusts, rain history)<br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Rain Gauge Card</span><br />
</li>
<li><span style="font-weight: bold;" class="mycode_b">Mushroom Cards</span> for quick status &amp; values<br />
 All Lovelace YAML examples are documented in the repository.<br />
</li>
</ul>
📦 Installation<ul class="mycode_list"><li>Via <span style="font-weight: bold;" class="mycode_b">HACS (Custom Repository)</span> or manual installation<br />
</li>
<li>After installation, the integration can be added directly via<br />
 <span style="font-weight: bold;" class="mycode_b">Settings → Devices &amp; Services</span><br />
</li>
</ul>
🔗 Repository<br />
👉 <a href="https://github.com/Sundancer78/weatherduino-homeassistant" target="_blank" rel="noopener" class="mycode_url">https://github.com/Sundancer78/weatherdu...eassistant</a><br />
Feedback, issues, and feature requests are very welcome 😊]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Load error and system reboot issue]]></title>
			<link>https://www.meteocercal.info/forum/Thread-Load-error-and-system-reboot-issue</link>
			<pubDate>Fri, 09 Jan 2026 04:19:12 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.meteocercal.info/forum/member.php?action=profile&uid=318">dormani</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.meteocercal.info/forum/Thread-Load-error-and-system-reboot-issue</guid>
			<description><![CDATA[I am getting the following error when the AQ111 initially loads. <br />
<br />
<span style="font-weight: bold;" class="mycode_b">E (4070) gpio: gpio_set_level(226): GPIO output gpio_num error</span><br />
<br />
Also, the AQ111 reboots the cpu every second refresh of the PMS7003, refer towards the end of the output from the serial port I have attached. Would appear that the reset is triggered by the load error.<br />
<br />
Am using Arduino 1.8.19 and libraries supplied.<br />
<br />
Any assistance would be appreciated.<br />
<br />
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>14:39:44.603 -&gt; <br />
14:39:44.603 -&gt; rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)<br />
14:39:44.603 -&gt; configsip: 0, SPIWP:0xee<br />
14:39:44.603 -&gt; clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00<br />
14:39:44.603 -&gt; mode:DIO, clock div:1<br />
14:39:44.603 -&gt; load:0x3fff0030,len:1184<br />
14:39:44.603 -&gt; load:0x40078000,len:12812<br />
14:39:44.603 -&gt; load:0x40080400,len:3032<br />
14:39:44.603 -&gt; entry 0x400805e4<br />
14:39:44.942 -&gt; Brownout detector disabled<br />
14:39:44.942 -&gt;   WeatherDuino 4Pro<br />
14:39:44.942 -&gt; Air Quality Monitor III<br />
14:39:44.942 -&gt;   Firmware: 6.1_b012<br />
14:39:44.942 -&gt; <br />
14:39:48.979 -&gt; E (4070) gpio: gpio_set_level(226): GPIO output gpio_num error<br />
14:39:48.979 -&gt; <br />
14:39:48.979 -&gt; Connecting to zzzzzzzzzzz<br />
14:39:49.221 -&gt; .......<br />
14:39:49.846 -&gt; WiFi connected!<br />
14:39:49.846 -&gt; IP address: 192.168.0.228<br />
14:39:49.846 -&gt; MDNS responder setup correctly.<br />
14:39:50.761 -&gt; Get time OK.<br />
14:39:50.761 -&gt; UTC Time  : 1767931790<br />
14:39:50.761 -&gt; Local Time: Friday, 09 January 2026 14:39:50<br />
14:39:50.761 -&gt; Reading Temp, Hum and Pressure<br />
14:39:50.761 -&gt; Temperature: 31.28<br />
14:39:50.761 -&gt; Humidity: 38.76<br />
14:39:50.761 -&gt; Amb. Pressure: 995.09<br />
14:39:50.761 -&gt; SL Pressure: 1006.65<br />
14:39:50.761 -&gt; <br />
14:39:50.761 -&gt; Setting measurement range to: 5000<br />
14:39:50.810 -&gt; FF,99,1,0,0,0,0,0,66,<br />
14:39:50.810 -&gt; 66,66<br />
14:39:50.810 -&gt; Measurement range changed!<br />
14:39:53.833 -&gt; Enabling ABC<br />
14:40:06.871 -&gt; Initial reading: 1<br />
14:40:07.867 -&gt; 80,30,27,FB,3F,30,36,FC,3F,<br />
14:40:07.867 -&gt; Calculated crc: D<br />
14:40:07.867 -&gt; Wrong reply from CO2 sensor!<br />
14:40:07.867 -&gt; <br />
14:40:13.880 -&gt; Initial reading: 2<br />
14:40:13.880 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:40:13.880 -&gt; Calculated crc: 94<br />
14:40:13.880 -&gt; CO2 RAW: 410<br />
14:40:13.880 -&gt; CO2 Comp: 412<br />
14:40:13.880 -&gt; Z19 Temp: 35<br />
14:40:13.880 -&gt; <br />
14:40:19.887 -&gt; Initial reading: 3<br />
14:40:19.936 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:40:19.936 -&gt; Calculated crc: 94<br />
14:40:19.936 -&gt; CO2 RAW: 410<br />
14:40:19.936 -&gt; CO2 Comp: 412<br />
14:40:19.936 -&gt; Z19 Temp: 35<br />
14:40:19.936 -&gt; <br />
14:40:25.942 -&gt; Initial reading: 4<br />
14:40:25.942 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:40:25.942 -&gt; Calculated crc: 94<br />
14:40:25.942 -&gt; CO2 RAW: 410<br />
14:40:25.942 -&gt; CO2 Comp: 412<br />
14:40:25.942 -&gt; Z19 Temp: 35<br />
14:40:25.942 -&gt; <br />
14:40:31.948 -&gt; Initial reading: 5<br />
14:40:31.948 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:40:31.948 -&gt; Calculated crc: 94<br />
14:40:31.948 -&gt; CO2 RAW: 410<br />
14:40:31.948 -&gt; CO2 Comp: 412<br />
14:40:31.997 -&gt; Z19 Temp: 35<br />
14:40:31.997 -&gt; <br />
14:40:37.986 -&gt; Initial reading: 6<br />
14:40:37.986 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:40:37.986 -&gt; Calculated crc: 94<br />
14:40:37.986 -&gt; CO2 RAW: 410<br />
14:40:37.986 -&gt; CO2 Comp: 412<br />
14:40:37.986 -&gt; Z19 Temp: 35<br />
14:40:37.986 -&gt; <br />
14:40:43.977 -&gt; Initial reading: 7<br />
14:40:44.024 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:40:44.024 -&gt; Calculated crc: 94<br />
14:40:44.024 -&gt; CO2 RAW: 410<br />
14:40:44.024 -&gt; CO2 Comp: 412<br />
14:40:44.024 -&gt; Z19 Temp: 35<br />
14:40:44.024 -&gt; <br />
14:40:50.021 -&gt; Initial reading: 8<br />
14:40:50.021 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:40:50.021 -&gt; Calculated crc: 94<br />
14:40:50.021 -&gt; CO2 RAW: 410<br />
14:40:50.021 -&gt; CO2 Comp: 412<br />
14:40:50.069 -&gt; Z19 Temp: 35<br />
14:40:50.069 -&gt; <br />
14:40:56.055 -&gt; Initial reading: 9<br />
14:40:56.055 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:40:56.055 -&gt; Calculated crc: 94<br />
14:40:56.055 -&gt; CO2 RAW: 410<br />
14:40:56.055 -&gt; CO2 Comp: 412<br />
14:40:56.055 -&gt; Z19 Temp: 35<br />
14:40:56.055 -&gt; <br />
14:41:02.068 -&gt; Initial reading: 10<br />
14:41:02.068 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:41:02.068 -&gt; Calculated crc: 94<br />
14:41:02.116 -&gt; CO2 RAW: 410<br />
14:41:02.116 -&gt; CO2 Comp: 412<br />
14:41:02.116 -&gt; Z19 Temp: 35<br />
14:41:02.116 -&gt; <br />
14:41:08.072 -&gt; Initial reading: 11<br />
14:41:08.119 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:41:08.119 -&gt; Calculated crc: 94<br />
14:41:08.119 -&gt; CO2 RAW: 410<br />
14:41:08.119 -&gt; CO2 Comp: 412<br />
14:41:08.119 -&gt; Z19 Temp: 35<br />
14:41:08.119 -&gt; <br />
14:41:14.110 -&gt; Initial reading: 12<br />
14:41:14.157 -&gt; FF,86,1,8F,4B,0,0,0,9F,<br />
14:41:14.157 -&gt; Calculated crc: 9F<br />
14:41:14.157 -&gt; CO2 RAW: 399<br />
14:41:14.157 -&gt; CO2 Comp: 401<br />
14:41:14.157 -&gt; Z19 Temp: 35<br />
14:41:14.157 -&gt; <br />
14:41:20.118 -&gt; Initial reading: 13<br />
14:41:20.166 -&gt; FF,86,1,8F,4B,0,0,0,9F,<br />
14:41:20.166 -&gt; Calculated crc: 9F<br />
14:41:20.166 -&gt; CO2 RAW: 399<br />
14:41:20.166 -&gt; CO2 Comp: 401<br />
14:41:20.166 -&gt; Z19 Temp: 35<br />
14:41:20.166 -&gt; <br />
14:41:26.158 -&gt; Initial reading: 14<br />
14:41:26.207 -&gt; FF,86,1,8E,4B,0,0,0,A0,<br />
14:41:26.207 -&gt; Calculated crc: A0<br />
14:41:26.207 -&gt; CO2 RAW: 398<br />
14:41:26.207 -&gt; CO2 Comp: 400<br />
14:41:26.207 -&gt; Z19 Temp: 35<br />
14:41:26.207 -&gt; <br />
14:41:32.203 -&gt; Init MH-Z19 Ended<br />
14:41:32.203 -&gt; <br />
14:41:32.203 -&gt; <br />
14:41:32.203 -&gt; Waking up the dust sensor...<br />
14:41:32.203 -&gt; Reading will be done 40s later.<br />
14:41:32.203 -&gt; <br />
14:42:03.753 -&gt; Reading Temp, Hum and Pressure<br />
14:42:03.753 -&gt; Temperature: 31.27<br />
14:42:03.753 -&gt; Humidity: 38.70<br />
14:42:03.753 -&gt; Amb. Pressure: 995.08<br />
14:42:03.753 -&gt; SL Pressure: 1006.64<br />
14:42:03.753 -&gt; <br />
14:42:12.180 -&gt; Fan State: 1<br />
14:42:12.180 -&gt; Reading the dust sensor...<br />
14:42:12.979 -&gt; PMS7003 valid read: 1<br />
14:42:12.979 -&gt; <br />
14:42:12.979 -&gt; <br />
PMS7003 readings:<br />
14:42:12.979 -&gt; PM1.0 : 0.00<br />
14:42:12.979 -&gt; PM2.5 : 2.99<br />
14:42:12.979 -&gt; PM10.0: 3.98<br />
14:42:12.979 -&gt; <br />
14:42:13.027 -&gt; FF,86,1,8D,4B,0,0,0,A1,<br />
14:42:13.027 -&gt; Calculated crc: A1<br />
14:42:13.027 -&gt; CO2 RAW: 397<br />
14:42:13.027 -&gt; CO2 Comp: 399<br />
14:42:13.027 -&gt; Z19 Temp: 35<br />
14:42:13.027 -&gt; <br />
14:42:13.027 -&gt; CO2 1H Avg: 399<br />
14:42:46.216 -&gt; E (181277) gpio: gpio_set_level(226): GPIO output gpio_num error<br />
14:42:46.554 -&gt; <br />
14:42:46.554 -&gt; abort() was called at PC 0x40085797 on core 1<br />
14:42:46.554 -&gt; <br />
14:42:46.554 -&gt; <br />
14:42:46.554 -&gt; Backtrace:0x400842b1:0x3ffbec2c |&lt;-CORRUPTED<br />
14:42:46.554 -&gt; <br />
14:42:46.554 -&gt; <br />
14:42:46.554 -&gt; <br />
14:42:46.554 -&gt; <br />
14:42:46.554 -&gt; ELF file SHA256: 0000000000000000<br />
14:42:46.554 -&gt; <br />
14:42:46.554 -&gt; Rebooting...<br />
14:42:46.554 -&gt; ets Jul 29 2019 12:21:46<br />
14:42:46.554 -&gt; <br />
14:42:46.554 -&gt; rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)</code></div></div>/code]]]></description>
			<content:encoded><![CDATA[I am getting the following error when the AQ111 initially loads. <br />
<br />
<span style="font-weight: bold;" class="mycode_b">E (4070) gpio: gpio_set_level(226): GPIO output gpio_num error</span><br />
<br />
Also, the AQ111 reboots the cpu every second refresh of the PMS7003, refer towards the end of the output from the serial port I have attached. Would appear that the reset is triggered by the load error.<br />
<br />
Am using Arduino 1.8.19 and libraries supplied.<br />
<br />
Any assistance would be appreciated.<br />
<br />
<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>14:39:44.603 -&gt; <br />
14:39:44.603 -&gt; rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)<br />
14:39:44.603 -&gt; configsip: 0, SPIWP:0xee<br />
14:39:44.603 -&gt; clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00<br />
14:39:44.603 -&gt; mode:DIO, clock div:1<br />
14:39:44.603 -&gt; load:0x3fff0030,len:1184<br />
14:39:44.603 -&gt; load:0x40078000,len:12812<br />
14:39:44.603 -&gt; load:0x40080400,len:3032<br />
14:39:44.603 -&gt; entry 0x400805e4<br />
14:39:44.942 -&gt; Brownout detector disabled<br />
14:39:44.942 -&gt;   WeatherDuino 4Pro<br />
14:39:44.942 -&gt; Air Quality Monitor III<br />
14:39:44.942 -&gt;   Firmware: 6.1_b012<br />
14:39:44.942 -&gt; <br />
14:39:48.979 -&gt; E (4070) gpio: gpio_set_level(226): GPIO output gpio_num error<br />
14:39:48.979 -&gt; <br />
14:39:48.979 -&gt; Connecting to zzzzzzzzzzz<br />
14:39:49.221 -&gt; .......<br />
14:39:49.846 -&gt; WiFi connected!<br />
14:39:49.846 -&gt; IP address: 192.168.0.228<br />
14:39:49.846 -&gt; MDNS responder setup correctly.<br />
14:39:50.761 -&gt; Get time OK.<br />
14:39:50.761 -&gt; UTC Time  : 1767931790<br />
14:39:50.761 -&gt; Local Time: Friday, 09 January 2026 14:39:50<br />
14:39:50.761 -&gt; Reading Temp, Hum and Pressure<br />
14:39:50.761 -&gt; Temperature: 31.28<br />
14:39:50.761 -&gt; Humidity: 38.76<br />
14:39:50.761 -&gt; Amb. Pressure: 995.09<br />
14:39:50.761 -&gt; SL Pressure: 1006.65<br />
14:39:50.761 -&gt; <br />
14:39:50.761 -&gt; Setting measurement range to: 5000<br />
14:39:50.810 -&gt; FF,99,1,0,0,0,0,0,66,<br />
14:39:50.810 -&gt; 66,66<br />
14:39:50.810 -&gt; Measurement range changed!<br />
14:39:53.833 -&gt; Enabling ABC<br />
14:40:06.871 -&gt; Initial reading: 1<br />
14:40:07.867 -&gt; 80,30,27,FB,3F,30,36,FC,3F,<br />
14:40:07.867 -&gt; Calculated crc: D<br />
14:40:07.867 -&gt; Wrong reply from CO2 sensor!<br />
14:40:07.867 -&gt; <br />
14:40:13.880 -&gt; Initial reading: 2<br />
14:40:13.880 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:40:13.880 -&gt; Calculated crc: 94<br />
14:40:13.880 -&gt; CO2 RAW: 410<br />
14:40:13.880 -&gt; CO2 Comp: 412<br />
14:40:13.880 -&gt; Z19 Temp: 35<br />
14:40:13.880 -&gt; <br />
14:40:19.887 -&gt; Initial reading: 3<br />
14:40:19.936 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:40:19.936 -&gt; Calculated crc: 94<br />
14:40:19.936 -&gt; CO2 RAW: 410<br />
14:40:19.936 -&gt; CO2 Comp: 412<br />
14:40:19.936 -&gt; Z19 Temp: 35<br />
14:40:19.936 -&gt; <br />
14:40:25.942 -&gt; Initial reading: 4<br />
14:40:25.942 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:40:25.942 -&gt; Calculated crc: 94<br />
14:40:25.942 -&gt; CO2 RAW: 410<br />
14:40:25.942 -&gt; CO2 Comp: 412<br />
14:40:25.942 -&gt; Z19 Temp: 35<br />
14:40:25.942 -&gt; <br />
14:40:31.948 -&gt; Initial reading: 5<br />
14:40:31.948 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:40:31.948 -&gt; Calculated crc: 94<br />
14:40:31.948 -&gt; CO2 RAW: 410<br />
14:40:31.948 -&gt; CO2 Comp: 412<br />
14:40:31.997 -&gt; Z19 Temp: 35<br />
14:40:31.997 -&gt; <br />
14:40:37.986 -&gt; Initial reading: 6<br />
14:40:37.986 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:40:37.986 -&gt; Calculated crc: 94<br />
14:40:37.986 -&gt; CO2 RAW: 410<br />
14:40:37.986 -&gt; CO2 Comp: 412<br />
14:40:37.986 -&gt; Z19 Temp: 35<br />
14:40:37.986 -&gt; <br />
14:40:43.977 -&gt; Initial reading: 7<br />
14:40:44.024 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:40:44.024 -&gt; Calculated crc: 94<br />
14:40:44.024 -&gt; CO2 RAW: 410<br />
14:40:44.024 -&gt; CO2 Comp: 412<br />
14:40:44.024 -&gt; Z19 Temp: 35<br />
14:40:44.024 -&gt; <br />
14:40:50.021 -&gt; Initial reading: 8<br />
14:40:50.021 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:40:50.021 -&gt; Calculated crc: 94<br />
14:40:50.021 -&gt; CO2 RAW: 410<br />
14:40:50.021 -&gt; CO2 Comp: 412<br />
14:40:50.069 -&gt; Z19 Temp: 35<br />
14:40:50.069 -&gt; <br />
14:40:56.055 -&gt; Initial reading: 9<br />
14:40:56.055 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:40:56.055 -&gt; Calculated crc: 94<br />
14:40:56.055 -&gt; CO2 RAW: 410<br />
14:40:56.055 -&gt; CO2 Comp: 412<br />
14:40:56.055 -&gt; Z19 Temp: 35<br />
14:40:56.055 -&gt; <br />
14:41:02.068 -&gt; Initial reading: 10<br />
14:41:02.068 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:41:02.068 -&gt; Calculated crc: 94<br />
14:41:02.116 -&gt; CO2 RAW: 410<br />
14:41:02.116 -&gt; CO2 Comp: 412<br />
14:41:02.116 -&gt; Z19 Temp: 35<br />
14:41:02.116 -&gt; <br />
14:41:08.072 -&gt; Initial reading: 11<br />
14:41:08.119 -&gt; FF,86,1,9A,4B,0,0,0,94,<br />
14:41:08.119 -&gt; Calculated crc: 94<br />
14:41:08.119 -&gt; CO2 RAW: 410<br />
14:41:08.119 -&gt; CO2 Comp: 412<br />
14:41:08.119 -&gt; Z19 Temp: 35<br />
14:41:08.119 -&gt; <br />
14:41:14.110 -&gt; Initial reading: 12<br />
14:41:14.157 -&gt; FF,86,1,8F,4B,0,0,0,9F,<br />
14:41:14.157 -&gt; Calculated crc: 9F<br />
14:41:14.157 -&gt; CO2 RAW: 399<br />
14:41:14.157 -&gt; CO2 Comp: 401<br />
14:41:14.157 -&gt; Z19 Temp: 35<br />
14:41:14.157 -&gt; <br />
14:41:20.118 -&gt; Initial reading: 13<br />
14:41:20.166 -&gt; FF,86,1,8F,4B,0,0,0,9F,<br />
14:41:20.166 -&gt; Calculated crc: 9F<br />
14:41:20.166 -&gt; CO2 RAW: 399<br />
14:41:20.166 -&gt; CO2 Comp: 401<br />
14:41:20.166 -&gt; Z19 Temp: 35<br />
14:41:20.166 -&gt; <br />
14:41:26.158 -&gt; Initial reading: 14<br />
14:41:26.207 -&gt; FF,86,1,8E,4B,0,0,0,A0,<br />
14:41:26.207 -&gt; Calculated crc: A0<br />
14:41:26.207 -&gt; CO2 RAW: 398<br />
14:41:26.207 -&gt; CO2 Comp: 400<br />
14:41:26.207 -&gt; Z19 Temp: 35<br />
14:41:26.207 -&gt; <br />
14:41:32.203 -&gt; Init MH-Z19 Ended<br />
14:41:32.203 -&gt; <br />
14:41:32.203 -&gt; <br />
14:41:32.203 -&gt; Waking up the dust sensor...<br />
14:41:32.203 -&gt; Reading will be done 40s later.<br />
14:41:32.203 -&gt; <br />
14:42:03.753 -&gt; Reading Temp, Hum and Pressure<br />
14:42:03.753 -&gt; Temperature: 31.27<br />
14:42:03.753 -&gt; Humidity: 38.70<br />
14:42:03.753 -&gt; Amb. Pressure: 995.08<br />
14:42:03.753 -&gt; SL Pressure: 1006.64<br />
14:42:03.753 -&gt; <br />
14:42:12.180 -&gt; Fan State: 1<br />
14:42:12.180 -&gt; Reading the dust sensor...<br />
14:42:12.979 -&gt; PMS7003 valid read: 1<br />
14:42:12.979 -&gt; <br />
14:42:12.979 -&gt; <br />
PMS7003 readings:<br />
14:42:12.979 -&gt; PM1.0 : 0.00<br />
14:42:12.979 -&gt; PM2.5 : 2.99<br />
14:42:12.979 -&gt; PM10.0: 3.98<br />
14:42:12.979 -&gt; <br />
14:42:13.027 -&gt; FF,86,1,8D,4B,0,0,0,A1,<br />
14:42:13.027 -&gt; Calculated crc: A1<br />
14:42:13.027 -&gt; CO2 RAW: 397<br />
14:42:13.027 -&gt; CO2 Comp: 399<br />
14:42:13.027 -&gt; Z19 Temp: 35<br />
14:42:13.027 -&gt; <br />
14:42:13.027 -&gt; CO2 1H Avg: 399<br />
14:42:46.216 -&gt; E (181277) gpio: gpio_set_level(226): GPIO output gpio_num error<br />
14:42:46.554 -&gt; <br />
14:42:46.554 -&gt; abort() was called at PC 0x40085797 on core 1<br />
14:42:46.554 -&gt; <br />
14:42:46.554 -&gt; <br />
14:42:46.554 -&gt; Backtrace:0x400842b1:0x3ffbec2c |&lt;-CORRUPTED<br />
14:42:46.554 -&gt; <br />
14:42:46.554 -&gt; <br />
14:42:46.554 -&gt; <br />
14:42:46.554 -&gt; <br />
14:42:46.554 -&gt; ELF file SHA256: 0000000000000000<br />
14:42:46.554 -&gt; <br />
14:42:46.554 -&gt; Rebooting...<br />
14:42:46.554 -&gt; ets Jul 29 2019 12:21:46<br />
14:42:46.554 -&gt; <br />
14:42:46.554 -&gt; rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)</code></div></div>/code]]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Help with Arduino IDE]]></title>
			<link>https://www.meteocercal.info/forum/Thread-Help-with-Arduino-IDE</link>
			<pubDate>Mon, 17 Nov 2025 10:42:05 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.meteocercal.info/forum/member.php?action=profile&uid=3267">sv2bzq</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.meteocercal.info/forum/Thread-Help-with-Arduino-IDE</guid>
			<description><![CDATA[Hello<br />
<span style="color: #333333;" class="mycode_color"><span style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;" class="mycode_font">I downloaded your firmware for the AQMIII to start work on my current AQMIII but I get the following error :</span></span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>Arduino: 1.8.19 (Windows 10), Πλακέτα:"MH ET LIVE ESP32MiniKit, 80MHz, Default with spiffs, 921600, None"<br />
<br />
<br />
<br />
In file included from C:&#92;Users&#92;user&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b012&#92;WeatherDuino_AQM_III_v6.1_b012.ino:39:<br />
<br />
Config_Options.h:61:1: error: 'define' does not name a type; did you mean 'rewind'?<br />
<br />
 define SDC30_ELEVATION_CALIBRATION_METHOD   1   // 0= Elevation defined above, 1= Atmospheric Pressure from BME280 sensor (overrides ELEVATION)<br />
<br />
 ^~~~~~<br />
<br />
 rewind<br />
<br />
In file included from C:&#92;Users&#92;user&#92;Documents&#92;Arduino&#92;libraries&#92;esp8266-OLED-SSD1306/SH1106Wire.h:31,<br />
<br />
                 from C:&#92;Users&#92;user&#92;Documents&#92;Arduino&#92;libraries&#92;esp8266-OLED-SSD1306/SH1106.h:30,<br />
<br />
                 from C:&#92;Users&#92;user&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b012&#92;WeatherDuino_AQM_III_v6.1_b012.ino:57:<br />
<br />
C:&#92;Users&#92;user&#92;Documents&#92;Arduino&#92;libraries&#92;esp8266-OLED-SSD1306/OLEDDisplay.h: In member function 'virtual bool OLEDDisplay::connect()':<br />
<br />
C:&#92;Users&#92;user&#92;Documents&#92;Arduino&#92;libraries&#92;esp8266-OLED-SSD1306/OLEDDisplay.h:253:29: warning: no return statement in function returning non-void [-Wreturn-type]<br />
<br />
     virtual bool connect() {};<br />
<br />
                             ^<br />
<br />
C:&#92;Users&#92;user&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b012&#92;WeatherDuino_AQM_III_v6.1_b012.ino: In function 'void setup()':<br />
<br />
WeatherDuino_AQM_III_v6.1_b012:510:12: error: 'SCD30_TemperatureOffset' was not declared in this scope<br />
<br />
        if (SCD30_TemperatureOffset != 0)<br />
<br />
            ^~~~~~~~~~~~~~~~~~~~~~~<br />
<br />
C:&#92;Users&#92;user&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b012&#92;WeatherDuino_AQM_III_v6.1_b012.ino:510:12: note: suggested alternative: 'SCD30_Temperature'<br />
<br />
        if (SCD30_TemperatureOffset != 0)<br />
<br />
            ^~~~~~~~~~~~~~~~~~~~~~~<br />
<br />
            SCD30_Temperature<br />
<br />
Βρέθηκαν πολλαπλές βιβλιοθήκες για "WiFi.h"<br />
<br />
Σε χρήση: C:&#92;Users&#92;user&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;2.0.3&#92;libraries&#92;WiFi<br />
<br />
Όχι σε χρήση: C:&#92;Program Files (x86)&#92;Arduino&#92;libraries&#92;WiFi<br />
<br />
exit status 1<br />
<br />
'define' does not name a type; did you mean 'rewind'?<br />
<br />
<br />
<br />
Αυτή η αναφορά θα παρείχε περισσότερες πληροφορίες με <br />
"Εμφάνιση πλεονάζουσα έξοδος κατά τη σύνταξη"<br />
Επιλογή από το Αρχείο -&gt; Προτιμήσεις.</code></div></div><br />
<br />
i use it  <span style="color: #333333;" class="mycode_color"><span style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;" class="mycode_font">Arduino IDE 1.8.19 </span></span><br />
Sorry but I have no knowledge at all about IDE .<br />
Any help is welcome .<br />
<br />
George.]]></description>
			<content:encoded><![CDATA[Hello<br />
<span style="color: #333333;" class="mycode_color"><span style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;" class="mycode_font">I downloaded your firmware for the AQMIII to start work on my current AQMIII but I get the following error :</span></span><br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>Arduino: 1.8.19 (Windows 10), Πλακέτα:"MH ET LIVE ESP32MiniKit, 80MHz, Default with spiffs, 921600, None"<br />
<br />
<br />
<br />
In file included from C:&#92;Users&#92;user&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b012&#92;WeatherDuino_AQM_III_v6.1_b012.ino:39:<br />
<br />
Config_Options.h:61:1: error: 'define' does not name a type; did you mean 'rewind'?<br />
<br />
 define SDC30_ELEVATION_CALIBRATION_METHOD   1   // 0= Elevation defined above, 1= Atmospheric Pressure from BME280 sensor (overrides ELEVATION)<br />
<br />
 ^~~~~~<br />
<br />
 rewind<br />
<br />
In file included from C:&#92;Users&#92;user&#92;Documents&#92;Arduino&#92;libraries&#92;esp8266-OLED-SSD1306/SH1106Wire.h:31,<br />
<br />
                 from C:&#92;Users&#92;user&#92;Documents&#92;Arduino&#92;libraries&#92;esp8266-OLED-SSD1306/SH1106.h:30,<br />
<br />
                 from C:&#92;Users&#92;user&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b012&#92;WeatherDuino_AQM_III_v6.1_b012.ino:57:<br />
<br />
C:&#92;Users&#92;user&#92;Documents&#92;Arduino&#92;libraries&#92;esp8266-OLED-SSD1306/OLEDDisplay.h: In member function 'virtual bool OLEDDisplay::connect()':<br />
<br />
C:&#92;Users&#92;user&#92;Documents&#92;Arduino&#92;libraries&#92;esp8266-OLED-SSD1306/OLEDDisplay.h:253:29: warning: no return statement in function returning non-void [-Wreturn-type]<br />
<br />
     virtual bool connect() {};<br />
<br />
                             ^<br />
<br />
C:&#92;Users&#92;user&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b012&#92;WeatherDuino_AQM_III_v6.1_b012.ino: In function 'void setup()':<br />
<br />
WeatherDuino_AQM_III_v6.1_b012:510:12: error: 'SCD30_TemperatureOffset' was not declared in this scope<br />
<br />
        if (SCD30_TemperatureOffset != 0)<br />
<br />
            ^~~~~~~~~~~~~~~~~~~~~~~<br />
<br />
C:&#92;Users&#92;user&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b012&#92;WeatherDuino_AQM_III_v6.1_b012.ino:510:12: note: suggested alternative: 'SCD30_Temperature'<br />
<br />
        if (SCD30_TemperatureOffset != 0)<br />
<br />
            ^~~~~~~~~~~~~~~~~~~~~~~<br />
<br />
            SCD30_Temperature<br />
<br />
Βρέθηκαν πολλαπλές βιβλιοθήκες για "WiFi.h"<br />
<br />
Σε χρήση: C:&#92;Users&#92;user&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;2.0.3&#92;libraries&#92;WiFi<br />
<br />
Όχι σε χρήση: C:&#92;Program Files (x86)&#92;Arduino&#92;libraries&#92;WiFi<br />
<br />
exit status 1<br />
<br />
'define' does not name a type; did you mean 'rewind'?<br />
<br />
<br />
<br />
Αυτή η αναφορά θα παρείχε περισσότερες πληροφορίες με <br />
"Εμφάνιση πλεονάζουσα έξοδος κατά τη σύνταξη"<br />
Επιλογή από το Αρχείο -&gt; Προτιμήσεις.</code></div></div><br />
<br />
i use it  <span style="color: #333333;" class="mycode_color"><span style="font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;" class="mycode_font">Arduino IDE 1.8.19 </span></span><br />
Sorry but I have no knowledge at all about IDE .<br />
Any help is welcome .<br />
<br />
George.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Firmware Update instructions in case you forgot]]></title>
			<link>https://www.meteocercal.info/forum/Thread-Firmware-Update-instructions-in-case-you-forgot</link>
			<pubDate>Wed, 05 Nov 2025 01:54:57 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.meteocercal.info/forum/member.php?action=profile&uid=2595">HansR</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.meteocercal.info/forum/Thread-Firmware-Update-instructions-in-case-you-forgot</guid>
			<description><![CDATA[I had some trouble to remember how to do the firmware update so I made a small <span style="font-style: italic;" class="mycode_i">howto</span> for those who tend to forget things and don't work often with Arduino IDE. The instructions below should save you some time and are similar to what I published on the CumulusMX forum (in the Alpha thread).<br />
<br />
--------------<br />
<br />
If you still have the <a href="https://downloads.arduino.cc/arduino-1.8.19-windows.exe" target="_blank" rel="noopener" class="mycode_url">Arduino IDE (1.8.19)</a> config it is easy: just download <a href="https://www.meteocercal.info/forum/attachment.php?aid=3287" target="_blank" rel="noopener" class="mycode_url">the new firmware</a> from <a href="https://www.meteocercal.info/forum/thread-1996.html" target="_blank" rel="noopener" class="mycode_url">the site</a> (look at the date), unzip into the Arduino directory and compile and upload to the board.<br />
<br />
If you don't have the config:<br />
<ol type="1" class="mycode_list"><li>Install the IDE 1.8.19 <br />
</li>
<li>Install the ESP32 board:<ul class="mycode_list"><li>In your Arduino IDE, go to File&gt; Preferences.<br />
</li>
<li>Open the Boards Manager. Go to Tools &gt; Board &gt; Boards Manager…<br />
</li>
<li>Search for ESP32 and press install button for the “ESP32 by Espressif Systems“<br />
</li>
<li>Install version 2.0.3<br />
</li>
</ul>
</li>
<li>Move the <span style="font-style: italic;" class="mycode_i">WeatherDuino_AQM_III</span> directory from the zip to the Arduino directory. It contains a <span style="font-style: italic;" class="mycode_i">libraries</span>, <span style="font-style: italic;" class="mycode_i">software</span> and <span style="font-style: italic;" class="mycode_i">utilities</span> directory<br />
</li>
<li>Move the <span style="font-style: italic;" class="mycode_i">libraries</span> directory from the <span style="font-style: italic;" class="mycode_i">firmware zip</span> up to the <span style="font-style: italic;" class="mycode_i">Arduino</span> directory first level<br />
</li>
<li>Edit the <span style="font-style: italic;" class="mycode_i">Config_Options.h</span> and <span style="font-style: italic;" class="mycode_i">Credentials.h</span> to what you need<br />
</li>
<li><span style="font-style: italic;" class="mycode_i">Verify</span> and when no errors =&gt; <span style="font-style: italic;" class="mycode_i">Upload</span><br />
</li>
</ol>
<br />
I think that should be it. <br />
Don't even try other versions of the IDE and Board unless you want to experiment.<br />
If <span style="font-weight: bold;" class="mycode_b">werk_ag</span> decides to move to a next IDE version no doubt he will indicate which versions you need and publish the libraries accordingly.]]></description>
			<content:encoded><![CDATA[I had some trouble to remember how to do the firmware update so I made a small <span style="font-style: italic;" class="mycode_i">howto</span> for those who tend to forget things and don't work often with Arduino IDE. The instructions below should save you some time and are similar to what I published on the CumulusMX forum (in the Alpha thread).<br />
<br />
--------------<br />
<br />
If you still have the <a href="https://downloads.arduino.cc/arduino-1.8.19-windows.exe" target="_blank" rel="noopener" class="mycode_url">Arduino IDE (1.8.19)</a> config it is easy: just download <a href="https://www.meteocercal.info/forum/attachment.php?aid=3287" target="_blank" rel="noopener" class="mycode_url">the new firmware</a> from <a href="https://www.meteocercal.info/forum/thread-1996.html" target="_blank" rel="noopener" class="mycode_url">the site</a> (look at the date), unzip into the Arduino directory and compile and upload to the board.<br />
<br />
If you don't have the config:<br />
<ol type="1" class="mycode_list"><li>Install the IDE 1.8.19 <br />
</li>
<li>Install the ESP32 board:<ul class="mycode_list"><li>In your Arduino IDE, go to File&gt; Preferences.<br />
</li>
<li>Open the Boards Manager. Go to Tools &gt; Board &gt; Boards Manager…<br />
</li>
<li>Search for ESP32 and press install button for the “ESP32 by Espressif Systems“<br />
</li>
<li>Install version 2.0.3<br />
</li>
</ul>
</li>
<li>Move the <span style="font-style: italic;" class="mycode_i">WeatherDuino_AQM_III</span> directory from the zip to the Arduino directory. It contains a <span style="font-style: italic;" class="mycode_i">libraries</span>, <span style="font-style: italic;" class="mycode_i">software</span> and <span style="font-style: italic;" class="mycode_i">utilities</span> directory<br />
</li>
<li>Move the <span style="font-style: italic;" class="mycode_i">libraries</span> directory from the <span style="font-style: italic;" class="mycode_i">firmware zip</span> up to the <span style="font-style: italic;" class="mycode_i">Arduino</span> directory first level<br />
</li>
<li>Edit the <span style="font-style: italic;" class="mycode_i">Config_Options.h</span> and <span style="font-style: italic;" class="mycode_i">Credentials.h</span> to what you need<br />
</li>
<li><span style="font-style: italic;" class="mycode_i">Verify</span> and when no errors =&gt; <span style="font-style: italic;" class="mycode_i">Upload</span><br />
</li>
</ol>
<br />
I think that should be it. <br />
Don't even try other versions of the IDE and Board unless you want to experiment.<br />
If <span style="font-weight: bold;" class="mycode_b">werk_ag</span> decides to move to a next IDE version no doubt he will indicate which versions you need and publish the libraries accordingly.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Compile errors]]></title>
			<link>https://www.meteocercal.info/forum/Thread-Compile-errors</link>
			<pubDate>Fri, 31 Oct 2025 12:04:23 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.meteocercal.info/forum/member.php?action=profile&uid=2595">HansR</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.meteocercal.info/forum/Thread-Compile-errors</guid>
			<description><![CDATA[Hi, <br />
I downloaded your firmware for the AQMIII to start work on my current AQMIII to get it fixed for the problem I reported earlier.<br />
I finally managed to get the correct board in place (<span style="font-style: italic;" class="mycode_i">ESP32 Dev Module</span>) and compiled the code as is after configuration.<br />
I get loads of errors, the short version - all library resolve seems to go OK - is below. I can post the long version as well. <br />
<br />
Any suggestion? (IDE version 2.3.6; and no this is not my daily doing so you  may be verbose)<br />
Should I update the libs, if so howto without damage?<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>Compiling sketch...<br />
"C:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;tools&#92;&#92;esp-x32&#92;&#92;2507/bin/xtensa-esp32-elf-g++" -MMD -c "@C:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;tools&#92;&#92;esp32-arduino-libs&#92;&#92;idf-release_v5.5-07e9bf49-v1&#92;&#92;esp32/flags/cpp_flags" -Os -Werror=return-type -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_DEV -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=&#92;"ESP32_DEV&#92;"" "-DARDUINO_VARIANT=&#92;"esp32&#92;"" -DARDUINO_PARTITION_default "-DARDUINO_HOST_OS=&#92;"windows&#92;"" "-DARDUINO_FQBN=&#92;"esp32:esp32:esp32:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,PSRAM=disabled,LoopCore=1,EventsCore=1,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default&#92;"" -DESP32=ESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 "@C:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;tools&#92;&#92;esp32-arduino-libs&#92;&#92;idf-release_v5.5-07e9bf49-v1&#92;&#92;esp32/flags/defines" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;software&#92;&#92;WeatherDuino_AQM_III_v6.1_b010" -iprefix "C:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;tools&#92;&#92;esp32-arduino-libs&#92;&#92;idf-release_v5.5-07e9bf49-v1&#92;&#92;esp32/include/" "@C:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;tools&#92;&#92;esp32-arduino-libs&#92;&#92;idf-release_v5.5-07e9bf49-v1&#92;&#92;esp32/flags/includes" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;tools&#92;&#92;esp32-arduino-libs&#92;&#92;idf-release_v5.5-07e9bf49-v1&#92;&#92;esp32/qio_qspi/include" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;cores&#92;&#92;esp32" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;variants&#92;&#92;esp32" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;EspSoftwareSerial&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;WiFi&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;Network&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;ESPmDNS&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;WebServer&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;FS&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;HTTPClient&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;NetworkClientSecure&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;ArduinoOTA&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;Update&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;SPI&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;Wire&#92;&#92;src" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;RadioHead" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;esp8266-OLED-SSD1306" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;Timer" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;BME280-3.0.0&#92;&#92;src" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;ArduinoJson&#92;&#92;src" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;SPS30-master" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;SparkFun_SCD30_Arduino_Library&#92;&#92;src" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;ThingSpeak&#92;&#92;src" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;RunningAverage" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;Hash&#92;&#92;src" "@C:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;arduino&#92;&#92;sketches&#92;&#92;4180D39E9A8D0EE7A69B2AE0F3C4DF00/build_opt.h" "@C:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;arduino&#92;&#92;sketches&#92;&#92;4180D39E9A8D0EE7A69B2AE0F3C4DF00/file_opts" "C:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;arduino&#92;&#92;sketches&#92;&#92;4180D39E9A8D0EE7A69B2AE0F3C4DF00&#92;&#92;sketch&#92;&#92;WeatherDuino_AQM_III_v6.1_b010.ino.cpp" -o "C:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;arduino&#92;&#92;sketches&#92;&#92;4180D39E9A8D0EE7A69B2AE0F3C4DF00&#92;&#92;sketch&#92;&#92;WeatherDuino_AQM_III_v6.1_b010.ino.cpp.o"<br />
In file included from c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;esp8266-OLED-SSD1306/SH1106Wire.h:31,<br />
                 from c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;esp8266-OLED-SSD1306/SH1106.h:30,<br />
                 from C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;WeatherDuino_AQM_III_v6.1_b010.ino:57:<br />
c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;esp8266-OLED-SSD1306/OLEDDisplay.h: In member function 'virtual bool OLEDDisplay::connect()':<br />
c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;esp8266-OLED-SSD1306/OLEDDisplay.h:253:29: error: no return statement in function returning non-void [-Werror=return-type]<br />
  253 |     virtual bool connect() {};<br />
      |                             ^<br />
C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;NET.ino: In function 'void send_PMaverages()':<br />
C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;NET.ino:146:34: warning: 'DynamicJsonDocument' is deprecated: use JsonDocument instead [-Wdeprecated-declarations]<br />
  146 |     DynamicJsonDocument AQ_sensor(420);<br />
      |                                  ^<br />
In file included from c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson.hpp:65,<br />
                 from c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson.h:9,<br />
                 from C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;WeatherDuino_AQM_III_v6.1_b010.ino:61:<br />
c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson/compatibility.hpp:125:58: note: declared here<br />
  125 | class ARDUINOJSON_DEPRECATED("use JsonDocument instead") DynamicJsonDocument<br />
      |                                                          ^~~~~~~~~~~~~~~~~~~<br />
C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;NET.ino: In function 'void send_PMdata()':<br />
C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;NET.ino:178:32: warning: 'DynamicJsonDocument' is deprecated: use JsonDocument instead [-Wdeprecated-declarations]<br />
  178 |     DynamicJsonDocument AQMData(280);<br />
      |                                ^<br />
c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson/compatibility.hpp:125:58: note: declared here<br />
  125 | class ARDUINOJSON_DEPRECATED("use JsonDocument instead") DynamicJsonDocument<br />
      |                                                          ^~~~~~~~~~~~~~~~~~~<br />
C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;NET.ino: In function 'void send_AirLink()':<br />
C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;NET.ino:207:5: warning: 'template&lt;unsigned int N&gt; class ArduinoJson::V742PB22::StaticJsonDocument' is deprecated: use JsonDocument instead [-Wdeprecated-declarations]<br />
  207 |     StaticJsonDocument&lt;800&gt; airlink;<br />
      |     ^~~~~~~~~~~~~~~~~~<br />
c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson/compatibility.hpp:63:58: note: declared here<br />
   63 | class ARDUINOJSON_DEPRECATED("use JsonDocument instead") StaticJsonDocument<br />
      |                                                          ^~~~~~~~~~~~~~~~~~<br />
C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;NET.ino:210:49: warning: 'ArduinoJson::V742PB22::JsonObject ArduinoJson::V742PB22::JsonDocument::createNestedObject(TChar*) [with TChar = const char]' is deprecated: use doc[key].to&lt;JsonObject&gt;() instead [-Wdeprecated-declarations]<br />
  210 |     JsonObject data = airlink.createNestedObject("data");<br />
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~<br />
In file included from c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson.hpp:42:<br />
c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson/Document/JsonDocument.hpp:376:14: note: declared here<br />
  376 |   JsonObject createNestedObject(TChar* key) {<br />
      |              ^~~~~~~~~~~~~~~~~~<br />
C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;NET.ino:215:73: warning: 'ArduinoJson::V742PB22::JsonObject ArduinoJson::V742PB22::detail::VariantRefBase&lt;TDerived&gt;::createNestedObject() const [with TDerived = ArduinoJson::V742PB22::detail::MemberProxy&lt;ArduinoJson::V742PB22::JsonObject, ArduinoJson::V742PB22::detail::RamString&gt;]' is deprecated: use add&lt;JsonObject&gt;() instead [-Wdeprecated-declarations]<br />
  215 |     JsonObject data_conditions_0 = data["conditions"].createNestedObject();<br />
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~<br />
In file included from c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson/Array/ElementProxy.hpp:7,<br />
                 from c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson/Array/JsonArray.hpp:7,<br />
                 from c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson.hpp:38:<br />
c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson/Variant/VariantRefBase.hpp:233:14: note: declared here<br />
  233 |   JsonObject createNestedObject() const;<br />
      |              ^~~~~~~~~~~~~~~~~~<br />
cc1plus.exe: some warnings being treated as errors<br />
Using library EspSoftwareSerial at version 8.1.0 in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;EspSoftwareSerial <br />
Using library WiFi at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;WiFi <br />
Using library Networking at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;Network <br />
Using library ESPmDNS at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;ESPmDNS <br />
Using library WebServer at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;WebServer <br />
Using library FS at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;FS <br />
Using library HTTPClient at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;HTTPClient <br />
Using library NetworkClientSecure at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;NetworkClientSecure <br />
Using library ArduinoOTA at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;ArduinoOTA <br />
Using library Update at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;Update <br />
Using library SPI at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;SPI <br />
Using library Wire at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;Wire <br />
Using library RadioHead at version 1.143.1 in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;RadioHead <br />
Using library ESP8266 and ESP32 Oled Driver for SSD1306 display at version 3.2.7 in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;esp8266-OLED-SSD1306 <br />
Using library Timer in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;Timer (legacy)<br />
Using library BME280 at version 3.0.0 in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;BME280-3.0.0 <br />
Using library ArduinoJson at version 7.4.2 in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson <br />
Using library sensirion-sps at version 1.0.0 in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;SPS30-master <br />
Using library SparkFun SCD30 Arduino Library at version 1.0.20 in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;SparkFun_SCD30_Arduino_Library <br />
Using library ThingSpeak at version 2.1.1 in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ThingSpeak <br />
Using library RunningAverage at version 0.4.8 in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;RunningAverage <br />
Using library Hash at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;Hash <br />
exit status 1<br />
<br />
Compilation error: exit status 1</code></div></div>]]></description>
			<content:encoded><![CDATA[Hi, <br />
I downloaded your firmware for the AQMIII to start work on my current AQMIII to get it fixed for the problem I reported earlier.<br />
I finally managed to get the correct board in place (<span style="font-style: italic;" class="mycode_i">ESP32 Dev Module</span>) and compiled the code as is after configuration.<br />
I get loads of errors, the short version - all library resolve seems to go OK - is below. I can post the long version as well. <br />
<br />
Any suggestion? (IDE version 2.3.6; and no this is not my daily doing so you  may be verbose)<br />
Should I update the libs, if so howto without damage?<br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>Compiling sketch...<br />
"C:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;tools&#92;&#92;esp-x32&#92;&#92;2507/bin/xtensa-esp32-elf-g++" -MMD -c "@C:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;tools&#92;&#92;esp32-arduino-libs&#92;&#92;idf-release_v5.5-07e9bf49-v1&#92;&#92;esp32/flags/cpp_flags" -Os -Werror=return-type -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32_DEV -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=&#92;"ESP32_DEV&#92;"" "-DARDUINO_VARIANT=&#92;"esp32&#92;"" -DARDUINO_PARTITION_default "-DARDUINO_HOST_OS=&#92;"windows&#92;"" "-DARDUINO_FQBN=&#92;"esp32:esp32:esp32:UploadSpeed=921600,CPUFreq=240,FlashFreq=80,FlashMode=qio,FlashSize=4M,PartitionScheme=default,DebugLevel=none,PSRAM=disabled,LoopCore=1,EventsCore=1,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default&#92;"" -DESP32=ESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DARDUINO_USB_CDC_ON_BOOT=0 "@C:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;tools&#92;&#92;esp32-arduino-libs&#92;&#92;idf-release_v5.5-07e9bf49-v1&#92;&#92;esp32/flags/defines" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;software&#92;&#92;WeatherDuino_AQM_III_v6.1_b010" -iprefix "C:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;tools&#92;&#92;esp32-arduino-libs&#92;&#92;idf-release_v5.5-07e9bf49-v1&#92;&#92;esp32/include/" "@C:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;tools&#92;&#92;esp32-arduino-libs&#92;&#92;idf-release_v5.5-07e9bf49-v1&#92;&#92;esp32/flags/includes" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;tools&#92;&#92;esp32-arduino-libs&#92;&#92;idf-release_v5.5-07e9bf49-v1&#92;&#92;esp32/qio_qspi/include" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;cores&#92;&#92;esp32" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;variants&#92;&#92;esp32" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;EspSoftwareSerial&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;WiFi&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;Network&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;ESPmDNS&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;WebServer&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;FS&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;HTTPClient&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;NetworkClientSecure&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;ArduinoOTA&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;Update&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;SPI&#92;&#92;src" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;Wire&#92;&#92;src" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;RadioHead" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;esp8266-OLED-SSD1306" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;Timer" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;BME280-3.0.0&#92;&#92;src" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;ArduinoJson&#92;&#92;src" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;SPS30-master" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;SparkFun_SCD30_Arduino_Library&#92;&#92;src" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;ThingSpeak&#92;&#92;src" "-Ic:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;Documents&#92;&#92;Arduino&#92;&#92;WeatherDuino_AQM_III&#92;&#92;libraries&#92;&#92;RunningAverage" "-IC:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;Arduino15&#92;&#92;packages&#92;&#92;esp32&#92;&#92;hardware&#92;&#92;esp32&#92;&#92;3.3.2&#92;&#92;libraries&#92;&#92;Hash&#92;&#92;src" "@C:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;arduino&#92;&#92;sketches&#92;&#92;4180D39E9A8D0EE7A69B2AE0F3C4DF00/build_opt.h" "@C:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;arduino&#92;&#92;sketches&#92;&#92;4180D39E9A8D0EE7A69B2AE0F3C4DF00/file_opts" "C:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;arduino&#92;&#92;sketches&#92;&#92;4180D39E9A8D0EE7A69B2AE0F3C4DF00&#92;&#92;sketch&#92;&#92;WeatherDuino_AQM_III_v6.1_b010.ino.cpp" -o "C:&#92;&#92;Users&#92;&#92;hansr&#92;&#92;AppData&#92;&#92;Local&#92;&#92;arduino&#92;&#92;sketches&#92;&#92;4180D39E9A8D0EE7A69B2AE0F3C4DF00&#92;&#92;sketch&#92;&#92;WeatherDuino_AQM_III_v6.1_b010.ino.cpp.o"<br />
In file included from c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;esp8266-OLED-SSD1306/SH1106Wire.h:31,<br />
                 from c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;esp8266-OLED-SSD1306/SH1106.h:30,<br />
                 from C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;WeatherDuino_AQM_III_v6.1_b010.ino:57:<br />
c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;esp8266-OLED-SSD1306/OLEDDisplay.h: In member function 'virtual bool OLEDDisplay::connect()':<br />
c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;esp8266-OLED-SSD1306/OLEDDisplay.h:253:29: error: no return statement in function returning non-void [-Werror=return-type]<br />
  253 |     virtual bool connect() {};<br />
      |                             ^<br />
C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;NET.ino: In function 'void send_PMaverages()':<br />
C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;NET.ino:146:34: warning: 'DynamicJsonDocument' is deprecated: use JsonDocument instead [-Wdeprecated-declarations]<br />
  146 |     DynamicJsonDocument AQ_sensor(420);<br />
      |                                  ^<br />
In file included from c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson.hpp:65,<br />
                 from c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson.h:9,<br />
                 from C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;WeatherDuino_AQM_III_v6.1_b010.ino:61:<br />
c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson/compatibility.hpp:125:58: note: declared here<br />
  125 | class ARDUINOJSON_DEPRECATED("use JsonDocument instead") DynamicJsonDocument<br />
      |                                                          ^~~~~~~~~~~~~~~~~~~<br />
C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;NET.ino: In function 'void send_PMdata()':<br />
C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;NET.ino:178:32: warning: 'DynamicJsonDocument' is deprecated: use JsonDocument instead [-Wdeprecated-declarations]<br />
  178 |     DynamicJsonDocument AQMData(280);<br />
      |                                ^<br />
c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson/compatibility.hpp:125:58: note: declared here<br />
  125 | class ARDUINOJSON_DEPRECATED("use JsonDocument instead") DynamicJsonDocument<br />
      |                                                          ^~~~~~~~~~~~~~~~~~~<br />
C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;NET.ino: In function 'void send_AirLink()':<br />
C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;NET.ino:207:5: warning: 'template&lt;unsigned int N&gt; class ArduinoJson::V742PB22::StaticJsonDocument' is deprecated: use JsonDocument instead [-Wdeprecated-declarations]<br />
  207 |     StaticJsonDocument&lt;800&gt; airlink;<br />
      |     ^~~~~~~~~~~~~~~~~~<br />
c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson/compatibility.hpp:63:58: note: declared here<br />
   63 | class ARDUINOJSON_DEPRECATED("use JsonDocument instead") StaticJsonDocument<br />
      |                                                          ^~~~~~~~~~~~~~~~~~<br />
C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;NET.ino:210:49: warning: 'ArduinoJson::V742PB22::JsonObject ArduinoJson::V742PB22::JsonDocument::createNestedObject(TChar*) [with TChar = const char]' is deprecated: use doc[key].to&lt;JsonObject&gt;() instead [-Wdeprecated-declarations]<br />
  210 |     JsonObject data = airlink.createNestedObject("data");<br />
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~<br />
In file included from c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson.hpp:42:<br />
c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson/Document/JsonDocument.hpp:376:14: note: declared here<br />
  376 |   JsonObject createNestedObject(TChar* key) {<br />
      |              ^~~~~~~~~~~~~~~~~~<br />
C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;software&#92;WeatherDuino_AQM_III_v6.1_b010&#92;NET.ino:215:73: warning: 'ArduinoJson::V742PB22::JsonObject ArduinoJson::V742PB22::detail::VariantRefBase&lt;TDerived&gt;::createNestedObject() const [with TDerived = ArduinoJson::V742PB22::detail::MemberProxy&lt;ArduinoJson::V742PB22::JsonObject, ArduinoJson::V742PB22::detail::RamString&gt;]' is deprecated: use add&lt;JsonObject&gt;() instead [-Wdeprecated-declarations]<br />
  215 |     JsonObject data_conditions_0 = data["conditions"].createNestedObject();<br />
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~<br />
In file included from c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson/Array/ElementProxy.hpp:7,<br />
                 from c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson/Array/JsonArray.hpp:7,<br />
                 from c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson.hpp:38:<br />
c:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson&#92;src/ArduinoJson/Variant/VariantRefBase.hpp:233:14: note: declared here<br />
  233 |   JsonObject createNestedObject() const;<br />
      |              ^~~~~~~~~~~~~~~~~~<br />
cc1plus.exe: some warnings being treated as errors<br />
Using library EspSoftwareSerial at version 8.1.0 in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;EspSoftwareSerial <br />
Using library WiFi at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;WiFi <br />
Using library Networking at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;Network <br />
Using library ESPmDNS at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;ESPmDNS <br />
Using library WebServer at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;WebServer <br />
Using library FS at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;FS <br />
Using library HTTPClient at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;HTTPClient <br />
Using library NetworkClientSecure at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;NetworkClientSecure <br />
Using library ArduinoOTA at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;ArduinoOTA <br />
Using library Update at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;Update <br />
Using library SPI at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;SPI <br />
Using library Wire at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;Wire <br />
Using library RadioHead at version 1.143.1 in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;RadioHead <br />
Using library ESP8266 and ESP32 Oled Driver for SSD1306 display at version 3.2.7 in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;esp8266-OLED-SSD1306 <br />
Using library Timer in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;Timer (legacy)<br />
Using library BME280 at version 3.0.0 in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;BME280-3.0.0 <br />
Using library ArduinoJson at version 7.4.2 in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ArduinoJson <br />
Using library sensirion-sps at version 1.0.0 in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;SPS30-master <br />
Using library SparkFun SCD30 Arduino Library at version 1.0.20 in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;SparkFun_SCD30_Arduino_Library <br />
Using library ThingSpeak at version 2.1.1 in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;ThingSpeak <br />
Using library RunningAverage at version 0.4.8 in folder: C:&#92;Users&#92;hansr&#92;Documents&#92;Arduino&#92;WeatherDuino_AQM_III&#92;libraries&#92;RunningAverage <br />
Using library Hash at version 3.3.2 in folder: C:&#92;Users&#92;hansr&#92;AppData&#92;Local&#92;Arduino15&#92;packages&#92;esp32&#92;hardware&#92;esp32&#92;3.3.2&#92;libraries&#92;Hash <br />
exit status 1<br />
<br />
Compilation error: exit status 1</code></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[AirLink response]]></title>
			<link>https://www.meteocercal.info/forum/Thread-AirLink-response</link>
			<pubDate>Thu, 30 Oct 2025 11:58:12 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.meteocercal.info/forum/member.php?action=profile&uid=2595">HansR</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.meteocercal.info/forum/Thread-AirLink-response</guid>
			<description><![CDATA[Hi,<br />
<br />
I am running CumulusMX with an AQMIII sensor in an Alpha test setup for version CMX 4.7 (with .NET10 and VS2026). This development setup did not read/register data from my AQMIII (dated 2021 I think). Mcrossley wrote:<br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #333333;" class="mycode_color"><span style="font-family: 'Lucida Grande', 'Trebuchet MS', Verdana, Helvetica, Arial, sans-serif;" class="mycode_font">"OK, your AirLink issue is tracked down. The now stricter JSON parsing is throwing an error because the JSON being returned does not comply with the Davis specification.</span></span><br />
</span><br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #333333;" class="mycode_color"><span style="font-family: 'Lucida Grande', 'Trebuchet MS', Verdana, Helvetica, Arial, sans-serif;" class="mycode_font">It is the final field "error".</span></span></span><br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #333333;" class="mycode_color"><span style="font-family: 'Lucida Grande', 'Trebuchet MS', Verdana, Helvetica, Arial, sans-serif;" class="mycode_font">My real AirLink returns ...."error":null</span></span></span><br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #333333;" class="mycode_color"><span style="font-family: 'Lucida Grande', 'Trebuchet MS', Verdana, Helvetica, Arial, sans-serif;" class="mycode_font">yours returns.... "error":0</span></span></span><br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #333333;" class="mycode_color"><span style="font-family: 'Lucida Grande', 'Trebuchet MS', Verdana, Helvetica, Arial, sans-serif;" class="mycode_font">The Davis spec says</span></span></span><br />
<blockquote class="mycode_quote"><cite>Quote:</cite><span style="font-size: medium;" class="mycode_size"><span style="color: #333333;" class="mycode_color"><span style="font-family: 'Lucida Grande', 'Trebuchet MS', Verdana, Helvetica, Arial, sans-serif;" class="mycode_font">The error field is usually null on success, but in the event of an error, will be an object with two fields - code and message.<br />
code is a numeric error code<br />
message is a human readable error message string describing the error.</span></span></span></blockquote>
<br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #333333;" class="mycode_color"><span style="font-family: 'Lucida Grande', 'Trebuchet MS', Verdana, Helvetica, Arial, sans-serif;" class="mycode_font">So error should normally be null or...</span></span> </span><br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>"error":{"code":123,"message":"Error message"}</code></div></div>"<br />
<br />
Could you change the firmware to reflect this please?<br />
<br />
You  can contact Mark on the CMX forum if need be.]]></description>
			<content:encoded><![CDATA[Hi,<br />
<br />
I am running CumulusMX with an AQMIII sensor in an Alpha test setup for version CMX 4.7 (with .NET10 and VS2026). This development setup did not read/register data from my AQMIII (dated 2021 I think). Mcrossley wrote:<br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #333333;" class="mycode_color"><span style="font-family: 'Lucida Grande', 'Trebuchet MS', Verdana, Helvetica, Arial, sans-serif;" class="mycode_font">"OK, your AirLink issue is tracked down. The now stricter JSON parsing is throwing an error because the JSON being returned does not comply with the Davis specification.</span></span><br />
</span><br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #333333;" class="mycode_color"><span style="font-family: 'Lucida Grande', 'Trebuchet MS', Verdana, Helvetica, Arial, sans-serif;" class="mycode_font">It is the final field "error".</span></span></span><br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #333333;" class="mycode_color"><span style="font-family: 'Lucida Grande', 'Trebuchet MS', Verdana, Helvetica, Arial, sans-serif;" class="mycode_font">My real AirLink returns ...."error":null</span></span></span><br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #333333;" class="mycode_color"><span style="font-family: 'Lucida Grande', 'Trebuchet MS', Verdana, Helvetica, Arial, sans-serif;" class="mycode_font">yours returns.... "error":0</span></span></span><br />
<br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #333333;" class="mycode_color"><span style="font-family: 'Lucida Grande', 'Trebuchet MS', Verdana, Helvetica, Arial, sans-serif;" class="mycode_font">The Davis spec says</span></span></span><br />
<blockquote class="mycode_quote"><cite>Quote:</cite><span style="font-size: medium;" class="mycode_size"><span style="color: #333333;" class="mycode_color"><span style="font-family: 'Lucida Grande', 'Trebuchet MS', Verdana, Helvetica, Arial, sans-serif;" class="mycode_font">The error field is usually null on success, but in the event of an error, will be an object with two fields - code and message.<br />
code is a numeric error code<br />
message is a human readable error message string describing the error.</span></span></span></blockquote>
<br />
<span style="font-size: medium;" class="mycode_size"><span style="color: #333333;" class="mycode_color"><span style="font-family: 'Lucida Grande', 'Trebuchet MS', Verdana, Helvetica, Arial, sans-serif;" class="mycode_font">So error should normally be null or...</span></span> </span><br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>"error":{"code":123,"message":"Error message"}</code></div></div>"<br />
<br />
Could you change the firmware to reflect this please?<br />
<br />
You  can contact Mark on the CMX forum if need be.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Compiling issue]]></title>
			<link>https://www.meteocercal.info/forum/Thread-Compiling-issue</link>
			<pubDate>Thu, 16 Oct 2025 15:52:03 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.meteocercal.info/forum/member.php?action=profile&uid=2719">Nmweather</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.meteocercal.info/forum/Thread-Compiling-issue</guid>
			<description><![CDATA[Hello, I'm surely doing something very obviously wrong, but I cannot get the software to compile, I get an error that the libraries are missing. I've updated the location of the files in the IDE preferences (I'm using 1.8.19 on mac Sonoma) to the provided libraries:<br />
<br />
/Users/user/Documents/Arduino Projects/Weatherduino/Current software/WeatherDuino_4PRO_DB_v6.3_b004_20240826/libraries<br />
<br />
<!-- start: postbit_attachments_attachment -->
<div style="padding:4px 0px;"><span class="inline-block vmiddle"><!-- start: attachment_icon -->
<img src="https://www.meteocercal.info/forum/images/attachtypes/image.gif" title="PNG Image" alt=".png" />
<!-- end: attachment_icon --></span>
<a  class="vmiddle inline-block" href="attachment.php?aid=3282" target="_blank">ide library location.png</a> <span class="smalltext float_right">Size: <span class="inline-block vmiddle">160,51 KB</span>&nbsp;&nbsp;Downloads: <span class="inline-block vmiddle">36</span></span>
</div>
<!-- end: postbit_attachments_attachment --><br />
<br />
I'm using esp32 board manager 2.0.14<br />
<br />
<!-- start: postbit_attachments_attachment -->
<div style="padding:4px 0px;"><span class="inline-block vmiddle"><!-- start: attachment_icon -->
<img src="https://www.meteocercal.info/forum/images/attachtypes/image.gif" title="PNG Image" alt=".png" />
<!-- end: attachment_icon --></span>
<a  class="vmiddle inline-block" href="attachment.php?aid=3283" target="_blank">Board Manager.png</a> <span class="smalltext float_right">Size: <span class="inline-block vmiddle">48,9 KB</span>&nbsp;&nbsp;Downloads: <span class="inline-block vmiddle">36</span></span>
</div>
<!-- end: postbit_attachments_attachment --><br />
<br />
The error message: <br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>Multiple libraries were found for "WiFi.h"<br />
 Used: /Users/user/Library/Arduino15/packages/esp32/hardware/esp32/2.0.14/libraries/WiFi<br />
 Not used: /Applications/Arduino.app/Contents/Java/libraries/WiFi<br />
WeatherDuino_4PESP32_RX_v6.3_b004:60:10: fatal error: ESP32Ping.h: No such file or directory<br />
 #include &lt;ESP32Ping.h&gt;            // https://github.com/Maidbot/ESP32Ping - This lib works, others cause problems!!!<br />
          ^~~~~~~~~~~~~<br />
compilation terminated.<br />
exit status 1<br />
ESP32Ping.h: No such file or directory</code></div></div><br />
<br />
<br />
Arduino: 1.8.19 (Mac OS X), Board: "MH ET LIVE ESP32MiniKit, 80MHz, Default with spiffs, 921600, None, Disabled"<br />
<br />
Cannot figure out what I'm doing wrong - I'm surely missing something very obvious! I haven't messed around with the weather station since last year and got a new wifi network so needed to update those credentials, and also upload the latest firmware.<br />
<br />
Apologies for the very basic question and thanks in advance for any help,<br />
<br />
Zac]]></description>
			<content:encoded><![CDATA[Hello, I'm surely doing something very obviously wrong, but I cannot get the software to compile, I get an error that the libraries are missing. I've updated the location of the files in the IDE preferences (I'm using 1.8.19 on mac Sonoma) to the provided libraries:<br />
<br />
/Users/user/Documents/Arduino Projects/Weatherduino/Current software/WeatherDuino_4PRO_DB_v6.3_b004_20240826/libraries<br />
<br />
<!-- start: postbit_attachments_attachment -->
<div style="padding:4px 0px;"><span class="inline-block vmiddle"><!-- start: attachment_icon -->
<img src="https://www.meteocercal.info/forum/images/attachtypes/image.gif" title="PNG Image" alt=".png" />
<!-- end: attachment_icon --></span>
<a  class="vmiddle inline-block" href="attachment.php?aid=3282" target="_blank">ide library location.png</a> <span class="smalltext float_right">Size: <span class="inline-block vmiddle">160,51 KB</span>&nbsp;&nbsp;Downloads: <span class="inline-block vmiddle">36</span></span>
</div>
<!-- end: postbit_attachments_attachment --><br />
<br />
I'm using esp32 board manager 2.0.14<br />
<br />
<!-- start: postbit_attachments_attachment -->
<div style="padding:4px 0px;"><span class="inline-block vmiddle"><!-- start: attachment_icon -->
<img src="https://www.meteocercal.info/forum/images/attachtypes/image.gif" title="PNG Image" alt=".png" />
<!-- end: attachment_icon --></span>
<a  class="vmiddle inline-block" href="attachment.php?aid=3283" target="_blank">Board Manager.png</a> <span class="smalltext float_right">Size: <span class="inline-block vmiddle">48,9 KB</span>&nbsp;&nbsp;Downloads: <span class="inline-block vmiddle">36</span></span>
</div>
<!-- end: postbit_attachments_attachment --><br />
<br />
The error message: <br />
<br />
<div class="codeblock"><div class="title">Code:</div><div class="body" dir="ltr"><code>Multiple libraries were found for "WiFi.h"<br />
 Used: /Users/user/Library/Arduino15/packages/esp32/hardware/esp32/2.0.14/libraries/WiFi<br />
 Not used: /Applications/Arduino.app/Contents/Java/libraries/WiFi<br />
WeatherDuino_4PESP32_RX_v6.3_b004:60:10: fatal error: ESP32Ping.h: No such file or directory<br />
 #include &lt;ESP32Ping.h&gt;            // https://github.com/Maidbot/ESP32Ping - This lib works, others cause problems!!!<br />
          ^~~~~~~~~~~~~<br />
compilation terminated.<br />
exit status 1<br />
ESP32Ping.h: No such file or directory</code></div></div><br />
<br />
<br />
Arduino: 1.8.19 (Mac OS X), Board: "MH ET LIVE ESP32MiniKit, 80MHz, Default with spiffs, 921600, None, Disabled"<br />
<br />
Cannot figure out what I'm doing wrong - I'm surely missing something very obvious! I haven't messed around with the weather station since last year and got a new wifi network so needed to update those credentials, and also upload the latest firmware.<br />
<br />
Apologies for the very basic question and thanks in advance for any help,<br />
<br />
Zac]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[3D printable Stevenson Screen]]></title>
			<link>https://www.meteocercal.info/forum/Thread-3D-printable-Stevenson-Screen</link>
			<pubDate>Sun, 21 Sep 2025 06:38:49 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.meteocercal.info/forum/member.php?action=profile&uid=39">uncle_bob</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.meteocercal.info/forum/Thread-3D-printable-Stevenson-Screen</guid>
			<description><![CDATA[Hi Forks.<br />
I couldn't find a Stevenson screen that looked like a real one, so I had a crack at designing on in Fusion. I'm still a novice designer but thought it turn out really well, especiallt the print in place door. Any feed back appreciated. <br />
<br />
Find it here: <a href="https://makerworld.com/en/models/1813916-stevenson-screen-for-weather-station-sensors" target="_blank" rel="noopener" class="mycode_url">https://makerworld.com/en/models/1813916...on-sensors</a><br />
<br />
<img src="https://makerworld.bblmw.com/makerworld/model/DSM00000001813916/design/2025-09-21_c4f27a099b3b28.jpg?x-oss-process=image/resize,w_1000/format,webp" loading="lazy"  alt="[Image: format,webp]" class="mycode_img img-responsive" /><br />
<br />
<img src="https://makerworld.bblmw.com/makerworld/model/DSM00000001813916/design/2025-09-21_4ea9fbc4f6c088.jpg?x-oss-process=image/resize,w_1000/format,webp" loading="lazy"  alt="[Image: format,webp]" class="mycode_img img-responsive" /><br />
<br />
<img src="https://makerworld.bblmw.com/makerworld/model/DSM00000001813916/design/2025-09-21_255c1222ccb76.jpg?x-oss-process=image/resize,w_1000/format,webp" loading="lazy"  alt="[Image: format,webp]" class="mycode_img img-responsive" /><br />
<br />
More images and the files at the above link.]]></description>
			<content:encoded><![CDATA[Hi Forks.<br />
I couldn't find a Stevenson screen that looked like a real one, so I had a crack at designing on in Fusion. I'm still a novice designer but thought it turn out really well, especiallt the print in place door. Any feed back appreciated. <br />
<br />
Find it here: <a href="https://makerworld.com/en/models/1813916-stevenson-screen-for-weather-station-sensors" target="_blank" rel="noopener" class="mycode_url">https://makerworld.com/en/models/1813916...on-sensors</a><br />
<br />
<img src="https://makerworld.bblmw.com/makerworld/model/DSM00000001813916/design/2025-09-21_c4f27a099b3b28.jpg?x-oss-process=image/resize,w_1000/format,webp" loading="lazy"  alt="[Image: format,webp]" class="mycode_img img-responsive" /><br />
<br />
<img src="https://makerworld.bblmw.com/makerworld/model/DSM00000001813916/design/2025-09-21_4ea9fbc4f6c088.jpg?x-oss-process=image/resize,w_1000/format,webp" loading="lazy"  alt="[Image: format,webp]" class="mycode_img img-responsive" /><br />
<br />
<img src="https://makerworld.bblmw.com/makerworld/model/DSM00000001813916/design/2025-09-21_255c1222ccb76.jpg?x-oss-process=image/resize,w_1000/format,webp" loading="lazy"  alt="[Image: format,webp]" class="mycode_img img-responsive" /><br />
<br />
More images and the files at the above link.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[4Pro Dual Band Receiver - New firmware]]></title>
			<link>https://www.meteocercal.info/forum/Thread-4Pro-Dual-Band-Receiver-New-firmware</link>
			<pubDate>Wed, 06 Aug 2025 00:34:05 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.meteocercal.info/forum/member.php?action=profile&uid=1">werk_ag</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.meteocercal.info/forum/Thread-4Pro-Dual-Band-Receiver-New-firmware</guid>
			<description><![CDATA[<img src="https://www.meteocercal.info/forum/images/01forum_img/WeatherDuino_4Pro/4Pro_DualBandCompact_RX.png" loading="lazy"  alt="[Image: 4Pro_DualBandCompact_RX.png]" class="mycode_img img-responsive" /><br />
<br />
<span style="font-weight: bold;" class="mycode_b">New firmware upgrade for the <a href="https://www.meteocercal.info/forum/Thread-4Pro-Dual-Band-Compact-Receiver-Overview" target="_blank" rel="noopener" class="mycode_url">4Pro Dual Band Receiver</a></span><br />
<br />
<span style="color: #C0392B;" class="mycode_color">WeatherDuino_4PESP32_RX_v6.3_b006</span> - Release date: 2025-08-05<br />
<br />
<br />
Existing users can download it from <a href="https://www.meteocercal.info/forum/thread-1995.html" target="_blank" rel="noopener" class="mycode_url">here</a>.]]></description>
			<content:encoded><![CDATA[<img src="https://www.meteocercal.info/forum/images/01forum_img/WeatherDuino_4Pro/4Pro_DualBandCompact_RX.png" loading="lazy"  alt="[Image: 4Pro_DualBandCompact_RX.png]" class="mycode_img img-responsive" /><br />
<br />
<span style="font-weight: bold;" class="mycode_b">New firmware upgrade for the <a href="https://www.meteocercal.info/forum/Thread-4Pro-Dual-Band-Compact-Receiver-Overview" target="_blank" rel="noopener" class="mycode_url">4Pro Dual Band Receiver</a></span><br />
<br />
<span style="color: #C0392B;" class="mycode_color">WeatherDuino_4PESP32_RX_v6.3_b006</span> - Release date: 2025-08-05<br />
<br />
<br />
Existing users can download it from <a href="https://www.meteocercal.info/forum/thread-1995.html" target="_blank" rel="noopener" class="mycode_url">here</a>.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[New Firmware - 4Pro Wireless Display II]]></title>
			<link>https://www.meteocercal.info/forum/Thread-New-Firmware-4Pro-Wireless-Display-II</link>
			<pubDate>Wed, 06 Aug 2025 00:32:11 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.meteocercal.info/forum/member.php?action=profile&uid=1">werk_ag</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.meteocercal.info/forum/Thread-New-Firmware-4Pro-Wireless-Display-II</guid>
			<description><![CDATA[<img src="https://www.meteocercal.info/forum/images/01forum_img/WeatherDuino_4Pro/4Pro_WirelessDisplay_Logo.png" loading="lazy"  alt="[Image: 4Pro_WirelessDisplay_Logo.png]" class="mycode_img img-responsive" /><br />
<br />
There is a new firmware for the <span style="font-weight: bold;" class="mycode_b"><a href="https://www.meteocercal.info/forum/thread-1971.html" target="_blank" rel="noopener" class="mycode_url">4Pro Wireless Display II</a></span> units.<br />
<br />
<span style="color: #C0392B;" class="mycode_color">WeatherDuino Wireless Display - v2.0_b003</span> - Release date: 2025-08-05<br />
<br />
Existing users can download it from <a href="https://www.meteocercal.info/forum/thread-2278.html" target="_blank" rel="noopener" class="mycode_url">here</a>.]]></description>
			<content:encoded><![CDATA[<img src="https://www.meteocercal.info/forum/images/01forum_img/WeatherDuino_4Pro/4Pro_WirelessDisplay_Logo.png" loading="lazy"  alt="[Image: 4Pro_WirelessDisplay_Logo.png]" class="mycode_img img-responsive" /><br />
<br />
There is a new firmware for the <span style="font-weight: bold;" class="mycode_b"><a href="https://www.meteocercal.info/forum/thread-1971.html" target="_blank" rel="noopener" class="mycode_url">4Pro Wireless Display II</a></span> units.<br />
<br />
<span style="color: #C0392B;" class="mycode_color">WeatherDuino Wireless Display - v2.0_b003</span> - Release date: 2025-08-05<br />
<br />
Existing users can download it from <a href="https://www.meteocercal.info/forum/thread-2278.html" target="_blank" rel="noopener" class="mycode_url">here</a>.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Display with inverted colors]]></title>
			<link>https://www.meteocercal.info/forum/Thread-Display-with-inverted-colors</link>
			<pubDate>Tue, 05 Aug 2025 19:53:06 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.meteocercal.info/forum/member.php?action=profile&uid=1">werk_ag</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.meteocercal.info/forum/Thread-Display-with-inverted-colors</guid>
			<description><![CDATA[Units supplied after August 2025 may have a new display type. If after programing your display starts with the colors inverted,<br />
please change on the Config_Options.h (line 529) the defined display type.<br />
By default it remains being Display_Type 1]]></description>
			<content:encoded><![CDATA[Units supplied after August 2025 may have a new display type. If after programing your display starts with the colors inverted,<br />
please change on the Config_Options.h (line 529) the defined display type.<br />
By default it remains being Display_Type 1]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Looking for Advice on a Reliable Personal Weather Station]]></title>
			<link>https://www.meteocercal.info/forum/Thread-Looking-for-Advice-on-a-Reliable-Personal-Weather-Station</link>
			<pubDate>Tue, 29 Jul 2025 19:27:49 +0100</pubDate>
			<dc:creator><![CDATA[<a href="https://www.meteocercal.info/forum/member.php?action=profile&uid=3262">monifa840</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.meteocercal.info/forum/Thread-Looking-for-Advice-on-a-Reliable-Personal-Weather-Station</guid>
			<description><![CDATA[Hi everyone,<br />
I'm planning to set up a personal weather station at home to track temperature, humidity, pressure, and wind. I'd appreciate any advice on what equipment to choose.<br />
Here’s what I’m looking for:<ul class="mycode_list"><li>Budget: around <span style="font-weight: bold;" class="mycode_b">€200–€500</span><br />
</li>
<li>Accurate sensors, especially for temperature and humidity<br />
</li>
<li>Easy setup with <span style="font-weight: bold;" class="mycode_b">Weather Underground</span> or <span style="font-weight: bold;" class="mycode_b">MeteoCercal</span><br />
</li>
<li>Low maintenance (solar or long battery life)<br />
</li>
<li>Good outdoor durability<br />
</li>
</ul>
As someone who works in <span style="font-weight: bold;" class="mycode_b"><a href="https://www.welchplastics.com/custom-plastic-fabrication/" target="_blank" rel="noopener" class="mycode_url">custom plastic fabrication</a></span>, I’m also curious if anyone here has ever designed or modified enclosures or sensor housings to handle harsh weather better. I’d love to hear how you’ve customized your setup.<br />
Thanks in advance for the tips!]]></description>
			<content:encoded><![CDATA[Hi everyone,<br />
I'm planning to set up a personal weather station at home to track temperature, humidity, pressure, and wind. I'd appreciate any advice on what equipment to choose.<br />
Here’s what I’m looking for:<ul class="mycode_list"><li>Budget: around <span style="font-weight: bold;" class="mycode_b">€200–€500</span><br />
</li>
<li>Accurate sensors, especially for temperature and humidity<br />
</li>
<li>Easy setup with <span style="font-weight: bold;" class="mycode_b">Weather Underground</span> or <span style="font-weight: bold;" class="mycode_b">MeteoCercal</span><br />
</li>
<li>Low maintenance (solar or long battery life)<br />
</li>
<li>Good outdoor durability<br />
</li>
</ul>
As someone who works in <span style="font-weight: bold;" class="mycode_b"><a href="https://www.welchplastics.com/custom-plastic-fabrication/" target="_blank" rel="noopener" class="mycode_url">custom plastic fabrication</a></span>, I’m also curious if anyone here has ever designed or modified enclosures or sensor housings to handle harsh weather better. I’d love to hear how you’ve customized your setup.<br />
Thanks in advance for the tips!]]></content:encoded>
		</item>
	</channel>
</rss>