Nie działa automatyczne wykonywanie scen w oparciu o zmianę stanu kanałów
-
- Posts: 2274
- Joined: Fri Oct 28, 2016 10:56 pm
- Location: Kraków
Wypuściłem update skryptów - biorę się za ten temat jako następny, ale pewnie dopiero po weekendzie.
-
- Posts: 34
- Joined: Thu May 13, 2021 2:50 pm
Witam. Jest może jakiś update do tematu? Bo nie ukrywam, że automatyzacja by się przydała działająca
-
- Posts: 34
- Joined: Thu May 13, 2021 2:50 pm
U mnie wygląda że ruszyło. Zmieniłem tylko adres http://suplascripts/api/state-webhook na https://xxxxxxxxx/api/state-webhook. Gdzie xxx to jest adres domeny, gdzie postawione są skrypty.
fracz wrote: Thu Feb 17, 2022 9:23 am No to jedźmy z testami. Ewoluuje pewnie z tego prosty poradnik, ale potrzebuję od Was testów "w terenie".
Rozwiązujemy nastepujący problem: skrypty i supla są uruchomione jako kontenery dockerowe działające w tej samej sieci dockerowej (w plikach .yml jest wskazanie na tę samą sieć, np. webproxy). Logujesz się do skryptów za pomocą Personal Access Tokenu, bez konfiguracji OAuth. Do tej pory nie było możliwe, by bez zewnętrznej domeny webhooki powiadomiły skrypty o zmianach stanu kanałów. Od wersji Clouda v2.3.37 staje się to możliwe.
Jak udowodnimy, że działa, to kroki 2 i 3 będą bardziej zautomatyzowane.
- Zaloguj się w skryptach i w swoim koncie znajdź swój identyfikator użytkownika. skrypty-id.png
- Ustal swoje hasło do hooków i zahashuj je za pomocą SHA1 (http://www.sha1-online.com/ wpisz jakieś hasło, mogą być totalnie przypadkowe znaki, ale zapamiętaj je na chwilę, kliknij HASH, dostaniesz 40-znakowy ciąg, który zaraz będzie potrzebny);
- Przejdź do linii komend gdzie uruchomione są dockery, przejdź do katalogu supla-scripts/docker i wykonaj poniższe polecenie, podmieniając TWOJE_HASLO_PRZED_HASHOWANIEM oraz TWOJ_ID_UZYTKOWNIKA
Code: Select all
source .env docker exec suplascripts-db mysql -u suplascripts --password=$DATABASE_PASSWORD suplascripts -e "UPDATE users SET webhookToken='TWOJE_HASLO_PRZED_HASHOWANIEM' WHERE id='TWOJ_ID_UZYTKOWNIKA'"
- Przejdź do katalogu supla-docker i wykonaj tam polecenie:
Code: Select all
docker-compose exec -u www-data supla-cloud php bin/console supla:user:webhook
- W interaktywnej komendzie podaj kolejno: twój adres e-mail z Clouda, adres http://suplascripts/api/state-webhook, a jako access token podaj 40-znakowy hash uzyskany wcześniej. Powinna pojawić się informacja o sukcesie. webhook-success.png
- Zaloguj się w skryptach tak jak do tej pory, przejdź do historii kanałów. Włącz/wyłącz jakieś urządzenie za pomocą aplikacji SUPLA, odśwież logi. Jeśli wpis w historii się pojawi - to znaczy że działa.
Dawajcie znać, co nie działa.
-
- Posts: 35
- Joined: Wed Aug 15, 2018 11:17 pm
Witam
Walczę żeby uruchomić webhook ale jakoś z marnym skutkiem
Dwie instancje instalowane od zera na docker suplascript 4.5.4 i suplacloud 22.07 do tego działający docker nginxproxymanager z kluczami ssl. Podstawa Ubuntu 22 na mini PC.
Autoryzacja między script a cloud przez token
I tutaj ładne wszystko działa, oprócz akcji na zmianę stanu.
Wykonałem to co jest powyżej w wątku w pierwszej kolejności wykorzystującą token przy loginie w script "Access Token dla webhooków"
na cloud kończyło się sukcesem ale nie działało
Następnie wykonałem to samo ale już generując sha1 niby wszystko skończyło się sukcesem na konsoli ale nadal nie działa,
próbę powtórzyłem z z http i https dla IP dockera suplasript (jeden serwerek z cloud) dla domeny zew
Chę monitorować kontrakton z bramy ZAMEL ROW-02 aby w nocy włączać podświetlenie garażu.
Jeżeli otworzę bramę, a w web script odświeżę czujnik ręcznie i dam wykonaj scene to dzieje się wszystko jak należy.
Ale z automatu nie działa.
Nie wiem jak zweryfikować czy integracja webhook działa prawidłowo.
wyzwalanie w oparciu o stan
{{not state(74).hi}} ----- supla script tak go widzi Sensor (normal open) ID74 samą bramę widzi Relay ID72 próbowałem też z ID 72
Warunek wykonania
{{not state(74).hi and state(74).connected}}
i to prowadzi do odpalenia kolejnej sceny w której sprawdzam godziny i czy podświetlenie jest on / not on i tyle.
Rozbiłem to na dwa kroki sugerując się wypowiedziami na forum.
Pozdrawiam
Walczę żeby uruchomić webhook ale jakoś z marnym skutkiem
Dwie instancje instalowane od zera na docker suplascript 4.5.4 i suplacloud 22.07 do tego działający docker nginxproxymanager z kluczami ssl. Podstawa Ubuntu 22 na mini PC.
Autoryzacja między script a cloud przez token
I tutaj ładne wszystko działa, oprócz akcji na zmianę stanu.
Wykonałem to co jest powyżej w wątku w pierwszej kolejności wykorzystującą token przy loginie w script "Access Token dla webhooków"
na cloud kończyło się sukcesem ale nie działało
Następnie wykonałem to samo ale już generując sha1 niby wszystko skończyło się sukcesem na konsoli ale nadal nie działa,
próbę powtórzyłem z z http i https dla IP dockera suplasript (jeden serwerek z cloud) dla domeny zew
Chę monitorować kontrakton z bramy ZAMEL ROW-02 aby w nocy włączać podświetlenie garażu.
Jeżeli otworzę bramę, a w web script odświeżę czujnik ręcznie i dam wykonaj scene to dzieje się wszystko jak należy.
Ale z automatu nie działa.
Nie wiem jak zweryfikować czy integracja webhook działa prawidłowo.
wyzwalanie w oparciu o stan
{{not state(74).hi}} ----- supla script tak go widzi Sensor (normal open) ID74 samą bramę widzi Relay ID72 próbowałem też z ID 72
Warunek wykonania
{{not state(74).hi and state(74).connected}}
i to prowadzi do odpalenia kolejnej sceny w której sprawdzam godziny i czy podświetlenie jest on / not on i tyle.
Rozbiłem to na dwa kroki sugerując się wypowiedziami na forum.
Pozdrawiam
-
- Posts: 230
- Joined: Sat Mar 10, 2018 7:32 pm
Jak wygląda sytuacja na dziś? Właśnie postawiłem scripts lokalnie obok Clouda i nie działa mi historia stanów oraz wykonywanie scen w oparciu o zmianę stanu kanału, w pierwszym logowaniu użyłem token, czy to oznacza że wszystko od nowa?
-
- Posts: 34
- Joined: Thu May 13, 2021 2:50 pm
Czy uzywacie swojego serwera supli? Bo wpisany adres domeny musi byc identyczny jak adres domeny w konfiguracji supla cloud.
-
- Posts: 82
- Joined: Sat Feb 06, 2021 1:35 pm
Ręce już mi opadają
Spędziłem około 40 godzin i nie udało mi się tego uruchomić w sieci lan nie działają sceny.
Robię dokładnie jak jest opisane tu!
https://github.com/fracz/supla-scripts/ ... d-instance
To nie działa.
Jak można powiązać supla script by działały sceny poprawnie?
Spędziłem około 40 godzin i nie udało mi się tego uruchomić w sieci lan nie działają sceny.
Robię dokładnie jak jest opisane tu!
https://github.com/fracz/supla-scripts/ ... d-instance
To nie działa.
Jak można powiązać supla script by działały sceny poprawnie?
-
- Posts: 82
- Joined: Sat Feb 06, 2021 1:35 pm
Udało się do wszystko uruchomić w sieci LAN
Działa bez serwera proxy, na jednym adresie IP.
supla docker + SUPLA Scripts
Działa automatyczne wykonywanie scen w oparciu o zmianę stanu kanałów.
Przekierowując port działa tez z zewnętrznego IP.
Podpisując certyfikat strona otworzy się poprawnie.
Czy komuś przyda się opis jak to poskładać by działało?
Za bardzo nie mogę zrozumieć po co ten serwer proxy? czemu on ma służyć w tym przypadku?
Działa bez serwera proxy, na jednym adresie IP.
supla docker + SUPLA Scripts
Działa automatyczne wykonywanie scen w oparciu o zmianę stanu kanałów.
Przekierowując port działa tez z zewnętrznego IP.
Podpisując certyfikat strona otworzy się poprawnie.
Czy komuś przyda się opis jak to poskładać by działało?
Za bardzo nie mogę zrozumieć po co ten serwer proxy? czemu on ma służyć w tym przypadku?