Sceny za pomocą API

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
User avatar
fracz
Posts: 1589
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Mon Apr 24, 2017 5:28 pm

Po instalacji https://github.com/fracz/supla-scripts#scenes przygotowujemy sobie scenę do wykonania w formacie

kanal1-akcja1,kanal2-akcja2

Mając takie coś, możemy wykonać request do skryptu aby wykonał scenę, np: your-server.com/supla-script/scenes/123-turnOff,124-turnOff,125-turnOff,126-turnOn i wszystko się powinno wykonać. Dostępne i przetestowane akcje póki co: turnOn, turnOff, shut, reveal, autoClose.

Taki skomplikowany adres podpinamy do widgetu w telefonie (viewtopic.php?f=9&t=2045) i nazywamy go "IDĘ SPAĆ" i od dziś idziemy spać spokojnie.
User avatar
michael
Posts: 978
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Tue Apr 25, 2017 5:46 am

Piękna sprawa :mrgreen: Dzięki za te skrypty, zabieram się do ich instalacji. Brakuje mi tylko aktualizacji "malinki" do wersji 2.0 żeby już to ogarnąć na 100%
Kabel ucięty na miarę zawsze jest za krótki...
User avatar
fracz
Posts: 1589
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Sat May 13, 2017 7:54 pm

Na githubie zmieniłem format scen. Wcześniejszy

kanal1-akcja1,kanal2-akcja2

To teraz

akcja1,kanal1|akcaj2,kanal2

Zmiana miała na celu wprowadzenie dodatkowych argumentów. Teraz można do sceny dodać np. RGB. Komenda:

setRGB,122,16711680,100|turnOff,123

Włączy nam kanał 123 i ustawi na kanale 122 kolor czerwony* (16711680) i jasność 100%.

*) WTF? 16711680 to czerwony?
Tak. Jest to wartość dziesiętna z koloru zapisanego w hex. Można przeliczać tu: https://www.shodor.org/stella2java/rgbint.html (interesuje nas wartość RGB int).

BONUS: Sceną korzystającą z API można ustawić kolor biały na taśmie RGB bez białego (z aplikacji się nie da) :) Biały to 16777215.
User avatar
michael
Posts: 978
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Thu May 18, 2017 12:55 pm

Przydałaby się jeszcze scena, która na podstawie wartości wilgotności włączała obwód, coś w stylu napisanego już termostatu, ale na wigotność.
Coś takiego miałbym w łazience i w piwnicy. Włączałoby to wentylatory wyciągające wilgoć i wyłączały po osiągnięciu zadanej wartości.
Kabel ucięty na miarę zawsze jest za krótki...
User avatar
pzygmunt
Posts: 6932
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Thu May 18, 2017 1:55 pm

To już nie scena tylko "zdarzenie/logika" ;)
User avatar
fracz
Posts: 1589
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Thu May 18, 2017 7:30 pm

Tak, to faktycznie nie scena i żeby to zrobić dobrze, musi być sensowniejsze wsparcie od core supli.

Natomiast z wilgotnością to faktycznie można by napisać coś tak łopatologicznego jak ten termostat, tj skrypt uruchamiany crontabem który sprawdza co jakiś czas jaka jest wilgotność i coś robi gdy jest nie taka jak ma być. Postaram się napisać coś generycznego tak by dało się to ogarnąć konfiguracją. Natomiast miałem plan ten termostat rozwijać dopiero jesienią (tj. wprowadzić np. dni tygodnia, godziny itp), jak się okaże że nie ma jeszcze "oficjalnego" termostatu w supli.

To, czego za pomocą API nie jesteśmy w stanie ogarnąć na chwilę obecną to wykrywanie takich zdarzeń, które trwają krótko (np. zrób coś gdy czujka coś zobaczyła). Tutaj musimy dodać zdarzenia do supli :-)
User avatar
michael
Posts: 978
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Fri May 19, 2017 5:59 am

No takie zdarzenia byłyby super. Już sobie wyobrażam integrację z czujkami alarmowymi, które wykrywają ruch i odpalają w zależności od pory dnia, czujnika zmierzchu jakieś sceny świetlne w poszczególnych pomieszczeniach :)
Kabel ucięty na miarę zawsze jest za krótki...
User avatar
nowy1
Posts: 322
Joined: Fri Jul 01, 2016 11:51 am
Location: Warszawa

Tue May 23, 2017 2:39 pm

fracz wrote:
Sat May 13, 2017 7:54 pm
Na githubie zmieniłem format scen. Wcześniejszy

kanal1-akcja1,kanal2-akcja2

To teraz

akcja1,kanal1|akcaj2,kanal2

Zmiana miała na celu wprowadzenie dodatkowych argumentów. Teraz można do sceny dodać np. RGB. Komenda:

setRGB,122,16711680,100|turnOff,123

Włączy nam kanał 123 i ustawi na kanale 122 kolor czerwony* (16711680) i jasność 100%.

*) WTF? 16711680 to czerwony?
Tak. Jest to wartość dziesiętna z koloru zapisanego w hex. Można przeliczać tu: https://www.shodor.org/stella2java/rgbint.html (interesuje nas wartość RGB int).

BONUS: Sceną korzystającą z API można ustawić kolor biały na taśmie RGB bez białego (z aplikacji się nie da) :) Biały to 16777215.


a jak dodać by wyłączyło rgb ?
User avatar
fracz
Posts: 1589
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Tue May 23, 2017 3:46 pm

Ustaw jasność na 0 (ostatnia liczba).
moondec
Posts: 28
Joined: Sun Oct 30, 2016 7:54 pm

Tue May 23, 2017 10:37 pm

fracz wrote:
Sat May 13, 2017 7:54 pm

setRGB,122,16711680,100|turnOff,123
A da się ustawić ściemniacz pod który podłączone są białe diody (mam RGBW) turnON nie działa. Może coś przeoczyłem, czy to nie jest zaimplementowane? Swoją drogą jestem pod wrażeniem tych skryptów, super.
Post Reply