Supla Scripts Powiadomienia 2.0

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
Andreas112
Posty: 22
Rejestracja: śr sty 23, 2019 1:25 pm
Lokalizacja: Grays

Siemanko !!
Chwilkę mnine nie było w temacie powiadomień i zauważyłem że od kilku tygodni po akcji powiadomienie wypowiadane w automate występuje NIE po akcji a o różnych porach dnia lub nocy. Sprawdziłem i zresetowałem automate kilkukrotnie, ale nadal sytuacja się powtarza. Po wykonaniu zamknięcia np:Rolety , powiadomienie czasem pojawia się natychmiast innym razem za kilka godzin. Jakieś zmiany nastąpiły??
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Brak zmian. Sprawdź czy nie masz włączonego oszczędzania baterii dla automate. Te powiadomienia zawsze miały nieregularne opóźnienia.
Andreas112
Posty: 22
Rejestracja: śr sty 23, 2019 1:25 pm
Lokalizacja: Grays

Dzięki za szybką odpowiedż, zmieniłem już ustawienia i będę obserwował.
Awatar użytkownika
uchnast.michal
Posty: 1073
Rejestracja: wt cze 04, 2019 11:37 am

Dzisiaj na nowo usiadłem do powiadomień i zauważyłem, że stany są "aktualizowane" w supla.fracz.com bardzo dużym opóźnieniem. Brama jest otwarta a pokazuje, że zamknięta. Po kilkunastu minutach informacja się aktualizuje. Ma ktoś tak jak ja?
Po kliknięciu w ? w dashboard aktualizuje się ikona.
e-talking............
Byłem tam - Supla Offline Party 2023
piomar2
Posty: 369
Rejestracja: pt kwie 26, 2019 5:32 pm
Lokalizacja: Bukowice

wojtas567 pisze: sob lut 16, 2019 8:23 pm Możesz spróbować dodać kod z przykładów jakie są pod arduino i po testować.
Jutro postaram się złożyć w całość kawałek kodu do udostępnienia który działa i nie zrywa połączenia z suplą.
Witam!

Tak z ciekawości pytam, czy udało się poskładać suplę z pushoverem aby nie zrywało połączenia? Ja używam pushover na osobnym wemosie i działa ok. Jak próbuję poskładać z suplą to na chwilę traci łączność (za małą chwilę łączność wraca). To takie niedopracowane...
Może coś poradzicie.

pozdrawiam

Kod: Zaznacz cały


#include <srpc.h>
#include <log.h>
#include <eh.h>
#include <proto.h>
#include <IEEE754tools.h>
// We define our own ethernet layer
#define SUPLADEVICE_CPP
#include <SuplaDevice.h>
#include <lck.h>

#include <WiFiClient.h>
#include <ESP8266WiFiType.h>
#include <ESP8266WiFi.h>
#include <ESP8266WiFiScan.h>
#include <ESP8266WiFiMulti.h>
#include <WiFiServer.h>
#include <ESP8266WiFiGeneric.h>
#include <WiFiClientSecure.h>
#include <ESP8266WiFiAP.h>
#include <ESP8266WiFiSTA.h>
#include <WiFiUdp.h>

WiFiClient client;
// Setup WiFi
const char* ssid = "xxxxxxxx";
const char* password = "xxxxxxx"; 

// Pushover settings
char pushoversite[] = "api.pushover.net";
char apitoken[] = "xxxxxxxxxxxxxxxx";
char userkey [] = "xxxxxxxxxxxxxxxx";
char sound [] = "";//dł‚ sound + 99
int length;
byte dl=0;
byte a=0;


 /* pushover - Pushover (domyślnie)   8
bike - Rower                    4
bugle - Trąka                   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 - Trwałe           10
echo - Pushover Echo           4
updown - Up Down               6
none - Brak (cichy)             4

*/

