Jak zrobić ustawianie głośności

[email protected]
Posts: 6
Joined: Thu Dec 14, 2023 11:50 pm

Post

Jak podejść do regulowania głośności? Chciałbym sterować głośnością multiroom audio. Supla device na Linuxie.

Potrzebuję kanału który umożliwia ustawianie i odczytywanie wartości liczbowej. Np 0 - 100%.

Początkowo chciałem użyć kanału Dimmer, potem pomyślałem o o Valve, ale nie wygląda to "czysto".

--
dziękuję i pozdrawiam, PS
User avatar
vajera
Posts: 7290
Joined: Wed Oct 31, 2018 7:58 am
Location: Biedrusko
Has thanked: 289 times
Been thanked: 161 times

Post

[email protected] wrote: Sun Sep 21, 2025 1:10 pm Jak podejść do regulowania głośności? Chciałbym sterować głośnością multiroom audio. Supla device na Linuxie.

Potrzebuję kanału który umożliwia ustawianie i odczytywanie wartości liczbowej. Np 0 - 100%.

Początkowo chciałem użyć kanału Dimmer, potem pomyślałem o o Valve, ale nie wygląda to "czysto".

--
dziękuję i pozdrawiam, PS
Valve i Dimmer mają bardzo rozbudowaną logikę wewnętrzną, więc najlepszym rozwiązaniem jest własna klasa Dimmer/Valve_Interface. Wtedy możesz wykorzystać widget w aplikacji, ale masz kontrolę nad przesyłem danych w obie strony.
Bramka Zigbee <=> SUPLA
Więcej informacji tutaj:
https://forum.supla.org/viewforum.php?f=127
FAQ https://forum.supla.org/viewtopic.php?t=17277
[email protected]
Posts: 6
Joined: Thu Dec 14, 2023 11:50 pm

Post

Dzięki!
User avatar
veeroos
Posts: 1081
Joined: Sun Mar 20, 2022 9:30 am
Location: Głogów
Has thanked: 1 time
Been thanked: 9 times

Post

popatrz jak ja zrobiłem regulację głośności w dzwonku do drzwi:

Code: Select all

#ifndef KLASA_DIMMER_H_
#define KLASA_DIMMER_H_
#include <supla/control/dimmer_base.h>
class Dimm : public Supla::Control::DimmerBase {
  public:
    Dimm(int Channel)
      : Channel(Channel) {
    }
    void setRGBWValueOnDevice(uint32_t red,
                              uint32_t green,
                              uint32_t blue,
                              uint32_t colorBrightness,
                              uint32_t brightness) {

        regulacja = map(brightness, 0, 1023, 0, 30);
        player.setVolume(regulacja);
    }
  protected:
    int Channel;
};

#endif
jest to biblioteka dodana do programu, klasa DIMM dziedziczy po klasie dimmera
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
[email protected]
Posts: 6
Joined: Thu Dec 14, 2023 11:50 pm

Post

Dzieki! Na razie próbuję na ValveBase, zobacze jak wyjdzie...

--
pozdrawiam, PS

Return to “supla-dev”