95 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Remote light control with the free Blynk app
 | |
|  */
 | |
| 
 | |
| uint16_t blHue = 0;
 | |
| byte blSat = 255;
 | |
| 
 | |
| void initBlynk(const char* auth)
 | |
| {
 | |
|   #ifndef WLED_DISABLE_BLYNK
 | |
|   if (!WLED_CONNECTED) return;
 | |
|   blynkEnabled = (auth[0] != 0);
 | |
|   if (blynkEnabled) Blynk.config(auth);
 | |
|   #endif
 | |
| }
 | |
| 
 | |
| void handleBlynk()
 | |
| {
 | |
|   #ifndef WLED_DISABLE_BLYNK
 | |
|   if (WLED_CONNECTED && blynkEnabled)
 | |
|   Blynk.run();
 | |
|   #endif
 | |
| }
 | |
| 
 | |
| void updateBlynk()
 | |
| {
 | |
|   #ifndef WLED_DISABLE_BLYNK
 | |
|   if (!WLED_CONNECTED) return;
 | |
|   Blynk.virtualWrite(V0, bri);
 | |
|   //we need a RGB -> HSB convert here
 | |
|   Blynk.virtualWrite(V3, bri? 1:0);
 | |
|   Blynk.virtualWrite(V4, effectCurrent);
 | |
|   Blynk.virtualWrite(V5, effectSpeed);
 | |
|   Blynk.virtualWrite(V6, effectIntensity);
 | |
|   Blynk.virtualWrite(V7, nightlightActive);
 | |
|   Blynk.virtualWrite(V8, notifyDirect);
 | |
|   #endif
 | |
| }
 | |
| 
 | |
| #ifndef WLED_DISABLE_BLYNK
 | |
| BLYNK_WRITE(V0)
 | |
| {
 | |
|   bri = param.asInt();//bri
 | |
|   colorUpdated(9);
 | |
| }
 | |
| 
 | |
| BLYNK_WRITE(V1)
 | |
| {
 | |
|   blHue = param.asInt();//hue
 | |
|   colorHStoRGB(blHue*10,blSat,(false)? colSec:col);
 | |
|   colorUpdated(9);
 | |
| }
 | |
| 
 | |
| BLYNK_WRITE(V2)
 | |
| {
 | |
|   blSat = param.asInt();//sat
 | |
|   colorHStoRGB(blHue*10,blSat,(false)? colSec:col);
 | |
|   colorUpdated(9);
 | |
| }
 | |
| 
 | |
| BLYNK_WRITE(V3)
 | |
| {
 | |
|   bool on = (param.asInt()>0);
 | |
|   if (!on != !bri) {toggleOnOff(); colorUpdated(9);}
 | |
| }
 | |
| 
 | |
| BLYNK_WRITE(V4)
 | |
| {
 | |
|   effectCurrent = param.asInt()-1;//fx
 | |
|   colorUpdated(9);
 | |
| }
 | |
| 
 | |
| BLYNK_WRITE(V5)
 | |
| {
 | |
|   effectSpeed = param.asInt();//sx
 | |
|   colorUpdated(9);
 | |
| }
 | |
| 
 | |
| BLYNK_WRITE(V6)
 | |
| {
 | |
|   effectIntensity = param.asInt();//ix
 | |
|   colorUpdated(9);
 | |
| }
 | |
| 
 | |
| BLYNK_WRITE(V7)
 | |
| {
 | |
|   nightlightActive = (param.asInt()>0);
 | |
| }
 | |
| 
 | |
| BLYNK_WRITE(V8)
 | |
| {
 | |
|   notifyDirect = (param.asInt()>0); //send notifications
 | |
| }
 | |
| #endif
 | 
