Instrument results not received by Senaite (senaite.astm) (senaite.lis2a) (senaite.jsonapi)

Hello,
I’m trying to send test results from my equipment to Senaite but haven’t been successful.
I’ve reviewed the project documentation available on Git.

  • Installed senaite.astm on a separate server.
  • Installed the senaite.lis2a add-on in Senaite.
  • Installed the ‘senaite.jsonapi’
  • Added the required configurations in:
    • /home/senaite/senaitelims/eggs/cp27mu/senaite.lis2a-2.0.0-py2.7.egg/senaite/lis2a/configure.zcml
    • /home/senaite/senaitelims/eggs/cp27mu/senaite.lis2a-2.0.0-py2.7.egg/senaite/lis2a/interpreters
      (as described on Interpreters — senaite.lis2a 1.0.2 documentation)
  • Created custom adapters in senaite.astm:
    • /home/senaite/senaite.astm/src/senaite/astm/adapters
    • /home/senaite/senaite.astm/src/senaite/astm/instruments

However, when attempting to send the results, an error occurs.

Log Details:

  1. Connection between the equipment and senaite.astm is successful:

(py3-10-senaite-astm) senaite@senaiteastm:~$ senaite-astm-server --listen 0.0.0.0 --port 10001 --url http://admin:admin@192.168.100.10:8080/seniate --consumer senaite.lis2a.import --message-format lis2a --verbose
Checking connection to SENAITE … Starting session with SENAITE … Session established (‘admin’) with ‘http://192.168.100.10:8080/senaite
Starting server on 0.0.0.0:10001
ASTM server ready to handle connections …
ASTMProtocol:constructor
Connection from 172.16.20.86:49170

  1. Equipment begins sending results in ASTM format:

→ Data received from 172.16.20.86:49170: b’\x05’ on_enq: b’\x05’ ← Sending response: b’\x06’ → Data received from 172.16.20.86:49170: b’\x020H|\^&|||Icon-5 OP^NO50H22011^1.7.2715.0|||||||P|E1394-97|20250521170051\r\x030D\r\n’ on_message: b’\x020H|\^&|||Icon-5 OP^NO50H22011^1.7.2715.0|||||||P|E1394-97|20250521170051\r\x030D\r\n’ ← Sending response: b’\x06’ … (additional ASTM messages) …

  1. Results transmission completes:

→ Data received from 172.16.20.86:49170: b’\x04’ on_eot: b’\x04’
Lost connection for 172.16.20.86:49170

  1. senaite.astm starts forwarding results to senaite.lis2a (connection successful):

Dispatching ASTM
Message Starting session with SENAITE …
Session established (‘admin’) with ‘http://192.168.100.10:8080/senaite

  1. Error occurs during push to Senaite:

Could not push.

Retrying 2/3

Starting session with SENAITE …
Session established (‘admin’) with ‘http://192.168.100.10:8080/senaite
Could not push.

Retrying 3/3 Starting session with SENAITE …
Session established (‘admin’) with ‘http://192.168.100.10:8080/senaite
Could not push the message

Key Observations:

  • The equipment-to-senaite.astm connection works.
  • ASTM messages are received and acknowledged (b'\x06' responses).
  • The failure happens when senaite.astm attempts to push data to Senaite (Could not push after retries).

Is there any key component to create/edit that I missed?

Best regards,

Need some help here. Anybody?

Hello @xispa, how are you doing?
I have been trying for the past 10 days, 8 hours a day, to get senaite.astm to work, without success.
I reviewed the available documentation on GitHub regarding the required modules and installed all of them.
I created the customized .py file in the /instruments directory.
I encountered a problem when following the instructions provided on GitHub:

Custom push consumer
A push consumer is registered as an adapter in configure.zcml:

<!-- Adapter to handle instrument pushes -->
<adapter
  name="custom.lis2a.import"
  factory=".lis2a.PushConsumer"
  provides="senaite.jsonapi.interfaces.IPushConsumer"
  for="*" />

When I add the above code to configure.zcml, my Senaite Docker container fails to start due to the error: factory=".lis2a.PushConsumer" does not exist.

Additionally, I am unsure what other configurations are required for senaite.astm.

I would greatly appreciate it if you could guide me on the steps to get senaite.astm working.

Thanks and regards.