Supla Pushover x4 cd

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
zzrr
Posts: 1864
Joined: Wed Oct 26, 2022 7:35 pm
Has thanked: 76 times
Been thanked: 119 times

Post

W międzyczasie coś z tymi logami tez popróbowałem.
@klew jeśli możesz zerknąć... Dodałem w klasie te komendy do logów i jedną dodałem przy po.send(). Ale podpowiedz bo jakoś nie wiem. Co wpisać żeby wyciągnąć zawartość po.send()???
poniżej kod a jeszcze niżej logi z działania.
@Zibi ... powiedz że wszystko idzie po Twojej myśli, proszę!!! 8-)

Code: Select all

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("API.........", "USER...........", UNSAFE);
            // Pushover po = Pushover(PUSH_API_KEY, PUSH_USER, UNSAFE);
            po.setMessage("Testnotification");
            po.setDevice("galaxynote8");
            po.setTitle("kuku");
            po.setSound("bike");
            po.send(); // should return 1 on success
                        
            WiFiClientSecure Client1;
            if (!Client1.connect("api.pushover.net", 443))
            {
                SUPLA_LOG_DEBUG("api.pushover.net POŁĄCZONY");
            }

        }
        if (action == MOJA_AKCJA_2)
        {
            digitalWrite(LED, LOW);
            SUPLA_LOG_DEBUG("MOJA_AKCJA_1_STOP!");
        }
        // ssid = "";
        // pass = "";
    }
};
MojaAkcja *custMojaAkcja = new MojaAkcja;



Code: Select all

Handle action: 17 0
MOJA_AKCJA_1_START!
api.pushover.net POACZONY
Channel(0) value changed to 1
Send: [53 55 50 4C 41 10 03 00 00 00 67 00 00 00 0E 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ]
Send: [53 55 50 4C 41 ]
Handle action: 18 1
MOJA_AKCJA_1_STOP!
Channel(0) value changed to 0
Send: [53 55 50 4C 41 10 04 00 00 00 67 00 00 00 0E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ]
Send: [53 55 50 4C 41 ]
Handle action: 17 0
MOJA_AKCJA_1_START!
api.pushover.net POACZONY
Channel(0) value changed to 1
Send: [53 55 50 4C 41 10 05 00 00 00 67 00 00 00 0E 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ]
Send: [53 55 50 4C 41 ]
Handle action: 18 1
MOJA_AKCJA_1_STOP!
Channel(0) value changed to 0
Send: [53 55 50 4C 41 10 06 00 00 00 67 00 00 00 0E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ]
Send: [53 55 50 4C 41 ]
Zibi
Posts: 646
Joined: Wed Jul 31, 2019 9:20 am
Location: Białogard

Post

Z tego co sprawdziłem masz złą bilbiotekę zamiast pushover.h zastosuj Esp.Push.h. Biblioteka pushover.h działa do wersji płytek 2.7.4 wszystkich nie sprawdzałem z braku czasu.
Zastosowałem bilbioteke EspPush.h i u mnie wszystko działa. Kod testowy co 10s wysyła powiadomienie zrobiłem testy na wemosie jak narazie wszystko śmiga :)
Daj znać czy działa.

Code: Select all

#include <Arduino.h>
#include <SuplaDevice.h>
#include <supla/control/relay.h>
#include <supla/network/esp_wifi.h>
#include <ESP8266WiFi.h>
#include <EspPush.h>
#include <supla/uptime.h>

#include <supla/storage/eeprom.h>
#define STORAGE_OFFSET 100
Supla::Eeprom eeprom(STORAGE_OFFSET);
 
Supla::Uptime mojeUptime;
//zmienne
 
const char* host = "svrX.supla.org";
const char* ssid= "XXXX";
const char* pass= "XXXXXXXX";
 
unsigned long times;

Supla::ESPWifi wifi(ssid, pass);
EspPush po = EspPush("XXXXXXXXXXXXXXXXXXXXXXXXXXXX","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx"); // Wklejamy Pierwszy API TOKEN i Drugi USER KEY
 
//globalne uruchomienie kabnalow SUPLA
auto r1 = new Supla::Control::Relay(12, true); // Jesli chcemy zmienic stan przekażnika załączenie. Stan Niski- false, Stan Wysoki true.
 
 
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] = {                                                                         };
 
// Replace the following AUTHKEY with value that you can retrieve from: https://www.supla.org/arduino/get-authkey
  char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {                                                                     };
 
 
  SuplaDevice.begin(GUID,  // Global Unique Identifier 
                    host,  // SUPLA server address
                    "@gmail.com",   // Email address used to login to Supla Cloud
                    AUTHKEY);                        // Authorization key
 
}
 
void loop() {
SuplaDevice.iterate(); 


  if(millis()-times>= 10000){
     times = millis();
     po.setDevice("Device");     
     po.setMessage("Powiadomienie"); 
     po.setSound("bike");
     po.send();
  }
}
zzrr
Posts: 1864
Joined: Wed Oct 26, 2022 7:35 pm
Has thanked: 76 times
Been thanked: 119 times

Post

Zibi ja sprawdzałem również na tej bibliotece którą dałeś i nie działało. Powiedz mi... czy Ty ten kod sprawdzałeś też na tej bibliotece co mam ja czy od razu na tej swojej? One są praktycznie takie same tylko ta u mnie jest nowsza chyba bo dodany jest trzeci parametr UNSAFE. Ale zaraz podmienię i na wszelki wypadek sprawdzę jeszcze raz.
Zibi
Posts: 646
Joined: Wed Jul 31, 2019 9:20 am
Location: Białogard

Post

