Metadata-Version: 2.4 Name: pyeconet Version: 0.2.2 Summary: Interface to the unofficial EcoNet API Home-page: https://github.com/w1ll1am23/pyeconet Author: William Scanlon Project-URL: Bug Reports, https://github.com/w1ll1am23/pyeconet/issues Project-URL: Source, https://github.com/w1ll1am23/pyeconet Keywords: econet,rheem,api Classifier: License :: OSI Approved :: MIT License Requires-Python: >=3.8, <4 Description-Content-Type: text/markdown License-File: LICENSE Requires-Dist: aiohttp<4,>=3.11.11 Requires-Dist: paho-mqtt<3,>=2.1.0 Dynamic: author Dynamic: classifier Dynamic: description Dynamic: description-content-type Dynamic: home-page Dynamic: keywords Dynamic: license-file Dynamic: project-url Dynamic: requires-dist Dynamic: requires-python Dynamic: summary # 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. ```python 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()) ```