Skip to content

Commit 4918e67

Browse files
authored
Merge pull request #340 from sinricpro/fix_sensors
Update sensors
2 parents 13eb776 + ee5b5bb commit 4918e67

File tree

40 files changed

+124
-227
lines changed

40 files changed

+124
-227
lines changed

changelog.md

+5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
# Changelog
2+
## Version 3.0.0
3+
- BREAKING CHANGE: Remove PowerStateController from Air Quality, Contact, Motion and Temperature sensor.
4+
- Fix examples
5+
- Default Arduino Serial baudrate changed to 115200
6+
27
## Version 2.11.1
38
- Support Raspberry Pi Pico W
49

examples/ACUnit/ACUnit.ino

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
#define APP_KEY "YOUR_APP_KEY_HERE" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
3636
#define APP_SECRET "YOUR_APP_SECRET_HERE" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"
3737
#define ACUNIT_ID "YOUR_DEVICE_ID_HERE" // Should look like "5dc1564130xxxxxxxxxxxxxx"
38-
#define BAUD_RATE 9600 // Change baudrate to your need
38+
#define BAUD_RATE 115200 // Change baudrate to your need
3939

4040
float globalTemperature;
4141
bool globalPowerState;

examples/AirQualitySensor/AirQualitySensor/AirQualitySensor.ino

+17-13
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
#define APP_KEY "" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
3737
#define APP_SECRET "" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"
3838
#define DEVICE_ID "" // Should look like "5dc1564130xxxxxxxxxxxxxx"
39-
#define BAUD_RATE 9600 // Change baudrate to your need
39+
#define BAUD_RATE 115200 // Change baudrate to your need
4040

