Kilka dni temu w końcu zrobiłem ten KLOP i działa jak chciałem.
Dla anemometru liczy impulsy w czasie cyklu pomiarowego (np. 5 sekund) i pokazuje uśrednioną wartość w m/s.
W następnym cyklu pomiarowym dalej liczy i pokazuje nową wartość. I tak w kółko.
Jeśli nie zmieniła się liczba impulsów - wiatr nie wieje - pokazuje "0".
Ten kanał Klop nie ma historii, nie zapisuje wartości do FRAM.
Równocześnie te same impulsy są zliczane przez drugi Klop - ten ma historię, zapis do FRAM i statystyki na stronie i w aplikacji.
Czyli mam licznik wartości chwilowej i niezależny zapis historii wiania.
To samo wykorzystam do mierzenia ilości opadów - wartość chwilowa i rejestrowana.
Oraz do mierzenia ilości wody przy podlewaniu ogrodu - wartość chwilowa przepływu przydaje się do ustalania przepływu dla każdego sterownika, w każdej linii - tego mi brakowało. W zależności od pory roku zmieniają się ilości otwartych zaworów na liniach - niektórych roślin się nie podlewa w określonych okresach itp. Wtedy trzeba też dostosować ilość przepływającej w linii wody - do tego wartość chwilowa.
Teraz czekam na kanał KTOP - żeby kierunek wiatru mógł być odczytywany tekstowo, a nie w postaci kąta od północy. Chociaż z drugiej strony - to zawsze jakieś ćwiczenie dla mózgu
KPOP i KLOP
-
- Posts: 343
- Joined: Thu Feb 09, 2023 1:25 pm
Trochę porządkowałem kod i zauważyłem, że po skróceniu nazw instancji kanałów GPM,
przestają się rejestrować w Supli i ich nie widać w Cloud.
Nie ma żadnych błędów w kompilacji, to tylko po stronie Supli nie są akceptowane krótkie nazwy.
Przykład: Kl0 => Klop0
Supla::Sensor::GeneralPurposeMeter *kl0 = nullptr; <= nie działa
Supla::Sensor::GeneralPurposeMeter *klop0 = nullptr; <= działa
kl0 = new Supla::Sensor::GeneralPurposeMeter(); <= nie działa
klop0 = new Supla::Sensor::GeneralPurposeMeter(); <= działa
Tak, jakby było ograniczenie na długość nazwy zmiennej. Po powrocie do 5-ciu znaków - wszystko działa poprawnie.
Straciłem trochę czasu nim się połapałem, że wśród porządków skróciłem nazwy.
Może się komuś przyda.
przestają się rejestrować w Supli i ich nie widać w Cloud.
Nie ma żadnych błędów w kompilacji, to tylko po stronie Supli nie są akceptowane krótkie nazwy.
Przykład: Kl0 => Klop0
Supla::Sensor::GeneralPurposeMeter *kl0 = nullptr; <= nie działa
Supla::Sensor::GeneralPurposeMeter *klop0 = nullptr; <= działa
kl0 = new Supla::Sensor::GeneralPurposeMeter(); <= nie działa
klop0 = new Supla::Sensor::GeneralPurposeMeter(); <= działa
Tak, jakby było ograniczenie na długość nazwy zmiennej. Po powrocie do 5-ciu znaków - wszystko działa poprawnie.
Straciłem trochę czasu nim się połapałem, że wśród porządków skróciłem nazwy.
Może się komuś przyda.
-
- Posts: 9237
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
Jedyna poprawna nazwa tych zmiennych to "klew0" itdiM@rek wrote: ↑Thu May 23, 2024 11:19 am Trochę porządkowałem kod i zauważyłem, że po skróceniu nazw instancji kanałów GPM,
przestają się rejestrować w Supli i ich nie widać w Cloud.
Nie ma żadnych błędów w kompilacji, to tylko po stronie Supli nie są akceptowane krótkie nazwy.
Przykład: Kl0 => Klop0
Supla::Sensor::GeneralPurposeMeter *kl0 = nullptr; <= nie działa
Supla::Sensor::GeneralPurposeMeter *klop0 = nullptr; <= działa
kl0 = new Supla::Sensor::GeneralPurposeMeter(); <= nie działa
klop0 = new Supla::Sensor::GeneralPurposeMeter(); <= działa
Tak, jakby było ograniczenie na długość nazwy zmiennej. Po powrocie do 5-ciu znaków - wszystko działa poprawnie.
Straciłem trochę czasu nim się połapałem, że wśród porządków skróciłem nazwy.
Może się komuś przyda.
A tak na serio, to nazwy zmiennych nie mają znaczenia dla działającego programu. Także jeśli coś przestało działać, to na pewno z innego powodu.
Widzimy się na Supla Offline Party - 19.10.2024
https://forum.supla.org/viewtopic.php?t=15820
https://forum.supla.org/viewtopic.php?t=15820
-
- Posts: 343
- Joined: Thu Feb 09, 2023 1:25 pm
Jasne...
Program nie przestał działać - tylko nie pojawiły się dodatkowe kanały.
Miałem już 4x KLOP, chciałem dołożyć 4xKPOP i przy okazji porządków min. skróciłem nazwy zmiennych.
Ale poważnie, kiedy miałem skrócone nazwy: Kl0 do Kl3 oraz Kp0 do Kp3 - w Supli widziałem tylko 4 liczniki KPOP.
Czyściłem ESP32, wgrywałem kilka razy, konfigurowałem od początku - ciągle miałem tylko 4xKLOP - tak było przed dodaniem 4 KLOP i skróceniem nazw dla wszystkich instancji - ciągle to samo.
Potem przypomniałem sobie, że już kiedyś miałem taki problem, kiedy nazwy gpm0 do gpm3 skróciłem do gp0, gp3.
No i zmieniłem TYLKO te nazwy odpowiednio z Kl0-> Klop0 oraz Kp0-> Kpop0 itd., skompilowałem i zaczęło działać.
Pojawiły się wszystkie kanały 4x Klop i 4x Kpop.
Tak, jakby 3 literowe nazwy były za krótkie/ nierozróżnialne...
Program nie przestał działać - tylko nie pojawiły się dodatkowe kanały.
Miałem już 4x KLOP, chciałem dołożyć 4xKPOP i przy okazji porządków min. skróciłem nazwy zmiennych.
Ale poważnie, kiedy miałem skrócone nazwy: Kl0 do Kl3 oraz Kp0 do Kp3 - w Supli widziałem tylko 4 liczniki KPOP.
Czyściłem ESP32, wgrywałem kilka razy, konfigurowałem od początku - ciągle miałem tylko 4xKLOP - tak było przed dodaniem 4 KLOP i skróceniem nazw dla wszystkich instancji - ciągle to samo.
Potem przypomniałem sobie, że już kiedyś miałem taki problem, kiedy nazwy gpm0 do gpm3 skróciłem do gp0, gp3.
No i zmieniłem TYLKO te nazwy odpowiednio z Kl0-> Klop0 oraz Kp0-> Kpop0 itd., skompilowałem i zaczęło działać.
Pojawiły się wszystkie kanały 4x Klop i 4x Kpop.
Tak, jakby 3 literowe nazwy były za krótkie/ nierozróżnialne...
-
- Posts: 9237
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
Coś innego musiało być problemem. Nazwy zmiennych nie mają znaczenia. Możesz nawet 1 literowych używaćiM@rek wrote: ↑Thu May 23, 2024 12:08 pm Jasne...
Program nie przestał działać - tylko nie pojawiły się dodatkowe kanały.
Miałem już 4x KLOP, chciałem dołożyć 4xKPOP i przy okazji porządków min. skróciłem nazwy zmiennych.
Ale poważnie, kiedy miałem skrócone nazwy: Kl0 do Kl3 oraz Kp0 do Kp3 - w Supli widziałem tylko 4 liczniki KPOP.
Czyściłem ESP32, wgrywałem kilka razy, konfigurowałem od początku - ciągle miałem tylko 4xKLOP - tak było przed dodaniem 4 KLOP i skróceniem nazw dla wszystkich instancji - ciągle to samo.
Potem przypomniałem sobie, że już kiedyś miałem taki problem, kiedy nazwy gpm0 do gpm3 skróciłem do gp0, gp3.
No i zmieniłem TYLKO te nazwy odpowiednio z Kl0-> Klop0 oraz Kp0-> Kpop0 itd., skompilowałem i zaczęło działać.
Pojawiły się wszystkie kanały 4x Klop i 4x Kpop.
Tak, jakby 3 literowe nazwy były za krótkie/ nierozróżnialne...
Widzimy się na Supla Offline Party - 19.10.2024
https://forum.supla.org/viewtopic.php?t=15820
https://forum.supla.org/viewtopic.php?t=15820
-
- Posts: 343
- Joined: Thu Feb 09, 2023 1:25 pm
-
- Posts: 505
- Joined: Sun Mar 20, 2022 9:30 am
- Location: Głogów
wiem, że to wątek o gg, ale podłączę się do tematu, mam pytanie czy poprawnie KPOP działa jedynie z dołączonym webinterfacem? Bo zrobiłem kod, który na sztywno ustawia serwery, ustawienia wifi itd. Problem jest taki, że nie wpisuje on w kanał wartości "Before" i "After",
kod
Dodatkowo w Cloudzie jest komunikat że konfiguracja jeszcze nie jest dostępna.
To jest kod z przykładów do biblioteki, tyle że ustawiam na sztywno wszystkokod
Code: Select all
#include <SuplaDevice.h> //https://github.com/SUPLA/arduino/tree/develop
#include <EEPROM.h>
#include <supla/control/relay.h>
#include <supla/network/esp_wifi.h>
#include <supla/sensor/general_purpose_measurement.h>
//******************************************************************WIFI SETUP************************************************************************************************
Supla::ESPWifi wifi("ssid", "pass");
//*****************************************************************SUPLA SETUP************************************************************************************************
// Replace the falowing GUID with value that you can retrieve from https://www.supla.org/arduino/get-guid
char GUID[SUPLA_GUID_SIZE] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
// Replace the following AUTHKEY with value that you can retrieve from: https://www.supla.org/arduino/get-authkey
char AUTHKEY[SUPLA_AUTHKEY_SIZE] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
const char* SERVER_SUPLA = "svr";
const char* Email_adres = "mail";
Supla::Sensor::GeneralPurposeMeasurement *gpm = nullptr;
void setup() {
auto r1 = new Supla::Control::Relay(12);
Serial.begin(115200);
gpm = new Supla::Sensor::GeneralPurposeMeasurement();
// Default channel config values are initialized only once. They can be
// modified later, but they won't change corresponding used configurable
// parameters.
// Below lines are optional, just remove them if you don't want to set
// them.
gpm->setDefaultValueDivider(0); // in 0.001 steps, 0 is ignored
gpm->setDefaultValueMultiplier(0); // in 0.001 steps, 0 is ignored
gpm->setDefaultValueAdded(0); // in 0.001 steps
gpm->setDefaultUnitBeforeValue("before");
gpm->setDefaultUnitAfterValue("after");
gpm->setDefaultValuePrecision(3); // 0..4 - number of decimal places
// Set some initial value of measurement
gpm->setValue(3.1415);
SuplaDevice.begin(GUID, // Global Unique Identifier
SERVER_SUPLA, // SUPLA server address
Email_adres, // Email address used to login to Supla Cloud
AUTHKEY); // Authorization key
// put your main code here, to run repeatedly:
}
void loop() {
SuplaDevice.iterate();
static uint32_t lastTime = 0;
if (millis() - lastTime > 1000) {
lastTime = millis();
// set some new value on gpm:
gpm->setValue(millis() / 1000.0);
}
}
You do not have the required permissions to view the files attached to this post.
Zamel Mew-01, Wemos D1 mini Pro + Ikea vindriktning + BME280, 3x - SonOff mini, 3x - SonOff Basic, 3xGosund SP111, SonOff S55, 2x GOSUND WB4
https://github.com/v33r005
https://github.com/v33r005
-
- Posts: 9237
- Joined: Thu Jun 27, 2019 12:16 pm
- Location: Wrocław
Te kanały wymagają "Configa". Teoretycznie reszta rzeczy nie jest konieczna, ale trzeba by to zaimplementować, aby dało się bez.veeroos wrote: ↑Wed Jun 05, 2024 5:49 pm Podłączę się do tematu, mam pytanie czy poprawnie KPOP działa jedynie z dołączonym webinterfacem? Bo zrobiłem kod, który na sztywno ustawia serwery, ustawienia wifi itd. Problem jest taki, że nie wpisuje on w kanał wartości "Before" i "After",
Screenshot_2024-06-05-19-45-12-194_org.supla.android.jpg
Dodatkowo w Cloudzie jest komunikat że konfiguracja jeszcze nie jest dostępna.
Screenshot_2024-06-05-19-45-41-887_com.android.chrome.jpg
To jest kod z przykładów do biblioteki, tyle że ustawiam na sztywno wszystko
Możesz nie tworzyć webservera, a konfigurację wpisać na sztywno do Configa - to powinno ruszyć
Widzimy się na Supla Offline Party - 19.10.2024
https://forum.supla.org/viewtopic.php?t=15820
https://forum.supla.org/viewtopic.php?t=15820
-
- Posts: 1957
- Joined: Sun Feb 17, 2019 6:56 am
- Location: Osielsko
Czy mogę poprosić do dodanie do oleda 1.3 odczytu z linku bezpośredniego z kanałów typu KOP.
Z gory dziękuję.
Z gory dziękuję.
https://pietras-81.aqi.eco/