"""Constants for the Rainforest RAVEn tests.""" from aioraven.data import ( CurrentSummationDelivered, DeviceInfo, InstantaneousDemand, MeterInfo, MeterList, MeterType, NetworkInfo, PriceCluster, ) from iso4217 import Currency from homeassistant.components import usb DISCOVERY_INFO = usb.UsbServiceInfo( device="/dev/ttyACM0", pid="0x0003", vid="0x04B4", serial_number="1234", description="RFA-Z105-2 HW2.7.3 EMU-2", manufacturer="Rainforest Automation, Inc.", ) DEVICE_NAME = usb.human_readable_device_name( DISCOVERY_INFO.device, DISCOVERY_INFO.serial_number, DISCOVERY_INFO.manufacturer, DISCOVERY_INFO.description, int(DISCOVERY_INFO.vid, 0), int(DISCOVERY_INFO.pid, 0), ) DEVICE_INFO = DeviceInfo( device_mac_id=bytes.fromhex("abcdef0123456789"), install_code=None, link_key=None, fw_version="2.0.0 (7400)", hw_version="2.7.3", image_type=None, manufacturer=DISCOVERY_INFO.manufacturer, model_id="Z105-2-EMU2-LEDD_JM", date_code=None, ) METER_LIST = MeterList( device_mac_id=DEVICE_INFO.device_mac_id, meter_mac_ids=[ bytes.fromhex("1234567890abcdef"), bytes.fromhex("9876543210abcdef"), ], ) METER_INFO = { None: MeterInfo( device_mac_id=DEVICE_INFO.device_mac_id, meter_mac_id=METER_LIST.meter_mac_ids[0], meter_type=MeterType.ELECTRIC, nick_name=None, account=None, auth=None, host=None, enabled=True, ), METER_LIST.meter_mac_ids[0]: MeterInfo( device_mac_id=DEVICE_INFO.device_mac_id, meter_mac_id=METER_LIST.meter_mac_ids[0], meter_type=MeterType.ELECTRIC, nick_name=None, account=None, auth=None, host=None, enabled=True, ), METER_LIST.meter_mac_ids[1]: MeterInfo( device_mac_id=DEVICE_INFO.device_mac_id, meter_mac_id=METER_LIST.meter_mac_ids[1], meter_type=MeterType.GAS, nick_name=None, account=None, auth=None, host=None, enabled=True, ), } NETWORK_INFO = NetworkInfo( device_mac_id=DEVICE_INFO.device_mac_id, coord_mac_id=None, status=None, description=None, status_code=None, ext_pan_id=None, channel=13, short_addr=None, link_strength=100, ) PRICE_CLUSTER = PriceCluster( device_mac_id=DEVICE_INFO.device_mac_id, meter_mac_id=METER_INFO[None].meter_mac_id, time_stamp=None, price="0.10", currency=Currency.usd, tier=3, tier_label="Set by user", rate_label="Set by user", ) SUMMATION = CurrentSummationDelivered( device_mac_id=DEVICE_INFO.device_mac_id, meter_mac_id=METER_INFO[None].meter_mac_id, time_stamp=None, summation_delivered="23456.7890", summation_received="00000.0000", ) DEMAND = InstantaneousDemand( device_mac_id=DEVICE_INFO.device_mac_id, meter_mac_id=METER_INFO[None].meter_mac_id, time_stamp=None, demand="1.2345", )