Poniżej jest kod który przysłał klew i on działa oczywiście. Ja wcześniej też wysyłałem mniej więcej to samo tylko jako "organ do testów" dla klewa, więc jeśli wziąłeś ten poniżej czyli ten który uporządkowany odesłał klew to sprawy z "client1" o której napisałem nie ma, bo klew wyrzucił to co było zbędne min. te zakomentowane linie o których napisałem. Wtedy pozostaje Ci faktycznie poczekać aż klew coś poradzi. Bo teoretycznie na bibliotece Pushover tylko i wyłącznie z wprowadzoną tą komendą zmniejszająca bufory powinno działać. Sprawa dziwna bo u mnie już działa wszystko z wykorzystaniem EspWebServer i Pushover równolegle z SUPLĄ i co tam sobie jeszcze można wymyślić.
To co napisałem wcześniej o 'client1" dotyczy ewentualnego przypadku jeśli korzystasz z tego kodu który ja podsyłałem do klewa jako "organ" do testu i masz odkomentowaną linię która potencjalnie mogła by generować komunikat błędu wysłania pushover.
Więc podsumowując.
Ten kod poniżej plus wpisanie jednej linii w bibliotece pushover czyli "client->setBufferSizes(1024, 512);" i powinno działać. Lub podmień bibliotekę na tą co wysłałem a tam już ta komenda co podał klew jest wpisana.
I jeszcze taka drobna wzmianka jak już kod będzie Ci działał , kibicuję żeby się udało i u Ciebie. W kodzie jest taka linia "po.setDevice("galaxynote8");" Pewnie zauważyłeś, ale jeśli nie to jest to linia która wysyła wiadomość na konkretny zarejestrowany w pushover telefon. Nie wiem czym skutkuje wpisanie błędnego bo nie sprawdzałem , ale zwróć na to uwagę. Ja mam u siebie zakomentowaną tą linie teraz i wiadomości przychodzą.
klew wrote: Wed Apr 19, 2023 8:13 pm Poniżej lekko wyczyszczony kod z niektórych "zbędnych" zmiennych globalnych, które trochę pamięci mogły zjadać.
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 <Pushover.h> Supla::Eeprom eeprom; Supla::ESPWifi wifi; Supla::LittleFsConfig configSupla; Supla::EspWebServer suplaServer; 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 { // SUPLA_LOG_DEBUG("Handle action: %d %d", event, action); if (action == MOJA_AKCJA_1) { // SUPLA_LOG_DEBUG("MOJA_AKCJA_1_START!"); digitalWrite(LED, HIGH); 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!"); } Serial.println(PUSH_API_KEY); Serial.println(PUSH_USER); } if (action == MOJA_AKCJA_2) { digitalWrite(LED, LOW); SUPLA_LOG_DEBUG("MOJA_AKCJA_1_STOP!"); } } }; 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::Binary *r2 = new Supla::Sensor::Binary(BUTT, true, true); auto buttonCfgRelay = new Supla::Control::Button(BUTTON_CFG_RELAY_GPIO, false, true); MojaAkcja *custMojaAkcja = new MojaAkcja; 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); ////SuplaDevice.setSuplaCACert(suplaCACert); ////SuplaDevice.setSupla3rdPartyCACert(supla3rdCACert); SuplaDevice.setName("Pushover Garaż_woda"); 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); } } void loop() { SuplaDevice.iterate(); }