Supla Scripts Powiadomienia 2.0

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
User avatar
wojtas567
Posts: 2334
Joined: Sun Apr 03, 2016 7:16 pm
Location: Olsztyn

Post

Tak o ten soft mi chodziło
Pozdrawiam
Wojtek
piomar2
Posts: 369
Joined: Fri Apr 26, 2019 5:32 pm
Location: Bukowice

Post

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
User avatar
wojtas567
Posts: 2334
Joined: Sun Apr 03, 2016 7:16 pm
Location: Olsztyn

Post

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
Posts: 369
Joined: Fri Apr 26, 2019 5:32 pm
Location: Bukowice

Post

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.

Code: Select all


#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
Posts: 28
Joined: Tue Sep 03, 2019 6:05 am
Location: Stradomia Wierzchnia

Post

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.
Posts: 508
Joined: Tue Aug 22, 2017 1:56 pm

Post

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
User avatar
uchnast.michal
Posts: 1334
Joined: Tue Jun 04, 2019 11:37 am
Has thanked: 7 times

Post

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;
SzymaneK
Posts: 28
Joined: Tue Sep 03, 2019 6:05 am
Location: Stradomia Wierzchnia

Post

Gucio2607. wrote: Tue Sep 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.
Posts: 508
Joined: Tue Aug 22, 2017 1:56 pm

Post

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
Posts: 28
Joined: Tue Sep 03, 2019 6:05 am
Location: Stradomia Wierzchnia

Post

Gucio2607. wrote: Tue Sep 03, 2019 11:35 am A jaki masz telefon?
Xiaomi Mi Note 3

Return to “Pomysły i koncepcje”