Widgety za pomocą API

Masz pomysł na funkcjonalność lub koncepcję na rozwój projektu. Opisz wszystko tutaj.
User avatar
fracz
Posts: 2342
Joined: Fri Oct 28, 2016 10:56 pm
Location: Kraków
Has thanked: 4 times
Been thanked: 6 times

Post

Będąc zainspirowany jednym z fimlików który tu widziałem na forum i apilkacją https://play.google.com/store/apps/deta ... uestwidget napisałem dwa szybkie skrypty które pozwalają za pomocą nowego API w Supla 2.0 na zmianę stanu wybranego kanału lub odyczytanie temperatury. Widgety "reagują na dotyk", tj na dotknięcie zmienia się stan z ON na OFF i vice versa. Temperatura również odświeża się "na dotknięcie" ;-)

Aby nie każdy mógł wykonać skrypt, dodałem możliwość konfiguracji HTTP Basic Auth. Not perfect, ale na dobry początek mnie cieszy ;)

Skrypty do instalacji u siebie z małą instrukcją: https://github.com/fracz/supla-scripts
You do not have the required permissions to view the files attached to this post.
andras
Posts: 636
Joined: Fri Dec 30, 2016 5:51 pm
Has thanked: 2 times
Been thanked: 4 times

Post

Witam

Czy możesz mi to bardziej objaśnić , nie mogę sobie z tym poradzić .
Mam swój server na malince , czy katalog supla-scripts ma być w głównym katalogu ?
czy /home/pi ? . Oraz który to channel ? czy to jest lokalizacja ?
oraz czy config dobry :


define('SUPLA_SERVER', 'svr2.supla.org');
define('SUPLA_CLIENT_ID', '6_3o6yj6utmjac00o8s0wkgwc4kokw4k0og0oogokkxxxxxxxxxx');
define('SUPLA_SECRET', '5oa82j85et4w008s8kkwskocss4sg48w0ks0kwgkwokxxxxxxxxx');
define('SUPLA_USERNAME', 'api_6');
define('SUPLA_PASSWORD', '6l3GkdVFB37cjr64e4XXXXXXXXX');

define('HTTP_BASIC_USER', '');
define('HTTP_BASIC_PASSWORD', '');

pozdr
User avatar
michael
Posts: 1320
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Post

andras wrote: Wed May 10, 2017 8:50 am Witam

Czy możesz mi to bardziej objaśnić , nie mogę sobie z tym poradzić .
Mam swój server na malince , czy katalog supla-scripts ma być w głównym katalogu ?
czy /home/pi ? . Oraz który to channel ? czy to jest lokalizacja ?
oraz czy config dobry :


define('SUPLA_SERVER', 'svr2.supla.org');
define('SUPLA_CLIENT_ID', '6_3o6yj6utmjac00o8s0wkgwc4kokw4k0og0oogokkxxxxxxxxxx');
define('SUPLA_SECRET', '5oa82j85et4w008s8kkwskocss4sg48w0ks0kwgkwokxxxxxxxxx');
define('SUPLA_USERNAME', 'api_6');
define('SUPLA_PASSWORD', '6l3GkdVFB37cjr64e4XXXXXXXXX');

define('HTTP_BASIC_USER', '');
define('HTTP_BASIC_PASSWORD', '');

pozdr
Config wydaje się OK, tylko jeżeli masz swój serwer to adres serwera powinien być Twoim adresem, a nie serwera publicznego.
Katalog główny to ten z którego masz dostęp do www z poziomu przeglądarki. U mnie to
/var/www/html/web/
Jeżeli zrobiłeś wszystko zgodnie z instrukcją to powinno działać.

Mam za to inny problem - skonfigurowałem widget na telefonie do odczytu temperatury i po naciśnięciu go otrzymuję komunikat:

Code: Select all

java.security.cert.certpathvalidatorexception: trust anchor for certification path not found
Co mogę zrobić?
:mrgreen: :mrgreen: :mrgreen:
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Twoje Raspberry ma nieważny certyfikat. Możesz odwołać się po HTTP lub gdzieś w konfiguracji dodać ignorowanie sprawdzania certyfikatów.
SUPLA.... Nareszcie w domu.
andras
Posts: 636
Joined: Fri Dec 30, 2016 5:51 pm
Has thanked: 2 times
Been thanked: 4 times

Post

Ustawienia RESRful Api biorę z svr2.supla.org to chyba define('SUPLA_SERVER', 'svr2.supla.org'); jest ok
na malince mam wgrany katalog supla-scripts /home/pi/supla-scripts/
i jak wpisuję https://192.168.1.186/supla-scripts/temperature/28424 to dostaję :
Oops! An Error Occurred
The server returned a "404 Not Found".
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

prawdopodobniej błędny id kanału
SUPLA.... Nareszcie w domu.
andras
Posts: 636
Joined: Fri Dec 30, 2016 5:51 pm
Has thanked: 2 times
Been thanked: 4 times

Post

id kanału biorę z : https://svr2.supla.org/iodev/1313/28424/edit

na stronie wyswietla temperaturę
User avatar
pzygmunt
Posts: 20302
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Been thanked: 59 times

Post

Najwidoczniej katalog domowy w konfiguracji apache dla tego url-a jest w innym miejscu
SUPLA.... Nareszcie w domu.
andras
Posts: 636
Joined: Fri Dec 30, 2016 5:51 pm
Has thanked: 2 times
Been thanked: 4 times

Post

Przeniosłem do /var/www/html/web/supla-scripts/ i myślę że katalog dobry
bo jak wpisuję https://192.168.1.186/supla-scripts/
to mam

Index of /supla-scripts
[ICO] Name Last modified Size Description
[PARENTDIR] Parent Directory -
[ ] ConfiguredSuplaApiClient.php 2017-04-24 11:33 494
[ ] README.md 2017-04-24 11:33 3.3K
[ ] composer.json 2017-04-24 11:33 192
[ ] composer.lock 2017-04-24 11:33 1.5K
[ ] config.php 2017-05-10 21:24 387
[ ] http-basic-auth.php 2017-04-24 11:33 342
[DIR] scene/ 2017-05-10 16:49 -
[DIR] state-notifier/ 2017-05-10 16:49 -
[DIR] temperature-stats/ 2017-05-10 16:49 -
[DIR] temperature/ 2017-05-10 16:49 -
[DIR] thermostat/ 2017-05-10 16:59 -
[DIR] toggle/ 2017-05-10 16:49 -
Apache/2.4.25 (Raspbian) Server at 192.168.1.186 Port 443

a jak wpisuję https://192.168.1.186/supla-scripts/temperature/28429

to strona teraz jest pusta

a w chrome dostaję
Ta strona nie działa

Serwer 192.168.1.186 nie może teraz obsłużyć tego żądania.
HTTP ERROR 500
User avatar
michael
Posts: 1320
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Post

pzygmunt wrote: Wed May 10, 2017 1:00 pm Twoje Raspberry ma nieważny certyfikat. Możesz odwołać się po HTTP lub gdzieś w konfiguracji dodać ignorowanie sprawdzania certyfikatów.
Pokusiłem się o instalację certyfikatu SSL na swojej malince i widgety działają tak jak miały działać :)
Dzięki za wskazówki!
You do not have the required permissions to view the files attached to this post.
:mrgreen: :mrgreen: :mrgreen:

Return to “Pomysły i koncepcje”