Podstawy podstaw

SOYER
Posty: 819
Rejestracja: śr sie 10, 2022 12:29 pm
Lokalizacja: Kryry

Karol.M pisze: pn sty 30, 2023 3:37 pm
klew pisze: pn sty 30, 2023 2:48 pm
Karol.M pisze: pn sty 30, 2023 2:30 pm Gdyby były uniwersalne kanały przekazywania danych w dwie strony, nie trzebaby często czekać na dedykowane funkcjonalności. Logikę możnaby sobie napisać dowolną. A tak trzeba czekać na jakąś funkcjonalności mimo, że napisanie sobie jej samemu zajęłoby 2h.
Wszyscy czekamy na "funkcjonalność uniwersalnego przekazywania danych" :). Co prawda w obecnych planach jest to dla kanałów pomiarowych. Nie ma tego samego w drugą stronę na razie zaplanowanego.

Nie wiem co chcesz napisać w 2h, ale takie "ogólne kanały do przekazywania wartości", to nie jest tak banalny temat. To dotyka wszystkich komponentów Supli, od urządzenia, przez serwer, Cloud i apki na telefony (Android oraz iOS).
Chodzi mi o to, że mając właśnie takie uniwersalne kanały można budować sprawnie dowolne urządzenia oparte o dowolną logikę nie czekając aż taka logika pojawi się w supli. Bo jeśli taki kanał dostarczy dane to ja sobie je już mogę dowolnie przetworzyć.
Święte słowa Karol, święte słowa.
Po moich doświadczeniach z Blynka, też strasznie trudno było mi zrozumieć podejście Supli.
To tak jakbyś zaglądnął do sklepu z nożami, chciałbyś kupić zwykły, prosty, którego możesz użyć, przy odrobinie umiejętności, do wszystkiego. Jednak w tym sklepie mają tylko noże absolutnie specjalne do małży, serów, ryb. Jednak jeśli potrzebujesz zwykły nóż, to musisz kupić taki specjalny i kombinować jak go użyć do przekrojenia kiełbasy na pół.

Czekamy na kanał ogólnego przeznaczenia.
Awatar użytkownika
veeroos
Posty: 271
Rejestracja: ndz mar 20, 2022 9:30 am
Lokalizacja: Głogów

To może i ja coś napiszę. Kolega Karol chciałby zautomatyzować bimbrownię, więc na tym forum jest temat dotyczący termostatu. Zrobiłem termostat całkowicie na nowo, choć trochę bazując na przykładach kolegów, wymiana jest dwustronną z poziomu Supli możemy ustawić temperaturę, z poziomu przycisków jak i z samego webinterfejsu urządzenia. Naprowadzili mnie na rozwiązanie niektórych kwestii koledzy z forum, a zwłaszcza kolega #klew, który według mnie odwala kawał dobrej roboty. Nie zrobiłem tego tak jak koledzy piszą za pomocą dimmera, bo jak dla mnie zbyt komplikowało cały kod, a chciałem wszystko przejrzyście. Jakbyś chciał podpowiedzi jak coś zrobić to pisz do mnie śmiało, ja też się uczę, wiedzę którą mam dostałem od kolegów z forum, też się chcę nią dzielić.
Zamel Mew-01, Wemos D1 mini Pro + Ikea vindriktning + BME280, 3x - SonOff mini, 3x - SonOff Basic, 3xGosund SP111, SonOff S55, 2x GOSUND WB4
Awatar użytkownika
veeroos
Posty: 271
Rejestracja: ndz mar 20, 2022 9:30 am
Lokalizacja: Głogów

Sorki za post pod postem, u mnie ten termostat wygląda tak, aktualnie jest po za zasięgiem, bo esp8266 nie ogarniało 1400 linii kodu 😉, chodził poprawnie ale raz na jakiś czas zaliczał zwiechy, czekam na esp32 i na PCB wtedy uruchomie go ponownie.
Screenshot_2023-02-08-19-46-11-042_org.supla.android.jpg
Screenshot_2023-02-08-19-46-11-042_org.supla.android.jpg (256.48 KiB) Przejrzano 350 razy
A tak wygląda wyświetlacz
IMG_20230123_121108.jpg
IMG_20230123_121108.jpg (3.99 MiB) Przejrzano 348 razy
Zegarek jest dodany jako dodatkowy element, w przyszłości będzie działał do offlinowego przełączenia temperatury różnej na dzień i na noc
Zamel Mew-01, Wemos D1 mini Pro + Ikea vindriktning + BME280, 3x - SonOff mini, 3x - SonOff Basic, 3xGosund SP111, SonOff S55, 2x GOSUND WB4
SOYER
Posty: 819
Rejestracja: śr sie 10, 2022 12:29 pm
Lokalizacja: Kryry

Jak wysyłasz z aplikacji wartości zmiennych do esp?
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

SOYER pisze: pt lut 10, 2023 7:36 am Jak wysyłasz z aplikacji wartości zmiennych do esp?
Tam jest użyty stary trick ;)
Dodawany jest kanał "przekaźnika' z przyciskami włącz/wyłącz. Każde "włączenie" zwiększa temperaturę np. o 0.5, a wyłączenie zmniejsza o 0.5.
Widzimy się na Supla Offline Party vol. 2 :!:
Awatar użytkownika
veeroos
Posty: 271
Rejestracja: ndz mar 20, 2022 9:30 am
Lokalizacja: Głogów

@SOYER jak nie chce Ci się szukać ;) to u mnie na przykład do ustawienia histerezy wygląda to tak:

Kod: Zaznacz cały

//============================================================================================================
//========================= U S T A W I E N I E     H I S T E R E Z Y ========================================
//============================================================================================================


class TermostatSet_hist : public Supla::Control::Relay {
  public:
    TermostatSet_hist() : Relay(-1, true, 32) {}

    void onInit() {
      // do nothing here
    }
    void turnOn(_supla_int_t duration) {
      ThermostatHistereza += Hist_Step;
      if (ThermostatHistereza > 10) ThermostatHistereza = 10;
      channel.setNewValue(false);
      doSaveTermSetHist = true;
    }
    void turnOff(_supla_int_t duration) {
      ThermostatHistereza -= Hist_Step;
      if (ThermostatHistereza < 0.0) ThermostatHistereza = 0.0;
      channel.setNewValue(false);
      doSaveTermSetHist = true;
    }
    bool isOn() {
      return false;
    }
}; TermostatSet_hist *TerSet_hist = nullptr;

//============================================================================================================
//=================== Przypisanie wartości histerezy pod klasę termometr =====================================
//============================================================================================================


class TermostatTemp_hist : public Supla::Sensor::Thermometer {
  public:
    TermostatTemp_hist() {}

    void onInit() {
      channel.setNewValue(getValue() );
    }
    double getValue() 
    {
      return ThermostatHistereza;
    }
    void iterateAlways() {
      channel.setNewValue(getValue());
    }
}; TermostatTemp_hist *TerTemp_hist = nullptr;
oczywiście deklaracje musisz zmiennych porobić i odpowiednio to wszystko w setupie wywołać
Zamel Mew-01, Wemos D1 mini Pro + Ikea vindriktning + BME280, 3x - SonOff mini, 3x - SonOff Basic, 3xGosund SP111, SonOff S55, 2x GOSUND WB4
ODPOWIEDZ

Wróć do „Arduino IDE”