Supla Scripts Powiadomienia 2.0

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
Awatar użytkownika
wojtas567
Posty: 2209
Rejestracja: ndz kwie 03, 2016 7:16 pm
Lokalizacja: Olsztyn

Tak o ten soft mi chodziło
Pozdrawiam
Wojtek
piomar2
Posty: 369
Rejestracja: pt kwie 26, 2019 5:32 pm
Lokalizacja: Bukowice

Dzięki wielkie za odpowiedź. W moim przypadku to chęć poznania innego podejścia do tematu pushover. Moje rozwiązanie sprawdza się też znakomicie (supla - mega - wemos mini - pushover).

Pozdrawiam
Awatar użytkownika
wojtas567
Posty: 2209
Rejestracja: ndz kwie 03, 2016 7:16 pm
Lokalizacja: Olsztyn

Też testowałem inne rozwiązania i nawet były lepsze ale z supla nie chciały się zsynchronizować.
A takim rozwiązaniem wysyłam dane do domoticza i do pushover i wszystko ładnie śmiga. Moduł z bme od ostatniego wgrania aktualizacji softu śmiga już 33 dzień bez restartu :D
Wieczorem porównam z najnowszą wersją czy coś dodałem jeszcze w tym kawałku kodu.
Pozdrawiam
Wojtek
piomar2
Posty: 369
Rejestracja: pt kwie 26, 2019 5:32 pm
Lokalizacja: Bukowice

Uzupełniając sprawę dodaję jeszcze raz kod. Tym razem całościowy, jakiego używam. W supli mam arduino mega i z jego wyprowadzeń poprzez transoptory podaję sygnały wyzwalające na 3 wejścia wemosa D1 mini. Ten z kolei (z kodem poniżej) uruchamia pushovera.
Układ działa pewnie od około czerwca (zero problemów). 4 wejście uruchamiane jest kontaktronem przy drzwiach wejściowych do domu. Powiadamianie działa szybko i niezawodnie. To tyle.
Dzięki Wojtku za wymianę doświadczeń. Opisałem sprawę chyba dość przystępnie (może ktoś mniej "kumaty" od Ciebie) będzie zainteresowany. Czytałem, że ktoś szukał rozwiązania powiadomienia (otwarta furtka, brama do garażu itp.) to może sobie któreś z tych rozwiązań wykorzysta.

Pozdrawiam.

Kod: Zaznacz cały


#include <ESP8266WiFi.h>
WiFiClient client;

// Setup WiFi
const char* ssid = "xxxxx";
const char* password = "xxxxx"; 


// Pushover settings
char pushoversite[] = "api.pushover.net";
char apitoken[] = "xxxxxxxxxxxxxxxxxxx";
char userkey [] = "xxxxxxxxxxxxxxxxxxx";
char sound [] = "";
int length;
byte dl=0;
byte a=0;
byte b=0;
byte c=0;
byte d=0;

 /* pushover - Pushover (domyślnie)   8
bike - Rower                    4
bugle - TrÄ…bka                5  
cashregister - Kasa             12 
classical - Klasyczny           9   
cosmic - Kosmiczny              6
falling - Upada                 7
gamelan - Gamelan               7
incoming - Przychodzące         8    
intermission - Przerwa          12
magic - Magia                   5
mechanical - Mechaniczne        10  
pianobar - Piano Bar            8
siren - Syrena                  5
spacealarm - Alarm kosmiczny    10   
tugboat - Holownik              7
alien - Alien Alarm             5
climb - Wspinaczka              5
persistent                     10
echo - Pushover Echo            4
updown - Up Down                6
none - Brak (cichy)             4

*/

//--------------void setup()--------------------
void setup() {
   pinMode(2, OUTPUT);
   pinMode(2,HIGH);
   Serial.begin(115200);
  delay(10);
  Serial.print("Connecting to ");
  WiFi.begin(ssid, password);    
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print("......");
  }
  
  pinMode(1, INPUT_PULLUP);
  pinMode(3, INPUT_PULLUP);
  pinMode(4, INPUT_PULLUP);
  pinMode(5, INPUT_PULLUP);
  pinMode(2,LOW);
}

