File: all_output.py

package info (click to toggle)
python-autarco 3.2.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 808 kB
  • sloc: python: 742; makefile: 3
file content (70 lines) | stat: -rw-r--r-- 2,397 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
"""Asynchronous Python client for the Autarco API."""

import asyncio

from autarco import AccountSite, Autarco, Battery, Inverter, Site, Solar


async def main() -> None:
    """Test."""
    async with Autarco(
        email="test@autarco.com",
        password="password",
    ) as autarco:
        account_sites: list[AccountSite] = await autarco.get_account()

        inverters: dict[str, Inverter] = await autarco.get_inverters(
            account_sites[0].public_key
        )
        solar: Solar = await autarco.get_solar(account_sites[0].public_key)
        site: Site = await autarco.get_site(account_sites[0].public_key)

        print("--- ACCOUNT ---")
        print(account_sites)
        print()
        for item in account_sites:
            print(f"Site ID: {item.site_id}")
            print(f"Public Key: {item.public_key}")
            print(f"Name: {item.system_name}")
            print(f"Retailer: {item.retailer}")
            print(f"Health: {item.health}")
        print()

        print("--- INVERTER(S) ---")
        print(inverters)
        print()
        for inverter in inverters.values():
            print(f"Serial Number: {inverter.serial_number}")
            print(f"Out AC Power: {inverter.out_ac_power}")
            print(f"Out AC Energy Total: {inverter.out_ac_energy_total}")
            print(f"Grid Turned Off: {inverter.grid_turned_off}")
            print(f"Health: {inverter.health}")
        print()

        print("--- SOLAR ---")
        print(solar)
        print()
        print(f"Power Production: {solar.power_production}")
        print(f"Energy Production - Today: {solar.energy_production_today}")
        print(f"Energy Production - Month: {solar.energy_production_month}")
        print(f"Energy Production - Total: {solar.energy_production_total}")
        print()

        print("--- SITE ---")
        print(site)
        print()
        print(f"Address: {site.address}")
        print(f"Timezone: {site.timezone}")
        print(f"Created At: {site.created_at}")
        print(f"Consumption Meter: {site.has_consumption_meter}")
        print(f"Has Battery: {site.has_battery}")

        if site.has_battery:
            battery: Battery = await autarco.get_battery(account_sites[0].public_key)
            print()
            print("--- BATTERY ---")
            print(battery)


if __name__ == "__main__":
    asyncio.run(main())