Ogólne podejście do sterowania światłem

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
Awatar użytkownika
Hrumque
Posty: 275
Rejestracja: pn cze 27, 2022 10:11 am
Lokalizacja: Opole

Tak sobie myślę... BARDZO OGÓLNIE:
Dla urządzenia posiadającego "przekaźnik" - mamy podział na "Włącznik (czegoś)" , "Włącznik Oświetlenia" (oraz, wg mnie zbyteczne zupełnie jako oddzielna grupa "wyłącznik schodowy czyli czasowy").
Dla urządzeń typu "dimmer" mamy jeszcze rozbicie na Dimmer-ściemniacz, oraz RGB (oraz połączone oba w jednym urzadzeniu)

Może dałoby się przeorganizować całkowicie te podziały, tak by coś pożytecznego z tego wynikało?
0. Zostawić podział na "sterowanie urządzenia" oraz "sterowanie oświetlenia" - ale jako osobna kategoria wybierana dla urządzeń wszelkiego typu (by dało się ustawić kategorię "sterowanie oświetlenia" dla dimmerów, rgb, czasowych, nie-czasowych - wszystkich lamp), np. tak by dało się ustawić globalne (a proste) sterowanie "wyłącz wszelkie źródła światła bo wychodzę z domu", albo grupować sobie w apce (lub dawać dostęp rodzinie) tylko do sterowania oświetleniem, bez możliwości np omyłkowego wyłączania gniazdek GosundSP111 itp urządzeń których wcale nie chcemy wyłączać codziennie

1. wywalić całkowicie oddzielny byt "automat schodowy" - po prostu do każdego rodzaju urządzenia dodać możliwość włączania funkcji (lokalnego automatycznego, odliczanego w urządzeniu a nie w chmurze, ustawialnego z poziomu chmury, a przydałoby się też - aplikacji i GUI urządzenia) timera wyłączania czasowego. Do każdego - mam na myśli typu przekaźnik, ale też dimmer, dimmer rgb itp - po prostu możliwość odpalenia timera "odliczaj do zera i przejść w stan off".
Swoją drogą - fajnie jakby był lepszy zakres niż 1-7200sekund. Dla niektórych zastosowań 1-15s wydaje się rozsądne, a dla innych 3h jest za krótko... Więc może liczba + wybierana jednostka sekundy/minuty/godziny ?

2. Skoro mielibyśmy sterowanie oświetleniem jako osobny byt - przejść z On/Off wszędzie na wartość regulowaną. W sensie takim, że zamiast przesyłać status "włącz" i "wyłącz" to przesyłamy zawsze wartość jasności 0-255 (czy 0-100%?), jak dla dimmera.

3. do urządzenia przychodzi te 0-255, i:
a) Jeśli kanał docelowy w urządzeniu jest przekaźnikiem włącz-wyłącz, to samo urządzenie interpretuje wartość 0=wyłącz, wszystkie inne=włącz. (lub może w GUI to byśmy sobie ustawiali, bo może chcemy by dana lampka dopiero włączała się przy najwyższym poziomie jasności? albo w połowie?)
b) Jeśli kanał docelowy jest dimmerem PWM - to się reguluje jasność, jak teraz, normalnie...
c) Jeśli kanał docelowy jest RGB - to regulujemy jasność danej lampy rgb, niezależnie jaki kolor ma ustawiony (kolor = hue ustawiany po prostu drugim kanałem, też np 0-255, (zamiast oddzielnego R, G i B osobno - dałoby to możliwość fajnego sterowania RGB - osobno gałka koloru, osobno jasności, ale o tym dalej)
d) No i można by stworzyć 3ci rodzaj modułu - sterownik "żyrandolowy" w którym wybieramy ile mamy żarówek/źródeł (i tyle GPIO przypisujemy do kolejnych przekaźników/tyrysotorów itp), i wtedy dzieli zakres jasności na X kroków, tak by kolejne żarówki zapalały się przy kolejnych progach jasności. Tak by 255 (lub 100%) = wszystkie załączone.

4. Skoro mamy "analogową" regulację wszystkiego co świeci, to przydałoby by się definiowanie drugiej strony - STEROWANIA (włączników/regulatorów). Każdy kanał wejściowy po prostu modyfikuje wartość 0-255 (0-100%).
- jeśli jest to PRZEŁĄCZNIK - to w GUI i/lub chmurze definujemy między jakimi wartościami przełącza (domyślnie 0 i 100%)

