Using library adafruit_dotstar_1_2_1 at version 1.2.1 in folder: /home/builder/opt/libraries/adafruit_dotstar_1_2_1
Using library adafruit_unified_sensor_1_1_7 at version 1.1.7 in folder: /home/builder/opt/libraries/adafruit_unified_sensor_1_1_7
/home/builder/opt/libraries/latest/arduino_mkriotcarrier_2_0_1/src/PressureClass.cpp: In member function 'int PressureClass::begin()':
/home/builder/opt/libraries/latest/arduino_mkriotcarrier_2_0_1/src/PressureClass.cpp:38:24: error: 'BME680_I2C_ADDR_PRIMARY' was not declared in this scope
By default, Arduino Cloud uses the latest version of the libraries. This can be convenient because you don't need to worry about manually updating the libraries you use, but sometimes it can also cause problems. This is one of those cases. The "Arduino_MKRIoTCarrier" library used by your sketch has a dependency on the "BSEC Software Library" library. A new version of that "BSEC Software Library" library was released today and the Bosch developers made a bug.
So your sketch that was working fine yesterday with the non-bugged version of the "BSEC Software Library" library fails today because Arduino Cloud automatically updated to the bugged version of the library.
Fortunately, Arduino Web Editor also gives you the option to configure your sketch to use a specific version of a library. So you can configure it to use the good version of the library. I'll provide instructions:
Open your sketch in "Arduino Web Editor".
From the menu on the left side of the "Arduino Web Editor" window, click "Libraries".
Click the LIBRARY MANAGER button.
In the "SEARCH LIBRARY" field, type BSEC Software Library
Find the library in the search results.
If the star to the right of the library is not already filled, click the star.
This will add the library to your "Favorites" in "Arduino Web Editor".
Click the DONE button.
From the Libraries panel of the "Arduino Web Editor" window, click the "FAVORITES" tab.
Find the library in the list of favorite libraries and hover the mouse pointer over its name.
Click the downward pointing triangle on the right side of the Include button.
Select "VERSION 1.6.1480" from the menu.
Delete this line from your sketch:
#include <bsec.h>
ⓘ This line was added as an unwanted side effect of step (11), so this is why it must be removed.
Please let me know if you have any questions or problems while following those instructions.
If you decide later you want to use a different version of the "BSEC Software Library " library (e.g., if Bosch made a new release with the bug fixed), you can repeat the instructions above, selecting the version you want at step (11).
Just to confirm that downgrading to the previous version of the library works perfectly, thanks so much! Any idea when the Bosh engineers will fix the bug? I would eventually like to start using the latest version.
You are welcome. I'm glad if my instructions were useful.
I don't know anything about Bosch's plans. There hasn't been any response in the pull request I submitted to the library to fix the bug.
A workaround has now been implemented by Arduino in the "Arduino_MKRIoTCarrier" library:
It is not yet in Arduino Library Manager or Arduino Cloud, but I think it will be soon.
That workaround only makes it possible for people to avoid having to perform the instructions I provided in my previous reply. It bundles the old good version of the "BSEC Software Library" library with the "Arduino_MKRIoTCarrier" library so it doesn't provide what you are asking for:
For that, I think we will probably have to wait for Bosch, and after that some additional work will be required of Arduino's developers in the "Arduino_MKRIoTCarrier" library because in addition to the bug there were some intentional breaking changes to the API of the "BSEC Software Library" library after the 1.6.1480 version "Arduino_MKRIoTCarrier" was written for.