Zastosowałem takie samo Arduino, Board manager i dalej cisza.
Zrobiłem na esp32 i wszystko działa od strzała.
zzrr dziękuję za pomoc i wsparcie.
Może Krzysztof coś poradzi, bo już nie mam cierpliwości.
Zastosowałem takie samo Arduino, Board manager i dalej cisza.
Szczerze mówiąc to nie, pod przycisk go przerobiłem jutro rano sprawdzę. Mam prośbę mógłbyś sprawdzić mój kod na poprzedniej stronie tego tematu czy u ciebie zadziała?zzrr wrote: Sat Apr 22, 2023 6:33 pm A tak zapytam jeszcze w takim razie... A ten kod mój bez zmieniania czegokolwiek sprawdziłeś najpierw czy idzie?
Cześć. Wiem w czym jest problem. Ale ja go nie potrafię rozwiązać, czy Ty sam też nie wiem. Może @klew.nebraska wrote: Sat Apr 22, 2023 7:06 pm Mam prośbę mógłbyś sprawdzić mój kod na poprzedniej stronie tego tematu czy u ciebie zadziała?
To było już przerabiane że w pętli tez nie pójdzie.nebraska wrote: Sun Apr 23, 2023 3:22 pm Wywaliłem przycisk ustawiłem milisa w pętli co 20s powiadomienie, też nic.
Code: Select all
#include <Arduino.h>
#include <SuplaDevice.h>
#include <supla/network/esp_wifi.h>
#include <supla/control/relay.h>
#include <supla/control/button.h>
#include <supla/control/action_trigger.h>
#include <supla/storage/littlefs_config.h>
#include <supla/network/esp_web_server.h>
#include <supla/network/html/device_info.h>
#include <supla/network/html/protocol_parameters.h>
#include <supla/network/html/status_led_parameters.h>
#include <supla/network/html/wifi_parameters.h>
#include <supla/network/html/custom_text_parameter.h>
//// #include <supla/device/supla_ca_cert.h>
//// #include <supla/events.h>
#include <supla/storage/eeprom.h>
#include <supla/sensor/binary.h>
#include <supla/sensor/virtual_binary.h>
#include <Pushover.h>
Supla::Eeprom eeprom;
Supla::ESPWifi wifi;
Supla::LittleFsConfig configSupla;
Supla::EspWebServer suplaServer; // po zakomentowaniu działa PUSHOVER
Supla::Html::DeviceInfo htmlDeviceInfo(&SuplaDevice);
Supla::Html::WifiParameters htmlWifi;
Supla::Html::ProtocolParameters htmlProto;
Supla::Html::StatusLedParameters htmlStatusLed;
#define RELAY_GPIO 12 // D6
#define BUTTON_CFG_RELAY_GPIO 0 // D3
#define LED 13 // D7
#define BUTT 5 // D1
bool stan_alarmu = false;
char PUSH_USER[200] = {};
char PUSH_API_KEY[200] = {};
const char PARAM1[] = "param1"; // PUSH_API_KEY
const char PARAM2[] = "param2"; // PUSH_USER
// Supla::Control::Relay *r1 = nullptr;
Supla::Sensor::VirtualBinary *r2 = nullptr;
// Supla::Control::ActionTrigger *at1 = nullptr;
// RH_ASK driver(2000, 4, NOT_A_PIN); // ESP8266: do not use pin 11 D2
enum NoweAkcje
{
MOJA_AKCJA_1,
MOJA_AKCJA_2
};
class MojaAkcja : public Supla::ActionHandler
{
public:
MojaAkcja(){};
void handleAction(int event, int action) override
{
if (action == MOJA_AKCJA_1)
{
Pushover po = Pushover(PUSH_API_KEY, PUSH_USER, UNSAFE);
po.setMessage("Testnotification");
//po.setDevice("galaxynote8");
po.setTitle("kuku");
po.setSound("bike");
if (po.send())
{
SUPLA_LOG_DEBUG("Pushover send success!");
}
else
{
SUPLA_LOG_DEBUG("Pushover send failed!");
}
}
if (action == MOJA_AKCJA_2)
{
digitalWrite(LED, LOW);
SUPLA_LOG_DEBUG("MOJA_AKCJA_1_STOP!");
}
}
};
MojaAkcja *custMojaAkcja = new MojaAkcja;
void setup()
{
Serial.begin(9600);
wifi.enableSSL(false);
new Supla::Html::CustomTextParameter(PARAM1, "Pushover API Key", 100);
new Supla::Html::CustomTextParameter(PARAM2, "Pushover USER Key", 100);
// new Supla::Html::CustomTextParameter(PARAM2, "Pushover Sound", 100);
pinMode(LED, OUTPUT);
//Supla::Sensor::VirtualBinary *r2 = new Supla::Sensor::VirtualBinary();
r2 = new Supla::Sensor::VirtualBinary();
auto buttonCfgRelay =
new Supla::Control::Button(BUTTON_CFG_RELAY_GPIO, true, true);
r2->addAction(MOJA_AKCJA_1, custMojaAkcja, Supla::ON_TURN_ON);
r2->addAction(MOJA_AKCJA_2, custMojaAkcja, Supla::ON_TURN_OFF);
buttonCfgRelay->setHoldTime(5000);
buttonCfgRelay->setMulticlickTime(500);
buttonCfgRelay->addAction(Supla::TOGGLE_CONFIG_MODE, SuplaDevice, Supla::ON_HOLD);
buttonCfgRelay->addAction(Supla::SET, r2, Supla::ON_CLICK_1);
buttonCfgRelay->addAction(Supla::CLEAR, r2, Supla::ON_CLICK_2);
SuplaDevice.setName("Pushover Garaż_brama");
SuplaDevice.begin();
if (Supla::Storage::ConfigInstance()->getString(PARAM1, PUSH_API_KEY, 200))
{
SUPLA_LOG_DEBUG(" **** Param[%s]: %s", PARAM1, PUSH_API_KEY);
}
else
{
SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM1);
}
if (Supla::Storage::ConfigInstance()->getString(PARAM2, PUSH_USER, 200))
{
SUPLA_LOG_DEBUG(" **** Param[%s]: %s", PARAM2, PUSH_USER);
}
else
{
SUPLA_LOG_DEBUG(" **** Param[%s] is not set", PARAM2);
}
}
unsigned long czas2;
void loop()
{
SuplaDevice.iterate();
if (millis() - czas2 >= 10000UL)
{
custMojaAkcja->handleAction(0, MOJA_AKCJA_1);
czas2= millis();
}
}
ktoś o tym pisałklew wrote: Sun Apr 23, 2023 5:08 pm Nie przyglądałem się jeszcze szczegółowo tym co pisaliście, ale obsługa przycisków jest realizowana na timerach i tam raczej nie powinno się robić takich operacji, jak nawiązywanie szyfrowanego połączenia z pushover. Kojarzę że ktoś kiedyś pisał o tym, że to nie działa.
Spróbujcie, zamiast robić wysłanie pusha z tej klasy MojeAkcje, wstawić jakąś flagę, którą sprawdzacie w iterate i tam wysyłacie push.