Skip to main content

pyeconet

Python3 interface to the unofficial EcoNet API.

[!NOTE] I no longer have a device connect to the Rheem cloud due to migrating to a fully local control option https://github.com/esphome-econet/esphome-econet If anyone is interested in taking over ownership for this project please open an issue to discuss.

[!NOTE] This isn't using an official EcoNet API therefore this library could stop working at any time, without warning.

import asyncio
import logging
import time
import getpass

from pyeconet import EcoNetApiInterface
from pyeconet.equipment import EquipmentType
from pyeconet.equipment.water_heater import WaterHeaterOperationMode

logging.basicConfig()
logging.getLogger().setLevel(logging.DEBUG)


async def main():
    email = input("Enter your email: ").strip()
    password = "" #getpass.getpass(prompt='Enter your password: ')
    api = await EcoNetApiInterface.login(email, password=password)
    all_equipment = await api.get_equipment_by_type([EquipmentType.WATER_HEATER, EquipmentType.THERMOSTAT])
    #api.subscribe()
    #await asyncio.sleep(5)
    for equip_list in all_equipment.values():
        for equipment in equip_list:
            print(f"Name: {equipment.device_name}")
    #        print(f"Set point: {equipment.set_point}")
    #        print(f"Supports modes: {equipment._supports_modes()}")
    #        print(f"Operation modes: {equipment.modes}")
    #        print(f"Operation mode: {equipment.mode}")
            #await equipment._get_energy_usage()
            #equipment.set_set_point(equipment.set_point + 1)
            #equipment.set_mode(OperationMode.ELECTRIC_MODE)
    #await asyncio.sleep(300000)
    #api.unsubscribe()

if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyeconet-0.2.4.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyeconet-0.2.4-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file pyeconet-0.2.4.tar.gz.

File metadata

  • Download URL: pyeconet-0.2.4.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyeconet-0.2.4.tar.gz
Algorithm Hash digest
SHA256 070a0bf79168c28ac93bc781186d5314217b62242dca8bf1690f86a9b9eb172e
MD5 277f889fc211d42b759112768b3b7a84
BLAKE2b-256 1156d2dfe19816b347e292d1d11d3d77441856beff3ed10a48b5eb9f9f23467a

See more details on using hashes here.

File details

Details for the file pyeconet-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: pyeconet-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 17.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyeconet-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e4638d33c9dbd2d7d5e2b68006dbdb9afb6164fa2bac1b2e205889282001c919
MD5 b73cbb4540e3151ebe9ceb0d9b8e62c7
BLAKE2b-256 35e75b95580b6fa5c23b828ccaaac3d69806398b46efedf3c3463afed90d2e4c

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page