- jeśli to jest PRZYCISK - to w GUI i/lub chmurze wybieramy akcję
a) "przełącz wartość" (j.w, np 0 oraz 100%, na zmianę) - czyli zachowuje się jak zwykły włącznik-wyłącznik, i przypięty do kanału typu przekaźnik - zachowuje się jak jego sterowanie, jak teraz. Ale równocześnie daje możliwość sterowania włącz-wyłącz lampką rgb, dimmerem czy czymś innym
b) "włącz/wyłącz" (i jaką wartość to ustawia) - wtedy można by ustawić jeden włącznik ustawiający na 100%, drugi pstryczek wyłączający (ustwaiający na 0%), a można by dać np 3 klawiszowy moduł, i każdy guzik ustawia inną jasność lub "scenę"
c) "modyfikuj wartość" - czyli to co dziś robi przycisk przypięty do dimmera - krótkie naciśnięcia przełączają off/wartość poprzednia, długie naciśnięcie powoduje jechaniem wartości do góry, kolejne naciśnięcie jechaniem w dół, a długie przytrzymanie - włącza przy wartości minimalnej.

- możliwość dodania modułów "gałkowych" - które z wejścia analogowego (potencjometr i opornik i podpięcie do wejścia analog ESP... bajecznie proste tanie! łatwa przeróbka obecnego ściemniacza, by zostawić "front" dopasowany do reszty w domu, a zmienic sterowanie pod spodem) czy enkodera obrotowego 2pin gpio - które po prostu zadają wartość 0-255 (lub modyfikują odczytaną, w górę/dół, dla enkodera). Daje to możliwość kręcenia gałką "analogowo" jak w klasycznym ściemniaczu - (i poza zwykłym sterowaniem dimmerem, jak ściemniaczem) - np załączania kolejnych żarówek jeśli to sterowanie przypięte do modułu wymienionego w 3d powyżej, albo dwa takie kanały - i sterowanie osobno jasnością, a osobno kolorem-barwą RGB/rgbw jeśli to 3c, itd.


Oczywiście rozumiem, że to ogromna zmiana koncepcji, i tego się nie wprowadzi prosto i szybko. Ale tak tylko zarysowuje pomysł.
Awatar użytkownika
Goral64
Posty: 3133
Rejestracja: pt gru 27, 2019 6:22 pm
Lokalizacja: Żerniki Wrocławskie
Kontakt:

Dla 0 przeznaczone są sceny.
Widzimy się na Supla Offline Party Season 2 :D

Obrazek
czort
Posty: 13
Rejestracja: pn maja 03, 2021 8:53 pm

Hrumque pisze: sob sty 14, 2023 1:38 pm d) No i można by stworzyć 3ci rodzaj modułu - sterownik "żyrandolowy" w którym wybieramy ile mamy żarówek/źródeł (i tyle GPIO przypisujemy do kolejnych przekaźników/tyrysotorów itp), i wtedy dzieli zakres jasności na X kroków, tak by kolejne żarówki zapalały się przy kolejnych progach jasności. Tak by 255 (lub 100%) = wszystkie załączone.
To można zrobić kilkoma liniami kodu rozszerzając klasę DimmerLeds. Mam tak zrobione sterowanie sześcioma lampkami led.
Awatar użytkownika
Hrumque
Posty: 275
Rejestracja: pn cze 27, 2022 10:11 am
Lokalizacja: Opole

czort pisze: czw lut 23, 2023 11:13 pm
Hrumque pisze: sob sty 14, 2023 1:38 pm d) No i można by stworzyć 3ci rodzaj modułu - sterownik "żyrandolowy" w którym wybieramy ile mamy żarówek/źródeł (i tyle GPIO przypisujemy do kolejnych przekaźników/tyrysotorów itp), i wtedy dzieli zakres jasności na X kroków, tak by kolejne żarówki zapalały się przy kolejnych progach jasności. Tak by 255 (lub 100%) = wszystkie załączone.
To można zrobić kilkoma liniami kodu rozszerzając klasę DimmerLeds. Mam tak zrobione sterowanie sześcioma lampkami led.
Ja też, podobnie. Zamiast "analog write" - ustawienie drabinki GPIO.
ALE - ja mogę sobie ściągnąć-sklonować GG firmware źródła, z-edytować j.w. i skompilować i wgrać.
Ale większość userów (po to zresztą online GG jest) tego nie zrobi.
Poza tym - zmieni się wersja GG, supla-device, coś będzie ulepszone itd - cała robota "na piechotę" grzebania w kodzie przerabiania - od nowa... A jakby to było uwzględnione na poziomie SuplaDevice (wg mnie - przydatne, choćby by dało się taki moduł-funkcjonalność uzyskać z poziomu modułu fabrycznego ROW-07, którego klient mógłby wrzucać do żyrandola?
ODPOWIEDZ

Wróć do „Pomysły i koncepcje”