Podstawy podstaw

User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

Karol.M wrote: Mon Jan 30, 2023 3:37 pm
klew wrote: Mon Jan 30, 2023 2:48 pm
Karol.M wrote: Mon Jan 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.
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
User avatar
veeroos
Posts: 1080
Joined: Sun Mar 20, 2022 9:30 am
Location: Głogów
Has thanked: 1 time
Been thanked: 9 times

Post

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, Zamel PEW-01, Zamel SBW-01, Zamel THW-01, Zamel SRW-01, Zamel mSLW-02, Auraton BOX + Indor Sensor, Airly Gate By Veeroos, Zigbee to Supla Gateway + sensors, Zamel SGW-01 and more

https://github.com/v33r005
User avatar
veeroos
Posts: 1080
Joined: Sun Mar 20, 2022 9:30 am
Location: Głogów
Has thanked: 1 time
Been thanked: 9 times

Post

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
A tak wygląda wyświetlacz
IMG_20230123_121108.jpg
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
You do not have the required permissions to view the files attached to this post.
Zamel Mew-01, Zamel PEW-01, Zamel SBW-01, Zamel THW-01, Zamel SRW-01, Zamel mSLW-02, Auraton BOX + Indor Sensor, Airly Gate By Veeroos, Zigbee to Supla Gateway + sensors, Zamel SGW-01 and more

https://github.com/v33r005
User avatar
SOYER
Posts: 1623
Joined: Wed Aug 10, 2022 12:29 pm
Location: Kryry
Been thanked: 2 times

Post

Jak wysyłasz z aplikacji wartości zmiennych do esp?
https://youtube.com/@tomaszhamer8134?si=_J1cT_QWsXxgt1Fm
https://kryry01.aqi.eco/pl
https://app.weathercloud.net/d4311785603
https://github.com/Soyer79
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

SOYER wrote: Fri Feb 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.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
veeroos
Posts: 1080
Joined: Sun Mar 20, 2022 9:30 am
Location: Głogów
Has thanked: 1 time
Been thanked: 9 times

Post

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

Code: Select all

//============================================================================================================
//========================= 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, Zamel PEW-01, Zamel SBW-01, Zamel THW-01, Zamel SRW-01, Zamel mSLW-02, Auraton BOX + Indor Sensor, Airly Gate By Veeroos, Zigbee to Supla Gateway + sensors, Zamel SGW-01 and more

https://github.com/v33r005

Return to “Arduino IDE”