SUPLA Scripts

Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Sibikk pisze: ndz paź 28, 2018 8:33 pm Nie, ino skaczące kropki.
Problem pojawił się po zmianie urządzen w termostacie
Możliwe, że usunąłeś działające (wg termostatu) urządzenie? Jeśli tak, wyślij mi na priv URL termostatu.
THEND
Posty: 34
Rejestracja: śr paź 17, 2018 12:46 pm

Cześć, próbowałem zainstalować Supla script na Ubuntu 18.04. Instalacja przebiegła prawidłowo ale jest problem przy uruchomieniu (załącznik). Coś można z tym zrobić?
Załączniki
ubuntu-suplascript-error.PNG
ubuntu-suplascript-error.PNG (30.81 KiB) Przejrzano 4324 razy
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Zastosowałem się do sugestii z opisu podobnego błędu. Zrób git pull i spróbuj wystartować jeszcze raz.
THEND
Posty: 34
Rejestracja: śr paź 17, 2018 12:46 pm

fracz pisze: wt paź 30, 2018 9:26 pm Zastosowałem się do sugestii z opisu podobnego błędu. Zrób git pull i spróbuj wystartować jeszcze raz.
Zatrzymałem wszystko, usunąłem kontenery, zrobiłem "git pull" ale nadal błąd (załącznik). Tym razem inny.
Załączniki
ubuntu-suplascript-error2005.PNG
ubuntu-suplascript-error2005.PNG (28.88 KiB) Przejrzano 4293 razy
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Faktycznie, jak zainicjalizowało się wcześniej z zanową wersją to trzeba jeszce wywalić var/mysql/*.

Więc zrób jeszcze raz tak jak napisałeś, + przed wystartowaniem jeszcze wyczyść katalog var/mysql.
THEND
Posty: 34
Rejestracja: śr paź 17, 2018 12:46 pm

fracz pisze: wt paź 30, 2018 11:10 pm Faktycznie, jak zainicjalizowało się wcześniej z zanową wersją to trzeba jeszce wywalić var/mysql/*.

Więc zrób jeszcze raz tak jak napisałeś, + przed wystartowaniem jeszcze wyczyść katalog var/mysql.
Dziękuję za pomoc, teraz jest OK ;)
THEND
Posty: 34
Rejestracja: śr paź 17, 2018 12:46 pm

Pytanie może banalne ale jak przenieść dane Supla scripts, Supla cloud z jednego serwera na drugi?
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

viewtopic.php?f=23&t=3078 - czytaj: Kopia i Przywrócenie kopii. Dla skryptów jest analogicznie.
Awatar użytkownika
fracz
Posty: 2256
Rejestracja: pt paź 28, 2016 10:56 pm
Lokalizacja: Kraków

Korzystając z okazji musienia odstania swojego w kolejce w urzędzie, przeniosłem język warunków ze zdarzeń do skryptów.

Potencjalnie otwiera to nowe możliwości budowania bardziej skomplikowanych warunków powiadomień i odpowiedzi scen. Przykłady, co da się zrobić a nie dało się zrobić wcześniej:
  • dowolne łączenie warunków (pokaż powiadomienie gdy jedno coś jest otwarte a inne zamknięte, gdy coś jest włączone a temperatura gdzieś jest jakaś, itp)
  • stworzenie warunków w oparciu o procentowe otwarcia
  • odczytanie kolorów i jasności ze sterowników RGB, łącznie z możliwością zwrócenia przybliżonej nazwy wyświetlanego koloru (i znowu się wyda, że jestem daltonistą :lol: )
Ponadto, "nowy" język warunków nie jest już moim wymysłem, ale skorzystałem z gotowego rozwiązania: Twig. Wszystko, co więc jest w tej dokumentacji, powinno działać też tutaj (wyrażenia, pętle, funkcje, filtry). Pisanie tych warunków powinno tez być bardziej naturalne, bo większość "logiki" sprowadza się do pobrania stanu kanału, odczytania z niego żądanego pola i użycia operatora warunkowego do wyrenderowania żądanej odpowiedzi.

Samotłumaczące się przykłady (mam nadzieję):

Kod: Zaznacz cały

{{ state(1).on ? "zaświecone" : "zgaszone" }}
{{ state(2).temperature|number_format(1) }}°C
{{ state(3).humidity < 50 ? "sucho" : "wilgotno" }}
{{ state(4).hi ? "zamknięta" : "otwarta" }}
{{ state(5).brightness }}
{{ state(5).color_brightness }}
{{ state(5).color | colorNamePl }}

{{ state(5).color_brightness > 50 and state(5).color|colorNamePl == "czerwony" ? "jest romantycznie" : "jest nudno" }}
{{ state(2).temperature < 20 and state(5).color|colorNamePl == "czerwony" ? "musisz tu podgrzać, żeby było romantycznie" : "jest super" }}
{% if state(4).hi and state(2).temperature < state(6).temperature %}zamknij okno, bo zimno{% endif %}
roleta {% if state(10).shut == 0 %}zamknięta{%elseif state(10).shut < 10 %}prawie zamknięta{%elseif state(10).shut < 90 %}uchylona{% else %}otwarta{% endif %}
Żeby zobaczyć, co można wyciągnąć z danego kanału, można podglądnąć co zwraca API:

Kod: Zaznacz cały

{{ state(1)|json_encode|raw }}
Stary format warunków jest kompatybilny, więc nic nie powinno paść. Niemniej jednak najpierw zaczekam na jakiś feedback od właścicieli swoich instancji skryptów, zanim wrzucę je na moją instancję.

Aktualizacja:

Kod: Zaznacz cały

cd supla-scripts
git pull
git checkout v2.9
docker/suplascripts.sh restart
Awatar użytkownika
michael
Posty: 1299
Rejestracja: śr lis 09, 2016 8:00 am
Lokalizacja: Wojkowice

:D
:mrgreen: :mrgreen: :mrgreen:
Zablokowany

Wróć do „SUPLA Scripts”