Termostat 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

Prosty termostat za pomocą API. https://github.com/fracz/supla-scripts/ ... thermostat

Konfigurujemy dostęp do API w pliku /config.php.

W configu termostatu /thermostat/config.php wpisujemy
  • id kanałów które są termometrami (z wielu temperatur obliczona będzie średnia arytmetyczna)
  • id kanału odpowiedzialnego za załączanie pieca
  • temperaturę od której ma się zacząć grzać
  • temperaturę do której ma się grzać
Dodajemy skrypt do crontaba, np:

*/5 * * * * /usr/bin/php /home/supla/supla-scripts/thermostat/thermostat.php

i cieszymy się suplatermostatem w wersji biedak-deluxe.
User avatar
michael
Posts: 1320
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Post

Super... myślę, że nawet sobie z tym poradzę tylko napisz mi proszę gotowca jak mam skonfigurować dostęp do API :)
:mrgreen: :mrgreen: :mrgreen:
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

O tu: https://github.com/fracz/supla-scripts/ ... php.sample

Zamień to na config.php, wypełnij dobrymi wartościami i ma działać :-)
User avatar
michael
Posts: 1320
Joined: Wed Nov 09, 2016 8:00 am
Location: Wojkowice

Post

O! Dzięki :D Coś czuję, że Salus pójdzie na Allegro :D
:mrgreen: :mrgreen: :mrgreen:
andras
Posts: 636
Joined: Fri Dec 30, 2016 5:51 pm
Has thanked: 2 times
Been thanked: 4 times

Post

Witam

Mam pytanie , czy żeby uruchomić skrypt trzeba mieć własny serwer ?

pozdr
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

Do uruchomienia skryptów - tak. Nawet nie serwer, zwykły jakiś mini shared hosting wystarczy. Natomiast z clouda można korzystać oficjalnego, nie trzeba mieć swojego.

Mogę też zaoferować uruchomienie komuś na moim vps, bo to obciążenie żadne. Ale niestety musiałbym dostać dane do API... ;-)
vcompl
Posts: 158
Joined: Mon Apr 11, 2016 1:32 pm

Post

Mam problem z uruchomnieniem na svr1.supla.org skryptów, które działały i nadal działają na beta-cloud.supla.org

Nie jest tworzony obiekt wg klasy SuplaCloudClient ale też SuplaApiClient (skrypty - fracz'a)

W obu wypadkach dostaję błąd - ------ Error ------ string(9) "HTTP: 400"

aktualne dane do połączenia clientId, Secret, user pobrane z svr1.supla.org oczywiście.

Co można sprawdzić?
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

HTTP 400 brzmi tak jakbyś chciał wykonać akcję na kanale który jej nie wspiera (np. włączyć bramę albo zamknąć światło).
vcompl
Posts: 158
Joined: Mon Apr 11, 2016 1:32 pm

Post

Po włączeniu debugowania dostaję bardziej konkretny komunikat:

string(89) "{"error":"invalid_grant","error_description":"Invalid username and password combination"}" bool(false) ------ Error ------ string(9) "HTTP: 400"

jeszcze raz przepisałem dane z https://svr1.supla.org/api-settings, ponownie wygenerowałem hasło, zapisałem wynik

rozumiem, że wskazuje na nieprawidłowe username api_ (po _ numer użytkownika) + password, to które się generuje na ww wskazanej stronie.

Co można jeszcze sprawdzić?
vcompl
Posts: 158
Joined: Mon Apr 11, 2016 1:32 pm

Post

Odpowiadam sam sobie ;) błąd trywialny - RESTful API nie było włączone. Ale z drugiej strony komunikat błędu był całkowicie mylący...

Return to “Pomysły i koncepcje”