Code: Select all
TEMPERATURE_NOT_AVAILABLE
HUMIDITY_NOT_AVAILABLE
DISTANCE_NOT_AVAILABLE
Code: Select all
TEMPERATURE_NOT_AVAILABLE
HUMIDITY_NOT_AVAILABLE
DISTANCE_NOT_AVAILABLE
chciałbym wyłączyć taśmy LED jeżeli urządzenie nagrzeje się do niepożądanej temperatury.
Jest już taka możliwość.andrew01 wrote: Wed Mar 24, 2021 5:46 pm Czy dobrze rozumiem, że te akcje wykonywane są lokalnie na urządzeniu? Jeśli tak to może (o ile by się dało) dodać możliwość wywołania własnej funkcji w momencie zadziałania warunku? Wtedy można byłoby np. wysłać mail'a jako rodzaj powiadomienia o np. przekroczonej temperaturze.
Coś takiego:andrew01 wrote: Thu Mar 25, 2021 8:00 am A podpowiesz jak to uzyskać? Nie wiem czy mówimy o tym samym ale chodziło o coś takiego:
myAction()
{
//jakieś działanie
}
termometr.addAction(myAction(), OnLess(21.8));
Czyli aby wykonała się funkcja myAction w momencie gdy np. temperatura spadnie poniżej 21.8.
Wiem, że podobną funkcjonalność można zrobić scenami itp. ale to by było dużo prostsze i bardziej elastyczne.
Code: Select all
#include <supla/action_handler.h>
#define MOJA_AKCJA_1 1;
#define MOJA_AKCJA_2 2;
class MojaAkcja : public Supla::ActionHandler {
public:
void handleAction(int event, int action) {
if (action == MOJA_AKCJA_1) {
// zadania dla akcji 1
} else if (action == MOJA_AKCJA_2) {
// zadania dla akcji 2
}
}
};
// setup:
MojaAkcja egzekutor;
button->addAction(MOJA_AKCJA_1, egzekutor, ON_PRESS);