Dzięki !!!
A ja tego szukałem, szukałem w SuplaDevice.
Obsługa przycisków w SuplaDevice
-
- Posts: 2803
- Joined: Mon Jan 07, 2019 7:51 pm
- Location: Rybnik
Jak dodam:
Code: Select all
button->setStep(1);
Code: Select all
sketch\SuplaDeviceGUI.cpp: In function 'void Supla::GUI::addRGBWLeds(uint8_t)':
SuplaDeviceGUI.cpp:315:15: error: 'class Supla::Control::Button' has no member named 'setStep'
button->setStep(1); // nowy
^
exit status 1
'class Supla::Control::Button' has no member named 'setStep'
-
- Posts: 2264
- Joined: Thu Nov 23, 2017 11:33 pm
- Location: Warszawa
https://www.facebook.com/groups/supladiy/
-
- Posts: 4
- Joined: Fri Jul 02, 2021 1:53 pm
Witam
Mam problem w zdefiniowaniu wejść dla przycisków dla płytki ESP32.
Przyciski nie chcą działać na większości GPIO.
W załączonym kodzie działają przyciski P3 i P4 podłączone pod wejścia 34 i 35.
Czy trzeba zdefiniować w jakiś sposób wejścia?
Wszystkie 4 przekaźniki działają z aplikacji, tylko 3 i 4 z przycisków.
Wg opisu GPIO 32 i 33 realizują zarówno wejścia jak i wyjścia
Czy ktoś może pomóc?
/*
próba sterowania 4 przekaźników 4 przyciskami
*/
#include <SuplaDevice.h>
#include <supla/control/relay.h>
#include <supla/control/button.h>
uint8_t mac[6] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05};
#include <supla/network/esp_wifi.h>
Supla::ESPWifi wifi("xxxxx", "xxxxxx");
Supla::Control::Relay K1(12 ,false); //D12 / lewa strona 4 / przód garaż
Supla::Control::Relay K2(2 ,false); //D2 / prawa strona 4 / przód weście
Supla::Control::Relay K3(3 ,false); //RX / prawa srona 13 / przód kuchnia
Supla::Control::Relay K4(4 ,false); //D4 / prawa strona 5 / tył salon 1 (prawa)
Supla::Control::Button P1(32, true);
Supla::Control::Button P2(33, true);
Supla::Control::Button P3(34, true); //D34 / lewa strona 12
Supla::Control::Button P4(35, true); //D35 / lewa strona 11
void setup() {
Serial.begin(115200);
// Replace the falowing GUID with value that you can retrieve from https://www.supla.org/arduino/get-guid
char GUID[SUPLA_GUID_SIZE] = {xxxxx};
// Replace the following AUTHKEY with value that you can retrieve from: https://www.supla.org/arduino/get-authkey
char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {xxxxxx;
P1.addAction(Supla::TOGGLE, K1, Supla::ON_PRESS);
P2.addAction(Supla::TOGGLE, K2, Supla::ON_PRESS);
P3.addAction(Supla::TOGGLE, K3, Supla::ON_PRESS);
P4.addAction(Supla::TOGGLE, K4, Supla::ON_PRESS);
SuplaDevice.begin(GUID, // Global Unique Identifier
"xxxxxxx", // SUPLA server address
"xxxxxxx", // Email address used to login to Supla Cloud
AUTHKEY); // Authorization key
}
void loop() {
SuplaDevice.iterate();
}
Pozdrawiam
Tomasz
Mam problem w zdefiniowaniu wejść dla przycisków dla płytki ESP32.
Przyciski nie chcą działać na większości GPIO.
W załączonym kodzie działają przyciski P3 i P4 podłączone pod wejścia 34 i 35.
Czy trzeba zdefiniować w jakiś sposób wejścia?
Wszystkie 4 przekaźniki działają z aplikacji, tylko 3 i 4 z przycisków.
Wg opisu GPIO 32 i 33 realizują zarówno wejścia jak i wyjścia
Czy ktoś może pomóc?
/*
próba sterowania 4 przekaźników 4 przyciskami
*/
#include <SuplaDevice.h>
#include <supla/control/relay.h>
#include <supla/control/button.h>
uint8_t mac[6] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05};
#include <supla/network/esp_wifi.h>
Supla::ESPWifi wifi("xxxxx", "xxxxxx");
Supla::Control::Relay K1(12 ,false); //D12 / lewa strona 4 / przód garaż
Supla::Control::Relay K2(2 ,false); //D2 / prawa strona 4 / przód weście
Supla::Control::Relay K3(3 ,false); //RX / prawa srona 13 / przód kuchnia
Supla::Control::Relay K4(4 ,false); //D4 / prawa strona 5 / tył salon 1 (prawa)
Supla::Control::Button P1(32, true);
Supla::Control::Button P2(33, true);
Supla::Control::Button P3(34, true); //D34 / lewa strona 12
Supla::Control::Button P4(35, true); //D35 / lewa strona 11
void setup() {
Serial.begin(115200);
// Replace the falowing GUID with value that you can retrieve from https://www.supla.org/arduino/get-guid
char GUID[SUPLA_GUID_SIZE] = {xxxxx};
// Replace the following AUTHKEY with value that you can retrieve from: https://www.supla.org/arduino/get-authkey
char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {xxxxxx;
P1.addAction(Supla::TOGGLE, K1, Supla::ON_PRESS);
P2.addAction(Supla::TOGGLE, K2, Supla::ON_PRESS);
P3.addAction(Supla::TOGGLE, K3, Supla::ON_PRESS);
P4.addAction(Supla::TOGGLE, K4, Supla::ON_PRESS);
SuplaDevice.begin(GUID, // Global Unique Identifier
"xxxxxxx", // SUPLA server address
"xxxxxxx", // Email address used to login to Supla Cloud
AUTHKEY); // Authorization key
}
void loop() {
SuplaDevice.iterate();
}
Code: Select all
Tomasz
-
- Posts: 116
- Joined: Mon Oct 28, 2019 8:20 am
Cześć, proszę o podpowiedź.
Zdefiniowałem sobie button i 2 przekaźniki
Chciałbym aby krótkie wciśnięcie włączyło przekaźnik relayLight, a długie przytrzymanie virtualRelay. Przytrzymanie działa, ale wykonuje się też akcja dla krótkiego wciśnięcia. Czy powinienem jeszcze coś ustawić?
Zdefiniowałem sobie button i 2 przekaźniki
Code: Select all
auto buttonLight = new Supla::Control::Button(EX_OUTPUT, PIN_BUTTON_LIGHT);
auto relayLight = new Supla::Control::Relay(EX_OUTPUT, PIN_RELAY_LIGHT, false);
auto modeVirtualRelay = new Supla::Control::VirtualRelay();
buttonLight->setHoldTime(2000);
buttonLight->addAction(Supla::TOGGLE, relayLight, Supla::ON_RELEASE);
buttonLight->addAction(Supla::TOGGLE, modeVirtualRelay, Supla::ON_HOLD);
-
- Posts: 525
- Joined: Wed Oct 26, 2022 7:35 pm
No to jeśli żeby włączyło to spróbuj TURN_ON zamias TOGGLE. I nie wiem czy zamiast ON_RELEASE nie powinno być ON_PRESSlukosław wrote: Wed Dec 20, 2023 9:41 pm Cześć, proszę o podpowiedź.
Zdefiniowałem sobie button i 2 przekaźniki
Chciałbym aby krótkie wciśnięcie włączyło przekaźnik relayLight, a długie przytrzymanie virtualRelay. Przytrzymanie działa, ale wykonuje się też akcja dla krótkiego wciśnięcia. Czy powinienem jeszcze coś ustawić?Code: Select all
auto buttonLight = new Supla::Control::Button(EX_OUTPUT, PIN_BUTTON_LIGHT); auto relayLight = new Supla::Control::Relay(EX_OUTPUT, PIN_RELAY_LIGHT, false); auto modeVirtualRelay = new Supla::Control::VirtualRelay(); buttonLight->setHoldTime(2000); buttonLight->addAction(Supla::TOGGLE, relayLight, Supla::ON_RELEASE); buttonLight->addAction(Supla::TOGGLE, modeVirtualRelay, Supla::ON_HOLD);
-
- Posts: 2264
- Joined: Thu Nov 23, 2017 11:33 pm
- Location: Warszawa
lukosław wrote: Wed Dec 20, 2023 9:41 pmCode: Select all
buttonLight->addAction(Supla::TOGGLE, relayLight, Supla::ON_CLICK_1);
https://www.facebook.com/groups/supladiy/
-
- Posts: 116
- Joined: Mon Oct 28, 2019 8:20 am
Działa pięknie. Dziękuję!lukfud wrote: Wed Dec 20, 2023 10:08 pmlukosław wrote: Wed Dec 20, 2023 9:41 pmCode: Select all
buttonLight->addAction(Supla::TOGGLE, relayLight, Supla::ON_CLICK_1);