Odczyt aktualnego stanu wilgotności z API

dominom
Posts: 10
Joined: Wed Jul 12, 2023 3:04 pm

Post

Witajcie,
Doradzcie mi bo chyba popełniam jakiś głupi błąd:

Mam kanał typu - Humidity Sensor

Wysyłam API request: url = f"{supla_server}/channels/{channel_id}"
W zwrotce nie dostaje wilgotności.

Code: Select all

Response: {'id': 17361, 'channelNumber': 0, 'caption': 'Czujnik Wilgotności Piwnica', 'type': {'id': 3036, 'name': 'HUMIDITYSENSOR', 'caption': 'Humidity Sensor'}, 'function': {'id': 42, 'name': 'HUMIDITY', 'caption': 'Humidity sensor', 'possible
VisualStates': ['default'], 'maxAlternativeIconIndex': 0, 'output': False}, 'altIcon': 0, 'hidden': False, 'subDeviceId': 0, 'conflictDetails': None, 'checksum': 'cf98f14aecf90f6f75bd830332fa9081', 'ownSubjectType': 'channel', 'inheritedLocation'
: False, 'possibleActions': [], 'relationsCount': {'channelGroups': 0, 'directLinks': 0, 'schedules': 0, 'sceneOperations': 0, 'scenes': 0, 'ownReactions': 4, 'managedNotifications': 0, 'actionTriggers': 0}, 'iodeviceId': 5692, 'locationId': 3400
, 'functionId': 42, 'userIconId': None, 'typeId': 3036, 'config': {'humidityAdjustment': 0}}


Wysyłam API request: url = f"{supla_server}/channels/{channel_id}/measurement-logs?order=DEC&limit=1&offset=0'"
W zwrotce dostaje stary pomiar wilgotności (na aplikacji jest inny):

Response: [{'date_timestamp': 1738437818, 'humidity': 34}]
Date: 2025-02-01 20:23:38)
Humidity: 34

W jaki sposób mogę odczytać aktualny pomiar?
User avatar
YoMan
Posts: 2924
Joined: Thu Apr 30, 2020 5:18 pm
Location: Częstochowa

Post

Na moje oko dostajesz poprawny pomiar. Ostatni zapisany.
Posta napisałeś o 8:30 a pomiar jest z 8:23 więc jest możliwość, że to ostatni zapisany. Zapis jest co 10 min. Aktualny pomiar musisz wziąć z linków bezpośrednich
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024
dominom
Posts: 10
Joined: Wed Jul 12, 2023 3:04 pm

Post

Dzieki wielkie, linki bezpośrednie działają prawidłowo!
Szkoda że z API się nie da :)

Code: 200
Response: {'connected': True, 'operational': True, 'humidity': 36}
Humidity: 36
User avatar
fracz
Posts: 2281
Joined: Fri Oct 28, 2016 10:56 pm
Location: Kraków

Post

Da się. Trzeba dodać do endpointa parametr include=state

Code: Select all

/api/v3/channels/ID?include=state

Return to “CLOUD”