Wsparcie dla Termostatu

pavel@
Posts: 62
Joined: Mon Oct 31, 2022 11:19 am

Post

krycha88 wrote: Fri Dec 08, 2023 6:24 pm
pavel@ wrote: Fri Dec 08, 2023 6:18 pm @krycha88 swoją drogą ciekawe co się zmieniło że poprzednie F/W działało bez problemów bez zmiany H/W ;)
Bardziej pytanie na ile pokazywał poprawne wartości ;)
Wartości na obu softach dokładnie takie same w końcu to cyfrowy świat albo działa albo nie 0/1 ;)
pavel@
Posts: 62
Joined: Mon Oct 31, 2022 11:19 am

Post

Witam

Czy dało by się dodać możliwość wpisania mocy urządzenia podpiętego do termostatu tak aby na podstawie załączonego czasu pracy cloud lub esp wyliczał pobraną ilość kWh
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

klew wrote: Fri Dec 08, 2023 8:29 am

Code: Select all

  void applyCorrectionsAndStoreIt(int32_t temperatureCorrection,
                                  int32_t humidityCorrection,
                                  bool local = false);
Ona zaaplikuje korekty na kanał, zapisze w Config i poinformuje o tym serwer (zmienną local trzeba ustawić na true przy wywołaniu). Tylko aktualnie ta metoda jest w protected. Mogę ją wyciągnąć do public, jeśli chcesz jej użyć.
Przerobiłem korekty i działają już od strony urządzenia oraz clouda :)

@klew w wolnej chwili ładnie poproszę o przerzucenie tych metod z protected do public.

Code: Select all

  void applyCorrectionsAndStoreIt(int32_t temperatureCorrection,
                                  int32_t humidityCorrection,
                                  bool local = false);
Jak mógłbym Ciebie namówić na tak prosty sposób aktualizacji danych jak parametr "local" dla metod termostatu setMainThermometerChannelNo setAuxThermometerChannelNo setTemperatureHisteresis :P

aktualizację tych danych po zmianie w cloud mam zrobioną tutaj
https://github.com/krycha88/GUI-Generic ... I.cpp#L115

cały czas się przymierzam aby zrobić to teraz w drugą stronę.
https://gui-generic-builder.supla.io/
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

krycha88 wrote: Sat Dec 09, 2023 5:33 pm @klew w wolnej chwili ładnie poproszę o przerzucenie tych metod z protected do public.
Przerzuciłem do public kilka minut po tym, jak pisałem poprzednią wiadomość ;)
krycha88 wrote: Sat Dec 09, 2023 5:33 pm Jak mógłbym Ciebie namówić na tak prosty sposób aktualizacji danych jak parametr "local" dla metod termostatu setMainThermometerChannelNo setAuxThermometerChannelNo setTemperatureHisteresis :P
Ale w zasadadzie to jest tak zrobione. Tam to jest zrobione tak, że jeśli wywołujesz metodą po "onInit" (czyli w zasadzie po SuplaDevice.begin() ), to to zachowuje się tak jak "local=true".
Najlepsze suple dla Twojego domu :mrgreen:
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

klew wrote: Sat Dec 09, 2023 9:41 pm Ale w zasadadzie to jest tak zrobione. Tam to jest zrobione tak, że jeśli wywołujesz metodą po "onInit" (czyli w zasadzie po SuplaDevice.begin() ), to to zachowuje się tak jak "local=true".
Faktycznie tak to działa, traktowałem te metody tylko do ustawiania domyślnych parametrów przy pierwszej rejestracji :)
https://gui-generic-builder.supla.io/
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

klew wrote: Fri Dec 08, 2023 8:29 am Czujniki temp/wilg odczytują aktualnie korekty z Configa i robią to w onLoadConfig (wywoływane w begin).
Także ustawiając korektę po begin, nadpisujesz tą, która była ustawiona z Configa.
Potem ona pewnie się odtwarza z serwera, bo serwer wysyła config po połączeniu.

W klasie bazowej termometrów/wilg jest dodana taka metoda:

Code: Select all

  void applyCorrectionsAndStoreIt(int32_t temperatureCorrection,
                                  int32_t humidityCorrection,
                                  bool local = false);
