PCA9685 przejście z supla-device-25.6 na ver.25.11

rysieks
Posts: 30
Joined: Tue Feb 25, 2025 12:22 pm

Post

Mam działające na KC868-A16 + PCA9685 w wersji supla-device-25.6
Po przeniesieniu na wersję supla-device-25.11 nie mogę połaczyć przycisku (PCF8574) ze ściemniaczem (PCA9685),
wszytsko pozostałe działa (jest sterowanie ze strony apki).
W wersji supla-device-25.6 powiązania są następujące;

Code: Select all

    //========= dimmer configuration
    auto dimmer_6 = new Supla::Control::DimmerLeds(extpca, 6);
    dimmer_6->setStep(btnStep);
    dimmer_6->setFadeEffectTime(fadeEffect_);
    dimmer_6->setMinMaxIterationDelay(iterationDelay);
    
    //========= Button configuration
    auto button_6 = new Supla::Control::Button(extpcfS1, 6, true, true);

    //========= Button Akcje
    button_6->addAction(Supla::ITERATE_DIM_W, dimmer_6, Supla::ON_HOLD);
    button_6->addAction(Supla::TOGGLE, dimmer_6, Supla::ON_CLICK_1);
    button_6->setSwNoiseFilterDelay(100);
    button_6->repeatOnHoldEvery(repeatOnHoldValue);
    button_6->setMulticlickTime(multiclickTimeValue);

    //========= Action Trigger - Wyzwalacz Akcji
    auto at_6 = new Supla::Control::ActionTrigger();
    at_6->setRelatedChannel(dimmer_6);
    at_6->attach(button_6);
w wersji supla-device-25.11 - te ustawiania nie działają w stosunku do fizycznego buttona
Co robię źle, ewentulnie co należy dodać do konfiguracji ?
Po naciśnięciu przycisku na serialu mam tylko;

Code: Select all

Button[0] pressed
Button[0] released
w wersji 25.6 po naciśnieciu przycisku jest sekwencja;

Code: Select all

Button[0] pressed
Button[0] released
RGBWBase[17]: 0,0,0,0,100
 **** Analog write[-1], gpio: 6; value 613
 **** Analog write[-1], gpio: 6; value 715
 **** Analog write[-1], gpio: 6; value 817
 **** Analog write[-1], gpio: 6; value 919
 **** Analog write[-1], gpio: 6; value 1021
 **** Analog write[-1], gpio: 6; value 1023
A chciałbym jeszcze przejść na ver.26.4 bo jest możliwość sterowania LED CCT,
ale tam to już kompilator wyrzuca dużo różnych błedów.
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

Nic mi nie przychodzi do głowy. Także problem może być w kodzie, którego nie udostępniłeś, albo widoczny w logach, których nie udostępniłeś.

Wrzuć cały kod/logi. Jeśli nie chcesz na forum, to wyślij w PW.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
Bania
Posts: 107
Joined: Wed Jul 24, 2024 5:03 pm
Location: Bielsko-Biała
Has thanked: 5 times
Been thanked: 5 times

Post

Wersja 25.11 (changelog):

Add support for PCF8574 GPIO expander with Arduino example for Kincony KC868-A16 (thanks @lukfud)

https://github.com/SUPLA/supla-device/b ... 68-A16.ino
https://github.com/anarhbania/Supla
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

U kolegi expander działa, bo widać w logach "button pressed" itp. Własna implementacja expandera nie powinna się gryźć z tą bibliotekową, o ile nazwy są inne.
Najlepsze suple dla Twojego domu :mrgreen:
rysieks
Posts: 30
Joined: Tue Feb 25, 2025 12:22 pm

Post

Ok już przekazuję.
komplet; main_25_6.zip
działa prawidłowo na wersji supla-device-25.6 zgodnie z załozeniami.

komplet main_25_11.zip przygotowany do wersji supla-device-25.11
też działa prawidłowo oprócz powiązania buttona fizycznego ze ściemniaczem.
ściemniacz z poziomu apki działa prawidłowo
You do not have the required permissions to view the files attached to this post.
rysieks
Posts: 30
Joined: Tue Feb 25, 2025 12:22 pm

Post

Niewiem co było przyczyną, może jakieś ustawienia się zapisały w littleFs czy też podczas
kompilacje w platformio, czy w Cloud - w akcie desperacji zacząłem czyścić wszystko co możliwe i … zadziałało.

W międzyczasie przeszedłem do wersji supla-device-26.4. - I tu pytanie dla znających temat - ściemniacz CCT
Uruchomiłem w sposób następujący;