//--------------void setup()--------------------
void setup() {
 

 // Replace the falowing GUID
  char GUID[SUPLA_GUID_SIZE] = {0xDA,0x79,0xD4,0x83,0x77,0xF8,0x97,0xC7,0x54,0x98,0x78,0x89,0xFF,0x70,0x0F,0x75};
  // with GUID that you can retrieve from https://www.supla.org/arduino/get-guid

  // Ethernet MAC address
  uint8_t mac[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

 pinMode(4, INPUT_PULLUP);
 
   // CHANNEL0 - RELAY
 SuplaDevice.addRelay(4, HIGH);  // HIGH == LOW, and LOW == HIGH 


 SuplaDevice.setName("Pushover");
  SuplaDevice.begin(GUID,              // Global Unique Identifier 
                    mac,               // Ethernet MAC address
                    "xxxx",  // SUPLA server address
                    xxxx,                 // Location ID 
                    "xxxx");               // Location Password

}

//------------void loop----------------
void loop() {
  SuplaDevice.iterate();
  
  if (digitalRead(4)==HIGH){
    a=0;
  }
  if (digitalRead(4)==LOW && a==0){
    dl=5;
    a=1;
    pushover("DRZWI !!!",1,"siren");
      }
 
} 
 // Supla.org ethernet layer
    int supla_arduino_tcp_read(void *buf, int count) {
        _supla_int_t size = client.available();
       
        if ( size > 0 ) {
            if ( size > count ) size = count;
            return client.read((uint8_t *)buf, size);
        };
    
        return -1;
    };
    
    int supla_arduino_tcp_write(void *buf, int count) {
        return client.write((const uint8_t *)buf, count);
    };
    
    bool supla_arduino_svr_connect(const char *server, int port) {
          return client.connect(server, 2015);
    }
    
    bool supla_arduino_svr_connected(void) {
          return client.connected();
    }
    
    void supla_arduino_svr_disconnect(void) {
         client.stop();
    }
    
    void supla_arduino_eth_setup(uint8_t mac[6], IPAddress *ip) {

        WiFi.begin(ssid, password);

        while (WiFi.status() != WL_CONNECTED) {
            delay(500);
         }
    }

SuplaDeviceCallbacks supla_arduino_get_callbacks(void) {
          SuplaDeviceCallbacks cb;
          
          cb.tcp_read = &supla_arduino_tcp_read;
          cb.tcp_write = &supla_arduino_tcp_write;
          cb.eth_setup = &supla_arduino_eth_setup;
          cb.svr_connected = &supla_arduino_svr_connected;
          cb.svr_connect = &supla_arduino_svr_connect;
          cb.svr_disconnect = &supla_arduino_svr_disconnect;
          cb.get_temperature = NULL;
          cb.get_temperature_and_humidity = NULL;
          cb.get_rgbw_value = NULL;
          cb.set_rgbw_value = NULL;
          
          return cb;
}
// ---------Pushover settings------------------------------

  byte pushover(char *pushovermessage, int priority, char sound []) 
  {
  String message = pushovermessage;
 
       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);
     }
   }
 }  
}
 

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

Tak z ciekawości pytam, czy udało się poskładać suplę z pushoverem aby nie zrywało połączenia?
Działa rewelacyjnie, jestem zadowolony.
Pozdrawiam
Wojtek
piomar2
Posty: 369
Rejestracja: pt kwie 26, 2019 5:32 pm
Lokalizacja: Bukowice

wojtas567 pisze: ndz wrz 01, 2019 8:00 pm
Tak z ciekawości pytam, czy udało się poskładać suplę z pushoverem aby nie zrywało połączenia?
Działa rewelacyjnie, jestem zadowolony.
Program w arduino? Jakaś podpowiedź?
Awatar użytkownika
wojtas567
Posty: 2209
Rejestracja: ndz kwie 03, 2016 7:16 pm
Lokalizacja: Olsztyn

Telefonem ciężko się szuka i linki podsyła ale na forum podałem moja wersję kodu musisz sam poszukać. Ewentualnie jutro odszukamy.
Pozdrawiam
Wojtek
piomar2
Posty: 369
Rejestracja: pt kwie 26, 2019 5:32 pm
Lokalizacja: Bukowice

Ok. Dzięki. Dobrej nocy...
piomar2
Posty: 369
Rejestracja: pt kwie 26, 2019 5:32 pm
Lokalizacja: Bukowice

Czy Masz na myśli program pushover01 na viewtopic.php?f=8&t=2601
z dodatkowym pushover.php ?
Dobra nie truje dziś więcej...
ODPOWIEDZ

Wróć do „Pomysły i koncepcje”