Strona 12 z 15
Re: Supla Pushover x4 cd
: czw kwie 30, 2020 9:40 pm
autor: klew
Xoggo pisze: ↑czw kwie 30, 2020 9:12 pm
klew pisze: ↑czw kwie 30, 2020 8:47 pm
wifi.enableSSL(false);
Nie pomaga, ta sama sytuacja, powiadomienia działają ale nie widać urządzenia.
To może wysyłanie PO w każdej iteracji zagładza Suplowe "iterate"? Aktualnie, gdy te GPIO są na "LOW" to w każdej iteracji tam wejdzie i wyśle powiadomienie.
Dorzuć sobie takie coś przed setup():
Kod: Zaznacz cały
enum MyAction { SEND_PO_1, SEND_PO_2 };
class MyNotif : public Supla::Triggerable {
MyNotif(){};
void trigger(int event, int action) {
if (action == SEND_PO_1) {
Serial.println("SEND_PO_1");
}
if (action == SEND_PO_2) {
Serial.println("SEND_PO_2");
}
}
};
W miejsca tych "Serial.println" wstaw kod z "ifów" wysyłających powiadomienia.
Potem dodaj w setupie:
Kod: Zaznacz cały
new MyNotif *notif = new MyNotif;
buttonSet->willTrigger(*notif, Supla::Control::Button::ON_PRESS, SEND_PO_1);
buttonClear->willTrigger(*notif, Supla::Control::Button::ON_PRESS, SEND_PO_2);
Następnie wywal z "iterate" wszystko poza Supla iterate

Re: Supla Pushover x4 cd
: czw kwie 30, 2020 9:54 pm
autor: Xoggo
klew pisze: ↑czw kwie 30, 2020 9:40 pm
Następnie wywal z "iterate" wszystko poza Supla iterate
Kod: Zaznacz cały
D:\Pushover\test\test.ino: In function 'void setup()':
test:61:14: error: expected ';' before 'notif'
new MyNotif *notif = new MyNotif;
^
test:62:25: error: 'notif' was not declared in this scope
buttonSet->willTrigger(*notif, Supla::Control::Button::ON_PRESS, SEND_PO_1);
Na tym etapie doszedłem do wniosku, że trzeba odwiedzić GitHuba
A dalej wypluło to:
Kod: Zaznacz cały
D:\Pushover\test\test.ino: In function 'void setup()':
test:51:41: error: 'ON_PRESS' is not a member of 'Supla::Control::Button'
buttonSet->willTrigger(*sensor, Supla::Control::Button::ON_PRESS, Supla::Sensor::VirtualBinary::SET); // Aktywowanie sensora poczty
^
test:51:75: error: 'SET' is not a member of 'Supla::Sensor::VirtualBinary'
buttonSet->willTrigger(*sensor, Supla::Control::Button::ON_PRESS, Supla::Sensor::VirtualBinary::SET); // Aktywowanie sensora poczty
^
test:53:43: error: 'ON_PRESS' is not a member of 'Supla::Control::Button'
buttonClear->willTrigger(*sensor, Supla::Control::Button::ON_PRESS, Supla::Sensor::VirtualBinary::CLEAR); // Dezaktywowanie sensora poczty
^
test:53:77: error: 'CLEAR' is not a member of 'Supla::Sensor::VirtualBinary'
buttonClear->willTrigger(*sensor, Supla::Control::Button::ON_PRESS, Supla::Sensor::VirtualBinary::CLEAR); // Dezaktywowanie sensora poczty
^
test:60:14: error: expected ';' before 'notif'
new MyNotif *notif = new MyNotif;
^
test:61:25: error: 'notif' was not declared in this scope
buttonSet->willTrigger(*notif, Supla::Control::Button::ON_PRESS, SEND_PO_1);
^
test:61:32: error: 'ON_PRESS' is not a member of 'Supla::Control::Button'
buttonSet->willTrigger(*notif, Supla::Control::Button::ON_PRESS, SEND_PO_1);
^
test:62:34: error: 'ON_PRESS' is not a member of 'Supla::Control::Button'
buttonClear->willTrigger(*notif, Supla::Control::Button::ON_PRESS, SEND_PO_2);
^
Idąc dalej, w Twojej nowej bibliotece (w
button.h) dodałem:
Kod: Zaznacz cały
enum Event {
ON_PRESS, // Triggered on transition to valueOnPress()
ON_RELEASE, // Triggered on transition from valueOnPress()
ON_CHANGE // Triggered on all transitions
};
Re: Supla Pushover x4 cd
: czw kwie 30, 2020 10:19 pm
autor: klew
Xoggo pisze: ↑czw kwie 30, 2020 9:54 pm
Te "nowe" błędy wynikają z tego, że skróciłem te nazwy do zdarzeń, zostaw tylko "Supla::ZDARZENIE", np "Supla::ON_PRESS".
A ten pierwszy błąd popraw tak:
Re: Supla Pushover x4 cd
: czw kwie 30, 2020 10:25 pm
autor: Xoggo
Kod: Zaznacz cały
D:\Pushover\test\test.ino: In function 'void setup()':
test:48:58: error: 'SET' is not a member of 'Supla::Sensor::VirtualBinary'
buttonSet->willTrigger(*sensor, Supla::ON_PRESS, Supla::Sensor::VirtualBinary::SET); // Aktywowanie sensora poczty
^
test:50:60: error: 'CLEAR' is not a member of 'Supla::Sensor::VirtualBinary'
buttonClear->willTrigger(*sensor, Supla::ON_PRESS, Supla::Sensor::VirtualBinary::CLEAR); // Dezaktywowanie sensora poczty
^
test:16:3: error: 'MyNotif::MyNotif()' is private
MyNotif(){};
^
test:51:26: error: within this context
MyNotif *notif = new MyNotif;
^
Jeszcze pluje. Zaraz pododaje również do biblioteki SET i CLEAR. Przynajmniej tego błędu się pozbędę.
Masz jakiś pomysł na
MyNotif()' is private?
Re: Supla Pushover x4 cd
: czw kwie 30, 2020 10:29 pm
autor: Xoggo
Ok, drobne uaktualnienie
virtual_binary.h pomogło. Zostało tylko to:
Kod: Zaznacz cały
test:16:3: error: 'MyNotif::MyNotif()' is private
MyNotif(){};
^
test:51:26: error: within this context
MyNotif *notif = new MyNotif;
^
Re: Supla Pushover x4 cd
: czw kwie 30, 2020 10:30 pm
autor: klew
Xoggo pisze: ↑czw kwie 30, 2020 10:25 pm
Jeszcze pluje. Zaraz pododaje również do biblioteki SET i CLEAR. Przynajmniej tego błędu się pozbędę.
Masz jakiś pomysł na
MyNotif()' is private?
Chyba muszę zacząć kompilować kod, zanim go wrzucę na forum

