robię taki przykładowy link np
https://svr82.supla.org/api/v2.4.0/chan ... ement-logs
532 - numer kanału
https://svr82.supla.org/api/v2.4.0/chan ... logs/klucz
Też nie działa jak ma to wygladać ......
api supli
-
duszek
- Posts: 81
- Joined: Sat Nov 26, 2022 6:03 am
Chce pobrać dane z licznika impulsów o informacji ile w miesiącu zużyłem kw oraz jaki to koszt oraz takie informacje za jeden dzień ostatni …..
bo tylko mogę wyciągnąć z linku bezpośredniego informacje jak dałem w 1 poście ….. nie wiem jakiej metodę wykozystac ….
bo tylko mogę wyciągnąć z linku bezpośredniego informacje jak dałem w 1 poście ….. nie wiem jakiej metodę wykozystac ….
-
pzygmunt
- Posts: 20302
- Joined: Tue Jan 19, 2016 9:26 am
- Location: Paczków
- Been thanked: 59 times
Musisz użyć metody GET. Jako parametry musisz podać timestamp daty początkowej i w drugim żądaniu timestamp daty końcowej.
Limitujesz każde żądanie do jednego rekordu.
curl -X 'GET' \
'https://svrX.supla.org/api/v2.4.0/channels/Y/measurement-logs?afterTimestamp=Z&order=DESC&limit=1&offset=0' \
-H 'accept: application/json' \
-H 'Authorization: Bearer EFG'
Pod X podstawiasz numer serwera
Pod Y id kanału
Pod Z timestamp
Pod EFG token
Takie zapytanie zwraca jeden pomiar z historii. Nowszy odejmujesz od starszego i wiesz ile zużyłeś za dany okres.
Tak swoją drogą to te przykłady requestów generują Ci się same z poziomu dokumentacji API.
Limitujesz każde żądanie do jednego rekordu.
curl -X 'GET' \
'https://svrX.supla.org/api/v2.4.0/channels/Y/measurement-logs?afterTimestamp=Z&order=DESC&limit=1&offset=0' \
-H 'accept: application/json' \
-H 'Authorization: Bearer EFG'
Pod X podstawiasz numer serwera
Pod Y id kanału
Pod Z timestamp
Pod EFG token
Takie zapytanie zwraca jeden pomiar z historii. Nowszy odejmujesz od starszego i wiesz ile zużyłeś za dany okres.
Tak swoją drogą to te przykłady requestów generują Ci się same z poziomu dokumentacji API.
SUPLA.... Nareszcie w domu.
-
Lector
- Posts: 2471
- Joined: Fri Nov 17, 2017 2:26 pm
- Location: Poznań
- Has thanked: 13 times
- Been thanked: 25 times
Skąd wziąć token?pzygmunt wrote: Mon Feb 20, 2023 7:17 pm Musisz użyć metody GET. Jako parametry musisz podać timestamp daty początkowej i w drugim żądaniu timestamp daty końcowej.
Limitujesz każde żądanie do jednego rekordu.
curl -X 'GET' \
'https://svrX.supla.org/api/v2.4.0/channels/Y/measurement-logs?afterTimestamp=Z&order=DESC&limit=1&offset=0' \
-H 'accept: application/json' \
-H 'Authorization: Bearer EFG'
Pod X podstawiasz numer serwera
Pod Y id kanału
Pod Z timestamp
Pod EFG token
Takie zapytanie zwraca jeden pomiar z historii. Nowszy odejmujesz od starszego i wiesz ile zużyłeś za dany okres.
Tak swoją drogą to te przykłady requestów generują Ci się same z poziomu dokumentacji API.
Wcześniej w API było inaczej i miałem. Teraz potrzebuje na nowo i za chiny ludowe nie widzę.
viewtopic.php?t=14291
Niespełniony automatyk. 
https://3d-lamp.photos/
https://pool.lector.top/
https://3d-lamp.photos/
https://pool.lector.top/
-
cinas
- Posts: 650
- Joined: Sun Aug 14, 2022 6:59 am
- Location: Kaczory
- Has thanked: 3 times
- Been thanked: 7 times
Chce dodać automatyczne pobieranie danych z liczników do arkuszy google
GPT coś podpowiada ale nie czyta , mam błąd
Mam odpowiedź
TypeError: Cannot read properties of undefined (reading 'total_forward_energy')
Jak powinno wyglądać zapytanie ?
GPT coś podpowiada ale nie czyta , mam błąd
Code: Select all
function licznikSupla() {
var token = "Tu_token=";
var licznikID = 15955;
var url = "https://svrxx.supla.org/api/v2.3/channels";
var options = {
method: "get",
headers: {
Authorization: "Bearer " + token
}
};
var response = UrlFetchApp.fetch(url, options);
var data = JSON.parse(response.getContentText());
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
for (var i = 0; i < data.length; i++) {
if (data[i].id == licznikID) {
var energia = data[i].state.total_forward_energy;
sheet.appendRow([
new Date(),
energia
]);
break;
}
}
}
Mam odpowiedź
TypeError: Cannot read properties of undefined (reading 'total_forward_energy')
Jak powinno wyglądać zapytanie ?
-
cinas
- Posts: 650
- Joined: Sun Aug 14, 2022 6:59 am
- Location: Kaczory
- Has thanked: 3 times
- Been thanked: 7 times
Już działa czytanie z Mew 01
Code: Select all
function suplaEnergy() {
var token = "token=";
var channelId = "15955";
var url = "https://svrxx.supla.org/api/v2.3.0/channels/" + channelId + "?include=state";
var options = {
method: "get",
headers: {
Authorization: "Bearer " + token
}
};
var response = UrlFetchApp.fetch(url, options);
var data = JSON.parse(response.getContentText());
var phases = data.state.phases;
var totalEnergy =
phases[0].totalForwardActiveEnergy +
phases[1].totalForwardActiveEnergy +
phases[2].totalForwardActiveEnergy;
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
sheet.appendRow([
new Date(),
totalEnergy
]);
}