Code: Select all

  //============ CCT =======================================================================
  auto cctLed = new Supla::Control::LightingPwmLeds(
      nullptr,
      Supla::Io::IoPin(8, extpca),  // Brightness / Warm White (Kanał 8 PCA9685)
      Supla::Io::IoPin(9, extpca)   // Color Temperature / Cold White (Kanał 9 PCA9685)
      //Supla::Io::IoPin(-1),       // Red (brak)
      //Supla::Io::IoPin(-1),       // Green (brak)
      //Supla::Io::IoPin(-1)        // Blue (brak)
  );
  cctLed->setStep(btnStep);
  cctLed->setFadeEffectTime(fadeEffect_);
  cctLed->setMinMaxIterationDelay(iterationDelay);

  //========= Button configuration (4)
  button_[4] = new Supla::Control::Button(extpcfS1, 4, true, true);         // button config
  button_[4]->setSwNoiseFilterDelay(70);
  button_[4]->repeatOnHoldEvery(repeatOnHoldValue);
  button_[4]->setMulticlickTime(multiclickTimeValue);
  //========= Button configuration (5)
  button_[5] = new Supla::Control::Button(extpcfS1, 5, true, true);         // button config
  button_[5]->setSwNoiseFilterDelay(70);
  button_[5]->repeatOnHoldEvery(repeatOnHoldValue);
  button_[5]->setMulticlickTime(multiclickTimeValue);

  //=========== Button Akcje dla CCT
  button_[4]->addAction(Supla::TOGGLE, *cctLed, Supla::ON_CLICK_1);         // 1 klik = ON/OFF
  button_[4]->addAction(Supla::ITERATE_DIM_W, *cctLed, Supla::ON_HOLD);     // hold = Jasność
  button_[5]->addAction(Supla::TOGGLE, *cctLed, Supla::ON_CLICK_1);         // 1 klik = ON/OFF
  button_[5]->addAction(Supla::ITERATE_DIM_RGB, *cctLed, Supla::ON_HOLD);   // hold = kolor ?

  //========== Action Trigger - Wyzwalacz Akcji
  at_[0] = new Supla::Control::ActionTrigger();
  at_[0]->setRelatedChannel(cctLed);    // podpięcie urządzenia
  at_[0]->attach(button_[4]);           // podpięcie przycisku
  at_[0]->attach(button_[5]);           // Podpięcie drugiego przycisku pod wyzwalacz akcji
mam sterowanie z apki, sterowanie z buttona (4) wyłączenia i jasność,
brak mi sterowania koloru z buttona (5), przełączenie działa.
Czy można prosić o jakąś magiczną linię ?, jak w ogóle to jest możliwe,
a może to znowu jakiś chochlik ?
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

Sterowanie powinno być "jasnością koloru" a nie "koloru". Czy to miałeś na myśli?
Najlepsze suple dla Twojego domu :mrgreen:
rysieks
Posts: 30
Joined: Tue Feb 25, 2025 12:22 pm

Post

klew wrote: Wed Jul 22, 2026 9:17 am Sterowanie powinno być "jasnością koloru" a nie "koloru". Czy to miałeś na myśli?
mamy pojęcia;
// Brightness / Warm White --> czyli jasność w przypadku CCT
// Color Temperature / Cold White --> czyli barwa, odcień w przypadku CCT
jak dobrze to pojmuję.

butoon_[4] reguluje Brightness / Warm White --> czyli jasność w przypadku CCT i to robi poprawnie

Code: Select all

  button_[4]->addAction(Supla::TOGGLE, *cctLed, Supla::ON_CLICK_1);         // 1 klik = ON/OFF
  button_[4]->addAction(Supla::ITERATE_DIM_W, *cctLed, Supla::ON_HOLD);     // hold = Jasność
button_[5] ma w moim założeniu regulować Color Temperature / Cold White --> czyli barwa, odcień w przypadku CCT - a tego nie robi zgodnie z moim założeniem - stąd pytanie o taką funkcjonalność

Code: Select all

  button_[5]->addAction(Supla::TOGGLE, *cctLed, Supla::ON_CLICK_1);         // 1 klik = ON/OFF
  button_[5]->addAction(Supla::ITERATE_DIM_RGB, *cctLed, Supla::ON_HOLD);   // hold = Color Temperature / Cold Withe ?
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

rysieks wrote: Wed Jul 22, 2026 10:24 am
Tam jest "ITERATE *DIM* RGB" - czyli to jest rozjaśnianie/ściemnianie (czyli "iterowanie po jasności/dimmer") dla RGB.

Nie ma na razie regulacji koloru RGB, ani nie ma regulacji temperatury białego z poziomu przycisków.
Teoretycznie można dodać.
Najlepsze suple dla Twojego domu :mrgreen:
rysieks
Posts: 30
Joined: Tue Feb 25, 2025 12:22 pm

Post

klew wrote: Wed Jul 22, 2026 10:48 am
rysieks wrote: Wed Jul 22, 2026 10:24 am
Tam jest "ITERATE *DIM* RGB" - czyli to jest rozjaśnianie/ściemnianie (czyli "iterowanie po jasności/dimmer") dla RGB.

Nie ma na razie regulacji koloru RGB, ani nie ma regulacji temperatury białego z poziomu przycisków.
Teoretycznie można dodać.
czyli mamy na tą chwilę tylko 3 możliwości

Code: Select all

button_[5]->addAction(Supla::ITERATE_DIM_RGB, *cctLed, Supla::ON_HOLD);  // działa tylko dla taśmy RGB

button_[5]->addAction(Supla::ITERATE_DIM_ALL, *cctLed, Supla::ON_HOLD);  // działa tylko dla taśmy RGB

button_[5]->addAction(Supla::ITERATE_DIM_W, *cctLed, Supla::ON_HOLD);  // jasność dla taśmy CCT
i brak odpowiednika do mieszania kolorów (odcień, barwa) dla taśmy CCT ?
Dobrze by było gdyby była taka możliwość.

Return to “Arduino IDE”