ul-data-gateway-sdk 2.0.0.dev1__tar.gz → 2.0.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ul_data_gateway_sdk-2.0.0.dev1/README.md → ul_data_gateway_sdk-2.0.2/PKG-INFO +31 -5
- ul_data_gateway_sdk-2.0.0.dev1/ul_data_gateway_sdk.egg-info/PKG-INFO → ul_data_gateway_sdk-2.0.2/README.md +1 -36
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/device_data_protocol.py +3 -1
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/device_packet/__tests__/test_device_protocol.py +175 -1
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/device_packet/smpm_device_packet.py +29 -7
- ul_data_gateway_sdk-2.0.2/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_metano_x_rb_24b_emergency.py +394 -0
- ul_data_gateway_sdk-2.0.2/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_metano_x_rb_40b_daily.py +3008 -0
- ul_data_gateway_sdk-2.0.2/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_metano_x_rf_16b_emergency.py +59 -0
- ul_data_gateway_sdk-2.0.2/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_metano_x_rf_64b_daily.py +2131 -0
- ul_data_gateway_sdk-2.0.2/data_gateway_sdk/protocols/smpm/smpm_ul_device_metano_x_rb_24b_emergency.py +310 -0
- ul_data_gateway_sdk-2.0.2/data_gateway_sdk/protocols/smpm/smpm_ul_device_metano_x_rb_40b_daily.py +429 -0
- ul_data_gateway_sdk-2.0.2/data_gateway_sdk/protocols/smpm/smpm_ul_device_metano_x_rf_16b_emergency.py +272 -0
- ul_data_gateway_sdk-2.0.2/data_gateway_sdk/protocols/smpm/smpm_ul_device_metano_x_rf_64b_daily.py +458 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/pyproject.toml +9 -13
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2/ul_data_gateway_sdk.egg-info}/PKG-INFO +10 -15
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/ul_data_gateway_sdk.egg-info/SOURCES.txt +8 -0
- ul_data_gateway_sdk-2.0.2/ul_data_gateway_sdk.egg-info/requires.txt +17 -0
- ul_data_gateway_sdk-2.0.0.dev1/ul_data_gateway_sdk.egg-info/requires.txt +0 -18
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/__tests__/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/__tests__/test_encryption.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/crypto_algorithms/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/crypto_algorithms/__tests__/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/crypto_algorithms/__tests__/crypto_test.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/crypto_algorithms/constants/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/crypto_algorithms/constants/constants_aes.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/crypto_algorithms/constants/constants_kuz.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/crypto_algorithms/constants/kuz_tables.bin +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/crypto_algorithms/crypto_aes.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/crypto_algorithms/crypto_kuznechik.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/crypto_algorithms/crypto_xtea.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/crypto_algorithms/extensions/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/crypto_algorithms/extensions/errors.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/crypto_algorithms/extensions/type_alias.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/device_data.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/device_data_encryption.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/errors.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/messages/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/messages/input_bs_http_nero_message.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/nero_bs_protocol.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/device_packet/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/device_packet/__tests__/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/device_packet/device_packet.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/device_packet/ncp_smp_device_packet.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/device_packet/smp_device_packet.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/device_packet/water5_device_packet.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/nero_bs_packet/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/nero_bs_packet/__tests__/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/nero_bs_packet/__tests__/http_nero_bs_packet.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/nero_bs_packet/__tests__/test_bs_protocol.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/nero_bs_packet/http_nero_bs_packet.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/nero_bs_packet/nero_bs_packet.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_dl_device_energy_16b_get_data.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_dl_device_energy_16b_set_regular_data_sending.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_dl_device_energy_8b_get_data.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_dl_device_energy_8b_set_clock.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_dl_device_energy_8b_set_relay.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_dl_answer.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_energy_16b_3phase_consumed.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_energy_16b_3phase_generated.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_energy_16b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_energy_16b_device_info.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_energy_16b_electricity_params.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_energy_16b_info.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_energy_16b_journal.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_energy_16b_profile_8h1_energy.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_energy_16b_profile_8h2_energy.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_energy_16b_profile_8h3_energy.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_energy_16b_profile_8h_ar.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_energy_16b_profile_8h_energy.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_energy_16b_profile_8h_f.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_energy_16b_profile_8h_pqs.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_energy_16b_retrospective_energy.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_energy_16b_status_info.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_energy_16b_tariff_consumed.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_energy_16b_tariff_generated.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_gaz_flow_08b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_gaz_flow_16b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_gaz_flow_32b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_heat_group_meter_56b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_heat_group_meter_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_heat_proxy_meter_16b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_internal_info.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_jupiter_08b_counter.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_jupiter_08b_counter_ch1.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_jupiter_08b_counter_ch2.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_jupiter_08b_counter_volume.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_jupiter_12b_counter.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_jupiter_12b_counter_volume.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_jupiter_16b_counter.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_water_meter_04b_event.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_water_meter_08b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_water_meter_08b_daily_new.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_water_meter_08b_info.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_water_meter_12b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_water_meter_16b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/smpm_ul_device_water_meter_nbiot_16b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/__tests__/test_self_package_tests.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_dl_device_energy_16b_get_data.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_dl_device_energy_16b_set_regular_data_sending.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_dl_device_energy_8b_get_data.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_dl_device_energy_8b_set_clock.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_dl_device_energy_8b_set_relay.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_dl_answer.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_energy_16b_3phase_consumed.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_energy_16b_3phase_generated.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_energy_16b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_energy_16b_device_info.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_energy_16b_electricity_params.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_energy_16b_info.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_energy_16b_journal.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_energy_16b_profile_8h1_energy.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_energy_16b_profile_8h2_energy.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_energy_16b_profile_8h3_energy.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_energy_16b_profile_8h_ar.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_energy_16b_profile_8h_energy.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_energy_16b_profile_8h_f.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_energy_16b_profile_8h_pqs.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_energy_16b_retrospective_energy.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_energy_16b_status_info.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_energy_16b_tariff_consumed.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_energy_16b_tariff_generated.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_gaz_flow_08b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_gaz_flow_16b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_gaz_flow_32b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_heat_group_meter_56b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_heat_group_meter_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_heat_proxy_meter_16b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_internal_info.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_jupiter_08b_counter.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_jupiter_08b_counter_ch1.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_jupiter_08b_counter_ch2.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_jupiter_08b_counter_volume.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_jupiter_12b_counter.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_jupiter_12b_counter_volume.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_jupiter_16b_counter.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_water_meter_04b_event.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_water_meter_08b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_water_meter_08b_daily_new.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_water_meter_08b_info.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_water_meter_12b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_water_meter_16b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/smpm/smpm_ul_device_water_meter_nbiot_16b_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/udp_wrapper/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/udp_wrapper/__tests__/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/udp_wrapper/__tests__/unbp_len.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/udp_wrapper/unbp_len.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/test_self_package_tests.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/water5_device_cold_reset.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/water5_device_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/water5_device_info_ch1.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/water5_device_info_ch2.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/water5_device_magnet.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/water5_device_warm_reset_v_fluo_a.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/water5_device_warm_reset_v_fluo_freescale.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/water5_device_warm_reset_v_fluo_stm.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/water5_device_warm_reset_v_jupiter_freescale.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/water5_device_warm_reset_v_jupiter_stm.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/water5_device_warm_reset_v_metano_a.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/water5_device_weekly_ch1.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/water5_device_weekly_ch1_impulse.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/water5_device_weekly_ch1_impulse_v2.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/water5_device_weekly_ch2.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/water5_device_weekly_ch2_impulse.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/__tests__/water5_device_weekly_ch2_impulse_v2.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/water5_device_cold_reset.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/water5_device_daily.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/water5_device_info_ch1.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/water5_device_info_ch2.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/water5_device_magnet.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/water5_device_warm_reset_v_fluo_a.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/water5_device_warm_reset_v_fluo_freescale.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/water5_device_warm_reset_v_fluo_stm.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/water5_device_warm_reset_v_jupiter_freescale.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/water5_device_warm_reset_v_jupiter_stm.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/water5_device_warm_reset_v_metano_a.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/water5_device_weekly_ch1.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/water5_device_weekly_ch1_impulse.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/water5_device_weekly_ch1_impulse_v2.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/water5_device_weekly_ch2.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/water5_device_weekly_ch2_impulse.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/protocols/water5_v_nero/water5_device_weekly_ch2_impulse_v2.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/py.typed +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/utils/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/utils/__tests__/__init__.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/utils/__tests__/timestamp_calculation.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/utils/buf_ref.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/utils/days_ago_calculation.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/utils/first_day_of_month.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/utils/packet.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/utils/timestamp_calculation.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/data_gateway_sdk/utils/true_round.py +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/setup.cfg +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/ul_data_gateway_sdk.egg-info/dependency_links.txt +0 -0
- {ul_data_gateway_sdk-2.0.0.dev1 → ul_data_gateway_sdk-2.0.2}/ul_data_gateway_sdk.egg-info/top_level.txt +0 -0
|
@@ -1,3 +1,33 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ul-data-gateway-sdk
|
|
3
|
+
Version: 2.0.2
|
|
4
|
+
Summary: Data gateway sdk
|
|
5
|
+
Author: Unic-lab
|
|
6
|
+
License: MIT
|
|
7
|
+
Classifier: Intended Audience :: Developers
|
|
8
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
9
|
+
Classifier: Programming Language :: Python
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
11
|
+
Classifier: Operating System :: OS Independent
|
|
12
|
+
Requires-Python: >=3.14
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
Requires-Dist: asyncio>=3.4.3
|
|
15
|
+
Requires-Dist: asyncio-dgram>=3.0.0
|
|
16
|
+
Requires-Dist: ul-pyncp>=1.0.5
|
|
17
|
+
Requires-Dist: ul-pysmp>=1.0.3
|
|
18
|
+
Requires-Dist: ul-api-utils>=10.0.11
|
|
19
|
+
Requires-Dist: ul-db-utils>=6.0.2
|
|
20
|
+
Requires-Dist: ul-py-tool>=3.0.3
|
|
21
|
+
Requires-Dist: ul-data-logger-sdk>=4.0.0
|
|
22
|
+
Requires-Dist: ul-data-logger-api-sdk>=3.0.0
|
|
23
|
+
Requires-Dist: ul-data-aggregator-sdk>=11.0.1
|
|
24
|
+
Requires-Dist: timezonefinder>=8.2.1
|
|
25
|
+
Requires-Dist: pytest-env>=1.6.0
|
|
26
|
+
Requires-Dist: aiormq>=6.9.3
|
|
27
|
+
Requires-Dist: tenacity>=9.1.4
|
|
28
|
+
Provides-Extra: dev
|
|
29
|
+
Requires-Dist: uv-script>=0.1.9; extra == "dev"
|
|
30
|
+
|
|
1
31
|
# Data adapter
|
|
2
32
|
Входной слой поступления данных от приборов или других источников
|
|
3
33
|
|
|
@@ -51,14 +81,10 @@ ____
|
|
|
51
81
|
- bash
|
|
52
82
|
- make
|
|
53
83
|
- python `3.14` (см. `pyproject.toml` / `.python-version`)
|
|
54
|
-
- uv
|
|
84
|
+
- uv
|
|
55
85
|
- docker-compose `1.27.4`
|
|
56
86
|
- docker `19.03.13`
|
|
57
87
|
|
|
58
|
-
## Переход с Pipenv на uv
|
|
59
|
-
|
|
60
|
-
Зависимости проекта задаются в **`pyproject.toml`**, зафиксированное дерево — в **`uv.lock`**. Установка зависимостей: **`uv sync`** (в CI и Docker для воспроизводимости используется **`uv sync --frozen`**). Команды **`lint`** и **`tests`** в `Makefile` и в GitLab CI вызывают **`.venv/bin/uvs`** (скрипты из **`[tool.uvs.scripts]`** в `pyproject.toml`). **Локально**, чтобы набрать просто **`uvs lint`** / **`uvs test`** без префикса `uv run`, активируйте venv: **`source .venv/bin/activate`** после **`uv sync`** — тогда **`uvs`** попадёт в `PATH`. Файлы **`Pipfile`** / **`Pipfile.lock`** могут оставаться в репозитории на время перехода; целевой рабочий процесс — **uv**, не Pipenv.
|
|
61
|
-
|
|
62
88
|
## Команды
|
|
63
89
|
|
|
64
90
|
### обновление репозитория до последнего состояния в ветке
|
|
@@ -1,34 +1,3 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: ul-data-gateway-sdk
|
|
3
|
-
Version: 2.0.0.dev1
|
|
4
|
-
Summary: Data gateway sdk
|
|
5
|
-
Author: Unic-lab
|
|
6
|
-
License: MIT
|
|
7
|
-
Classifier: Intended Audience :: Developers
|
|
8
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
9
|
-
Classifier: Programming Language :: Python
|
|
10
|
-
Classifier: Programming Language :: Python :: 3.14
|
|
11
|
-
Classifier: Operating System :: OS Independent
|
|
12
|
-
Requires-Python: >=3.14
|
|
13
|
-
Description-Content-Type: text/markdown
|
|
14
|
-
Requires-Dist: ul-unipipeline>=2.0.0
|
|
15
|
-
Requires-Dist: asyncio>=3.4.3
|
|
16
|
-
Requires-Dist: asyncio-dgram>=3.0.0
|
|
17
|
-
Requires-Dist: ul-pyncp==1.0.5
|
|
18
|
-
Requires-Dist: ul-pysmp==1.0.3
|
|
19
|
-
Requires-Dist: ul-api-utils==10.0.0.dev6
|
|
20
|
-
Requires-Dist: ul-db-utils==6.0.0.dev3
|
|
21
|
-
Requires-Dist: ul-py-tool==3.0.2.dev1
|
|
22
|
-
Requires-Dist: ul-data-logger-sdk==3.0.4
|
|
23
|
-
Requires-Dist: ul-data-logger-api-sdk==2.0.1
|
|
24
|
-
Requires-Dist: ul-data-aggregator-sdk==10.6.5
|
|
25
|
-
Requires-Dist: timezonefinder>=8.2.1
|
|
26
|
-
Requires-Dist: pytest-env>=1.6.0
|
|
27
|
-
Requires-Dist: aiormq>=6.9.3
|
|
28
|
-
Requires-Dist: tenacity>=9.1.4
|
|
29
|
-
Provides-Extra: dev
|
|
30
|
-
Requires-Dist: uv-script>=0.1.9; extra == "dev"
|
|
31
|
-
|
|
32
1
|
# Data adapter
|
|
33
2
|
Входной слой поступления данных от приборов или других источников
|
|
34
3
|
|
|
@@ -82,14 +51,10 @@ ____
|
|
|
82
51
|
- bash
|
|
83
52
|
- make
|
|
84
53
|
- python `3.14` (см. `pyproject.toml` / `.python-version`)
|
|
85
|
-
- uv
|
|
54
|
+
- uv
|
|
86
55
|
- docker-compose `1.27.4`
|
|
87
56
|
- docker `19.03.13`
|
|
88
57
|
|
|
89
|
-
## Переход с Pipenv на uv
|
|
90
|
-
|
|
91
|
-
Зависимости проекта задаются в **`pyproject.toml`**, зафиксированное дерево — в **`uv.lock`**. Установка зависимостей: **`uv sync`** (в CI и Docker для воспроизводимости используется **`uv sync --frozen`**). Команды **`lint`** и **`tests`** в `Makefile` и в GitLab CI вызывают **`.venv/bin/uvs`** (скрипты из **`[tool.uvs.scripts]`** в `pyproject.toml`). **Локально**, чтобы набрать просто **`uvs lint`** / **`uvs test`** без префикса `uv run`, активируйте venv: **`source .venv/bin/activate`** после **`uv sync`** — тогда **`uvs`** попадёт в `PATH`. Файлы **`Pipfile`** / **`Pipfile.lock`** могут оставаться в репозитории на время перехода; целевой рабочий процесс — **uv**, не Pipenv.
|
|
92
|
-
|
|
93
58
|
## Команды
|
|
94
59
|
|
|
95
60
|
### обновление репозитория до последнего состояния в ветке
|
|
@@ -10,7 +10,7 @@ from data_gateway_sdk.protocols.device_packet.smpm_device_packet import SmpMGasM
|
|
|
10
10
|
SmpMWaterMeter08BV0DevicePacket, SmpMWaterMeter12BV0DevicePacket, SmpMWaterMeter04BV0DevicePacket, \
|
|
11
11
|
SmpMJupiter16BV0DevicePacket, SmpMWaterMeter16BV0DevicePacket, \
|
|
12
12
|
SmpMInternalInfoDataV0DevicePacket, SmpMHeatProxyMeter16BV0DevicePacket, SmpMHeatGroupMeterV0DevicePacket, \
|
|
13
|
-
SmpMEnergyMeterV1DevicePacket, SmpMDownlinkV0DevicePacket
|
|
13
|
+
SmpMEnergyMeterV1DevicePacket, SmpMDownlinkV0DevicePacket, SmpMGasMeterMetanoXV0DevicePacket
|
|
14
14
|
from data_gateway_sdk.protocols.device_packet.water5_device_packet import Water5NeroV0DevicePacket, \
|
|
15
15
|
Water5JupiterFreeScaleV0DevicePacket, Water5JupiterSTMV0DevicePacket, Water5FluoSTMV0DevicePacket, \
|
|
16
16
|
Water5FluoFreeScaleV0DevicePacket, Water5FluoAV0DevicePacket, Water5GasV0DevicePacket, \
|
|
@@ -35,6 +35,7 @@ class DeviceProtocolType(Enum): # DO NOT CHANGE VALUE because it should be comp
|
|
|
35
35
|
NCP_SMP_V0 = 'NCP_SMP_V0' # only for jupiter NbIoT
|
|
36
36
|
SMP_V0 = 'SMP_V0' # only for jupiter NbIoT
|
|
37
37
|
SMP_M_GAS_METER_V0 = 'SMP_M_GAS_METER_V0'
|
|
38
|
+
SMP_M_GAS_METANO_X_V0 = 'SMP_M_GAS_METANO_X_V0' # only for Metano X
|
|
38
39
|
SMP_M_ENERGY_METER_V0 = 'SMP_M_ENERGY_METER_V0'
|
|
39
40
|
SMP_M_ENERGY_METER_V1 = 'SMP_M_ENERGY_METER_V1'
|
|
40
41
|
SMP_M_JUPITER_08B_V0 = 'SMP_M_JUPITER_08B_V0'
|
|
@@ -76,6 +77,7 @@ DEVICE_PROTOCOL_MAP = {
|
|
|
76
77
|
DeviceProtocolType.NCP_SMP_V0: NcpSmpV0DevicePacket,
|
|
77
78
|
DeviceProtocolType.SMP_V0: SmpV0DevicePacket,
|
|
78
79
|
DeviceProtocolType.SMP_M_GAS_METER_V0: SmpMGasMeterV0DevicePacket,
|
|
80
|
+
DeviceProtocolType.SMP_M_GAS_METANO_X_V0: SmpMGasMeterMetanoXV0DevicePacket,
|
|
79
81
|
DeviceProtocolType.SMP_M_ENERGY_METER_V0: SmpMEnergyMeterV0DevicePacket,
|
|
80
82
|
DeviceProtocolType.SMP_M_ENERGY_METER_V1: SmpMEnergyMeterV1DevicePacket,
|
|
81
83
|
DeviceProtocolType.SMP_M_JUPITER_08B_V0: SmpMJupiter08BV0DevicePacket,
|
|
@@ -7,7 +7,7 @@ from data_gateway_sdk.protocols.device_packet.smpm_device_packet import SmpMGasM
|
|
|
7
7
|
SmpMEnergyMeterV0DevicePacket, SmpMJupiter08BV0DevicePacket, \
|
|
8
8
|
SmpMJupiter12BV0DevicePacket, SmpMJupiter16BV0DevicePacket, SmpMWaterMeter04BV0DevicePacket, \
|
|
9
9
|
SmpMWaterMeter08BV0DevicePacket, SmpMWaterMeter12BV0DevicePacket, \
|
|
10
|
-
SmpMWaterMeter16BV0DevicePacket
|
|
10
|
+
SmpMWaterMeter16BV0DevicePacket, SmpMGasMeterMetanoXV0DevicePacket
|
|
11
11
|
from data_gateway_sdk.protocols.device_packet.water5_device_packet import Water5NeroV0DevicePacket
|
|
12
12
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_3phase_consumed import \
|
|
13
13
|
SmpmUlDeviceEnergy16B3PhaseConsumedData
|
|
@@ -31,6 +31,12 @@ from data_gateway_sdk.protocols.smpm.smpm_ul_device_jupiter_08b_counter_ch1 impo
|
|
|
31
31
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_jupiter_08b_counter_ch2 import SmpmUlDeviceJupiter08BCounterCh2Data
|
|
32
32
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_jupiter_12b_counter import SmpmUlDeviceJupiter12BCounterData
|
|
33
33
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_jupiter_16b_counter import SmpmUlDeviceJupiter16BCounterData
|
|
34
|
+
from data_gateway_sdk.protocols.smpm.smpm_ul_device_metano_x_rb_24b_emergency import \
|
|
35
|
+
SmpmUlDeviceMetanoXRb24BEmergencyData
|
|
36
|
+
from data_gateway_sdk.protocols.smpm.smpm_ul_device_metano_x_rb_40b_daily import SmpmUlDeviceMetanoXRb40BDailyData
|
|
37
|
+
from data_gateway_sdk.protocols.smpm.smpm_ul_device_metano_x_rf_16b_emergency import \
|
|
38
|
+
SmpmUlDeviceMetanoXRf16BEmergencyData
|
|
39
|
+
from data_gateway_sdk.protocols.smpm.smpm_ul_device_metano_x_rf_64b_daily import SmpmUlDeviceMetanoXRf64BDailyData
|
|
34
40
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_water_meter_04b_event import SmpmUlDeviceWaterMeter04BEventData
|
|
35
41
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_water_meter_08b_daily import SmpmUlDeviceWaterMeter08BDailyData
|
|
36
42
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_water_meter_08b_daily_new import \
|
|
@@ -295,6 +301,174 @@ def test_protocol_smpm_gaz_v0() -> None:
|
|
|
295
301
|
)]
|
|
296
302
|
|
|
297
303
|
|
|
304
|
+
|
|
305
|
+
def test_protocol_smpm_gaz_metano_x_v0() -> None:
|
|
306
|
+
# daily rb 40b
|
|
307
|
+
assert DeviceProtocolType.SMP_M_GAS_METANO_X_V0.parse(bytes.fromhex('9c0c8380521e00c4c912008033e101c0a80000ee224e00e1272a5b5e97e803450100000000000000')) == [SmpMGasMeterMetanoXV0DevicePacket( # type: ignore
|
|
308
|
+
packet=SmpmUlDeviceMetanoXRb40BDailyData(
|
|
309
|
+
days_ago=timedelta(days=3),
|
|
310
|
+
sync_time_days_ago=timedelta(days=4),
|
|
311
|
+
timestamp_s=timedelta(days=23),
|
|
312
|
+
direct_flow_volume=1231.3,
|
|
313
|
+
duration_normal=timedelta(days=365),
|
|
314
|
+
duration_error=timedelta(hours=12),
|
|
315
|
+
temperature=20.0,
|
|
316
|
+
pressure=250.0,
|
|
317
|
+
battery_volts_1=3.3,
|
|
318
|
+
battery_volts_2=3.1,
|
|
319
|
+
radio_quality=2,
|
|
320
|
+
rssi=-70,
|
|
321
|
+
rsrp=-90,
|
|
322
|
+
rsrq=-9,
|
|
323
|
+
snr=10,
|
|
324
|
+
ecl=1,
|
|
325
|
+
tx_power=23,
|
|
326
|
+
ncell_id=1000,
|
|
327
|
+
earfcn=5,
|
|
328
|
+
earfcn_offset=10,
|
|
329
|
+
event_reset=False,
|
|
330
|
+
event_case_was_opened=False,
|
|
331
|
+
event_battery_case_was_opened=False,
|
|
332
|
+
event_magnet=False,
|
|
333
|
+
event_impact_radio=False,
|
|
334
|
+
event_low_battery_level_1=False,
|
|
335
|
+
event_low_battery_level_2=False,
|
|
336
|
+
event_low_signal_nbiot=False,
|
|
337
|
+
event_sensor_error_ambient_temperature=False,
|
|
338
|
+
event_low_ambient_temperature=False,
|
|
339
|
+
event_sensor_error_temperature=False,
|
|
340
|
+
event_temperature_limits=False,
|
|
341
|
+
event_sensor_error_pressure=False,
|
|
342
|
+
event_pressure_limits=False,
|
|
343
|
+
event_sensor_error_flow=False,
|
|
344
|
+
event_flow_speed_is_over_limit=False,
|
|
345
|
+
event_flow_speed_lower_limit=False,
|
|
346
|
+
event_flow_reverse=False,
|
|
347
|
+
event_valve_failure=False,
|
|
348
|
+
event_valve_leakage=False,
|
|
349
|
+
event_gas_concentration_limit=False,
|
|
350
|
+
),
|
|
351
|
+
)]
|
|
352
|
+
# daily rf 64b
|
|
353
|
+
assert DeviceProtocolType.SMP_M_GAS_METANO_X_V0.parse(bytes.fromhex('9ecce01e80521e00c4c91200ee224e0000011d006400e127265b5e97e803450140fd4356bafa0400e0c7910a900300e47d371822c10100000000000000000000')) == [SmpMGasMeterMetanoXV0DevicePacket( # type: ignore
|
|
354
|
+
packet=SmpmUlDeviceMetanoXRf64BDailyData(
|
|
355
|
+
days_ago=timedelta(days=3),
|
|
356
|
+
sync_time_days_ago=timedelta(days=4),
|
|
357
|
+
direct_flow=0.123,
|
|
358
|
+
timestamp_s=timedelta(days=23),
|
|
359
|
+
direct_flow_volume=1231.3,
|
|
360
|
+
temperature=20.0,
|
|
361
|
+
pressure=250.0,
|
|
362
|
+
comm_timestamp=timedelta(days=22),
|
|
363
|
+
comm_count=100,
|
|
364
|
+
battery_volts_1=3.3,
|
|
365
|
+
battery_volts_2=3.1,
|
|
366
|
+
radio_quality=2,
|
|
367
|
+
rssi=-86,
|
|
368
|
+
rsrp=-90,
|
|
369
|
+
rsrq=-9,
|
|
370
|
+
snr=10,
|
|
371
|
+
ecl=1,
|
|
372
|
+
tx_power=23,
|
|
373
|
+
ncell_id=1000,
|
|
374
|
+
earfcn=5,
|
|
375
|
+
earfcn_offset=10,
|
|
376
|
+
icc_id=89701000000000000,
|
|
377
|
+
imsi=250700000000000,
|
|
378
|
+
imei=123456789012345,
|
|
379
|
+
event_reset=False,
|
|
380
|
+
event_case_was_opened=False,
|
|
381
|
+
event_battery_case_was_opened=False,
|
|
382
|
+
event_magnet=False,
|
|
383
|
+
event_impact_radio=False,
|
|
384
|
+
event_low_battery_level_1=False,
|
|
385
|
+
event_low_battery_level_2=False,
|
|
386
|
+
event_low_signal_nbiot=False,
|
|
387
|
+
event_sensor_error_temperature=False,
|
|
388
|
+
event_temperature_limits=False,
|
|
389
|
+
event_sensor_error_ambient_temperature=False,
|
|
390
|
+
event_low_ambient_temperature=False,
|
|
391
|
+
event_sensor_error_pressure=False,
|
|
392
|
+
event_pressure_limits=False,
|
|
393
|
+
event_sensor_error_flow=False,
|
|
394
|
+
event_flow_speed_is_over_limit=False,
|
|
395
|
+
event_flow_speed_lower_limit=False,
|
|
396
|
+
event_flow_reverse=False,
|
|
397
|
+
event_valve_failure=False,
|
|
398
|
+
event_valve_leakage=False,
|
|
399
|
+
event_gas_concentration_limit=False,
|
|
400
|
+
),
|
|
401
|
+
)]
|
|
402
|
+
# emergency rb 24b
|
|
403
|
+
assert DeviceProtocolType.SMP_M_GAS_METANO_X_V0.parse(bytes.fromhex('9d0c80521e000100c4c91200c0a80000ee224e007b000004')) == [SmpMGasMeterMetanoXV0DevicePacket( # type: ignore
|
|
404
|
+
packet=SmpmUlDeviceMetanoXRb24BEmergencyData(
|
|
405
|
+
timestamp_s=timedelta(days=23),
|
|
406
|
+
error_code=1,
|
|
407
|
+
direct_flow_volume=1231.3,
|
|
408
|
+
duration_error=timedelta(hours=12),
|
|
409
|
+
temperature=20.0,
|
|
410
|
+
pressure=250.0,
|
|
411
|
+
direct_flow=0.123,
|
|
412
|
+
event_reset=False,
|
|
413
|
+
event_case_was_opened=False,
|
|
414
|
+
event_battery_case_was_opened=False,
|
|
415
|
+
event_magnet=False,
|
|
416
|
+
event_impact_radio=False,
|
|
417
|
+
event_low_battery_level_1=False,
|
|
418
|
+
event_low_battery_level_2=False,
|
|
419
|
+
event_low_signal_nbiot=False,
|
|
420
|
+
event_sensor_error_temperature=False,
|
|
421
|
+
event_temperature_limits=False,
|
|
422
|
+
event_sensor_error_ambient_temperature=False,
|
|
423
|
+
event_low_ambient_temperature=False,
|
|
424
|
+
event_sensor_error_pressure=False,
|
|
425
|
+
event_pressure_limits=False,
|
|
426
|
+
event_sensor_error_flow=False,
|
|
427
|
+
event_flow_speed_is_over_limit=False,
|
|
428
|
+
event_flow_speed_lower_limit=False,
|
|
429
|
+
event_flow_reverse=True,
|
|
430
|
+
event_valve_failure=False,
|
|
431
|
+
event_valve_leakage=False,
|
|
432
|
+
event_gas_concentration_limit=False,
|
|
433
|
+
),
|
|
434
|
+
)]
|
|
435
|
+
# emergency rf 16b
|
|
436
|
+
assert DeviceProtocolType.SMP_M_GAS_METANO_X_V0.parse(bytes.fromhex('9f0c80521e000140f801000800000000')) == [SmpMGasMeterMetanoXV0DevicePacket( # type: ignore
|
|
437
|
+
packet=SmpmUlDeviceMetanoXRf16BEmergencyData(
|
|
438
|
+
timestamp_s=timedelta(days=23),
|
|
439
|
+
error_code=1,
|
|
440
|
+
battery_volts_1=3.3,
|
|
441
|
+
battery_volts_2=3.1,
|
|
442
|
+
event_reset=False,
|
|
443
|
+
event_case_was_opened=False,
|
|
444
|
+
event_battery_case_was_opened=False,
|
|
445
|
+
event_magnet=False,
|
|
446
|
+
event_impact_radio=False,
|
|
447
|
+
event_low_battery_level_1=False,
|
|
448
|
+
event_low_battery_level_2=False,
|
|
449
|
+
event_low_signal_nbiot=False,
|
|
450
|
+
event_sensor_error_temperature=False,
|
|
451
|
+
event_temperature_limits=False,
|
|
452
|
+
event_sensor_error_ambient_temperature=False,
|
|
453
|
+
event_low_ambient_temperature=False,
|
|
454
|
+
event_sensor_error_pressure=False,
|
|
455
|
+
event_pressure_limits=False,
|
|
456
|
+
event_sensor_error_flow=False,
|
|
457
|
+
event_flow_speed_is_over_limit=False,
|
|
458
|
+
event_flow_speed_lower_limit=False,
|
|
459
|
+
event_flow_reverse=True,
|
|
460
|
+
event_valve_failure=False,
|
|
461
|
+
event_valve_leakage=False,
|
|
462
|
+
event_gas_concentration_limit=False,
|
|
463
|
+
),
|
|
464
|
+
)]
|
|
465
|
+
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
|
|
298
472
|
def test_protocol_ncp_smp_v0() -> None:
|
|
299
473
|
assert DeviceProtocolType.NCP_SMP_V0.parse(bytes.fromhex("0603000000000609800605030000016ed88d016fd999051f1620dc02318b9a9ffc052df2")) == [NcpSmpV0DevicePacket(
|
|
300
474
|
mac=3,
|
|
@@ -8,12 +8,14 @@ from data_gateway_sdk.protocols.smpm.smpm_dl_device_energy_8b_get_data import Sm
|
|
|
8
8
|
from data_gateway_sdk.protocols.smpm.smpm_dl_device_energy_8b_set_clock import SmpmDlDeviceEnergy8BSetClockData
|
|
9
9
|
from data_gateway_sdk.protocols.smpm.smpm_dl_device_energy_8b_set_relay import SmpmDlDeviceEnergy8BSetRelayData
|
|
10
10
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_dl_answer import SmpmUlDeviceDlAnswerData
|
|
11
|
-
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_3phase_consumed import
|
|
11
|
+
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_3phase_consumed import \
|
|
12
|
+
SmpmUlDeviceEnergy16B3PhaseConsumedData
|
|
12
13
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_3phase_generated import \
|
|
13
14
|
SmpmUlDeviceEnergy16B3PhaseGeneratedData
|
|
14
15
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_daily import SmpmUlDeviceEnergy16BDailyData
|
|
15
16
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_device_info import SmpmUlDeviceEnergy16BDeviceInfoData
|
|
16
|
-
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_electricity_params import
|
|
17
|
+
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_electricity_params import \
|
|
18
|
+
SmpmUlDeviceEnergy16BElectricityParamsData
|
|
17
19
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_info import SmpmUlDeviceEnergy16BInfoData
|
|
18
20
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_journal import SmpmUlDeviceEnergy16BJournalData
|
|
19
21
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_profile_8h1_energy import \
|
|
@@ -23,10 +25,13 @@ from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_profile_8h2_energ
|
|
|
23
25
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_profile_8h3_energy import \
|
|
24
26
|
SmpmUlDeviceEnergy16BProfile8H3EnergyData
|
|
25
27
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_profile_8h_ar import SmpmUlDeviceEnergy16BProfile8HArData
|
|
26
|
-
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_profile_8h_energy import
|
|
28
|
+
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_profile_8h_energy import \
|
|
29
|
+
SmpmUlDeviceEnergy16BProfile8HEnergyData
|
|
27
30
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_profile_8h_f import SmpmUlDeviceEnergy16BProfile8HFData
|
|
28
|
-
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_profile_8h_pqs import
|
|
29
|
-
|
|
31
|
+
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_profile_8h_pqs import \
|
|
32
|
+
SmpmUlDeviceEnergy16BProfile8HPqsData
|
|
33
|
+
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_retrospective_energy import \
|
|
34
|
+
SmpmUlDeviceEnergy16BRetrospectiveEnergyData
|
|
30
35
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_status_info import SmpmUlDeviceEnergy16BStatusInfoData
|
|
31
36
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_tariff_consumed import \
|
|
32
37
|
SmpmUlDeviceEnergy16BTariffConsumedData
|
|
@@ -35,9 +40,11 @@ from data_gateway_sdk.protocols.smpm.smpm_ul_device_energy_16b_tariff_generated
|
|
|
35
40
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_gaz_flow_08b_daily import SmpmUlDeviceGazFlow08BDailyData
|
|
36
41
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_gaz_flow_16b_daily import SmpmUlDeviceGazFlow16BDailyData
|
|
37
42
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_gaz_flow_32b_daily import SmpmUlDeviceGazFlow32BDailyData
|
|
38
|
-
from data_gateway_sdk.protocols.smpm.smpm_ul_device_heat_group_meter_56b_daily import
|
|
43
|
+
from data_gateway_sdk.protocols.smpm.smpm_ul_device_heat_group_meter_56b_daily import \
|
|
44
|
+
SmpmUlDeviceHeatGroupMeter56BDailyData
|
|
39
45
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_heat_group_meter_daily import SmpmUlDeviceHeatGroupMeterDailyData
|
|
40
|
-
from data_gateway_sdk.protocols.smpm.smpm_ul_device_heat_proxy_meter_16b_daily import
|
|
46
|
+
from data_gateway_sdk.protocols.smpm.smpm_ul_device_heat_proxy_meter_16b_daily import \
|
|
47
|
+
SmpmUlDeviceHeatProxyMeter16BDailyData
|
|
41
48
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_internal_info import SmpmUlDeviceInternalInfoData
|
|
42
49
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_jupiter_08b_counter import SmpmUlDeviceJupiter08BCounterData
|
|
43
50
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_jupiter_08b_counter_ch1 import SmpmUlDeviceJupiter08BCounterCh1Data
|
|
@@ -48,6 +55,12 @@ from data_gateway_sdk.protocols.smpm.smpm_ul_device_jupiter_12b_counter import S
|
|
|
48
55
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_jupiter_12b_counter_volume import \
|
|
49
56
|
SmpmUlDeviceJupiter12BCounterVolumeData
|
|
50
57
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_jupiter_16b_counter import SmpmUlDeviceJupiter16BCounterData
|
|
58
|
+
from data_gateway_sdk.protocols.smpm.smpm_ul_device_metano_x_rb_24b_emergency import \
|
|
59
|
+
SmpmUlDeviceMetanoXRb24BEmergencyData
|
|
60
|
+
from data_gateway_sdk.protocols.smpm.smpm_ul_device_metano_x_rb_40b_daily import SmpmUlDeviceMetanoXRb40BDailyData
|
|
61
|
+
from data_gateway_sdk.protocols.smpm.smpm_ul_device_metano_x_rf_16b_emergency import \
|
|
62
|
+
SmpmUlDeviceMetanoXRf16BEmergencyData
|
|
63
|
+
from data_gateway_sdk.protocols.smpm.smpm_ul_device_metano_x_rf_64b_daily import SmpmUlDeviceMetanoXRf64BDailyData
|
|
51
64
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_water_meter_04b_event import SmpmUlDeviceWaterMeter04BEventData
|
|
52
65
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_water_meter_08b_daily import SmpmUlDeviceWaterMeter08BDailyData
|
|
53
66
|
from data_gateway_sdk.protocols.smpm.smpm_ul_device_water_meter_08b_daily_new import \
|
|
@@ -68,6 +81,15 @@ class SmpMGasMeterV0DevicePacket(DevicePacketTyped):
|
|
|
68
81
|
)
|
|
69
82
|
|
|
70
83
|
|
|
84
|
+
class SmpMGasMeterMetanoXV0DevicePacket(DevicePacketTyped):
|
|
85
|
+
_SUPPORTED_PACKETS: Tuple[Type[Packet], ...] = (
|
|
86
|
+
SmpmUlDeviceMetanoXRb40BDailyData,
|
|
87
|
+
SmpmUlDeviceMetanoXRf64BDailyData,
|
|
88
|
+
SmpmUlDeviceMetanoXRb24BEmergencyData,
|
|
89
|
+
SmpmUlDeviceMetanoXRf16BEmergencyData,
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
|
|
71
93
|
class SmpMEnergyMeterV0DevicePacket(DevicePacketTyped):
|
|
72
94
|
_SUPPORTED_PACKETS: Tuple[Type[Packet], ...] = (
|
|
73
95
|
SmpmUlDeviceEnergy16B3PhaseConsumedData,
|