Możesz wziąć aktualną wersję biblioteki z
https://github.com/klew/arduino
W pliku ino dodaj:
Code: Select all
#include <supla/control/roller_shutter.h>
class RFRollerShutter : public Supla::Control::RollerShutter {
RFRollerShutter() : Supla::Control::RollerShutter(0, 0, false)
{
}
void onInit() { }
void relayDownOn() {
// tu wstaw kod do zamykania
}
void relayUpOn() {
// tu wstaw kod do otwierania
}
void relayDownOff() {
// tu wstaw kod zatrzymujący ruch w dół
}
void relayUpOff() {
// tu daj kod zatrzymujący ruch w górę - jeśli jest taki sam, to możesz zrobić:
// relayDownOff();
}
};
Nie kompilowałem tego kodu, więc mogłem gdzieś się pomylić.
Program może trochę nadmiarowo wysyłać komendy "stop" - jeśli to nie problem dla rolety, to ok, w przeciwnym wypadku będzie trzeba coś jeszcze poprawić.
Aktualny kod nie zapamiętuje stanu rolety, kalibracji, ani czasów zamykania/otiwerania. Więc po każdym resecie urządzenia wykona się kalibracja przy pierwszym użyciu rolety z poziomu aplikacji. Zapamiętywanie stanu jest w trakcie implementacji.
Natomiast cała obsługa rolety powinna działać. Daj znać, czy działa.