def want_an_address(version): """ The Want An Address command, send by the power modules in address mode. """ if version == POWER_API_8_PORTS: return PowerCommand('S', 'WAA', '', '') elif version == POWER_API_12_PORTS: return PowerCommand('S', 'WAD', '', '') else: raise ValueError('Unknown power api version')
def want_an_address(version): """ The Want An Address command, send by the power modules in address mode. """ if version == POWER_MODULE: return PowerCommand('S', 'WAA', '', '') elif version == ENERGY_MODULE: return PowerCommand('S', 'WAD', '', '') elif version == P1_CONCENTRATOR: return PowerCommand('S', 'WAD', '', '', module_type='C') else: raise ValueError('Unknown power api version')
def set_day_night(version): """ Set the power module in night (0) or day (1) mode. :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_API_8_PORTS: return PowerCommand('S', 'SDN', '8b', '') elif version == POWER_API_12_PORTS: return PowerCommand('S', 'SDN', '12b', '') else: raise ValueError("Unknown power api version")
def get_frequency(version): """ Get the frequency of a power module (in Hz) :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_API_8_PORTS: return PowerCommand('G', 'FRE', '', 'f') elif version == POWER_API_12_PORTS: return PowerCommand('G', 'FRE', '', '12f') else: raise ValueError("Unknown power api version")
def get_voltage(version): """ Get the voltage of a power module (in V) :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_API_8_PORTS: return PowerCommand('G', 'VOL', '', 'f') elif version == POWER_API_12_PORTS: return PowerCommand('G', 'VOL', '', '12f') else: raise ValueError("Unknown power api version")
def get_power(version): """ Get the power of a power module (12x in W) :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_API_8_PORTS: return PowerCommand('G', 'POW', '', '8f') elif version == POWER_API_12_PORTS: return PowerCommand('G', 'POW', '', '12f') else: raise ValueError("Unknown power api version")
def reset_night_energy(version): """ Reset the energy measured during the night by the power module. :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_API_8_PORTS: return PowerCommand('S', 'ENI', '9B', '') elif version == POWER_API_12_PORTS: return PowerCommand('S', 'ENI', 'B12L', '') else: raise ValueError("Unknown power api version")
def bootloader_write_code(version): """ Write code :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_API_8_PORTS: return PowerCommand('S', 'BWC', '195B', '') elif version == POWER_API_12_PORTS: return PowerCommand('S', 'BWC', '132B', '') else: raise ValueError("Unknown power api version")
def get_feed_status(version): """ Get the feed status of the power module (12x 0=low or 1=high) :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_API_8_PORTS: return PowerCommand('G', 'FST', '', '8H') elif version == POWER_API_12_PORTS: return PowerCommand('G', 'FST', '', '12I') else: raise ValueError("Unknown power api version")
def get_night_energy(version): """ Get the energy measured during the night by the power module (12x in Wh) :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_API_8_PORTS: return PowerCommand('G', 'ENI', '', '8L') elif version == POWER_API_12_PORTS: return PowerCommand('G', 'ENI', '', '12L') else: raise ValueError("Unknown power api version")
def get_version(version): # type: (int) -> PowerCommand """ Get the current version of the power module firmware """ if version == P1_CONCENTRATOR: return PowerCommand('G', 'FVE', '', '4B', module_type=PowerModuleType.C) return PowerCommand('G', 'FIV', '', '16s')
def get_general_status(version): """ Get the general status of a power module. :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_API_8_PORTS: return PowerCommand('G', 'GST', '', 'H') elif version == POWER_API_12_PORTS: return PowerCommand('G', 'GST', '', 'B') else: raise ValueError("Unknown power api version")
def reset_normal_energy(version): """ Reset the total energy measured by the power module. :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_MODULE: return PowerCommand('S', 'ENE', '9B', '') elif version == ENERGY_MODULE: return PowerCommand('S', 'ENE', 'B12L', '') else: raise ValueError("Unknown power api version")
def reset_day_energy(version): # type: (int) -> PowerCommand """ Reset the energy measured during the day by the power module. :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_MODULE: return PowerCommand('S', 'EDA', '9B', '') elif version == ENERGY_MODULE: return PowerCommand('S', 'EDA', 'B12L', '') else: raise ValueError("Unknown power api version")
def get_night_energy(version): """ Get the energy measured during the night by the power module (12x in Wh) :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_MODULE: return PowerCommand('G', 'ENI', '', '8L') elif version == ENERGY_MODULE: return PowerCommand('G', 'ENI', '', '12L') elif version == P1_CONCENTRATOR: return PowerCommand('G', 'c2\x00', '', '112s', module_type='C') else: raise ValueError("Unknown power api version")
def get_time_on(version): """ Get the time the power module is on (in s) :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_API_8_PORTS or version == POWER_API_12_PORTS: return PowerCommand('G', 'TON', '', 'L') else: raise ValueError("Unknown power api version")
def get_feed_counter(version): """ Get the feed counter of the power module :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_API_8_PORTS or version == POWER_API_12_PORTS: return PowerCommand('G', 'FCO', '', 'H') else: raise ValueError("Unknown power api version")
def get_normal_energy(version): """ Get the total energy measured by the power module (12x in Wh) :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == ENERGY_MODULE: return PowerCommand('G', 'ENE', '', '12L') else: raise ValueError("Unknown power api version")
def get_day_energy(version): # type: (int) -> PowerCommand """ Get the energy measured during the day by the power module (12x in Wh) :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_MODULE: return PowerCommand('G', 'EDA', '', '8L') elif version == ENERGY_MODULE: return PowerCommand('G', 'EDA', '', '12L') elif version == P1_CONCENTRATOR: return PowerCommand('G', 'c1\x00', '', '112s', module_type=PowerModuleType.C) else: raise ValueError("Unknown power api version")
def get_gas_consumption_p1(version): # type: (int) -> PowerCommand """ Gets the gas consumption from a P1 concentrator """ if version == P1_CONCENTRATOR: return PowerCommand('G', 'cG\x00', '', '112s', module_type=PowerModuleType.C) else: raise ValueError("Unknown power api version")
def set_sensor_types(version): """ Set the sensor types used on the power modules (8x sensor type). :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_API_8_PORTS: return PowerCommand('S', 'CSU', '8b', '') elif version == POWER_API_12_PORTS: raise ValueError( "Setting sensor types is not applicable for the 12 port modules.") else: raise ValueError("Unknown power api version")
def get_received_power(version): # type: (int) -> PowerCommand """ Gets the reveived power of a P1 concentrator """ if version == P1_CONCENTRATOR: return PowerCommand('G', 'PR\x00', '', '72s', module_type=PowerModuleType.C) else: raise ValueError("Unknown power api version")
def get_tariff_indicator_p1(version): # type: (int) -> PowerCommand """ Gets the tariff indicator from a P1 concentrator """ if version == P1_CONCENTRATOR: return PowerCommand('G', 'ti\x00', '', '32s', module_type=PowerModuleType.C) else: raise ValueError("Unknown power api version")
def set_current_clamp_factor(version): """ Sets the current clamp factor. :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_API_8_PORTS: raise ValueError( "Setting clamp factor is not applicable for the 8 port modules.") elif version == POWER_API_12_PORTS: return PowerCommand('S', 'CCF', '12f', '') else: raise ValueError('Unknown power api version')
def get_timestamp_p1(version): # type: (int) -> PowerCommand """ Gets the timestamp from a P1 concentrator """ if version == P1_CONCENTRATOR: return PowerCommand('G', 'TS\x00', '', '104s', module_type=PowerModuleType.C) else: raise ValueError("Unknown power api version")
def set_current_inverse(version): """ Sets the current inverse. :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_API_8_PORTS: raise ValueError( "Setting current inverse is not applicable for the 8 port modules." ) elif version == POWER_API_12_PORTS: return PowerCommand('S', 'SCI', '=12B', '') else: raise ValueError('Unknown power api version')
def get_current_sample_time(version): """ Gets a current sample (time - oscilloscope view) :param version: power api version """ if version == POWER_API_12_PORTS: return PowerCommand('G', 'CST', '2b', '50f') elif version == POWER_API_8_PORTS: raise ValueError( "Getting a current sample (time) is not applicable for the 8 port modules." ) else: raise ValueError("Unknown power api version")
def get_current_sample_frequency(version): """ Gets a current sample (frequency) :param version: power api version """ if version == POWER_API_12_PORTS: return PowerCommand('G', 'CSF', '2b', '40f') elif version == POWER_API_8_PORTS: raise ValueError( "Getting a current sample (frequency) is not applicable for the 8 port modules." ) else: raise ValueError("Unknown power api version")
def get_injection_tariff_p1(version, type=None): # type: (int, Optional[int]) -> PowerCommand """ Gets the injection tariff from a P1 concentrator """ if version == P1_CONCENTRATOR: if type not in (1, 2): raise ValueError('Unknown tariff type') return PowerCommand('G', 'i{0}\x00'.format(type), '', '112s', module_type=PowerModuleType.C) else: raise ValueError("Unknown power api version")
def get_sensor_types(version): # type: (int) -> PowerCommand """ Get the sensor types used on the power modules (8x sensor type). :param version: power api version (POWER_API_8_PORTS or POWER_API_12_PORTS). """ if version == POWER_MODULE: return PowerCommand('G', 'CSU', '', '8b') elif version == ENERGY_MODULE: raise ValueError( "Getting sensor types is not applicable for the 12 port modules.") else: raise ValueError("Unknown power api version")