4141
// Air quality sensor event dispatch time. Min is every 1 min.
4242
#define MIN (1000UL * 60 * 1)
@@ -70,7 +70,6 @@ void setupSinricPro() {
7070

7171
// set callback function to device
7272

73-
7473
// setup SinricPro
7574
SinricPro.onConnected([](){ Serial.printf("Connected to SinricPro\r\n"); });
7675
SinricPro.onDisconnected([](){ Serial.printf("Disconnected from SinricPro\r\n"); });
@@ -86,15 +85,20 @@ void setup() {
8685
void loop() {
8786
SinricPro.handle();
8887

89-
if((long)(millis() - dispatchTime) >= 0) {
90-
SinricProAirQualitySensor &mySinricProAirQualitySensor = SinricPro[DEVICE_ID]; // get sensor device
91-
92-
int pm1 =0;
93-
int pm2_5 = 0;
94-
int pm10=0;
95-
96-
mySinricProAirQualitySensor.sendAirQualityEvent(pm1, pm2_5, pm10, "PERIODIC_POLL");
97-
dispatchTime += MIN;
98-
Serial.println("Sending Air Quality event ..");
99-
}
88+
if((long)(millis() - dispatchTime) >= 0) {
89+
SinricProAirQualitySensor &mySinricProAirQualitySensor = SinricPro[DEVICE_ID]; // get sensor device
90+
91+
int pm1 =0;
92+
int pm2_5 = 0;
93+
int pm10=0;
94+
95+
bool success = mySinricProAirQualitySensor.sendAirQualityEvent(pm1, pm2_5, pm10, "PERIODIC_POLL");
96+
if(success) {
97+
Serial.println("Air Quality event sent! ..");
98+
} else {
99+
Serial.printf("Something went wrong...could not send Event to server!\r\n");
100+
}
101+
102+
dispatchTime += MIN;
103+
}
100104
}

examples/AirQualitySensor/AirQualitySensor_gp2y1014au0f/AirQualitySensor_gp2y1014au0f.ino

+25-24
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
#define APP_KEY "" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
4040
#define APP_SECRET "" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"
4141
#define DEVICE_ID "" // Should look like "5dc1564130xxxxxxxxxxxxxx"
42-
#define BAUD_RATE 9600 // Change baudrate to your need
42+
#define BAUD_RATE 115200 // Change baudrate to your need
4343

4444
// Air quality sensor event dispatch time. Min is every 1 min.
4545
#define MIN (1000UL * 60 * 1)
@@ -76,9 +76,6 @@ void setupSinricPro() {
7676
// add device to SinricPro
7777
SinricProAirQualitySensor& mySinricProAirQualitySensor = SinricPro[DEVICE_ID];
7878

79-
// set callback function to device
80-
81-
8279
// setup SinricPro
8380
SinricPro.onConnected([](){ Serial.printf("Connected to SinricPro\r\n"); });
8481
SinricPro.onDisconnected([](){ Serial.printf("Disconnected from SinricPro\r\n"); });
@@ -91,34 +88,38 @@ void setupDustSensor() {
9188
dustSensor.begin();
9289
}
9390

94-
9591
void setup() {
9692
Serial.begin(BAUD_RATE); Serial.printf("\r\n\r\n");
9793
setupWiFi();
9894
setupSinricPro();
9995
setupDustSensor();
10096
}
10197

102-
10398
void loop() {
10499
SinricPro.handle();
105100

106-
if((long)(millis() - dispatchTime) >= 0) {
107-
Serial.print("Dust density: ");
108-
Serial.print(dustSensor.getDustDensity());
109-
Serial.print(" ug/m3; Running average: ");
110-
Serial.print(dustSensor.getRunningAverage());
111-
Serial.println(" ug/m3");
112-
113-
SinricProAirQualitySensor &mySinricProAirQualitySensor = SinricPro[DEVICE_ID]; // get air q sensor device
114-
115-
int pm1=0;
116-
int pm2_5 = dustSensor.getRunningAverage();
117-
int pm10=0;
118-
119-
mySinricProAirQualitySensor.sendAirQualityEvent(pm1, pm2_5, pm10, "PERIODIC_POLL");
120-
dispatchTime += MIN;
121-
122-
Serial.println("Sending Air Quality event ..");
123-
}
101+
if((long)(millis() - dispatchTime) >= 0) {
102+
Serial.print("Dust density: ");
103+
Serial.print(dustSensor.getDustDensity());
104+
Serial.print(" ug/m3; Running average: ");
105+
Serial.print(dustSensor.getRunningAverage());
106+
Serial.println(" ug/m3");
107+
108+
SinricProAirQualitySensor &mySinricProAirQualitySensor = SinricPro[DEVICE_ID]; // get air q sensor device
109+
110+
int pm1=0;
111+
int pm2_5 = dustSensor.getRunningAverage();
112+
int pm10=0;
113+
114+
bool success = mySinricProAirQualitySensor.sendAirQualityEvent(pm1, pm2_5, pm10, "PERIODIC_POLL");
115+
if(success) {
116+
Serial.println("Air Quality event sent! ..");
117+
} else {
118+
Serial.printf("Something went wrong...could not send Event to server!\r\n");
119+
}
120+
121+
dispatchTime += MIN;
122+
123+
Serial.println("Sending Air Quality event ..");
124+
}
124125
}

examples/Blinds/Blinds.ino

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
#define APP_KEY "YOUR-APP-KEY" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
3636
#define APP_SECRET "YOUR-APP-SECRET" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"
3737
#define BLINDS_ID "YOUR-DEVICE-ID" // Should look like "5dc1564130xxxxxxxxxxxxxx"
38-
#define BAUD_RATE 9600 // Change baudrate to your need
38+
#define BAUD_RATE 115200 // Change baudrate to your need
3939

4040
int blindsPosition = 0;
4141
bool powerState = false;

examples/Camera/mjpeg-camera/mjpeg-camera.ino

+2-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#define APP_KEY "YOUR-APP-KEY" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx". Get it from https://portal.sinric.pro/ -> Credentials
2828
#define APP_SECRET "YOUR-APP-SECRET" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx" . Get it from https://portal.sinric.pro/ -> Credentials
2929
#define CAMERA_ID "YOUR-DEVICE-ID" // Should look like "5dc1564130xxxxxxxxxxxxxx". Get it from https://portal.sinric.pro/ -> Devices
30+
#define BAUD_RATE 115200 // Change baudrate to your need
3031

3132
void cameraInit(void);
3233
void startCameraServer();
@@ -71,7 +72,7 @@ void setupSinricPro() {
7172

7273

7374
void setup() {
74-
Serial.begin(115200);
75+
Serial.begin(BAUD_RATE);
7576
Serial.setDebugOutput(true);
7677
Serial.println();
7778

examples/Camera/rtsp-camera/rtsp-camera.ino

+2-2
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ compiler.warning_flags.all=-Wall -Wextra
9595
#define APP_KEY "YOUR-APP-KEY" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx". Get it from https://portal.sinric.pro/ -> Credentials
9696
#define APP_SECRET "YOUR-APP-SECRET" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx" . Get it from https://portal.sinric.pro/ -> Credentials
9797
#define CAMERA_ID "YOUR-DEVICE-ID" // Should look like "5dc1564130xxxxxxxxxxxxxx". Get it from https://portal.sinric.pro/ -> Devices
98-
98+
#define BAUD_RATE 115200 // Change baudrate to your need
9999

100100
OV2640 cam;
101101
CStreamer *streamer;
@@ -246,7 +246,7 @@ void handleStreaming() {
246246

247247
void setup()
248248
{
249-
Serial.begin(115200);
249+
Serial.begin(BAUD_RATE);
250250
while (!Serial); //wait for serial connection.
251251

252252
setupCamera();

examples/ContactSensor/ContactSensor.ino

+5-24
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,12 @@
3838
#define APP_KEY "YOUR-APP-KEY" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
3939
#define APP_SECRET "YOUR-APP-SECRET" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"
4040
#define CONTACT_ID "YOUR-DEVICE-ID" // Should look like "5dc1564130xxxxxxxxxxxxxx"
41-
#define BAUD_RATE 9600 // Change baudrate to your need
41+
#define BAUD_RATE 115200 // Change baudrate to your need
4242

4343
#define CONTACT_PIN 5 // PIN where contactsensor is connected to
4444
// LOW = contact is open
4545
// HIGH = contact is closed
4646

47-
bool myPowerState = true; // assume device is turned on
4847
bool lastContactState = false;
4948
unsigned long lastChange = 0;
5049

@@ -57,8 +56,6 @@ unsigned long lastChange = 0;
5756
* LOW = contactsensor is open
5857
*/
5958
void handleContactsensor() {
60-
if (!myPowerState) return; // if device switched off...do nothing
61-
6259
unsigned long actualMillis = millis();
6360
if (actualMillis - lastChange < 250) return; // debounce contact state transitions (same as debouncing a pushbutton)
6461

@@ -69,26 +66,13 @@ void handleContactsensor() {
6966
lastContactState = actualContactState; // update last known state
7067
lastChange = actualMillis; // update debounce time
7168
SinricProContactsensor &myContact = SinricPro[CONTACT_ID]; // get contact sensor device
72-
myContact.sendContactEvent(actualContactState); // send event with actual state
69+
bool success = myContact.sendContactEvent(actualContactState); // send event with actual state
70+
if(!success) {
71+
Serial.printf("Something went wrong...could not send Event to server!\r\n");
72+
}
7373
}
7474
}
7575

76-
/**
77-
* @brief Callback for setPowerState request
78-
*
79-
* @param deviceId String containing deviceId (useful if this callback used by multiple devices)
80-
* @param[in] state bool true=turn on device / false=turn off device
81-
* @param[out] state bool true=device turned on / false=device turned off
82-
* @return true request handled properly
83-
* @return false request can't be handled because some kind of error happened
84-
*/
85-
bool onPowerState(const String &deviceId, bool &state) {
86-
Serial.printf("Device %s turned %s (via SinricPro) \r\n", deviceId.c_str(), state?"on":"off");
87-
myPowerState = state;
88-
return true; // request handled properly
89-
}
90-
91-
9276
// setup function for WiFi connection
9377
void setupWiFi() {
9478
Serial.printf("\r\n[Wifi]: Connecting");
@@ -116,9 +100,6 @@ void setupSinricPro() {
116100
// add device to SinricPro
117101
SinricProContactsensor& myContact = SinricPro[CONTACT_ID];
118102

119-
// set callback function to device
120-
myContact.onPowerState(onPowerState);
121-
122103
// setup SinricPro
123104
SinricPro.onConnected([](){ Serial.printf("Connected to SinricPro\r\n"); });
124105
SinricPro.onDisconnected([](){ Serial.printf("Disconnected from SinricPro\r\n"); });

examples/DimSwitch/DimSwitch.ino

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
#define APP_KEY "YOUR-APP-KEY" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
3434
#define APP_SECRET "YOUR-APP-SECRET" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"
3535
#define DIMSWITCH_ID "YOUR-DEVICE-ID" // Should look like "5dc1564130xxxxxxxxxxxxxx"
36-
#define BAUD_RATE 9600 // Change baudrate to your need
36+
#define BAUD_RATE 115200 // Change baudrate to your need
3737

3838
// we use a struct to store all states and values for our dimmable switch
3939
struct {

examples/Fan/Fan.ino

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
#define APP_KEY "YOUR-APP-KEY" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
3434
#define APP_SECRET "YOUR-APP-SECRET" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"
3535
#define FAN_ID "YOUR-DEVICE-ID" // Should look like "5dc1564130xxxxxxxxxxxxxx"
36-
#define BAUD_RATE 9600 // Change baudrate to your need
36+
#define BAUD_RATE 115200 // Change baudrate to your need
3737

3838
// we use a struct to store all states and values for our fan
3939
// fanSpeed (1..3)

examples/GarageDoor/GarageDoor.ino

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
#define APP_KEY "YOUR_APP_KEY_HERE" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
3636
#define APP_SECRET "YOUR_APP_SECRET_HERE" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"
3737
#define GARAGEDOOR_ID "YOUR_DEVICE_ID_HERE" // Should look like "5dc1564130xxxxxxxxxxxxxx"
38-
#define BAUD_RATE 9600 // Change baudrate to your need
38+
#define BAUD_RATE 115200 // Change baudrate to your need
3939

4040

4141
bool onDoorState(const String& deviceId, bool &doorState) {

examples/Light/Light/Light.ino

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
#define APP_KEY "YOUR-APP-KEY" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
3434
#define APP_SECRET "YOUR-APP-SECRET" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"
3535
#define LIGHT_ID "YOUR-DEVICE-ID" // Should look like "5dc1564130xxxxxxxxxxxxxx"
36-
#define BAUD_RATE 9600 // Change baudrate to your need
36+
#define BAUD_RATE 115200 // Change baudrate to your need
3737

3838
// define array of supported color temperatures
3939
int colorTemperatureArray[] = {2200, 2700, 4000, 5500, 7000};

examples/Light/Light_FastLED_WS2812/Light_FastLED_WS2812.ino

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
#define APP_KEY "YOUR-APP-KEY" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
3838
#define APP_SECRET "YOUR-APP-SECRET" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"
3939
#define LIGHT_ID "YOUR-DEVICE-ID" // Should look like "5dc1564130xxxxxxxxxxxxxx"
40-
#define BAUD_RATE 9600 // Change baudrate to your need
40+
#define BAUD_RATE 115200 // Change baudrate to your need
4141

4242
#define NUM_LEDS 1 // how much LEDs are on the stripe
4343
#define LED_PIN 3 // LED stripe is connected to PIN 3

examples/Light/RGB_LED_Stripe_5050/RGB_LED_Stripe_5050.ino

+6-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@
1919
#endif
2020

2121
#include <Arduino.h>
22-
#include <ESP8266WiFi.h>
22+
#if defined(ESP8266)
23+
#include <ESP8266WiFi.h>
24+
#elif defined(ESP32) || defined(ARDUINO_ARCH_RP2040)
25+
#include <WiFi.h>
26+
#endif
2327
#include <SinricPro.h>
2428
#include <SinricProLight.h>
2529

@@ -30,7 +34,7 @@
3034
#define APP_KEY "YOUR-APPKEY" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
3135
#define APP_SECRET "YOUR-APPSECRET" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"
3236
#define LIGHT_ID "YOUR-DEVICEID" // Should look like "5dc1564130xxxxxxxxxxxxxx"
33-
#define BAUD_RATE 9600 // Change baudrate to your need for serial log
37+
#define BAUD_RATE 115200 // Change baudrate to your need for serial log
3438

3539
#define BLUE_PIN D5 // PIN for BLUE Mosfet - change this to your need (D5 = GPIO14 on ESP8266)
3640
#define RED_PIN D6 // PIN for RED Mosfet - change this to your need (D6 = GPIO12 on ESP8266)

examples/Lock/Lock/Lock.ino

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
#define APP_KEY "YOUR_APP_KEY_HERE" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
3636
#define APP_SECRET "YOUR_APP_SECRET_HERE" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"
3737
#define LOCK_ID "YOUR_DEVICE_ID_HERE" // Should look like "5dc1564130xxxxxxxxxxxxxx"
38-
#define BAUD_RATE 9600 // Change baudrate to your need
38+
#define BAUD_RATE 115200 // Change baudrate to your need
3939

4040

4141
bool onLockState(String deviceId, bool &lockState) {

examples/Lock/Lock_with_feedback/Lock_with_feedback.ino

+5-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
#define APP_KEY "YOUR_APP_KEY_HERE" // Should look like "de0bxxxx-1x3x-4x3x-ax2x-5dabxxxxxxxx"
4141
#define APP_SECRET "YOUR_APP_SECRET_HERE" // Should look like "5f36xxxx-x3x7-4x3x-xexe-e86724a9xxxx-4c4axxxx-3x3x-x5xe-x9x3-333d65xxxxxx"
4242
#define LOCK_ID "YOUR_DEVICE_ID_HERE" // Should look like "5dc1564130xxxxxxxxxxxxxx"
43-
#define BAUD_RATE 9600 // Change baudrate to your need
43+
#define BAUD_RATE 115200 // Change baudrate to your need
4444

4545
#if defined(ESP8266)
4646
#define LOCK_PIN D1 // PIN where the lock is connected to: HIGH = locked, LOW = unlocked
@@ -64,7 +64,10 @@ void checkLockState() {
6464
Serial.printf("Lock has been %s manually\r\n", currentLockState?"locked":"unlocked"); // print current lock state to serial
6565
lastLockState = currentLockState; // update last known lock state
6666
SinricProLock &myLock = SinricPro[LOCK_ID]; // get the LockDevice
67-
myLock.sendLockStateEvent(currentLockState); // update LockState on Server
67+
bool success = myLock.sendLockStateEvent(currentLockState); // update LockState on Server
68+
if(!success) {
69+
Serial.printf("Something went wrong...could not send Event to server!\r\n");
70+
}
6871
}
6972

7073
void setupWiFi() {

0 commit comments

Comments
 (0)