CloudConfigRK with Device Notes

I looked at this a year back and I have just got to trying to integrate the CloudConfigRK library.

I have followed the instructions on GitHub to setup the webhook and this appears to be working without error. There are 'CloudConfigDeviceNotes' events in the device event log. However, the application example (07devicenotes.cpp with retained memory storage) never manages to read any device notes. The serial log is shown below.

0000020002 [app] INFO: periodic check
0000020011 [app] INFO: no config set
0000021313 [app] INFO: no data or update at restart
0000021326 [app] INFO: stateStartUpdate
0000021336 [app] INFO: CloudConfigUpdateWebhook::startUpdate CloudConfigDeviceNotes
0000030003 [app] INFO: periodic check
0000030012 [app] INFO: no config set
0000040004 [app] INFO: periodic check
0000040013 [app] INFO: no config set

Any pointers please as to why this isn't working?

Which device? The library doesn't have the call to save retained memory on RTL872x devices so if you hardware reset or System.reset() a Gen 4 device it won't retain the retained memory.

Also, unless you are using a Gen 2 device, you really should use Ledger instead, which will be far more reliable and has additional features.

P2 - but I was planning to use a flash file to store the data.

I will look into using Ledger if that is more reliable.

Is there an example to get a JSON string from the Device Notes?

@rickkas7 I have got Ledger working as required and have a couple of questions about data usage. With an enterprise product with a data plan how does Ledger use that data when cloud to device? Also, for Device to Cloud say for collecting performance data to process using a ML algorithm which might then update the device or product configuration settings.

[Edit] In my configuration test example I have changed the names of the ledgers (except for sensors) and I am seeing the following WARNs whereas all else seems to work fine. Is this simply because there is a previous build flotsam hanging around?

0000017339 [system.ledger] WARN: Ledger not found: test-config-defaults
0000017357 [system.ledger] WARN: Ledger not found: test-config-device
0000017374 [system.ledger] INFO: Subscribing to ledger updates
0000017393 [app] INFO: set ledger {"alarm":["temp"],"hum":23.9,"temp":16.8,"time":"2025-03-04T14:58:54Z"}
0000017792 [system.ledger] INFO: Subscribed to ledger updates

The warnings are normal; eventually the device should forget about ledgers that you previously used on that device but no longer exist.

Currently there are no data operations charges for synchronizing ledgers.