Ona zaaplikuje korekty na kanał, zapisze w Config i poinformuje o tym serwer (zmienną local trzeba ustawić na true przy wywołaniu). Tylko aktualnie ta metoda jest w protected. Mogę ją wyciągnąć do public, jeśli chcesz jej użyć. Na wejściu podaje się korekty w jednostce 0.1 (czyli np. -45 to korekta o -4,5 stopnia).

Są też metody do odczytu korekty:

Code: Select all

  int16_t getConfiguredTemperatureCorrection();
  int16_t getConfiguredHumidityCorrection();
Tylko też są w protected. Też zwracają wartość w jednostkach 0.1.

Tylko te metody wymagają instancji klasy termometru. Nie wiem czy zawsze masz to dostępne.
Aktualnie do przechowywania korekt wykorzystuję twoje metody, ale teraz chciałbym dodatkowo przechować wartości korekt po swojej stronie aby dało się je przenieść prosto na inne urządzenie. Jak to zrobić poprawnie? Wczytywać je ze swojego konfiga przy wywołaniu onInit metodą applyCorrectionsAndStoreIt z local==true? Zawsze swój konfig będę aktualizował gdy po wywołaniu applyCorrectionsAndStoreIt.
https://gui-generic-builder.supla.io/
kurus
Posts: 1312
Joined: Wed Jan 15, 2020 8:17 pm

Post

Sprawdziłem i w tych urządzeniach gdzie już był starszy soft o czym pisałem wcześniej, teraz po aktualizacji działa korekta zrobiona na urządzeniu, ale korekta zrobiona w cloud nie jest zaciągana na urządzenie. Korekta zrobiona w cloud wczytywana jest na urządzeniach na których jest wygenerowany termostat? Tak mi się wydaje.. soft 7.8.0

Super że, już i tak działa z poziomu urządzenia, dzięki @krycha88 @klew
kurus
Posts: 1312
Joined: Wed Jan 15, 2020 8:17 pm

Post

kurus wrote: Sat Dec 02, 2023 11:54 am
krycha88 wrote: Sat Dec 02, 2023 10:35 am
kurus wrote: Sat Dec 02, 2023 8:36 am

Jeden ds18b20 właśnie, jeden termostat, jeden ekran dla oled. Widzę na github że też były poprawki dla oled.
Nie zmieniałem tam nic łamiącego. Musisz pokazać co się dzieje na uart lub wgrać soft ponownie ;)
Zacznę od wgrania softu na nowo, bo ten moduł był aktualizowany kilka razy od pierwszych wersji termostatu i też była zmieniana konfiguracja czujników itp, od napisania postu teraz znów się zrestartował, po około 5h, zauważyłem też że, bardzo zaczął w nim mulić interfejs www klikasz i czekasz, aż załaduje, a czasami nawet trzeba odświeżyć, jakąś chwilę po restarcie działa szybko.. jest to wemos s2 esp32
@krycha88 wracają do tego tematu że, mi restartował się termostat, to wymieniłem wemosa i jak ręką odjął, poprzedni musiał mieć jakieś problemy najwidoczniej..

Dodam jako ciekawostkę że, wemos s2 mini esp32 w trybie normalnej pracy nic nie loguje na uart, jest niewidoczny.
You do not have the required permissions to view the files attached to this post.
lukasz06
Posts: 2542
Joined: Sun Jul 17, 2022 6:53 pm
Has thanked: 45 times
Been thanked: 21 times

Post

Po co w ogóle to ustawianie jest w dwóch miejscach
Tylko mętlik w głowie. Nie wiadomo, które ustawić.
kurus
Posts: 1312
Joined: Wed Jan 15, 2020 8:17 pm

Post

lukasz06 wrote: Sun Dec 10, 2023 9:33 pm Po co w ogóle to ustawianie jest w dwóch miejscach
Tylko mętlik w głowie. Nie wiadomo, które ustawić.
Jednemu wygodniej na urządzeniu drugiemu w cloud.

Krycha88 mam czujnik na kanale 14, a w zakładce korekt nie jest on w ogóle widoczny, jest chyba max do 13

Dla 7, 8, 9 pokazuje 275 w zakładce korekt, a powinno pokazywać temp z czujników.
You do not have the required permissions to view the files attached to this post.

Return to “GUI Generic”