Welcome to Smart Home Forum by FIBARO
Dear Guest,
as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.
As a member you can:
- Start new topics and reply to others
- Follow topics and users to get email updates
- Get your own profile page and make new friends
- Send personal messages
- ... and learn a lot about our system!
Regards,
Smart Home Forum by FIBARO Team
Question
nadol 2
Dzień dobry, cześć wszystkim.
Ponieważ to jeden z moich pierwszych postów (pomijając przywitanie i to co mogłem gdzieś sam pomóc), nie bardzo wiedziałem gdzie ten post umieścić i czy w tym miejscu wstawiłem go prawidłowo. Szukam tutaj wśród Was, pomocy w kilku linijkach LUA odnośnie do małego przycisku, który… no właśnie, zamiar jest prosty, ale nie mogę sobie z nim poradzić, ponieważ nigdy nie programowałem.
Mam VD do sterowania API, bardzo fajnego MPD – Volumio2. Wszystko super działa, ale chciałbym dorzucić jeden przycisk, którym mógłbym startować skonfigurowane wcześniej w Volumio playlisty.
Mam przykładowo 4 playlisty o nazwach: deep, Mozart, energy, ladies.
Aby wystartować taką playlistę muszę wysłać poprzez api następującą komędę, która działa i startuje playlistę energy:
(...)
local response = http:GET("/api/v1/commands/?cmd=playplaylist&name=Energy_Bern");
-- („Energy_Bern” to nazwa mojej zdefiniowanej playlisty w Volumio, dla której przypisałem sobie zmienną globalną „energy” w HC2)
Teraz od strony logicznej, mój zamysł był następujący, jeżeli obecnie gra zmienna deep, to przypisz kolejną zmienną np. ladies, a następnie wyślij komendę uruchamiającą playlistę ladies itd…
Na ten przykład wstawiłem (podglądając podobne "Wasze" rozwiązania) takiego IF'a
Please login or register to see this code.
Działa doskonale, ale tylko dla dwóch playlist, dalej pojawia się haczyk, którego nie mogę przeskoczyć, z jeden strony logiczny, z drugiej brak doświadczenia w programowaniu.
Najpierw dodałem składnię elseif, ale się nie wykonywał else itd., później dodałem drugie takie samo IF z kolejnymi zmiennymi, ale oczywiście przechodziło przez blok i kończyło na jednej playliście, to logiczne.
Dalej próbowałem opcji return w funkcji, albo goto label, ale za każdym razem wywala mi błędy bądź nie działa. While z true, falsem itd, ale wyrzuca błędy przy wyjściu "goto exit", więc nie wiem jak wyjść z bloku, który zostanie już spełniony
Please login or register to see this code.
Czy byłby ktoś tak dobry i rzuciłby na to okiem? Może z Waszym doświadczeniem da się to jakoś łatwo ogarnąć.
PS Myślałem jeszcze o podstawieniu zmiennej z nazwą playlisty do wysyłanej komendy: cmd=playplaylist&name=zmienna_z_nazwa_playlisty
ale nie mam już pojęcia jak tego dokonać. Za wszelkie wskazówki będę szalenie wdzięczny.
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.