Dzięki pomysłom kolegi @Kaowiec oraz własnym prywatnym zachciankom, udało mi się poudawać zdarzenia w Supli. Pomysł jest prosty: skrypt w trybie ciągłym monitoruje stan kanałów i reaguje na zadane warunki.
Filmik: https://youtu.be/kHakEZzv-i0
Instalacja opisana tu: https://gist.github.com/fracz/9aa9923ae ... f09113fa63
Potrzebujesz swojej instalacji Clouda. Rozwiązanie nie może być wprowadzone na oficjalnych serwerach ze względu na konieczność rozszerzenia kodu SUPLA-Cloud oraz fakt, że konfiguracja dostarczana jest bezpośrednio na serwer w formie pliku.
Stan tego "czegoś" uznaję obecnie za prototypowy, choć alfa testy już były (dzięki @Kaowiec i @michael)
SUPLA Events - "zdarzenia"
-
- Posty: 11
- Rejestracja: pt sie 24, 2018 1:41 pm
Rewelacja ! A na https://supla.fracz.com zdarzenia się pojawią w najbliższym czasie ?
To jest rozwiązanie przejściowe. Eventy będą natywnie obsługiwane przez cloud.supla.org ale zupełnie na innej zasadzie.
Będą to zdarzenia generowane w czasie rzeczywistym czyli bez opóźnienia i sprawdzania w cronie stanów.
Będą to zdarzenia generowane w czasie rzeczywistym czyli bez opóźnienia i sprawdzania w cronie stanów.
Dokładnie!
Przeczytaj pierwszy post (takie zdanie na czerwono).maciej_bart pisze: ↑pt wrz 14, 2018 9:23 am Rewelacja ! A na https://supla.fracz.com zdarzenia się pojawią w najbliższym czasie ?
Zadam to wielokrotnie powtarzane pytanie. Kiedy możemy się spodziewać wdrożenia na serwerach produkcyjnych?
No chyba, że coś pomyślisz, żeby zakładka "Zdarzenia" pojawiała się, ale tylko gdy spełniony w danych do API jest wpisany inny serwer niż cloud.supla.orgfracz pisze: ↑pt wrz 14, 2018 10:34 amPrzeczytaj pierwszy post (takie zdanie na czerwono).maciej_bart pisze: ↑pt wrz 14, 2018 9:23 am Rewelacja ! A na https://supla.fracz.com zdarzenia się pojawią w najbliższym czasie ?
Cześć.
Walczę z Supla Events. Może opiszę mój pomysł, bo nie widać dużego zainteresowania, a to może kogoś zainspiruje.
Założyłem sobie elektrozawór przy głównym zaworze wody żeby zamykać np przy wyjeździe na wakacje, lub przy załączeniu alarmu. Z elektrozaworu wychodzą 3 przewody. Wspólna masa i +12V na jeden to zamyka, lub na drugi to otwiera zawór. Niby wszystko proste . Jeden przewód do styków NC przekaźnika, a drugi do styków NO i po temacie, ale nie chciałem żeby np przy zamkniętym zaworze cewka cały czas była pod napięciem, lub przy awarii cewki zawór mi się otworzył bez mojej wiedzy. Zrobiłem więc tak: na D1 relay z pamięcią stanu niepodłączony nigdzie i jeszcze 2 relay na D2 i D6 podłączone już pod cewki przekaźnika. Na Supla Scripts zrobiłem scenę, ze jak włączę przełącznik D1 to wyłącza D6 i załącza na 60s D2. Jak wyłączę D1 to wyłącza D2 i na 60 s włącza D6. Zabezpiecza mi to żeby jednocześnie na D2 i D6 nie pojawiło się napięcie przy szybkim przełączaniu D1. Wszystko pięknie- sceny z linków działają, tylko jak je teraz wywoływać? Z pomocą przyszedł SUPLA Events Z edytowałem skrypt
zrobiłem
ale sceny się nie odpalają. Czy coś robię nie tak?
Zaznaczam, że po wklejeniu linku w przeglądarkę scena się uruchamia.
Walczę z Supla Events. Może opiszę mój pomysł, bo nie widać dużego zainteresowania, a to może kogoś zainspiruje.
Założyłem sobie elektrozawór przy głównym zaworze wody żeby zamykać np przy wyjeździe na wakacje, lub przy załączeniu alarmu. Z elektrozaworu wychodzą 3 przewody. Wspólna masa i +12V na jeden to zamyka, lub na drugi to otwiera zawór. Niby wszystko proste . Jeden przewód do styków NC przekaźnika, a drugi do styków NO i po temacie, ale nie chciałem żeby np przy zamkniętym zaworze cewka cały czas była pod napięciem, lub przy awarii cewki zawór mi się otworzył bez mojej wiedzy. Zrobiłem więc tak: na D1 relay z pamięcią stanu niepodłączony nigdzie i jeszcze 2 relay na D2 i D6 podłączone już pod cewki przekaźnika. Na Supla Scripts zrobiłem scenę, ze jak włączę przełącznik D1 to wyłącza D6 i załącza na 60s D2. Jak wyłączę D1 to wyłącza D2 i na 60 s włącza D6. Zabezpiecza mi to żeby jednocześnie na D2 i D6 nie pojawiło się napięcie przy szybkim przełączaniu D1. Wszystko pięknie- sceny z linków działają, tylko jak je teraz wywoływać? Z pomocą przyszedł SUPLA Events Z edytowałem skrypt
Kod: Zaznacz cały
pi@raspberrypi:~ $ nano events.yml
GNU nano 2.7.4 File: events.yml
events:
- condition: state(313).on # when the channel with ID324 changes its state to ON
webhooks: https://moja.domena/api/scenes/public/9d2f9dcc-6206-4db2-94a5-6118fdeb6737 # execute this url
- condition: not state(313).on # when the channel with ID324 changes its state to OFF
# time_conditions: ["* 19-20 * * *", "30-59 6 * * *"] # only between 19:00-20:59 and 6:30-6:59
webhooks: https://moja domena/api/scenes/public/29ec3b7f-6798-439e-a8c3-076f49a57318 # execute these urls one by one
# - condition: state(666).hi # when the gate channel with ID 666 is opened
# webhooks: https://supla.fracz.com/api/scenes/public/0da4dbbb-5bfd-4fad-8e3c-aaa
Kod: Zaznacz cały
pi@raspberrypi:~ $ docker cp events.yml supla-cloud:/var/www/cloud/src/SuplaBundle/Command/events.yml
Zaznaczam, że po wklejeniu linku w przeglądarkę scena się uruchamia.