Pełna jawność. Jestem związany z firmą ZAMEL i w tym artykule pojawiają się produkty tej firmy. Chcę podkreślić, że jest to moja prywatna inicjatywa, a opinie i treści są moje własne.
Autor tego artykułu nie odpowiada za jakiekolwiek konsekwencje wynikające z zastosowania tych informacji, a wszelkie działania podejmowane są na wyłączną odpowiedzialność czytelnika.
Zapoznaj się z treścią komunikatu: Wyłączenie odpowiedzialności
W pierwszej części artykułu przedstawiłem w jaki sposób pobrać najbardziej aktualne parametry z sieci elektrycznej za pomocą MS Excel. Serwer Supla umożliwia jednak trochę więcej. Możemy również pobrać historię naszego zużycia z urządzenia MEW-01 firmy ZAMEL.
Za pomocą zapytań REST API możemy pobrać do 5 000 ostatnich rekordów. W tej części wpisu chciałbym przedstawić w jaki sposób możemy to zrobić.
No to zaczynamy.
1. Uruchamiamy program MS Excel.

2. Logujemy się na nasze konto Supla: cloud.supla.org.
3. Po zalogowaniu się na nasze konto Supla przechodzimy do zakładki Integracje:

4. Następnie w zakładce Integracje wybieramy opcję Osobiste tokeny dostępowe i generujemy nasz token:

5. Generujemy osobisty token dostępowy z uprawnieniami do odczytu kanałów:

6. Po wybraniu opcji Generuj token powinien pojawić nasz kod, który zapisujemy w bezpiecznym miejscu:

7. W zakładce Dokumentacja API, możemy poznać polecenie do odczytu danych o zużyciu energii elektrycznej z naszego urządzenia MEW-01:

8. Przechodzimy do tej zakładki. Naszym oczom pojawi się pełna dokumentacja, gdzie możemy poznać pełną bibliotekę zapytań, które możemy skierować do serwera SUPLA. Na samym początku zachęcam przetestować nasz osobisty token dostępowy. W tym celu klikamy przycisk Authorize:

9. Wklejamy nasz token w pole BearerAuth (http, Bearer) i klikamy opcję Authorize:

10. Po poprawnym zalogowaniu zobaczymy okno, które możemy już zamknąć:

11. W bibliotece zapytań API, możemy przejść do polecenia:
GET/channels/{id}/measurement-logsGet measurement logs.

Jak widać będziemy potrzebować numer identyfikacyjny naszego urządzenia MEW-01. Pobierzemy go z zakładki Moja Supla przechodząc do szczegółów urządzenia MEW-01. U mnie jest to: 12792

Uzupełniamy dane zgodnie z rysunkiem poniżej. Na potrzeby testu wyciągamy tylko 1 wpis, którego ilość definiujemy w oknie limit. Klikamy na końcu przycisk Execute.

12. Po poprawnym wykonaniu zapytania powinniśmy otrzymać wynik:

13. Teraz czas na wykorzystanie tych danych w programie MS Excel. W tym będą nam potrzebne dane z okna. Polecam zapisać sobie je w notatniku:

14. W programie Excel przechodzimy do zakładki Dane i wybieramy opcję Z sieci Web. W tym oknie będą nas interesować zapytania Zaawansowane:

15. Wypełniamy dane wg schematu z wcześniej zapisanych informacji:
W miejscu części adresu URL ustawiłem limit na maksymalną wartość możliwą do pobrania czyli 5 000. Oznacza to, że pobierzemy 5 000 wpisów:
https://svr9.supla.org/api/v2.3.0/channels/12792/measurement-logs?limit=5000
W parametrach nagłówka żądania HTTP (opcjonalnie):
Accept application/json
Authorization Bearer NGU5OGI3MDkwNzk4NTlmMjY3YmRhZTE3NWM5NTBjMzQ0MmM3MjM3NDA4YjQ2YTQ0ZjVlNjAwY2YxMzA5NDcyOQ.aHR0cHM6Ly9zdnI5LnN1cGxhLm9yZw==

16. W kolejnym kroku możemy pobrać dane do Excel. Klikając OK. Powinniśmy teraz zobaczyć pobrane wszystkie rekordy w oknie Narzędzia do obsługi list:

17. Ok, w jaki sposób teraz pobrać te dane odpowiednio do naszego arkusza Excel? Spieszę z odpowiedzią. Prawym przyciskiem myszy wybieramy na liście rekordów opcję Do tabeli:

Następnie w kolejnym oknie wybieramy opcję OK:

Nasza lista została przekonwertowana na tabelę. Teraz wystarczy tylko rozwinąć kolumnę, aby zobaczyć wszystkie wyniki:



18. W kolejnym kroku zamienimy typ danych każdej z kolumn na liczbę dziesiętną i odpowiednio przerobimy naszą tabelę. Zastosowałem dla czasu prostą konwersję, pamiętaj, że nadal może być potrzebne dostosowanie czasu do stref czasowych. Dodam tu jeszcze kilka kolumn niestandardowych z zastosowaniem odpowiednich funkcji, tak aby dane były przyjazne w odczycie:




19. To było by na tyle. Już wiesz w jaki sposób pobrać historię pomiarów.