//------------void loop----------------
void loop() {
  
  //-----------------------------------
  if (digitalRead(1)==HIGH){
    a=0;
  }
  if (digitalRead(1)==LOW && a==0){
    pinMode(2,HIGH);
    dl=5;
    a=1;
    pushover("DRZWI !!!",1,"siren");
    pinMode(2,LOW);
    Serial.println("siren");
    }
  //-----------------------------------
  if (digitalRead(3)==HIGH){
    b=0;
  }
  if (digitalRead(3)==LOW && b==0){
    pinMode(2,HIGH);
    dl=7;
    b=1;
    pushover("tugboat",1,"tugboat"); 
    pinMode(2,LOW);
    Serial.println("tugboat");
    }
  //-----------------------------------   
if (digitalRead(4)==HIGH){
    c=0;
  }
  if (digitalRead(4)==LOW && c==0){
    pinMode(2,HIGH);
    dl=4;
    c=1;
    pushover("DZWONEK !!!",1,"bike"); 
    pinMode(2,LOW);
    Serial.println("bike");
    }
  //-----------------------------------
  if (digitalRead(5)==HIGH){
    d=0;
  }
   if (digitalRead(5)==LOW && d==0){
    pinMode(2,HIGH);
    dl=10;
    d=1;
    pushover("POŻAR !!!",1,"persistent"); 
    pinMode(2,LOW);
    Serial.println("bike");
    }
  //-----------------------------------
  
} 
 
// ---------Pushover settings------------------------------

  byte pushover(char *pushovermessage, int priority, char sound []) 
  {
     
 String message = pushovermessage;
 
//---- length = dł sound + 99 + message.length();---------
       length = dl + 99 + message.length();
 if(client.connect(pushoversite,80))
 {
   client.println("POST /1/messages.json HTTP/1.1");
   client.println("Host: api.pushover.net");
   client.println("Connection: close\r\nContent-Type: application/x-www-form-urlencoded");
   client.print("Content-Length: ");
   client.print(length);
   client.println("\r\n");
   client.print("token=");
   client.print(apitoken);
   client.print("&user=");
   client.print(userkey);
   client.print("&message=");
   client.print(message);
   client.print("&priority=");
   client.print(priority);
   client.print("&sound=");
   client.print(sound);
   
   while(client.connected())  
   {
     while(client.available())
     {
       char ch = client.read();
       Serial.write(ch);
     }
   }
 }  
}
 


SzymaneK
Posty: 28
Rejestracja: wt wrz 03, 2019 6:05 am
Lokalizacja: Stradomia Wierzchnia

Witam

Mam problem z działaniem powiadomień, teoretycznie wszystko działa niestety tyko jeden raz po uruchomieniu SUPLA Notifications. Przesyła jedno powiadomienie po czym "cisza" dopiero jak ręcznie wyłączę i włączę "START" STOP" to powiadomienie się pojawi. Tylko znowu tylko jedno :/.
Miał może ktoś podobny problem?

Pozdrawiam.
Gucio2607.
Posty: 508
Rejestracja: wt sie 22, 2017 1:56 pm

Masz wyłączoną optymalizację baterii dla aplikacji automate?
Zainstalowane:
11x sonoff basic, 1x sonoff gate, 1x Yunshan, 2x H801, 7x sonoff touch(1,2,3 gang), 1x sonoff 4ch PRO
Awatar użytkownika
uchnast.michal
Posty: 1073
Rejestracja: wt cze 04, 2019 11:37 am

Szkoda, że powiadomienia nie można zintegrować z pushover, który uważam za dużo lepszą alternatywę.
- automate ma duże opóźnienia oraz strasznie zżera baterię (na przykładzie mojego S8);
- wystarczająca ilość darmowych powiadomień w pushover;
- możliwość umieszczania url w komunikacie, który może posłużyć do zmiany stanu urządzenia;
e-talking............
Byłem tam - Supla Offline Party 2023
SzymaneK
Posty: 28
Rejestracja: wt wrz 03, 2019 6:05 am
Lokalizacja: Stradomia Wierzchnia

Gucio2607. pisze: wt wrz 03, 2019 10:22 am Masz wyłączoną optymalizację baterii dla aplikacji automate?
Tak tutaj wszystko jest ok. Optymalizacja wyłączona.
Co więcej od strony webowej wygląda na to, że skrypt się wykonuje... :/
Więc wychodzi na to że coś w telefonie jest spaprane, pewnie znając mnie coś namieszałem....
Gucio2607.
Posty: 508
Rejestracja: wt sie 22, 2017 1:56 pm

A jaki masz telefon?
Zainstalowane:
11x sonoff basic, 1x sonoff gate, 1x Yunshan, 2x H801, 7x sonoff touch(1,2,3 gang), 1x sonoff 4ch PRO
SzymaneK
Posty: 28
Rejestracja: wt wrz 03, 2019 6:05 am
Lokalizacja: Stradomia Wierzchnia

Gucio2607. pisze: wt wrz 03, 2019 11:35 am A jaki masz telefon?
Xiaomi Mi Note 3
ODPOWIEDZ

Wróć do „Pomysły i koncepcje”