Aktualizacja SuplaDevice

Awatar użytkownika
Goral64
Posty: 3131
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

Robert Błaszczak pisze: pn lip 20, 2020 10:22 am Nie wpadłbym na to, że ktoś może mieć "pustą" konfigurację programu, ale program ma działać :D :D :D
Pewnie oczekiwaną reakcją było wyłączenie pushover skoro nie ma nic do powiadamiania :D Ja wybrałem ścieżkę usunięcia danych o powiadamianiu :D
Po tych kilku godzinach pamięć ma się dobrze, więc to było to.
Widzimy się na Supla Offline Party Season 2 :D

Obrazek
Awatar użytkownika
Robert Błaszczak
Posty: 3970
Rejestracja: sob gru 22, 2018 8:55 pm
Lokalizacja: Zielona Góra
Kontakt:

No i najważniejsze, że się udało znaleźć przyczynę występowania problemu :D
A my jesteśmy bogatsi o wiedzę :D
Pozdrawiam
Robert Błaszczak


Moja prywatna strona: www.blaszczak.pl
Awatar użytkownika
lukfud
Posty: 2091
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

LightRelay
Co to? :)
https://www.facebook.com/groups/supladiy/
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

lukfud pisze: czw paź 01, 2020 1:02 pm
LightRelay
Co to? :)
Opis jest tutaj viewtopic.php?f=61&t=7263
Widzimy się na Supla Offline Party vol. 2 :!:
Awatar użytkownika
lukfud
Posty: 2091
Rejestracja: czw lis 23, 2017 11:33 pm
Lokalizacja: Warszawa

klew pisze: czw paź 01, 2020 2:03 pm Opis jest tutaj viewtopic.php?f=61&t=7263
Dzięki :)
https://www.facebook.com/groups/supladiy/
buli
Posty: 44
Rejestracja: pn gru 26, 2016 8:57 am

Czy ktoś pomoże jak skonfigurować tą bibliotekę pod Visual Studio Code z PlatformIO lub Atom z PlatformIO? Próbuję skompilować sobie przykład z czujnikiem DS18b20 w VSC i wyskakują mi poniższe błędy. Dodam tylko że jak kompilacja przykładów dla tego czujnika przechodzi bez problemu. W Arduino IDE działa to bez problemu, tylko tutaj jest jakiś problem i nie umiem tego wyłapać.

Kod: Zaznacz cały

