Skip to main content
Version: 4.2 (beta)

IonoPi

Iono Pi is a versatile I/O module that combines several digital and analog input lines, power relay outputs and support for standard interfaces, typical of modern PLCs, with the powerful computing core of the Raspberry Pi.

Iono Pi device

This driver provides support for both a local installation of HSYCO on Iono Pi itself, or a remote Iono Pi unit connected via SSH. In both cases, the Raspberry Pi OS Kernel module for Iono Pi must be installed. The kernel module documentation is available at GitHub and the Iono Pi User Guide.

HSYCO Configuration

Add a IONO Pi I/O Server in the I/O Servers section of the Settings and set its parameters:

note

Note that the IONO Pi I/O Server doesn't count in the I/O servers license total, so you don't need an extra I/O Server license to use IONO Pi with HSYCO.

Communication

  • IP Address: the IP address assigned to Iono Pi, leave blank for a local installation;
  • Port: SSH port configured on Iono Pi (defaults to 22), leave blank for a local installation.

Authentication

  • User: username to access the remote Iono Pi via SSH, leave blank for a local installation
  • Password: password to access the remote Iono Pi via SSH, leave blank for a local installation.

High Availability

  • Shutdown when inactive: defaults to false.

Options

IDDefaultValuesDescription
startupeventstruetruegenerate IO events also during the driver’s start-up phase
falsestart generating events only after HSYCO is aligned with the current status of the system
compatibilitymodefalsetrueuse the legacy datapoint naming scheme, maintaining compatibility with older HSYCO configurations (until version 3.9). See the Compatibility Mode section below for more details
falseuse the new datapoint naming format following the Kernel Module file system
wiegandbitsfalsetruethe wiegand datapoints report bits count and data value
falsethe wiegand datapoints report the data value only
pollinterval200<ms>interval, in milliseconds, between subsequent readings of all values defined in the Kernel Module
analogminvariation100<mV>minimum voltage variation (in millivolts) to be measured on analog inputs, after an event has been triggered, for a new one to occur. Defaults to 100
digitalinputstruetrueenable digital inputs monitoring
falsedisable digital inputs monitoring
digitaldebounce30<ms>time, in milliseconds, required for digital inputs to maintain a value, after a variation, before an event is triggered
wiegand1falsetrueenable and monitor Wiegand interface 1
falsedisable Wiegand interface 1
wiegand2falsetrueenable and monitor Wiegand interface 2
falsedisable Wiegand interface 2
note

The pollinterval, analogminvariation, digitalinputs, digitaldebounce, wiegand1 and wiegand2 options only work on local installations.

Datapoints

Standard Mode

The Iono Pi implements all datapoints provided by the underlying Iono Pi kernel module. Refer to the documentation available at Iono Pi Kernel Module.

Each readable file name exposed by the kernel module under the /sys/devices/virtual/ionopi/ sub-directories appears as a data point with id <subdir>.<file>. For example, as the LED's status file is /sys/devices/virtual/ionopi/led/status, the corresponding data point is "led.status".

Command files that are marked as write only in the documentation (W), are not shown as visible data points in HSYCO, but can be used in the IO events action or ioSet() methods to send a command.

For example, if "ionopi" is the id assigned to the Iono Pi I/O Server, then:

TIME : IO ionopi.led.blink = 5000

will make the led stay on for 5 second (5000 ms).

Note that ionopi.led.blink is not visible in the Status Browser and doesn't generate events, because it is write only, and only the ionopi.led.status datapoint will be visible, with a value of 0 if the LED is off, or 1 if on.

Additional datapoints

IDValueR/WDescription
connectiononlineRconnection established
offlineRHSYCO can't connect to the device
clockyyyy-mm-dd hh:mm:ssRthe Iono clock current time
readWread the Iono clock, and the delta with HSYCO’s time
syncWset the Iono clock to HSYCO’s current time
clock.deltainteger numberRthe delta time in seconds between the Iono and HSYCO clocks. A positive number means that the Iono clock is ahead of HSYCO
note

The clock and clock.delta datapoints are only available on remote installations.

Compatibility Mode

In Compatibility Mode, the driver exposes datapoints using the legacy naming scheme from earlier HSYCO Iono Pi driver versions. This ensures older installations continue to work without changes, preserving existing datapoint names, scripts, and event logic exactly as before.

Below is the list of datapoints available in Compatibility Mode:

IDValueR/WDescription
led0RLED L1 is off
Wturn LED L1 off
1RLED L1 is on
Wturn LED L1 on
o<1-4>0Rrelay <1-4> is off
Wswitch off relay <1-4>
1Rrelay <1-4> is on
Wswitch on relay <1-4>
oc<1-3>0Ropen collector output <1-3> is off (not grounded)
Wswitch off open collector output <1-3>
1Ropen collector output <1-3> is on (grounded)
Wswitch on open collector output <1-3>
di<1-6>0Rdigital input <1-6> is low
1Rdigital input <1-6> is high
ai<1-4><val>Ranalog input <1-4> is reading a voltage equal to <val> (in Volts)
wiegand.<1-2><val>Rif option "wiegandbits" set to false. Value as an unsigned integer in base 16 (hex) read on the specified Wiegand interface (e.g. "2c646a2")
<bits>/<val>Rif option "wiegandbits" set to true. Number of bits and value (hex) read on the specified Wiegand interface (e.g. "26/2c646a2")
onewire.bus.<id><val>R1-Wire device <id> value
clockreadWread the Iono clock
<timestamp>.<timezone>R<timestamp> is Epoch time (in milliseconds), <timezone> is the time zone set on Iono Pi module (e.g. "Europe/Rome")
<timestamp>.<timezone>Wmanually set date/time and time zone on Iono Pi module. <timestamp> is Epoch time (in milliseconds), <timezone> is the time zone you want to set (e.g. "Europe/Rome")
<timestamp>Wmanually set date/time on Iono Pi module. <timestamp> is Epoch time (in milliseconds)

Additional datapoints

IDValueR/WDescription
connectiononlineRconnection established
offlineRHSYCO can't connect to the device
driverstateinitRDriver is initializing
runningRDriver is running (normal state)
quitRDriver quit

User Interface

To control a digital output (O1 ... O4, OC1 ... OC3, LED), add a button object to your project page and set its address field to the corresponding datapoint:

Iono Pi button

Release Notes

3.10.0

  • now based on Iono Pi kernel module, with redesigned datapoints map
  • "https" and "onewirebus" options removed
  • "readinterval" renamed to "pollinterval"
  • "compatibilitymode" option added

3.8.0

  • new "clock" datapoint

3.7.0

  • added support for iono pi driver v1.3.0 and "wiegandbits" option
  • added support for local Iono Pi direct access

3.6.0

  • initial release

Iono Pi is a registered trademark of Sfera Labs Srl