twseia package¶
-
twseia.create_read_all_states_cmd() → list¶ Create TaiSEIA device all states request protocol data.
-
twseia.create_read_brand_cmd() → list¶ Create TaiSEIA device brand request protocol data.
-
twseia.create_read_dev_type_cmd() → list¶ Create TaiSEIA device type request protocol data.
-
twseia.create_read_model_cmd() → list¶ Create TaiSEIA device model request protocol data.
-
twseia.create_read_state_cmd(type_id: int, service_id: int) → list¶ Create TaiSEIA device service state request protocol data.
-
twseia.create_read_state_cmd_from_txt(type_id: int, cmd_txt: str) → list¶ Create TaiSEIA device service state request protocol data from text cmd.
-
twseia.create_read_supported_services_cmd() → list¶ Create TaiSEIA device services request protocol data.
-
twseia.create_sa_class_id_cmd() → list¶ Create TaiSEIA class ID request protocol data.
-
twseia.create_sa_protocol_version_cmd() → list¶ Create TaiSEIA device version request protocol data.
-
twseia.create_sa_register_cmd() → list¶ Create TaiSEIA register request protocol data.
-
twseia.create_write_state_cmd_from_txt(type_id: int, cmd_txt: str, cmd_value: int) → list¶ Create TaiSEIA device service state write request protocol data from text cmd.
-
twseia.parsing_read_state_response(type_id: int, pdu: list, is_fixed_len_pdu: bool = True) → dict¶ Parsing TaiSEIA device service state response protocol data.
-
twseia.parsing_sa_all_states_response(type_id: int, pdu: list, is_fixed_len_pdu: bool = True) → list¶ Parsing TaiSEIA Dehumidifier all service states response protocol data.
-
twseia.parsing_sa_brand_response(pdu: list) → str¶ Parsing TaiSEIA device brand response protocol data.
-
twseia.parsing_sa_class_id_response(pdu: list) → int¶ Parsing TaiSEIA class ID response protocol data.
-
twseia.parsing_sa_dev_type_response(pdu: list) → int¶ Parsing TaiSEIA device type ID response protocol data.
-
twseia.parsing_sa_model_response(pdu: list) → str¶ Parsing TaiSEIA device model response protocol data.
-
twseia.parsing_sa_protocol_version_response(pdu: list) → tuple¶ Parsing TaiSEIA device protocol version response protocol data.
-
twseia.parsing_sa_register_response(pdu: list) → twseia.packets.SARegisterPacket¶ Parsing TaiSEIA register response protocol data.
-
twseia.parsing_sa_services_response(type_id: int, pdu: list, is_fixed_len_pdu: bool = True) → list¶ Parsing TaiSEIA Dehumidifier device services response protocol data.
-
twseia.read_sa_cmd_helps_from_register_response(pdu: list) → list¶ Read TaiSEIA SA device supported commands from register response protocol data.
-
twseia.read_sa_type_id_dict() → dict¶ Read TaiSEIA Smart Application (SA) device type name and ID mapping dict.
Submodules¶
-
class
twseia.air_conditioner.ACServiceIDEnum(value)¶ Bases:
enum.IntEnumAn enumeration.
-
AIR_CLEAN_MODE_RW= 8¶
-
AIR_DETECT_RW= 22¶
-
BODY_DISPLAY_MODE_RW= 31¶
-
CLOCK_OFF_RW= 10¶
-
CLOCK_ON_RW= 9¶
-
COMFORTABLE_RW= 5¶
-
COMFORTABLE_TIMER_RW= 6¶
-
DEHUMIDIFIER_CFG_RW= 19¶
-
DEV_MILDEW_RW= 23¶
-
DISPLAY_ERR_R= 41¶
-
ERR_HISTORY_1_R= 42¶
-
ERR_HISTORY_2_R= 43¶
-
ERR_HISTORY_3_R= 44¶
-
ERR_HISTORY_4_R= 45¶
-
ERR_HISTORY_5_R= 46¶
-
FAN_LEVEL_RW= 2¶
-
FAN_SWING_LEVEL_RW= 17¶
-
FAN_SWING_RW= 16¶
-
FAN_UPDOWN_LEVEL_RW= 15¶
-
FAN_UPDOWN_RW= 14¶
-
FAST_OP_RW= 26¶
-
FILTER_ACCU_OP_HOUR_RW= 48¶
-
FILTER_CLEAN_NOTIFY_RW= 18¶
-
FUZZY_TEMPERATURE_RW= 7¶
-
HUMIDITY_R= 20¶
-
INDOOR_UNIT_WATT_R= 34¶
-
MAINTENANCE_ACCU_OP_HOUR_RW= 47¶
-
MOISTURIZE_MODE_RW= 32¶
-
MONTHLY_WATT_R= 51¶
-
MOTION_DETECT_MODE_RW= 25¶
-
OP_MODE_RW= 1¶
-
OUTDOOR_TEMPERATURE_R= 33¶
-
OUTDOOR_UNIT_CURRENT_R= 36¶
-
OUTDOOR_UNIT_INSTANT_WATT_R= 39¶
-
OUTDOOR_UNIT_POWER_FACTOR_R= 38¶
-
OUTDOOR_UNIT_VOLTAGE_R= 37¶
-
OUTDOOR_UNIT_WATT_R= 35¶
-
POWER_LIMIT_OP_RW= 28¶
-
POWER_RW= 0¶
-
POWER_SAVING_OP_RW= 27¶
-
REMOTE_CTRL_LOCK_RW= 29¶
-
SAA_CTRL_AUDIO_RW= 30¶
-
SELF_CLEAN_RW= 24¶
-
SYS_CHECK_R= 21¶
-
SYS_MONTH_DAY_RW= 50¶
-
SYS_TIME_RW= 13¶
-
SYS_YEAR_RW= 49¶
-
TEMPERATURE_CFG_RW= 3¶
-
TEMPERATURE_R= 4¶
-
TIMER_OFF_2_RW= 52¶
-
TIMER_OFF_RW= 12¶
-
TIMER_ON_RW= 11¶
-
TOTAL_WATT_RW= 40¶
-
-
class
twseia.air_conditioner.AirConditioner¶ Bases:
twseia.devices.SADevice-
classmethod
convert_cmd_txt_to_service_id(cmd_txt: str) → int¶
-
classmethod
convert_dev_specific_service(pdu: list, is_fixed_len_pdu: bool) → twseia.services.SAServiceBase¶
-
classmethod
read_cmd_list() → list¶
-
classmethod
read_service_id_list() → list¶
-
classmethod
read_spec_cmd_helps() → list¶
-
classmethod
read_type_id() → int¶
-
classmethod
-
class
twseia.constants.SAClassID(value)¶ Bases:
enum.IntEnumSA裝置類別: 0:家庭電器、1:發電設備、2:儲能設備、3:感測設備。
-
ENERGY_STORAGE_DEVICE= 2¶
-
HOME_DEVICE= 0¶
-
POWER_GENERATION_DEVICE= 1¶
-
SENSOR_DEVICE= 3¶
-
-
class
twseia.constants.SAPacketDataLenType(value)¶ Bases:
enum.IntEnum多位元組資料型態SA:0代表一般資料型態SA、1代表多位元組資料型態SA
-
DYNAMIC_LEN= 1¶
-
FIXED_LEN= 0¶
-
-
class
twseia.constants.SARegisterServiceIDEnum(value)¶ Bases:
enum.IntEnumSA註冊用服務類別, TAISEIA Spec. Table_14
-
READ_BRAND= 5¶ 讀取SA廠牌(Brand)
-
READ_CLASS_ID= 1¶ 讀取裝置類別代碼(Class ID)
-
READ_CURRENT_SERVICES_STATES= 8¶ 讀取SA目前所有服務狀態值
-
READ_MODEL= 6¶ 讀取SA型號(Model)
-
READ_PROTOCOL_VERSION= 2¶ 讀取TaiSEIA 101裝置監控通訊協定版本值
-
READ_SUPPORTED_SERVICES= 7¶ 讀取SA可提供之所有支援服務規格
-
READ_TYPE_ID= 4¶ 讀取SA類別代碼(Type ID)
-
REGISTRATION= 0¶ 註冊服務
-
RESERVED= 3¶ 保留, 保留供未來擴充功能使用
-
-
class
twseia.constants.SAServiceIOMode(value)¶ Bases:
enum.IntEnumSA服務類別讀/寫(R/W)功能規格
-
READ= 0¶
-
READ_WRITE= 1¶
-
-
class
twseia.constants.SATypeIDEnum(value)¶ Bases:
enum.IntEnumSA類別碼, TAISEIA Spec. Table_10
-
AIR_CLEANER= 8¶ 空氣清淨機
-
AIR_CONDITIONER= 1¶ 冷氣機
-
DEHUMIDIFIER= 4¶ 除濕機
-
DISH_WASHER= 12¶ 烘碗機
-
DRYING_MACHINE= 6¶ 烘衣機
-
ELECTRONIC_POT= 9¶ 電子鍋
-
FAN= 15¶ 電扇
-
FULL_HEAT_SWITCH= 14¶ 全熱交換器
-
GAS_WATER_HEATER= 16¶ 燃氣熱水器
-
GENERAL_DEVICE= 240¶ 通用裝置
-
HEAD_PUMP_WATER_HEATER= 7¶ 熱泵熱水器
-
INDUCTION_COOKER= 11¶ 電磁爐
-
LAMP= 17¶ 燈具
-
MICROWAVE_OVEN= 13¶ 微波爐
-
OPEN_DRINK_MACHINE= 10¶ 開飲機
-
REFRIGERATOR= 2¶ 電冰箱
-
REGISTER= 0¶ 註冊用
-
SMART_METER_GATEWAY= 224¶ 智慧電表閘道器
-
TELEVISION= 5¶ 電視機
-
WATCHING_MACHINE= 3¶ 洗衣機
-
-
class
twseia.dehumidifier.DHServiceIDEnum(value)¶ Bases:
enum.IntEnumAn enumeration.
-
AIR_CLEAN_MODE_RW= 13¶
-
AUDIO_RW= 16¶
-
DEFROST_DISPLAY_R= 17¶
-
DEHUMIDIFIER_LEVEL_RW= 4¶
-
DEV_MILDEW_RW= 19¶
-
DISPLAY_ERR_R= 18¶
-
DRY_CLOTHE_LEVEL_RW= 5¶
-
ERR_HISTORY_1_R= 30¶
-
ERR_HISTORY_2_R= 31¶
-
ERR_HISTORY_3_R= 32¶
-
ERR_HISTORY_4_R= 33¶
-
ERR_HISTORY_5_R= 34¶
-
FAN_DIRECTION_AUTO_RW= 8¶
-
FAN_DIRECTION_LEVEL_RW= 9¶
-
FAN_LEVEL_RW= 14¶
-
FILTER_CLEAN_NOTIFY_RW= 11¶
-
HUMIDITY_CFG_RW= 3¶
-
HUMIDITY_HIGH_CFG_RW= 21¶
-
HUMIDITY_HIGH_NOTIFY_RW= 20¶
-
HUMIDITY_R= 7¶
-
KEYPAD_LOCK_RW= 22¶
-
MOOD_LED_RW= 12¶
-
OP_CURRENT_R= 25¶
-
OP_MODE_RW= 1¶
-
OP_POWER_FACTOR_R= 27¶
-
OP_POWER_WATT_RW= 28¶
-
OP_TIMER_RW= 2¶
-
OP_VOLTAGE_R= 26¶
-
POWER_RW= 0¶
-
REMOTE_CTRL_LOCK_RW= 23¶
-
SAA_CTRL_AUDIO_RW= 24¶
-
SIDE_FAN_R= 15¶
-
TEMPERATURE_R= 6¶
-
TOTAL_WATT_RW= 29¶
-
WATER_FULL_ALARM_R= 10¶
-
-
class
twseia.dehumidifier.Dehumidifier¶ Bases:
twseia.devices.SADevice-
classmethod
convert_cmd_txt_to_service_id(cmd_txt: str) → int¶
-
classmethod
convert_dev_specific_service(pdu: list, is_fixed_len_pdu: bool = True) → twseia.services.SAServiceBase¶
-
classmethod
read_cmd_list() → list¶
-
classmethod
read_service_id_list() → list¶
-
classmethod
read_spec_cmd_helps() → list¶
-
classmethod
read_type_id() → int¶
-
classmethod
-
class
twseia.devices.SADevice¶ Bases:
object-
classmethod
convert_cmd_txt_to_service_id(cmd_txt: str) → int¶
-
classmethod
convert_dev_specific_service(pdu: list, is_fixed_len_pdu: bool) → twseia.services.SAServiceBase¶
-
classmethod
read_cmd_list() → list¶
-
classmethod
read_service_id_list() → list¶
-
classmethod
read_spec_cmd_helps() → list¶
-
classmethod
read_type_id() → int¶
-
classmethod
-
class
twseia.devices.SAEngModeService¶ Bases:
twseia.services.SAServiceBase工程模式
-
class
twseia.packets.SAInfoDevStatesPacket¶ Bases:
twseia.packets._BasePacket,twseia.packets.SAResponsePacket-
classmethod
from_pdu(pdu: list)¶
-
classmethod
-
class
twseia.packets.SAInfoRequestPacket¶ Bases:
twseia.packets._BasePacket,twseia.packets.SARequestPacketTAISEIA Spec. Graph_34
-
classmethod
create(sa_info_type: twseia.constants.SARegisterServiceIDEnum = <SARegisterServiceIDEnum.REGISTRATION: 0>)¶
-
classmethod
from_pdu(pdu: list)¶
-
to_pdu()¶
-
classmethod
-
class
twseia.packets.SAInfoResponsePacket¶ Bases:
twseia.packets.SAResponsePacketTAISEIA Spec. Graph_35
-
checksum= None¶
-
data_bytes= None¶
-
classmethod
from_pdu(pdu: list)¶
-
len= None¶
-
service_id= None¶
-
type_id= None¶
-
-
class
twseia.packets.SARegisterPacket¶ Bases:
twseia.packets._BasePacket,twseia.packets.SAResponsePacket-
brand= None¶
-
class_id= None¶
-
fragment_offset= None¶
-
classmethod
from_pdu(pdu: list)¶
-
major_ver= None¶
-
minor_ver= None¶
-
model= None¶
-
services= []¶
-
states= {}¶
-
to_json()¶
-
-
class
twseia.packets.SASensorReadMultiResponsePacket¶ Bases:
objectTAISEIA Spec. Graph_41
-
checksum= None¶
-
data_bytes= None¶
-
data_type_id= None¶
-
fragment_offset= None¶
-
len= None¶
-
service_id= None¶
-
type_id= None¶
-
-
class
twseia.packets.SAStateReadRequestPacket¶ Bases:
twseia.packets._BasePacketTAISEIA Spec. Graph_36
-
classmethod
create(type_id: int, service_id: int)¶
-
to_pdu()¶
-
classmethod
-
class
twseia.packets.SAStateReadResponsePacket¶ Bases:
twseia.packets._BasePacketTAISEIA Spec. Graph_37
-
classmethod
from_pdu(pdu: list)¶
-
classmethod
-
class
twseia.packets.SAStateWriteRequestPacket¶ Bases:
twseia.packets._BasePacketTAISEIA Spec. Graph_43
-
classmethod
create(type_id: int, service_id: int, value: int)¶
-
to_pdu()¶
-
classmethod
-
class
twseia.packets.SAStateWriteResponsePacket¶ Bases:
twseia.packets.SAStateWriteRequestPacket-
classmethod
from_pdu(pdu: list)¶
-
classmethod
-
twseia.sa_txt_cmd.read_sa_cmd_helps(register: twseia.packets.SARegisterPacket)¶
-
class
twseia.services.Enum16BitService¶ Bases:
twseia.services.SAServiceBase-
ID= 6¶
-
read_bit(bit_index: int) → int¶
-
read_value()¶
-
to_cmd_help() → twseia.services.SACmdHelp¶
-
-
class
twseia.services.Enum16Service¶ Bases:
twseia.services.SAServiceBase-
ID= 1¶
-
read_value()¶
-
to_cmd_help() → twseia.services.SACmdHelp¶
-
-
class
twseia.services.HMService¶ Bases:
twseia.services.SAServiceBase-
ID= 21¶
-
read_hour()¶
-
read_minute()¶
-
read_value()¶
-
to_cmd_help() → twseia.services.SACmdHelp¶
-
-
class
twseia.services.Int16Service¶ Bases:
twseia.services.SAServiceBase-
ID= 16¶
-
read_max()¶
-
read_min()¶
-
read_value()¶
-
to_cmd_help() → twseia.services.SACmdHelp¶
-
-
class
twseia.services.Int32Service¶ Bases:
twseia.services.SAServiceBase-
ID= 17¶
-
read_max()¶
-
read_min()¶
-
read_value()¶
-
to_cmd_help() → twseia.services.SACmdHelp¶
-
-
class
twseia.services.Int8Service¶ Bases:
twseia.services.SAServiceBase-
ID= 15¶
-
read_max()¶
-
read_min()¶
-
read_value()¶
-
to_cmd_help() → twseia.services.SACmdHelp¶
-
-
class
twseia.services.MDService¶ Bases:
twseia.services.SAServiceBase-
ID= 20¶
-
read_day()¶
-
read_month()¶
-
read_value()¶
-
to_cmd_help() → twseia.services.SACmdHelp¶
-
-
class
twseia.services.MSService¶ Bases:
twseia.services.SAServiceBase-
ID= 22¶
-
read_minute()¶
-
read_second()¶
-
read_value()¶
-
to_cmd_help() → twseia.services.SACmdHelp¶
-
-
class
twseia.services.SACmdHelp(**kwargs)¶ Bases:
object-
property
description¶
-
property
id¶
-
property
mode¶
-
property
params¶
-
to_json()¶
-
property
txt¶
-
property
unit¶
-
update_kwargs(name, value)¶
-
update_kwargs_params(value)¶
-
update_kwargs_txt(value)¶
-
update_kwargs_type(value)¶
-
update_kwargs_unit(value)¶
-
property
value_type¶
-
property
-
class
twseia.services.SADataValueType(value)¶ Bases:
enum.IntEnumAn enumeration.
-
ENUM16= 1¶
-
ENUM16_BIT= 6¶
-
INT16= 16¶
-
INT32= 17¶
-
INT8= 15¶
-
STR= 32¶
-
TIME_HM= 21¶
-
TIME_MD= 20¶
-
TIME_MS= 22¶
-
TIME_YMDHM= 24¶
-
TIME_YMDHMS= 23¶
-
UINT16= 11¶
-
UINT32= 12¶
-
UINT64= 13¶
-
UNIT8= 10¶
-
-
class
twseia.services.SAServiceBase¶ Bases:
object-
cmd_txt= None¶
-
data_bytes= None¶
-
data_type_id= None¶
-
description= None¶
-
classmethod
from_dynamic_len_pdu(pdu: list)¶
-
classmethod
from_fixed_len_pdu(pdu: list)¶
-
io_mode_id= None¶
-
read_value()¶
-
service_id= None¶
-
to_cmd_help() → twseia.services.SACmdHelp¶
-
to_json()¶
-
to_state_report()¶
-
unit= None¶
-
-
class
twseia.services.UInt16Service¶ Bases:
twseia.services.SAServiceBase-
ID= 11¶
-
read_max()¶
-
read_min()¶
-
read_value()¶
-
to_cmd_help() → twseia.services.SACmdHelp¶
-
-
class
twseia.services.UInt32Service¶ Bases:
twseia.services.SAServiceBase-
ID= 12¶
-
read_max()¶
-
read_min()¶
-
read_value()¶
-
to_cmd_help() → twseia.services.SACmdHelp¶
-
-
class
twseia.services.UInt64Service¶ Bases:
twseia.services.SAServiceBase-
ID= 13¶
-
read_max()¶
-
read_min()¶
-
read_value()¶
-
to_cmd_help() → twseia.services.SACmdHelp¶
-
-
class
twseia.services.UInt8Service¶ Bases:
twseia.services.SAServiceBase-
ID= 10¶
-
read_max()¶
-
read_min()¶
-
read_value()¶
-
to_cmd_help() → twseia.services.SACmdHelp¶
-
-
twseia.services.query_sa_data_type_dynamic_len(data_type_id: int)¶
-
twseia.utils.append_checksum(pdu: list) → list¶
-
twseia.utils.compute_pdu_checksum(pdu: list)¶
-
twseia.utils.convert_enum_to_value_list(enum_type)¶