Refine scada api

This commit is contained in:
WQY\qiong
2023-02-24 13:47:59 +08:00
parent cef631b41b
commit fd03105614
8 changed files with 456 additions and 278 deletions

View File

@@ -95,14 +95,14 @@ OPTION_QUALITY_CHEMICAL = api.OPTION_QUALITY_CHEMICAL
OPTION_QUALITY_AGE = api.OPTION_QUALITY_AGE
OPTION_QUALITY_TRACE = api.OPTION_QUALITY_TRACE
SCADA_TYPE_PRESSURE = api.SCADA_TYPE_PRESSURE
SCADA_TYPE_DEMAND = api.SCADA_TYPE_DEMAND
SCADA_TYPE_QUALITY = api.SCADA_TYPE_QUALITY
SCADA_TYPE_LEVEL = api.SCADA_TYPE_LEVEL
SCADA_TYPE_FLOW = api.SCADA_TYPE_FLOW
SCADA_DEVICE_TYPE_PRESSURE = api.SCADA_DEVICE_TYPE_PRESSURE
SCADA_DEVICE_TYPE_DEMAND = api.SCADA_DEVICE_TYPE_DEMAND
SCADA_DEVICE_TYPE_QUALITY = api.SCADA_DEVICE_TYPE_QUALITY
SCADA_DEVICE_TYPE_LEVEL = api.SCADA_DEVICE_TYPE_LEVEL
SCADA_DEVICE_TYPE_FLOW = api.SCADA_DEVICE_TYPE_FLOW
SCADA_STATUS_ONLINE = api.SCADA_STATUS_ONLINE
SCADA_STATUS_OFFLINE = api.SCADA_STATUS_OFFLINE
SCADA_ELEMENT_STATUS_ONLINE = api.SCADA_ELEMENT_STATUS_ONLINE
SCADA_ELEMENT_STATUS_OFFLINE = api.SCADA_ELEMENT_STATUS_OFFLINE
############################################################
@@ -185,11 +185,11 @@ def have_snapshot_for_current_operation(name: str) -> bool:
def take_snapshot_for_operation(name: str, operation: int, tag: str) -> None:
return api.take_snapshot_for_operation(name, operation, tag)
def take_snapshot_for_current_operation(name: str, tag: str) -> int | None:
def take_snapshot_for_current_operation(name: str, tag: str) -> None:
return api.take_snapshot_for_current_operation(name, tag)
# deprecated ! use take_snapshot_for_current_operation instead
def take_snapshot(name: str, tag: str) -> int | None:
def take_snapshot(name: str, tag: str) -> None:
return api.take_snapshot(name, tag)
def update_snapshot(name: str, operation: int, tag: str) -> None:
@@ -773,45 +773,73 @@ def set_backdrop(name: str, cs: ChangeSet) -> ChangeSet:
############################################################
# scada_model 29
# scada_device 29
############################################################
def get_scada_model_schema(name: str) -> dict[str, dict[str, Any]]:
return api.get_scada_model_schema(name)
def get_scada_device_schema(name: str) -> dict[str, dict[str, Any]]:
return api.get_scada_device_schema(name)
def get_scada_model(name: str, id: str) -> dict[str, Any]:
return api.get_scada_model(name, id)
def get_scada_device(name: str, id: str) -> dict[str, Any]:
return api.get_scada_device(name, id)
def set_scada_model(name: str, cs: ChangeSet) -> ChangeSet:
return api.set_scada_model(name, cs)
def set_scada_device(name: str, cs: ChangeSet) -> ChangeSet:
return api.set_scada_device(name, cs)
# example: add_scada_model(p, ChangeSet({'id': 'sm', 'x': 0.0, 'y': 10.0, 'device_id': 'sm_device'}))
def add_scada_model(name: str, cs: ChangeSet) -> ChangeSet:
return api.add_scada_model(name, cs)
def add_scada_device(name: str, cs: ChangeSet) -> ChangeSet:
return api.add_scada_device(name, cs)
def delete_scada_model(name: str, cs: ChangeSet) -> ChangeSet:
return api.delete_scada_model(name, cs)
def delete_scada_device(name: str, cs: ChangeSet) -> ChangeSet:
return api.delete_scada_device(name, cs)
def clean_scada_device(name: str) -> ChangeSet:
return api.clean_scada_device(name)
############################################################
# scada_data 30
# scada_device_data 30
############################################################
def get_scada_data_schema(name: str) -> dict[str, dict[str, Any]]:
return api.get_scada_data_schema(name)
def get_scada_device_data_schema(name: str) -> dict[str, dict[str, Any]]:
return api.get_scada_device_data_schema(name)
def get_scada_data(name: str, device_id: str) -> dict[str, Any]:
return api.get_scada_data(name, device_id)
def get_scada_device_data(name: str, device_id: str) -> dict[str, Any]:
return api.get_scada_device_data(name, device_id)
# example: set_scada_data(p, ChangeSet({'device_id': 'sm_device', 'data': [{ 'time': '2023-02-10 00:02:22', 'value': 100.0 }, { 'time': '2023-02-10 00:03:22', 'value': 200.0 }]}))
# example: set_scada_device_data(p, ChangeSet({'device_id': 'sm_device', 'data': [{ 'time': '2023-02-10 00:02:22', 'value': 100.0 }, { 'time': '2023-02-10 00:03:22', 'value': 200.0 }]}))
# time format must be 'YYYY-MM-DD HH:MM:SS'
def set_scada_data(name: str, cs: ChangeSet) -> ChangeSet:
return api.set_scada_data(name, cs)
def set_scada_device_data(name: str, cs: ChangeSet) -> ChangeSet:
return api.set_scada_device_data(name, cs)
# example: add_scada_data(p, ChangeSet({'device_id': 'sm_device', 'time': '2023-02-10 00:02:22', 'value': 100.0}))
def add_scada_data(name: str, cs: ChangeSet) -> ChangeSet:
return api.add_scada_data(name, cs)
# example: add_scada_device_data(p, ChangeSet({'device_id': 'sm_device', 'time': '2023-02-10 00:02:22', 'value': 100.0}))
def add_scada_device_data(name: str, cs: ChangeSet) -> ChangeSet:
return api.add_scada_device_data(name, cs)
# example: delete_scada_data(p, ChangeSet({'device_id': 'sm_device', 'time': '2023-02-12 00:02:22'}))
def delete_scada_data(name: str, cs: ChangeSet) -> ChangeSet:
return api.delete_scada_data(name, cs)
# example: delete_scada_device_data(p, ChangeSet({'device_id': 'sm_device', 'time': '2023-02-12 00:02:22'}))
def delete_scada_device_data(name: str, cs: ChangeSet) -> ChangeSet:
return api.delete_scada_device_data(name, cs)
def clean_scada_device_data(name: str) -> ChangeSet:
return api.clean_scada_device_data(name)
############################################################
# scada_element 31
############################################################
def get_scada_element_schema(name: str) -> dict[str, dict[str, Any]]:
return api.get_scada_element_schema(name)
def get_scada_element(name: str, id: str) -> dict[str, Any]:
return api.get_scada_element(name, id)
def set_scada_element(name: str, cs: ChangeSet) -> ChangeSet:
return api.set_scada_element(name, cs)
def add_scada_element(name: str, cs: ChangeSet) -> ChangeSet:
return api.add_scada_element(name, cs)
def delete_scada_element(name: str, cs: ChangeSet) -> ChangeSet:
return api.delete_scada_element(name, cs)
def clean_scada_element(name: str) -> ChangeSet:
return api.clean_scada_element(name)