balance.mettler_toledo_xpr:
  category:
  - balance
  class:
    action_value_mappings:
      disconnect:
        feedback: {}
        goal: {}
        goal_default: {}
        handles: []
        result:
          success: success
        schema:
          description: Disconnect from balance
          properties:
            feedback: {}
            goal:
              properties: {}
              required: []
              type: object
            result:
              properties:
                success:
                  description: Whether disconnect was successful
                  type: boolean
              required:
              - success
              type: object
          required:
          - goal
          type: object
        type: UniLabJsonCommand
      get_weight:
        feedback: {}
        goal: {}
        goal_default: {}
        handles: []
        result:
          unit: unit
          weight: weight
        schema:
          description: Get current weight reading
          properties:
            feedback: {}
            goal:
              properties: {}
              required: []
              type: object
            result:
              properties:
                unit:
                  description: Weight unit (e.g., g, kg)
                  type: string
                weight:
                  description: Weight value
                  type: number
              required:
              - weight
              - unit
              type: object
          required:
          - goal
          type: object
        type: UniLabJsonCommand
      read_with_tare:
        feedback: {}
        goal:
          immediate_tare: immediate_tare
        goal_default:
          immediate_tare: true
        handles: []
        result:
          unit: unit
          weight: weight
        schema:
          description: Perform tare then read weight (standard read operation)
          properties:
            feedback: {}
            goal:
              properties:
                immediate_tare:
                  default: true
                  description: Whether to use immediate tare
                  type: boolean
              required: []
              type: object
            result:
              properties:
                unit:
                  description: Weight unit (e.g., g, kg)
                  type: string
                weight:
                  description: Weight value after tare
                  type: number
              required:
              - weight
              - unit
              type: object
          required:
          - goal
          type: object
        type: UniLabJsonCommand
      send_cmd:
        feedback: {}
        goal:
          command: command
        goal_default:
          command: ''
        handles: []
        result:
          return_info: return_info
          success: success
        schema:
          description: ''
          properties:
            feedback:
              properties:
                status:
                  type: string
              required:
              - status
              title: SendCmd_Feedback
              type: object
            goal:
              properties:
                command:
                  type: string
              required:
              - command
              title: SendCmd_Goal
              type: object
            result:
              properties:
                return_info:
                  type: string
                success:
                  type: boolean
              required:
              - return_info
              - success
              title: SendCmd_Result
              type: object
          required:
          - goal
          title: SendCmd
          type: object
        type: SendCmd
      tare:
        feedback: {}
        goal:
          immediate: immediate
        goal_default:
          immediate: false
        handles: []
        result:
          success: success
        schema:
          description: Tare operation for balance
          properties:
            feedback: {}
            goal:
              properties:
                immediate:
                  default: false
                  description: Whether to perform immediate tare
                  type: boolean
              required: []
              type: object
            result:
              properties:
                success:
                  description: Whether tare operation was successful
                  type: boolean
              required:
              - success
              type: object
          required:
          - goal
          type: object
        type: UniLabJsonCommand
      zero:
        feedback: {}
        goal:
          immediate: immediate
        goal_default:
          immediate: false
        handles: []
        result:
          success: success
        schema:
          description: Zero operation for balance
          properties:
            feedback: {}
            goal:
              properties:
                immediate:
                  default: false
                  description: Whether to perform immediate zero
                  type: boolean
              required: []
              type: object
            result:
              properties:
                success:
                  description: Whether zero operation was successful
                  type: boolean
              required:
              - success
              type: object
          required:
          - goal
          type: object
        type: UniLabJsonCommand
    module: unilabos.devices.balance.mettler_toledo_xpr.mettler_toledo_xpr:MettlerToledoXPR
    status_types:
      error_message: str
      is_stable: bool
      status: str
      unit: str
      weight: float
    type: python
  config_info: []
  description: Mettler Toledo XPR/XSR Balance Driver
  handles: []
  icon: ''
  init_param_schema:
    description: MettlerToledoXPR __init__ parameters
    properties:
      feedback: {}
      goal:
        description: Initialization parameters for Mettler Toledo XPR balance
        properties:
          ip:
            default: 192.168.1.10
            description: Balance IP address
            type: string
          password:
            default: '123456'
            description: Balance password
            type: string
          port:
            default: 81
            description: Balance port number
            type: integer
          timeout:
            default: 10
            description: Connection timeout in seconds
            type: integer
        required: []
        type: object
      result: {}
    required:
    - goal
    title: __init__ command parameters
    type: object
  version: 1.0.0