source_policy.py 809 B

1234567891011121314151617181920
  1. """当前业务口径:安全监控判开停,重大设备只提供风量。"""
  2. SOURCE_SYSTEM_BY_ROLE = {'fan_state': 'safety', 'flow': 'equipment'}
  3. def source_policy():
  4. return {'version': 'main-fan-sources-2026-10-21',
  5. 'fan_state': 'safety', 'flow': 'equipment',
  6. 'equipment_state_used_for_switch': False}
  7. def select_history_points(points):
  8. return [point for point in points if SOURCE_SYSTEM_BY_ROLE.get(point.role) == point.system]
  9. def validate_history_sources(points):
  10. for point in points:
  11. if SOURCE_SYSTEM_BY_ROLE.get(point.role) != point.system:
  12. raise ValueError('开停以安全监控为准,重大设备只取风量;请调整测点计划:'
  13. + point.node_id + ' (' + point.system + '/' + point.role + ')')