{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://puranwater.com/schemas/postgres/engineering_mcp/control_loop_definition.schema.json","title":"control_loop_definition","type":"object","properties":{"loop_uid":{"type":"string","format":"uuid","x-pg-type":"uuid"},"project_ref":{"type":"string","x-pg-type":"text"},"loop_id":{"type":"string","x-pg-type":"text"},"segment_uid":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"x-pg-type":"uuid"},"equipment_uid":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"x-pg-type":"uuid"},"process_variable_tag":{"type":"string","x-pg-type":"text"},"manipulated_variable_tag":{"type":"string","x-pg-type":"text"},"measured_variable":{"anyOf":[{"type":"string"},{"type":"null"}],"x-pg-type":"text"},"manipulated_variable":{"anyOf":[{"type":"string"},{"type":"null"}],"x-pg-type":"text"},"loop_type":{"type":"string","x-pg-type":"text"},"setpoint_source":{"anyOf":[{"type":"string"},{"type":"null"}],"x-pg-type":"text"},"controller_algorithm":{"anyOf":[{"type":"string"},{"type":"null"}],"x-pg-type":"text"},"controller_action":{"anyOf":[{"type":"string"},{"type":"null"}],"x-pg-type":"text"},"units":{"anyOf":[{"type":"string"},{"type":"null"}],"x-pg-type":"engineering_unit"},"range_low":{"anyOf":[{"type":"number"},{"type":"null"}],"x-pg-type":"float8"},"range_high":{"anyOf":[{"type":"number"},{"type":"null"}],"x-pg-type":"float8"},"output_low_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"x-pg-type":"float8"},"output_high_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"x-pg-type":"float8"},"kp":{"anyOf":[{"type":"number"},{"type":"null"}],"x-pg-type":"float8"},"ti_s":{"anyOf":[{"type":"number"},{"type":"null"}],"x-pg-type":"float8"},"td_s":{"anyOf":[{"type":"number"},{"type":"null"}],"x-pg-type":"float8"},"deadband":{"anyOf":[{"type":"number"},{"type":"null"}],"x-pg-type":"float8"},"default_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"x-pg-type":"text"},"alarm_limits":{"x-pg-type":"jsonb"},"published_at":{"type":"string","format":"date-time","x-pg-type":"timestamptz"},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"x-pg-type":"text"},"created_at":{"type":"string","format":"date-time","x-pg-type":"timestamptz"},"updated_at":{"type":"string","format":"date-time","x-pg-type":"timestamptz"},"controller_tag":{"anyOf":[{"type":"string"},{"type":"null"}],"x-pg-type":"text"},"component_uid":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"x-pg-type":"uuid"}},"x-table-schema":"public","required":["project_ref","loop_id","process_variable_tag","manipulated_variable_tag","loop_type"],"x-primary-key":["loop_uid"],"x-foreign-keys":[{"column":"component_uid","references_table":"component_metadata","references_column":"component_uid","constraint":"control_loop_definition_component_uid_fkey"},{"column":"project_ref","references_table":"project","references_column":"ref","constraint":"control_loop_definition_project_ref_fkey"},{"column":"segment_uid","references_table":"process_segment_definition","references_column":"segment_uid","constraint":"control_loop_definition_segment_uid_fkey"}]}