068c5851ef
* Add fields for customization Blynk host Add fields to 'Sync Interfaces' for customization Blynk host. Now you can set you own Blynk server. All you needs its set custom host and port to local Blync server. * Lower blynk host length (memory usage) Co-authored-by: cschwinne <dev.aircoookie@gmail.com>
98 lines
1.9 KiB
C++
98 lines
1.9 KiB
C++
#include "wled.h"
|
|
#include "src/dependencies/blynk/Blynk/BlynkHandlers.h"
|
|
|
|
/*
|
|
* Remote light control with the free Blynk app
|
|
*/
|
|
|
|
uint16_t blHue = 0;
|
|
byte blSat = 255;
|
|
|
|
void initBlynk(const char *auth, const char *host, uint16_t port)
|
|
{
|
|
#ifndef WLED_DISABLE_BLYNK
|
|
if (!WLED_CONNECTED) return;
|
|
blynkEnabled = (auth[0] != 0);
|
|
if (blynkEnabled) Blynk.config(auth, host, port);
|
|
#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(NOTIFIER_CALL_MODE_BLYNK);
|
|
}
|
|
|
|
BLYNK_WRITE(V1)
|
|
{
|
|
blHue = param.asInt();//hue
|
|
colorHStoRGB(blHue*10,blSat,(false)? colSec:col);
|
|
colorUpdated(NOTIFIER_CALL_MODE_BLYNK);
|
|
}
|
|
|
|
BLYNK_WRITE(V2)
|
|
{
|
|
blSat = param.asInt();//sat
|
|
colorHStoRGB(blHue*10,blSat,(false)? colSec:col);
|
|
colorUpdated(NOTIFIER_CALL_MODE_BLYNK);
|
|
}
|
|
|
|
BLYNK_WRITE(V3)
|
|
{
|
|
bool on = (param.asInt()>0);
|
|
if (!on != !bri) {toggleOnOff(); colorUpdated(NOTIFIER_CALL_MODE_BLYNK);}
|
|
}
|
|
|
|
BLYNK_WRITE(V4)
|
|
{
|
|
effectCurrent = param.asInt()-1;//fx
|
|
colorUpdated(NOTIFIER_CALL_MODE_BLYNK);
|
|
}
|
|
|
|
BLYNK_WRITE(V5)
|
|
{
|
|
effectSpeed = param.asInt();//sx
|
|
colorUpdated(NOTIFIER_CALL_MODE_BLYNK);
|
|
}
|
|
|
|
BLYNK_WRITE(V6)
|
|
{
|
|
effectIntensity = param.asInt();//ix
|
|
colorUpdated(NOTIFIER_CALL_MODE_BLYNK);
|
|
}
|
|
|
|
BLYNK_WRITE(V7)
|
|
{
|
|
nightlightActive = (param.asInt()>0);
|
|
}
|
|
|
|
BLYNK_WRITE(V8)
|
|
{
|
|
notifyDirect = (param.asInt()>0); //send notifications
|
|
}
|
|
#endif
|