Skip to main content

Python driver for Sartorius and Minebea Intec scales.

Project description

sartorius

Asynchronous python ethernet interface and command-line tool for Sartorius and Minebea Intec scales.

Compatibility

This driver should work for any ethernet scale that uses the standardized communications protocol of the Scale Manufacturers Association. However, it has only been tested on the following models:

  • Minebea Intec Signum
  • Sartorius Entris
  • Sartorius Miras

Installation

pip install sartorius

Scale Setup

For Minebea scale setup, navigate to SETUP - UNICOM - DATAPROT - ETHER.

  • Make sure SRC.IP is set to a valid LAN address
  • Ensure MODE - SBI-SRV - 6.1.1 is set (manual says this should be default but it is not)
  • All other defaults are good

This driver is intended to be stable to disconnects, so operators should be able to unplug and reposition the device without affecting any long polling.

Command Line

$ sartorius scale-ip.local
{
    "mass": 0.0,
    "units": "kg",
    "stable": true,
    "info": {
        "model": "SIWADCP-1-",
        "serial": "37454321",
        "software": "00-37-09"
    }
}

If using a port other than the default of 49155 e.g. for a MODBUS gateway, use --port or a colon between the IP address and port. sartorius 192.168.1.1 --port 10000 or sartorius 192.168.1.1:12345

You can tare and zero with --zero and remove the info field with --no-info. See sartorius --help for more.

To use in shell scripts, parse the json output with something like jq. For example, sartorius scale-ip.local | jq .mass will return the mass.

Python

If you'd like to link this to more complex behavior, consider using a Python script. This driver exclusively supports asynchronous Python ≥3.7.

import asyncio
import sartorius

async def get():
    async with sartorius.Scale('scale-ip.local') as scale:
        await scale.zero()             # Zero and tare the scale
        print(await scale.get())       # Get mass, units, stability
        print(await scale.get_info())  # Get model, serial, software version

asyncio.run(get())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sartorius-0.6.0.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

sartorius-0.6.0-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file sartorius-0.6.0.tar.gz.

File metadata

  • Download URL: sartorius-0.6.0.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for sartorius-0.6.0.tar.gz
Algorithm Hash digest
SHA256 040bb579f7b5198f7c52b662e749ed50e801e9ffd4ca0f6b26b160a8467d757d
MD5 d4e72aa703c87711aec49f5d3061a3ca
BLAKE2b-256 e0f388d01837bdb410225f5861279cda5e30abfa9b0b5085392ba027d5524eb4

See more details on using hashes here.

File details

Details for the file sartorius-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: sartorius-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for sartorius-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d7f95cbbddcf249ea880b4e65f3a8124bf12e980ca523ca6f816635dd5acccd3
MD5 f1a9a172145a1c44cc82c950b36cb709
BLAKE2b-256 1f64d621ae21431daff99bfcc4a120c246555d6fafdef8b5120049d473a469a5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page