SUPLA Scripts

User avatar
fracz
Posts: 1570
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Mon Oct 29, 2018 12:03 pm

Sibikk wrote:
Sun Oct 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
Posts: 26
Joined: Wed Oct 17, 2018 12:46 pm

Tue Oct 30, 2018 8:26 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ć?
Attachments
ubuntu-suplascript-error.PNG
ubuntu-suplascript-error.PNG (30.81 KiB) Viewed 2048 times
User avatar
fracz
Posts: 1570
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Tue Oct 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.
THEND
Posts: 26
Joined: Wed Oct 17, 2018 12:46 pm

Tue Oct 30, 2018 10:40 pm

fracz wrote:
Tue Oct 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.
Attachments
ubuntu-suplascript-error2005.PNG
ubuntu-suplascript-error2005.PNG (28.88 KiB) Viewed 2017 times
User avatar
fracz
Posts: 1570
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Tue Oct 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.
THEND
Posts: 26
Joined: Wed Oct 17, 2018 12:46 pm

Wed Oct 31, 2018 7:36 am

fracz wrote:
Tue Oct 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
Posts: 26
Joined: Wed Oct 17, 2018 12:46 pm

Wed Oct 31, 2018 7:46 am

Pytanie może banalne ale jak przenieść dane Supla scripts, Supla cloud z jednego serwera na drugi?
User avatar
fracz
Posts: 1570
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Wed Oct 31, 2018 9:14 am

viewtopic.php?f=23&t=3078 - czytaj: Kopia i Przywrócenie kopii. Dla skryptów jest analogicznie.
User avatar
fracz
Posts: 1570
Joined: Fri Oct 28, 2016 10:56 pm
Location: Rybna

Thu Nov 08, 2018 8:54 am

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ę):

Code: Select all

{{ 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:

Code: Select all

{{ 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:

Code: Select all

cd supla-scripts
git pull
git checkout v2.9
docker/suplascripts.sh restart
User avatar
michael
Posts: 957
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Thu Nov 08, 2018 8:58 am

:D
Kabel ucięty na miarę zawsze jest za krótki...
Post Reply