Processing esp12e (platform: espressif8266; board: esp12e; framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/esp12e.html
PLATFORM: Espressif 8266 (2.6.2) > Espressif ESP8266 ESP-12E
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash        
PACKAGES:
 - framework-arduinoespressif8266 3.20704.0 (2.7.4) 
 - tool-esptool 1.413.0 (4.13)
 - tool-esptoolpy 1.20800.0 (2.8.0)
 - tool-mklittlefs 1.203.200522 (2.3)
 - tool-mkspiffs 1.200.0 (2.0) 
 - toolchain-xtensa 2.40802.200502 (4.8.2)
Converting DallasTemperature.ino
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 29 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <SPI> 1.0
Building in release mode
Compiling .pio\build\esp12e\src\DallasTemperature.ino.cpp.o
Generating LD script .pio\build\esp12e\ld\local.eagle.app.v6.common.ld
Compiling .pio\build\esp12e\lib563\SPI\SPI.cpp.o
Archiving .pio\build\esp12e\libFrameworkArduinoVariant.a
C:/Users/buli/OneDrive/Dokumenty/PlatformIO/Projects/201003-134441-esp12e/src/DallasTemperature.ino:18:25: fatal error: SuplaDevice.h: No such file or directory

*********************************************************************
* Looking for SuplaDevice.h dependency? Check our library registry!
*
* CLI  > platformio lib search "header:SuplaDevice.h"
* Web  > https://platformio.org/lib/search?query=header:SuplaDevice.h
*
*********************************************************************

 #include <SuplaDevice.h>
                         ^
compilation terminated.
Compiling .pio\build\esp12e\FrameworkArduino\Crypto.cpp.o
*** [.pio\build\esp12e\src\DallasTemperature.ino.cpp.o] Error 1
==================================================================================================== [FAILED] Took 6.97 seconds ====================================================================================================
The terminal process "C:\Users\buli\.platformio\penv\Scripts\platformio.exe 'run', '--target', 'upload'" terminated with exit code: 1.

Terminal will be reused by tasks, press any key to close it.
Awatar użytkownika
Goral64
Posty: 3131
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

klew pisze: sob lip 04, 2020 10:11 pm
Goral64 pisze: sob lip 04, 2020 9:58 pm Zauważyłem pewną ciekawostkę. Robiłem edycję harmonogramu i przy zapisie zmiany tak mi zamuliło Malinę, że jedynym rozwiązaniem było odcięcie jej zasilania i ponowne uruchomienie. Po wstaniu Maliny i Supli okazało się, że wszystkie urządzenia ZAMEL-a połączyły się ponownie z serwerem Supli a wszystkie urządzenia z SuplaDevice na pokładzie niestety nie. Na każdym urządzeniu musiał być wykonany restart co fajne nie jest :(
Dzieje się tak za każdym razem, gdy restartujesz serwer Supli?
Jak długo czekałeś?
Czy masz jakieś logi z tej sytuacji?
No i niestety, problem znów wystąpił :(
Po twardym restarcie Maliny i uruchomieniu ponownym Supli niestety żaden moduł DYI oparte o SuplaDevice nie wznowił połączenia z serwerem :( Kilkakrotnie restartowałem samą Suplę i też nic. Tylko restart modułu przywraca łączność.
Co ciekawe, zrobiłem ponownie twardy restart Maliny i te moduły, które zrestartowałem wznowiły połączenie, a te, których jeszcze nie restartowałem dalej nie nawiązały połączenia...
Widzimy się na Supla Offline Party Season 2 :D

Obrazek
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

Goral64 pisze: wt paź 06, 2020 10:12 am No i niestety, problem znów wystąpił :(
Po twardym restarcie Maliny i uruchomieniu ponownym Supli niestety żaden moduł DYI oparte o SuplaDevice nie wznowił połączenia z serwerem :( Kilkakrotnie restartowałem samą Suplę i też nic. Tylko restart modułu przywraca łączność.
Co ciekawe, zrobiłem ponownie twardy restart Maliny i te moduły, które zrestartowałem wznowiły połączenie, a te, których jeszcze nie restartowałem dalej nie nawiązały połączenia...
Logi? ;)

Jakie to są urządzenia? Jaki soft tam masz?
Widzimy się na Supla Offline Party vol. 2 :!:
Awatar użytkownika
Goral64
Posty: 3131
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

klew pisze: wt paź 06, 2020 10:19 am Logi? ;)
Skąd?
klew pisze: wt paź 06, 2020 10:19 am Jakie to są urządzenia? Jaki soft tam masz?
Wszystko to Wemos D1 Mini z biblioteką 2.3.2, bez interfejsu webowego.

Kod: Zaznacz cały

#define SID "*****"	// SSID
#define WPW "*****"	// Hasło do WiFi
#define SVR "*****"	// serwer Supla
#define EML "*****"	// email konta w Supla
#define DEVICE_NAME "BME280"	// nazwa urządzenia
//#define DEVICE_NAME "BME280+RELAY"	// nazwa urządzenia
//#define DEVICE_NAME "BME280+2RELAYS"	// nazwa urządzenia

#define DISPLAY_SIZE 96	// przekątna wyświetlacza 96 -> 0,96"
#define DISPLAY_DELAY_SEC 10	// czas wyświetlania max 25 (s)
#define PIN_DISPLAY 0	// pin z włącznikiem wyświetlacza 0 -> D3
#define PIN_OLED_SDA 4	// pin SDA wyświetlacza 4 -> D2
#define PIN_OLED_SCL 5	// pin SCL wyświetlacza 5 -> D1
//#define PIN_RELAY1 12 // D6
//#define PIN_BUTTON1 13 // D7
//#define PIN_RELAY2 14 // D5
//#define PIN_BUTTON2 2 // D4


#include <SuplaDevice.h>

#include <supla/network/esp_wifi.h> // interfejs sieciowy
Supla::ESPWifi suplaWifi(SID, WPW);
#include <ESP8266WiFi.h>

#include <supla/sensor/bme280.h> // sensor BME280
#if defined PIN_RELAY1 || defined PIN_RELAY2
#include <supla/control/relay.h> // przekaźniki
#endif
#if defined PIN_BUTTON1 || defined PIN_BUTTON2
#include <supla/control/button.h> // przyciski
#endif

#include "SSD1306Wire.h"
SSD1306Wire display(0x3c, PIN_OLED_SDA, PIN_OLED_SCL); // D2-SDA D1-SCL ----- OLED 0,96 ---

Supla::Sensor::BME280* bme;
#ifdef PIN_RELAY1
Supla::Control::Relay *relay1 = nullptr;
#endif
#ifdef PIN_RELAY2
Supla::Control::Relay *relay2 = nullptr;
#endif
#ifdef PIN_BUTTON1
Supla::Control::Button *button1 = nullptr;
#endif
#ifdef PIN_BUTTON2
Supla::Control::Button *button2 = nullptr;
#endif

void makeSuplaAuthKey(char *authKey) {
	uint8_t mac[WL_MAC_ADDR_LENGTH];
	WiFi.macAddress(mac);
	char buf[SUPLA_AUTHKEY_SIZE] = { mac[0], mac[1], mac[2], mac[3], mac[4],
			mac[5], mac[0], mac[1], mac[2], mac[3], mac[4], mac[5] };
	memcpy(authKey, &buf, SUPLA_AUTHKEY_SIZE);
}
void makeSuplaGuid(char *guid) {
	uint8_t mac[WL_MAC_ADDR_LENGTH];
	WiFi.macAddress(mac);
	char buf[SUPLA_GUID_SIZE] = { mac[0], mac[1], mac[2], mac[3],
			mac[0],	mac[1], mac[2], mac[3], mac[4], mac[5],
			mac[0], mac[1], mac[2],	mac[3], mac[4], mac[5] };
	memcpy(guid, &buf, SUPLA_GUID_SIZE);
}

void displayOLED_96() {
	display.drawHorizontalLine(0, 23, 127);
	display.drawHorizontalLine(0, 44, 128);
	display.drawVerticalLine(64, 1, 21);

	display.setFont(ArialMT_Plain_24);
	display.drawString(0, 0, String(bme->getTemp(), 1));
	display.setFont(ArialMT_Plain_10);
	display.drawString(48, 4, "ºC");

	display.setFont(ArialMT_Plain_24);
	display.drawString(70, 0, String(bme->getHumi(), 1));
	display.setFont(ArialMT_Plain_10);
	display.drawString(118, 4, "%");

	display.setFont(ArialMT_Plain_10);
	display.drawString(1, 30, "BME-280:");
	display.setFont(ArialMT_Plain_24);
	display.drawString(52, 20, String(bme->getPressure(), 0));
	display.setFont(ArialMT_Plain_10);
	display.drawString(108, 24, "hPa");
}

void displayOLED() {
	if (digitalRead(PIN_DISPLAY) == LOW) {
		display.clear();
		if(DISPLAY_SIZE == 96) {
			displayOLED_96();
		}
		display.display();
		delay(DISPLAY_DELAY_SEC * 1000);
		display.clear();
		display.display();
	}
}

void setup() {
	Serial.begin(9600);
	pinMode(PIN_DISPLAY, INPUT_PULLUP);
	delay(100);

	display.init();
	display.flipScreenVertically();
	display.setContrast(50);
	display.clear();
	display.setContrast(50, 121, 32);

	WiFi.softAPdisconnect(true);
	suplaWifi.enableSSL(false);
	SuplaDevice.setName(DEVICE_NAME);

	char guid[SUPLA_GUID_SIZE];
	makeSuplaGuid(guid);

	char authKey[SUPLA_AUTHKEY_SIZE];
	makeSuplaAuthKey(authKey);

	bme = new Supla::Sensor::BME280(0x76, 118);
#ifdef PIN_RELAY1
	relay1 = new Supla::Control::Relay(PIN_RELAY1);
#endif
#ifdef PIN_RELAY2
	relay2 = new Supla::Control::Relay(PIN_RELAY2);
#endif
#ifdef PIN_BUTTON1
	button1 = new Supla::Control::Button(PIN_BUTTON1, true);
#ifdef PIN_RELAY1
	button1->willTrigger(*relay1, Supla::ON_PRESS, Supla::TOGGLE);
#endif
#endif
#ifdef PIN_BUTTON2
	button2 = new Supla::Control::Button(PIN_BUTTON2);
#ifdef PIN_RELAY2
	button2->willTrigger(*relay2, Supla::ON_PRESS, Supla::TOGGLE);
#endif
#endif

	SuplaDevice.begin(guid, SVR, EML, authKey);
}

void loop() {
	SuplaDevice.iterate();
	displayOLED();
}
Widzimy się na Supla Offline Party Season 2 :D

Obrazek
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

Goral64 pisze: wt paź 06, 2020 12:45 pm
klew pisze: wt paź 06, 2020 10:19 am Logi? ;)
Skąd?
klew pisze: wt paź 06, 2020 10:19 am Jakie to są urządzenia? Jaki soft tam masz?
Wszystko to Wemos D1 Mini z biblioteką 2.3.2, bez interfejsu webowego.
Logi z seriala z urządzeń.

Ok, zastanowię się jak to u Ciebie zdebugować i dam znać :)
Widzimy się na Supla Offline Party vol. 2 :!:
ODPOWIEDZ

Wróć do „Arduino IDE”