Na swojej.
zzrr
Posts: 1864
Joined: Wed Oct 26, 2022 7:35 pm
Has thanked: 76 times
Been thanked: 119 times

Post

No ok. sprawdziłem i nie działa :( . Tak myślałem bo już próbowałem wcześniej. Tu Zibi jest problem z SuplaDevice.begin();
jak w pętli robiłem tak jak pokazałeś z zakomentowanym SuplaDevice.begin() to mi tez działa i na tej bibliotece co mam. Tu się zaczyna problem jak wszystkie komponenty supli są włączone. :(
zzrr
Posts: 1864
Joined: Wed Oct 26, 2022 7:35 pm
Has thanked: 76 times
Been thanked: 119 times

Post

Wiesz co @Zibi... Już zaczynam się już w kółko kręcić z tym. W każdym razie w takiej konfiguracji co podesłałeś to działa na jednej bibliotece i drugiej. Przynajmniej u mnie. Należą Ci się wyniki moich eksperymentów. Ja mam to napisane z użyciem WEBconfiga. Mam to tak zrobione że na WEBconfigu wprowadzasz sobie API i User KEY no i ssid i hasło do WIFI, żeby można było powiedzmy zmienić w każdej chwili API_TOKEN czy rodzaj dźwięku. I jest tak... jak zakomentuję wszystkie #include i deklaracje różnych klas związanych z HTML czyli WEBconfigiem a parametry WiFi i Pushover podam w kodzie to działa SUPLA razem z pushover. Jeśli uruchomię WEBconfig tak żeby te parametry do WiFi i Pushover wpisać na stronie wtedy nie działa. Może to kwestia ramu a może bibliotek. Może ktoś kto zna od "kuchni" SUPLE mógłby spróbować pomóc.
Last edited by zzrr on Tue Apr 18, 2023 10:47 pm, edited 1 time in total.
zzrr
Posts: 1864
Joined: Wed Oct 26, 2022 7:35 pm
Has thanked: 76 times
Been thanked: 119 times

Post

Znalazłem gdzie leży problem, lecz nie potrafię go rozwiązać.
dodanie obiektu klasy " Supla::EspWebServer suplaServer; " do kodu programu powoduje że wiadomości pushover przestają być wysyłane.
Czy ktoś wie dlaczego tak się dzieje?
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 136 times
Been thanked: 137 times

Post

Ja niestety się pogubiłem w tym co robisz i co piszesz. Wklejasz jeden kod, a potem piszesz o obiektach, których w tym kodzie nie ma.
Ciężko jest cokolwiek pomóc jak cały czas zmienia się to o czym mówimy.

Nie używałem WebConfig, ale patrząc na szybko to może się gryźć z Suplą. Jak pisałem wcześniej, Supla sama zarządza połączeniem Wi-Fi przez klasę Supla::EspWifi. Jeśli coś innego będzie grzebać w Wi-Fi, to efekty mogą być różne.

Supla::EspWebServer raczej nie powinna mieć wpływu na działanie programu. Ale z drugiej strony, używanie Supla::EspWebServer bez instancji klasy Supla::LittleFsConfig jest bez sensu, bo to jedyna klasa, która obecnie obsługuje przechowywanie configa (i danych ustawianych przez EspWebServer). Z tym że ona używa LittleFs, a nie Spiffs, które jest używane przez WebConfig.

Mam wrażenie, że próbujesz sklejać jakieś przykłady i to generuje dużo zamieszania.
Może łatwiej będzie, gdy napiszesz co ma robić ten program i wtedy krok po kroku dojdziemy do działającego rozwiązania.
Najlepsze suple dla Twojego domu :mrgreen:
zzrr
Posts: 1864
Joined: Wed Oct 26, 2022 7:35 pm
Has thanked: 76 times
Been thanked: 119 times

Post

@klew... Ja nic nie sklejam, a raczej porozklejałem na potrzeby skupienia się tylko na problemie dotyczącym pushover. Między innymi dlatego że prosiłeś o logi i później już szły kawałki.
klew wrote: Wed Apr 19, 2023 7:30 am Wklejasz jeden kod, a potem piszesz o obiektach, których w tym kodzie nie ma.
Na pewno nie ma ???? Tu jest pierwszy post w którym poprosiłem o pomoc
viewtopic.php?p=149782#p149782
I jest wszystko.
klew wrote: Wed Apr 19, 2023 7:30 am Ale z drugiej strony, używanie Supla::EspWebServer bez instancji klasy Supla::LittleFsConfig jest bez sensu, bo to jedyna klasa, która obecnie obsługuje przechowywanie configa (i danych ustawianych przez EspWebServer).
Te klasy też są w kodzie. Bo to właśnie okazało się że problem pojawia się w momencie kiedy ten obiekt jest dodany "Supla::EspWebServer suplaServer;" a u mnie być musi jeśli program miałby robić to co zaplanowałem.
@klew... spoko. Moim zdaniem przeskoczyłeś pierwszy mój post dotyczący tego problemu a później faktycznie już był "MiszMasz . Nie masz czasu. Rozumiem. Podejrzewam że jak byś chciał pomóc każdemu musiałbyś nie spać.
User avatar
klew
Posts: 13911
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 136 times
Been thanked: 137 times

Post

zzrr wrote: Wed Apr 19, 2023 8:15 am Na pewno nie ma ???? Tu jest pierwszy post w którym poprosiłem o pomoc
viewtopic.php?p=149782#p149782
I jest wszystko.
Nie widzę WEBConfigu :P
Chyba, że to był skrót myślowy do Suplower "web configu".
Najlepsze suple dla Twojego domu :mrgreen:

Return to “Pomysły i koncepcje”