.
Dodaj "public:" przed konstruktorem MyNotif w definicji klasy.
To SET i CLEAR potraktuj podobnie jak ON_PRESS, czyli "Supla::SET" itd
Re: Supla Pushover x4 cd
: czw kwie 30, 2020 10:36 pm
autor: Xoggo
klew pisze: ↑czw kwie 30, 2020 10:30 pm
Chyba muszę zacząć kompilować kod, zanim go wrzucę na forum

.
Nie no, to i tak ci idzie dobrze podpowiadając "na czuja"
Ok kompilacja poszła bez błędu.
Zobaczymy jak fizycznie Wemos zareaguje.
Re: Supla Pushover x4 cd
: czw kwie 30, 2020 10:41 pm
autor: Xoggo
@klew,
a więc jest już sukces, wprawdzie połowiczny ale zawsze.
Powiadomienia działają, urządzenie jest w końcu widoczne, ale stan sensora się nie zmienia.

Re: Supla Pushover x4 cd
: czw kwie 30, 2020 11:36 pm
autor: klew
Xoggo pisze: ↑czw kwie 30, 2020 10:41 pm
@klew,
a więc jest już sukces, wprawdzie połowiczny ale zawsze.
Powiadomienia działają, urządzenie jest w końcu widoczne, ale stan sensora się nie zmienia.
Wyślij mi na priv albo tutaj cały kod
Re: Supla Pushover x4 cd
: pt maja 01, 2020 7:48 am
autor: Xoggo
klew pisze: ↑czw kwie 30, 2020 11:36 pm
Wyślij mi na priv albo tutaj cały kod
Kod: Zaznacz cały
#include <SuplaDevice.h>
#include <supla/network/esp_wifi.h>
Supla::ESPWifi wifi("SSID", "xxxx");
#include "EspPush.h"
byte a1=0;
#include <supla/sensor/virtual_binary.h>
#include <supla/control/button.h>
// PUSHOVER
enum MyAction { SEND_PO_1, SEND_PO_2 };
class MyNotif : public Supla::Triggerable {
public: MyNotif(){};
void trigger(int event, int action) {
if (action == SEND_PO_1) {
if (digitalRead(5)==LOW) {
a1=0;
EspPush po = EspPush("xxxx","yyyy");
po.setMessage("Powiadomienie poczta 1");
po.setSound("bike");
po.send();
a1=1;}
}
if (action == SEND_PO_2) {
if (digitalRead(4)==LOW) {
a1=0;
EspPush po = EspPush("xxxx","yyyy");
po.setMessage("Powiadomienie poczta 2");
po.setSound("bike");
po.send();
a1=1;}
}
}
};
void setup() {
wifi.enableSSL(false);
Serial.begin(115200);
char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {1111};
char GUID[SUPLA_GUID_SIZE] = {2222};
// SKRZYNKA NA LISTY
Supla::Sensor::VirtualBinary *sensor = new Supla::Sensor::VirtualBinary;
Supla::Control::Button *buttonSet = new Supla::Control::Button(5, true, true);
buttonSet->willTrigger(*sensor, Supla::ON_PRESS, Supla::SET); // Aktywowanie sensora poczty
Supla::Control::Button *buttonClear = new Supla::Control::Button(4, true, true); /
buttonClear->willTrigger(*sensor, Supla::ON_PRESS, Supla::CLEAR); // Dezaktywowanie sensora poczty
MyNotif *notif = new MyNotif;
buttonSet->willTrigger(*notif, Supla::ON_PRESS, SEND_PO_1);
buttonClear->willTrigger(*notif, Supla::ON_PRESS, SEND_PO_2);
SuplaDevice.setName("PUSHOVER poczta");
WiFi.softAPdisconnect(true);
SuplaDevice.begin(GUID, "svr..", "....gmail.com", AUTHKEY);
// USTAWIENIA PUSHOVER
while (WiFi.status() != WL_CONNECTED) delay(50);{
EspPush po = EspPush("xxxx","yyyy");
po.setDevice("iphone7");
po.setMessage("Urządzenie podłącznone do WiFi ");
po.setSound("bike");
po.send();}
}
void loop() {
SuplaDevice.iterate();
}
Wyłączenie SSL pomogło. Stan sensora się zmienia i wysyłane są powiadomienia.
