Nie działa automatyczne wykonywanie scen w oparciu o zmianę stanu kanałów

bob_
Posty: 43
Rejestracja: pn wrz 28, 2020 5:49 am

Dzięki za odzew!

Odpowiadając na Twoje pytania fracz (mam nadzieję, że prawidłowo je odczytuję):
- skrypty mam zainstalowane na własnym serwerze (docker), nie korzystam z supla.fracz.com
- przy pierwszym logowaniu się do skryptów użyłem tokena po czym nadałem login i hasło i teraz loguję się za ich pomocą,
- na ten moment logowanie kontem w Cloud mam nieaktywne, na czerwono komunikat: Instalacja skryptów nie posiada konfiguracji Oauth
- komenda, którą podałeś nie daje żadnego wyniku (pusty ekran)

Skonfigurowałem więc autoryzację i plik config.json w skryptach wg tej instrukcji: https://github.com/fracz/supla-scripts/ ... d-instance ale po wszystkim w ogóle nie odpala mi się ekran logowania. Zrobiłem to na obu serwerach, z pełnym restartem systemu i w obu przypadkach problem tren sam - nie otwiera się strona logowania. To znaczy niby się otwiera, jest tło, ale nie ma okna logowania, tylko te "skaczące" kropki jakby ciągle ładowało stronę...

Jaki adres mam podać zarówno w supla-cloud jak i pliko config.json jeśli moje skrypty mam odpalone w dockerze równolegle z suplą, przy czym do supli wchodzę na porcie 80 a do skryptów na innym (do tej pory działało to bez zarzutu)? Może tu jest problem?
I czy adres musi być https czy http?
karnasw
Posty: 187
Rejestracja: pt paź 02, 2020 10:22 am

Miałem tak samo, a że nie miałem za dużo scen skonfigurowanych to postawiłem dockera na nowo. Można pewnie jakoś pewnie to inaczej zrobić, ale nie wiedziałem jak. Ewentualnie zrobić kopię scen od strony bazy i postawić na nowo dockera i przywrócić.

Myślę jednak, że @fracz ma lepsze rozwiązanie na odpięcie tokena z dockera skryptów.
bob_
Posty: 43
Rejestracja: pn wrz 28, 2020 5:49 am

Ale instalowałeś na nowo tylko skrypty czy odinstalowywałeś całego dockera i robiłeś wszystko na nowo łącznie z clooud'em?
karnasw
Posty: 187
Rejestracja: pt paź 02, 2020 10:22 am

Tylko usunąłem kontener skryptów. Od razu skonfigurowałem config.json przed pierwszym startem kontenera.
bob_
Posty: 43
Rejestracja: pn wrz 28, 2020 5:49 am

Po dwóch próbach zrobiłem tak jak piszesz, to znaczy najpierw zmodyfikowałem plik config.json a dopiero potem odpaliłem po raz pierwszy skrypty. I faktycznie - mam okno logowania, wybieram zaloguj się swoim kontem Supla Cloud, podaję login i hasło, otwiera się strona z prośbą o nadanie autoryzacji, klikam POTWIERDŹ i następnie wyskakuje błąd:

Nie udało się nawiązać bezpiecznego połączenia

Podczas łączenia z serwerem „adresIP skrytpów” wystąpił błąd. SSL otrzymał rekord przekraczający największą dozwoloną długość.
Kod błędu: SSL_ERROR_RX_RECORD_TOO_LONG

:roll:

W integracjach clouda wygenerowałem więc jeszcze raz dostęp OAuth, tym razem podając adres IP jako HTTP:// (bez S) i to samo zrobiłem w config.json skryptów. Po potwierdzeniu autoryzacji tym razem mam coś takiego:

We could not authenticate you
For some reason, the SUPLA Cloud server did not issue an authentication token or it was invalid.

You may find this rather ugly response message helpful.
{"message":"Could not issue access token. Response status: 301 <!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n<html><head>\n<title>301 Moved Permanently</title>\n</head><body>\n<h1>Moved Permanently</h1>\n<p>The document has moved <a href=\"https://192........../oauth/v2/token\"> ... che/2.4.38 (Debian) Server at 192............ Port 80</address>\n</body></html>\n","reason":null}



EDIT:
dodam może, że nie używam certyfikatów (przy pierwszym logowaniu do Clouda jest ostrzeżenie przeglądarki o "ryzykownym" połączeniu), może to ma jakieś znaczenie?
karnasw
Posty: 187
Rejestracja: pt paź 02, 2020 10:22 am

Możliwe, że tak jest, ja mam ceryfikaty.
bob_
Posty: 43
Rejestracja: pn wrz 28, 2020 5:49 am

Jest skuteczna metoda jak to zrobić na działającym już dockerze (malina), czy musiałbym wszystko od zera stawiać?
karnasw
Posty: 187
Rejestracja: pt paź 02, 2020 10:22 am

Jak masz zewnętrzny IP to tak.
https://github.com/SUPLA/supla-docker
Sekcja "Launching in proxy mode"
Ja osobiście wybrałem NGINX Proxy Manager. Ustawienia w Supla dla proxy jak w poradniku, a instalacja Proxy Manager https://nginxproxymanager.com/guide/#quick-setup.

W ustawienia proxy supli w pilku docker-compose.proxy.yml trzeba zmienić name (nazwa sieci w dockerze utworzona razem z Proxy Manager)

Kod: Zaznacz cały

networks:
  proxy:
    external:
      name: nginx-proxy-manager_default
Dodajemy proxy hosts w managerze dla Supla i Scripts dla adresu w kontenerze.

Ale przed tym wszystkim oczywiście utworzenie własnej domenyi subdomen i przypisanie adresów do IP, przekierowania portów 80 i 443 itp. itd.
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

@karnasw, ekstra projekt! Dzięki za podzielenie się, nie znałem :-)

@bob_, wstrzymaj się ze stawianiem wszystkiego na nowo. Rozumiem, skąd wynikają problemy przy aplikacjach postawionych w tej samej sieci lokalnej. Paradoksalnie, OAuth działa "lepiej", jeśli aplikacje mają swoje domeny i są w logicznie innych miejscach - OAuth został zaprojektowany właśnie po to by takie aplikacje dogadać.

Pomyślę jak to rozwiązać, ale dajcie mi kilka dni.
bob_
Posty: 43
Rejestracja: pn wrz 28, 2020 5:49 am

fracz, to by było fantastycznie gdybym nie musiał tego od nowa stawiać. Czekam cierpliwie.

ps.
ja mam zewn. IP ale używam tylko po to żeby łączyć się po VPN, dlatego zawsze jestem w sieci lokalnej.
ODPOWIEDZ

Wróć do „SUPLA Scripts”