Source code for device_client.client_test

from device_client import DeviceClient
from device.mockup import MockupDevice


description = """
(Virtual testing device)
"""

[docs] def connect(name, password, server): client = DeviceClient(name, password, title="Tony the Tokamak", description=description) hw = MockupDevice(log_callback=client.emit_log) client.register_command(hw.initiate_discharge, "Initiate discharge", pass_self=True) client.register_command(hw.stop, "Stop") client.register_command(hw.toggle_connection_stability, "Toggle connection stability") client.register_command(hw.emit_mockfile, "Emit mockfile", pass_self=True) def set_switch(enabled): hw.set_some_switch(enabled) client.emit_command_state("set_switch", [hw.is_some_switched_on()]) client.register_command( set_switch, "Some switch", inputs=[{"type": "toggle"}], ) client.register_background_task(hw.update_frontend) def emit_things(device_client): device_client.emit("value", {"value": 5, "id": "a_special_value"}) # client.register_background_task(emit_things) client.keep_server_updated( check_readiness=hw.is_ready, check_readiness_interval=0.01, server_address=server, retry_on_error=True )