Update diy samples

That accomodate ApiClient changes
Fix apiClient begin on OneOpenAir
This commit is contained in:
samuelbles07
2025-01-25 04:08:17 +07:00
parent 1537d5d480
commit c8f0e6a0d2
4 changed files with 68 additions and 20 deletions

View File

@ -149,7 +149,10 @@ void setup() {
initMqtt();
sendDataToAg();
if (configuration.getConfigurationControl() !=
ConfigurationControl::ConfigurationControlLocal) {
apiClient.fetchServerConfiguration();
}
configSchedule.update();
if (apiClient.isFetchConfigureFailed()) {
if (apiClient.isNotAvailableOnDashboard()) {
@ -415,6 +418,14 @@ static void failedHandler(String msg) {
}
static void configurationUpdateSchedule(void) {
if (configuration.isOfflineMode() ||
configuration.getConfigurationControl() == ConfigurationControl::ConfigurationControlLocal) {
Serial.println("Ignore fetch server configuration. Either mode is offline "
"or configurationControl set to local");
apiClient.resetFetchConfigureState();
return;
}
if (apiClient.fetchServerConfiguration()) {
configUpdateHandle();
}
@ -521,17 +532,21 @@ static void sendDataToServer(void) {
int bootCount = measurements.bootCount() + 1;
measurements.setBootCount(bootCount);
/** Ignore send data to server if postToAirGradient disabled */
if (configuration.isPostDataToAirGradient() == false ||
configuration.isOfflineMode()) {
if (configuration.isOfflineMode() || !configuration.isPostDataToAirGradient()) {
Serial.println("Ignore send data to server. Either mode is offline "
"or post data to server disabled");
return;
}
if (wifiConnector.isConnected() == false) {
Serial.println("WiFi not connected, skip post data to server");
return;
}
String syncData = measurements.toString(false, fwMode, wifiConnector.RSSI(), ag, configuration);
if (apiClient.postToServer(syncData)) {
Serial.println();
Serial.println(
"Online mode and isPostToAirGradient = true: watchdog reset");
Serial.println("Online mode and isPostToAirGradient = true");
Serial.println();
}
}

View File

@ -149,7 +149,10 @@ void setup() {
initMqtt();
sendDataToAg();
if (configuration.getConfigurationControl() !=
ConfigurationControl::ConfigurationControlLocal) {
apiClient.fetchServerConfiguration();
}
configSchedule.update();
if (apiClient.isFetchConfigureFailed()) {
if (apiClient.isNotAvailableOnDashboard()) {
@ -467,6 +470,14 @@ static void failedHandler(String msg) {
}
static void configurationUpdateSchedule(void) {
if (configuration.isOfflineMode() ||
configuration.getConfigurationControl() == ConfigurationControl::ConfigurationControlLocal) {
Serial.println("Ignore fetch server configuration. Either mode is offline "
"or configurationControl set to local");
apiClient.resetFetchConfigureState();
return;
}
if (apiClient.fetchServerConfiguration()) {
configUpdateHandle();
}
@ -573,17 +584,21 @@ static void sendDataToServer(void) {
int bootCount = measurements.bootCount() + 1;
measurements.setBootCount(bootCount);
/** Ignore send data to server if postToAirGradient disabled */
if (configuration.isPostDataToAirGradient() == false ||
configuration.isOfflineMode()) {
if (configuration.isOfflineMode() || !configuration.isPostDataToAirGradient()) {
Serial.println("Ignore send data to server. Either mode is offline "
"or post data to server disabled");
return;
}
if (wifiConnector.isConnected() == false) {
Serial.println("WiFi not connected, skip post data to server");
return;
}
String syncData = measurements.toString(false, fwMode, wifiConnector.RSSI(), ag, configuration);
if (apiClient.postToServer(syncData)) {
Serial.println();
Serial.println(
"Online mode and isPostToAirGradient = true: watchdog reset");
Serial.println("Online mode and isPostToAirGradient = true");
Serial.println();
}
}

View File

@ -176,7 +176,10 @@ void setup() {
initMqtt();
sendDataToAg();
if (configuration.getConfigurationControl() !=
ConfigurationControl::ConfigurationControlLocal) {
apiClient.fetchServerConfiguration();
}
configSchedule.update();
if (apiClient.isFetchConfigureFailed()) {
if (apiClient.isNotAvailableOnDashboard()) {
@ -507,6 +510,14 @@ static void failedHandler(String msg) {
}
static void configurationUpdateSchedule(void) {
if (configuration.isOfflineMode() ||
configuration.getConfigurationControl() == ConfigurationControl::ConfigurationControlLocal) {
Serial.println("Ignore fetch server configuration. Either mode is offline "
"or configurationControl set to local");
apiClient.resetFetchConfigureState();
return;
}
if (apiClient.fetchServerConfiguration()) {
configUpdateHandle();
}
@ -614,17 +625,21 @@ static void sendDataToServer(void) {
int bootCount = measurements.bootCount() + 1;
measurements.setBootCount(bootCount);
/** Ignore send data to server if postToAirGradient disabled */
if (configuration.isPostDataToAirGradient() == false ||
configuration.isOfflineMode()) {
if (configuration.isOfflineMode() || !configuration.isPostDataToAirGradient()) {
Serial.println("Ignore send data to server. Either mode is offline "
"or post data to server disabled");
return;
}
if (wifiConnector.isConnected() == false) {
Serial.println("WiFi not connected, skip post data to server");
return;
}
String syncData = measurements.toString(false, fwMode, wifiConnector.RSSI(), ag, configuration);
if (apiClient.postToServer(syncData)) {
Serial.println();
Serial.println(
"Online mode and isPostToAirGradient = true: watchdog reset");
Serial.println("Online mode and isPostToAirGradient = true");
Serial.println();
}
}

View File

@ -861,7 +861,7 @@ void initiateNetwork() {
// Initiate local network configuration
mdnsInit();
localServer.begin();
// Apply mqtt connection
// Apply mqtt connection if configured
initMqtt();
// Ignore the rest if cloud connection to AirGradient is disabled
@ -869,7 +869,10 @@ void initiateNetwork() {
return;
}
// Send ping to aigradient server
// Initialize api client
apiClient.begin();
// Send ping to airgradient server
sendDataToAg();
// OTA check