Sceny za pomocą API

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

Post

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: 1299
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Post

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%
:mrgreen: :mrgreen: :mrgreen:
User avatar
fracz
Posts: 2256
Joined: Fri Oct 28, 2016 10:56 pm
Location: Kraków

Post

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: 1299
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Post

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.
:mrgreen: :mrgreen: :mrgreen:
User avatar
pzygmunt
Posts: 18356
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków

Post

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

Post

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: 1299
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Post

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 :)
:mrgreen: :mrgreen: :mrgreen:
User avatar
nowy1
Posts: 339
Joined: Fri Jul 01, 2016 11:51 am
Location: Warszawa

Post

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: 2256
Joined: Fri Oct 28, 2016 10:56 pm
Location: Kraków

Post

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

Post

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.

Return to “Pomysły i koncepcje”