Asynchronous Python API For Taipit Cloud Meters
Project description
aioTaipit
Asynchronous Python API for Taipit cloud meters.
Installation
Use pip to install the library:
pip install aiotaipit
Usage
import asyncio
from pprint import pprint
import aiohttp
from aiotaipit import SimpleTaipitAuth, TaipitApi
async def main(username: str, password: str) -> None:
"""Create the aiohttp session and run the example."""
async with aiohttp.ClientSession() as session:
auth = SimpleTaipitAuth(username, password, session)
api = TaipitApi(auth)
meters = await api.async_get_meters()
pprint(meters)
if __name__ == "__main__":
_username = "<YOUR_USER_NAME>"
_password = "<YOUR_PASSWORD>"
asyncio.run(main(_username, _password))
The SimpleTaipitAuth
client also accept custom client ID and secret (this can be found by sniffing the client).
This will return a price object that looks a little like this:
[{'address': 'Санкт-Петербург, Ворошилова, 2',
'category': 0,
'ecometerdata': {'P_aver': 0.21986280758339,
'P_averSmall': 0.15261778589793,
'P_averSmall_': 109.88480584651,
'P_aver_': 158.30122146004,
'P_aver_TF1': False,
'P_aver_TF2': False,
'P_aver_TF31': False,
'P_aver_TF32': False,
'P_aver_TF33': False,
'P_norm': 0.0066666666666667,
'currentTS': 1671485359,
'ecoStatus': None,
'lastReading': {'energy_a': 1004.85,
'energy_t1_a': 794.45,
'energy_t2_a': 210.4,
'energy_t3_a': 0,
'ts_tz': 1671483628,
'value': 0.02},
'meterCategory': 0,
'time': 1671485359,
'timezone': 3,
'trend': -48.41641561353,
'trendTF1': False,
'trendTF2': False},
'id': 2147485997,
'isLowDataFreq': False,
'isOwner': False,
'isVirtual': 0,
'metername': 'НЕВА МТ 114 (Wi-Fi) (22001110)',
'owner': {'peopleNumber': None, 'type': 0, 'typeCode': 'person'},
'serialNumber': '22001110',
'usericopath': '/uploads/user/photo/3edba895933a54540fbdb88614f24f480a9eeb68.png',
'username': 'Компания Тайпит',
'waterHot': False},
{'address': 'Санкт-Петербург, Ворошилова, 2',
'category': 0,
'ecometerdata': {'P_aver': 0.25422232030182,
'P_averSmall': 0.2494024938596,
'P_averSmall_': 179.56979557891,
'P_aver_': 183.04007061731,
'P_aver_TF1': False,
'P_aver_TF2': False,
'P_aver_TF31': False,
'P_aver_TF32': False,
'P_aver_TF33': False,
'P_norm': 0,
'currentTS': 1671485359,
'ecoStatus': None,
'lastReading': {'energy_a': 11595.62,
'energy_t1_a': 10420.94,
'energy_t2_a': 1174.68,
'energy_t3_a': 0,
'ts_tz': 1671483641,
'value': 0},
'meterCategory': 0,
'time': 1671485359,
'timezone': 3,
'trend': -3.4702750384005,
'trendTF1': False,
'trendTF2': False},
'id': 2147485996,
'isLowDataFreq': False,
'isOwner': False,
'isVirtual': 0,
'metername': 'НЕВА МТ 114 (Wi-Fi) (22001114)',
'owner': {'peopleNumber': None, 'type': 0, 'typeCode': 'person'},
'serialNumber': '22001114',
'usericopath': '/uploads/user/photo/3edba895933a54540fbdb88614f24f480a9eeb68.png',
'username': 'Компания Тайпит',
'waterHot': False}]
Timeouts
aiotaipit does not specify any timeouts for any requests. You will need to specify them in your own code. We recommend the async_timeout
package:
import async_timeout
with async_timeout.timeout(10):
all_readings = await api.async_get_meters()
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aiotaipit-2.0.1.tar.gz
(26.7 kB
view details)
Built Distribution
aiotaipit-2.0.1-py3-none-any.whl
(11.8 kB
view details)
File details
Details for the file aiotaipit-2.0.1.tar.gz
.
File metadata
- Download URL: aiotaipit-2.0.1.tar.gz
- Upload date:
- Size: 26.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 795e9c7dda489fc7a3ccc6b56ce9b87abda9ea4bb6de4e84ab5c6eca2a21825e |
|
MD5 | 6868a9b9cd8db05ce0101af99c6356a7 |
|
BLAKE2b-256 | 45dd06341ba9bc19de209b4a24175192f6297b2ca98f0e6d5c046cf3bdb9aebd |
File details
Details for the file aiotaipit-2.0.1-py3-none-any.whl
.
File metadata
- Download URL: aiotaipit-2.0.1-py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62e0996863eddc1600fa109fdae544590c109a0d92946b74000ea74dead2f0e1 |
|
MD5 | a6b8fd1740f5c85ea4798422bf960c8e |
|
BLAKE2b-256 | 6a6283948747ac15ed8fe516f1c8f71a395f6ef4745f55bd23460fa20f0e1370 |