# from app.exhaust.config import ExhaustConfig # from app.exhaust.service import ExhaustService # # # config = ExhaustConfig( # mqtt_host="192.168.7.100", # mqtt_port=1883, # topic="exhaust", # ) # # service = ExhaustService(config) # # # print("Configuration:") # print("MQTT:", service.config.mqtt_host) # print("Port:", service.config.mqtt_port) # print("Topic:", service.config.topic) # print("Command:", service.config.command_prefix) # print("State:", service.config.state_prefix) # print("Telemetry:", service.config.telemetry_prefix) # print("LWT:", service.config.lwt_topic) # # # print("\nInitial:") # print(service.running) # print(service.state.to_dict()) # # # service.start() # # print("\nAfter start:") # print(service.running) # print(service.state.to_dict()) # # # service.stop() # # print("\nAfter stop:") # print(service.running) # print(service.state.to_dict()) import asyncio from app.exhaust.config import ExhaustConfig from app.exhaust.service import ExhaustService async def main(): config = ExhaustConfig( mqtt_host="192.168.7.100", mqtt_port=1883, topic="exhaust", ) service = ExhaustService(config) print("Initial:") print(service.running) print(service.state.to_dict()) await service.start() print("\nStarted. Waiting for MQTT...") await asyncio.sleep(2) print("\nRequesting Tasmota status...") service.request_status() await asyncio.sleep(2) print(service.running) print(service.state.to_dict()) await service.stop() print("\nAfter stop:") print(service.running) print(service.state.to_dict()) if __name__ == "__main__": asyncio.run(main())