Phidgets 22  

Developer: Berkinet's Plugins
Category: Digital/Analog I/O Modules
Github: Github Repo
License: MIT License
Assistance: Get help!    Check the online documentation
Plugin ID: com.yikes.eric.phidgets-indigo
Latest release: v2026.1.26 released on Oct. 8, 2026
Release downloaded: 8 times
Requires: Indigo v2025.1.0 or higher
(Check the Releases tab below for older releases that may have different requirements)
  Download release v2026.1.5

Phidgets 22 for Indigo

[Phidget22 logo]

An update to the Phidgets Plugin for Indigo.

Originally created by Eric Perlman (@perlman). This version is based on his original phidgets-indigo project.

Download and install

On the GitHub repository, click Code, select Download ZIP, unzip the downloaded repository, and double-click Phidgets22.indigoPlugin to install it in Indigo.

Restart an auto-off delay on every On request

Choose the Phidgets 22 plugin event Turn On request received, then select the Digital Output or I2C Adapter GPIO Output device. Add a Turn Off action with a five-minute delay and Override previous delay enabled. Each explicit Turn On request restarts that countdown, including requests while already on, from scripts, actions, or manual controls.

For an existing auto-off trigger, replace its "state becomes On" event with this plugin event and keep its delayed action. The event reports command receipt, not hardware success; Toggle, brightness, and status requests do not fire it. Indigo owns the delay; no additional plugin timer is created.

Requirements

Requires Indigo 2025.2. May work on 2025.1. However, some manual setup may be required.

  • Supported runtime: Indigo 2025.2 or newer (Python 3.13)
  • The official Phidget22 Python package, installed for Indigo's Python 3.13:

    zsh "/Library/Frameworks/Python.framework/Versions/3.13/bin/python3.13" \ -m pip install --upgrade phidget22

The plugin intentionally does not bundle the native Phidget22 library. Installing the official package with Indigo's interpreter avoids macOS Gatekeeper quarantine on routine plugin updates and keeps the Python bindings and native library matched.

See the brief Getting started guide for plugin setup, device creation, and printing a Phidgets network map.

See the full guide for supported devices, features, and advanced usage, and the release notes for changes.

RFID reader (1024_1)

Create a RFID Reader (1024) device and select its discovered server and reader. The serial number identifies each reader independently. Leave Enable antenna on startup checked to begin reading automatically. Every tag the hardware can read is reported. Optional allowed/denied lists classify detections without suppressing the original detection events. Tag IDs remain strings, preserving leading zeroes.

Indigo states include tagPresent, presenceActive, lastTag, protocol, antennaEnabled, and lastUpdate. The last tag ID and protocol remain available after the tag leaves or the reader disconnects. Before the first detection those fields are empty. Use RFID tag detected and RFID tag lost triggers and select the specific reader. Repeated detection of the same present tag does not repeat the trigger; a new detection after loss does. State values are published before the trigger.

Enable RFID antenna and Disable RFID antenna are device actions. Disabling the antenna clears tagPresent and fires tag lost if a tag was present. The latest successful antenna setting is restored on hardware reconnect; a plugin restart reapplies the saved startup setting. A disconnect clears tagPresent and antenna state without firing tag lost; use the existing Phidget detached/attached triggers for connection monitoring. A tag already present on attachment produces a detection. Errors identify the reader and operation.

RFID output actions and states

On an RFID Reader (1024) device, select one of these device actions and choose On or Off:

Action Channel On/Off state
Set RFID digital output 0 digitalOutput
Set RFID LED driver 1 ledDriver
Set RFID onboard LED 2 onboardLED

The channel mapping follows the Phidgets 1024 documentation. Each output also has an availability state (digitalOutputAvailable, ledDriverAvailable, onboardLEDAvailable). State reads happen on attachment, after a command, and every second. When unavailable, the On/Off value is the last known reading, not a confirmed current state. A failed command is logged with the reader and output name. A channel that fails to initialize requires a device restart; open channels automatically reconnect through the SDK.

The RFID device owns all three output channels. Close their Control Panel test windows and avoid creating separate Indigo Digital Output devices for these same channels. Output actions do not change antenna or tag-presence states. Reconnects read the hardware state without replaying previous output commands. Simulated readers offer the same actions and states, starting with outputs Off. Tag writing is not supported.

Delayed presence for feeder access

Set Presence clear delay (minutes) in each reader's device configuration, for example 5. The default is 0 (clear immediately on loss); decimals are accepted, so 0.1 gives a six-second delay for simulation testing.

presenceActive becomes true on an allowed detection and stays true as long as that tag remains present. Tag loss starts the configured countdown. A new allowed detection cancels the countdown; the next loss starts a full new delay. Denied tags and policy lookup errors cannot activate or extend this presence. With both list checks disabled, every compatible tag qualifies.

For the Chicken Feeder, create two Indigo device state change triggers:

  • Presence active changes to true → run the action/script that opens the door.
  • Presence active changes to false → run the action/script that closes the door.

The plugin maintains presence and its timer; Indigo triggers control the door. tagPresent continues to show immediate physical detection, including denied tags. Each reader has its own timer. Changing the configured delay affects the next loss, leaving an already-running countdown at its original deadline.

Disconnecting the reader or disabling its antenna starts the same loss delay. Stopping, disabling, or restarting the device/plugin clears delayed presence and cancels its timer; a fresh allowed detection activates it again. Countdowns are not saved across restarts. Clearing an active state can fire the close trigger. Simulated readers follow the same rules.

Tag programming is not exposed by this reader/presence implementation.

Reference: Phidgets 1024_1 Python API.

Simulated reader (no hardware)

Create an RFID Reader (1024) device and check Simulated reader (no hardware) in its device configuration, then Save. No discovered reader or serial number is required. The connection states identify it as simulated.

Use the device action Simulate RFID tag detected, enter a tag ID and choose its protocol. The tag stays present until Simulate RFID tag lost, a different simulated tag, or antenna disable. Repeating the same tag does not retrigger until it has been lost. Changing tags emits loss of the previous tag followed by detection of the new one. Enable/disable antenna actions work in simulation; scans with the antenna disabled report an error. Restart starts with no tag present and restores the configured antenna startup setting.

Simulated scans update the normal states and execute real configured Indigo triggers. You can create two simulated readers to test independent automations. Simulation actions reject physical readers. To switch to hardware later, uncheck simulation and select a discovered reader. Tag management below also works with simulated readers.

Per-reader tag management

  1. Create one or two Indigo variables for this reader, for example FeederA_AllowedTags and FeederA_DeniedTags. They may initially be empty.
  2. Edit the RFID device configuration. Select its Allowed tags variable and/or Denied tags variable. Enable Check for allowed tag and/or Check for denied tag when you want those checks active.
  3. Scan a tag (or use Device Actions → Phidgets Actions → Simulate RFID tag detected). Open the device configuration and check Manage this reader's tags. Select a recent tag, or enter its ID manually. Refresh recent tags reloads detections and list membership while the dialog is open.
  4. Select an operation in List edit, then click Stage list edit. Review the pending edits and destination variable names. Click Save to apply; Cancel leaves all variables unchanged. Clear pending edits discards staged changes without closing the dialog.

Each variable contains one exact tag ID per line. Blank lines are ignored; matching is case-sensitive and preserves leading zeroes. Protocol is shown in history but is not part of list matching. A tag ID listed here matches that ID across protocols. Every reader selects its own variables; deliberately sharing variables shares the list. Avoid using unrelated variables for tag lists.

Enabled checks Allowed result
Neither Every tag
Allowed only ID appears in the allowed variable
Denied only ID does not appear in the denied variable
Both ID appears in allowed and does not appear in denied

An empty allowed list permits no tags; an empty denied list blocks none. The variables are read again on each new detection. Allowed RFID tag detected and Denied RFID tag detected are additional per-reader triggers. For feeder hold-open control, use the presenceActive state-change triggers described above. The original RFID tag detected continues to fire for every tag, including denied tags and policy lookup errors.

lastTagAllowed is the decision for the last detection. tagPolicyResult is Allowed, Denied, or Error; tagPolicyError contains lookup error details. These states are published before detection triggers and retained after loss. Denied detections log a Warning naming the reader, tag, protocol, and list-based reason. Each visit logs once; repeated reports while present do not repeat it. On lookup failure, allowed is false and neither policy trigger fires; the raw trigger still fires and the error is logged. Editing lists does not reassess a currently present tag or generate a new detection: simulate loss and detection to test a changed policy.

History keeps the 50 most recent unique tag/protocol pairs per reader, with repeat visits updating last-seen time. It is kept in plugin preferences across normal restarts. Add ignores duplicates; Remove deletes the ID from that list. If a tag is in the opposite selected list, Add asks you to choose the explicit Move operation, which removes it there and adds it to the target list. Pending edits merge into current variable contents on Save, preserving unrelated changes. If you change variable selections after staging, clear and restage the edits. Save failures identify the variable in Indigo's log; because Indigo does not offer atomic multi-variable writes, review both lists if a Move partly fails.

Expected saturation on generic voltage-ratio inputs

For a generic/raw Voltage Ratio Input (no numbered sensor selected), enable Suppress saturation error messages in that device's configuration when reaching the input limit is expected. The default is unchecked. Custom formulas can still be used. Only saturation error 4105 moves to debug logging; other errors keep their existing handling. Selecting a specific sensor hides the checkbox and ignores its saved value. The option does not change readings, formulas, triggers, or the hardware measurement range.

Signed numeric display

Devices with a numeric primary display now include a Signed display value (+/-) text state, signedValue. Use it directly in a control-page display instead of triggers that add a sign to a variable. For example, a numeric reading of 7.66 becomes +7.66, and -7.66 stays -7.66. Zero at two decimal places is +0.00, including small negative values that round to zero.

The state follows the chosen numeric display: a custom numeric formula, voltage, voltage ratio, temperature unit, humidity, frequency/count/time, or selected BME280/SGP41 measurement. It uses the reading's decimal precision or the device's configured precision; “No limit” preserves the supplied number's precision. At startup it initializes from the retained numeric display state without firing triggers, then follows new readings. The initial text represents the retained reading and does not imply a fresh hardware measurement. Text and On/Off displays do not get this companion state. Numeric states remain unchanged for calculations and triggers. Non-finite or nonnumeric readings clear the companion text; this is formatting, not a new sensor-validity or freshness indicator. signedValue is reserved and cannot be used as a custom formula's state name.

For Pool water level, use cmBelowFull for numeric comparisons and signedValue for signed display. Once the display uses that state, the sign-formatting triggers and variable are no longer needed. The plugin does not edit those automations.

DAQ1500 Wheatstone bridge / load cells

Create a Voltage Ratio Input for each DAQ1500 bridge channel (0 or 1). Select the discovered server, VINT hub port, DAQ1500, and channel. The dialog recognizes the bridge and replaces numbered-sensor settings with bridge controls. Choose DAQ1500 bridge gain: 1x, 2x, 64x, or 128x (default), and leave Enable bridge input checked. Both settings are reapplied on reconnect. Start at 128x and lower it if your maximum expected load causes saturation.

The default interval is 1000 ms. Use at least 100 ms when both channels are active (20 ms is available with only one channel). Hardware-reported interval limits are checked on attachment. Select six decimal places or No limit when inspecting small raw ratios. The voltageRatio state is in V/V.

To calibrate a scale:

  1. Save the channel, bridge gain, and enabled setting. Let the device attach, then reopen its configuration. Keep the ratio change trigger at zero and saturation messages enabled while calibrating.
  2. Remove the load, let the reading settle, and click Capture unloaded zero.
  3. Apply a known weight and let the reading settle. Enter Known weight, select its units (kg, g, lb, or N), and click Calibrate with known weight.
  4. Click Save. The numeric weight state becomes the device display, with signedValue following its configured precision. Raw voltageRatio remains available. The selected units label the weight state; they do not convert previously calibrated values automatically.

The displayed Calibration gain and Calibration offset use weight = (voltageRatio + offset) * calibrationGain. Calibration gain is a software conversion factor, separate from the hardware's 1x–128x bridge gain. Calibration is saved per channel and survives plugin restarts and reconnects. The plugin does not import calibration from the Phidgets Control Panel.

Tare scale stages a new zero offset while preserving calibration gain; click Save to apply it. Clear calibration returns the display to raw ratio on Save. Cancel discards all pending calibration and tare changes. Buttons read the active saved device; for a new device, save it before calibrating. Readings are rejected while disconnected, disabled, or waiting for recovery from an error. Let the load settle before capture; each button captures one reading.

Changing channel, hardware gain, or units requires recalibration. Clear the old calibration, save the new channel/gain, then reopen the dialog to calibrate. Custom formulas remain available as an alternative to built-in calibration; the two cannot be enabled together. Disabled or disconnected devices retain last readings; those retained states do not indicate a current measurement.

Reference: Phidgets DAQ1500 guide. Automated tests cover setup, calibration, and failure handling. Physical DAQ1500 and Indigo dialog validation remain pending.

Release details
Released on: Oct. 8, 2026
Requires: Indigo v2025.1.0+
Downloaded: 8 times 
Changes in this release

Fixed

  • Correct the four DAQ1500 calibration buttons to include Indigo’s required Title element. This fixes the PAXControlCreationError that prevented the Voltage Ratio Input configuration dialog from opening.
  • Add a regression check requiring exactly one nonempty title for every dialog button in the plugin XML files.

Validation: all 385 tests pass, including the new dialog button title check. XML, Python syntax, plist, and whitespace checks pass. Live Indigo dialog verification remains pending.

Install from https://github.com/berkinet/phidgets22-indigo using Code → Download ZIP, unzip, and double-click Phidgets22.indigoPlugin.

Release details
Released on: Oct. 8, 2026
Requires: Indigo v2025.1.0+
Downloaded: 7 times 
Changes in this release

Added

  • DAQ1500 Wheatstone bridge controls in Voltage Ratio Input: per-channel 1x, 2x, 64x, or 128x gain and bridge enable restored on attachment and reconnect.
  • Guided unloaded/known-weight calibration, saved weight/force units, numeric weight display, and tare. Configuration edits apply on Save; Cancel discards pending calibration and tare. Raw voltage ratio remains available.
  • Calibration checks prevent reuse after channel, gain, or unit changes, mixing with a custom formula, and capture while disabled, detached, or errored.
  • Raw ratio display offers 5–6 decimals. Bridge setup errors identify the API call.

Fixed

  • DAQ1500 setup skips unsupported sensor-type and sensor-value-trigger calls that can cause “Operation Not Supported” during attachment.

Validation

  • Reviewed relevant discovery, configuration, callback, and lifecycle coverage; added bridge and calibration regressions without removing existing coverage.
  • Physical DAQ1500 and Indigo dialog validation remain pending.

Validation: all 384 automated tests pass; Python syntax, XML, plist, unique configuration field IDs, and whitespace checks pass. Physical DAQ1500 and live Indigo dialog validation remain pending.

Install from https://github.com/berkinet/phidgets22-indigo using Code → Download ZIP, unzip, and double-click Phidgets22.indigoPlugin.

Release details
Released on: Oct. 7, 2026
Requires: Indigo v2025.1.0+
Downloaded: 7 times 
Changes in this release

Fixed

  • Initialize signedValue from the retained numeric display state at startup, after dynamic states are installed and before hardware callbacks begin. Saturated or quiet sensors no longer need a fresh reading to populate it. Initialization preserves configured precision, does not fire triggers, and does not change the numeric reading or imply that it is fresh. Missing or invalid retained values leave the signed text blank.

Validation: 369 tests passed; Python, XML, plist and whitespace checks passed. Live Indigo verification remains.

Install from the repository using Code → Download ZIP, then open the plugin bundle.

Release details
Released on: Oct. 7, 2026
Requires: Indigo v2025.1.0+
Downloaded: 7 times 
Changes in this release

Added

  • signedValue text state for numeric device displays, including custom numeric formulas and selected temperature, frequency/count, BME280, and SGP41 values. Positive values and zero have a plus sign; negative values have a minus sign. Display precision is preserved and rounded negative zero becomes positive zero. Text and On/Off displays are excluded; original numeric states are unchanged.
  • Optional Suppress saturation error messages checkbox for generic/raw Voltage Ratio Input devices. Disabled by default, it routes only saturation error 4105 to debug logging for that device. Specific sensor types ignore the setting. Readings, formulas, triggers, and other error handling are unchanged.

Validation: 365 tests passed; Python, XML, plist, and whitespace checks passed. Live Indigo display verification remains.

Install from the repository using Code → Download ZIP, then open the plugin bundle.

Release details
Released on: Oct. 7, 2026
Requires: Indigo v2025.1.0+
Downloaded: 8 times 
Changes in this release

Added

  • RFID 1024 device actions to set the digital output (channel 0), LED driver (channel 1), and onboard LED (channel 2) On or Off.
  • Independent On/Off and availability states, refreshed from hardware after commands, on attachment, and every second. Output failures preserve the last reading and mark it unavailable; reconnects do not replay commands.
  • Matching output actions and states for simulated readers. Tag writing remains unsupported.
  • Focused coverage for output routing, readback, errors, reconnects, cleanup, and simulation; existing tag and presence regression coverage retained.

Validation: 353 tests passed; Python, XML, plist, and whitespace checks passed. Physical output testing in Indigo remains to be performed.

Install through the repository Code → Download ZIP, then open the plugin bundle. No custom ZIP or release asset is required.

Release details
Released on: Oct. 1, 2026
Requires: Indigo v2025.1.0+
Downloaded: 9 times 
Changes in this release

Added

  • Turn On request received event for Digital Output and adapter GPIO Output devices. Every explicit On command fires the event, including when already on, so Indigo delayed actions can restart their countdown.
  • Events report receipt, independently of hardware success. Off, Toggle, brightness changes, and status requests do not fire this event. Trigger failures are logged individually without blocking the output command.

Installation: use Code → Download ZIP in the repository, unzip, and open Phidgets22.indigoPlugin.

Verified: all 342 automated tests, XML/plist parsing, Python syntax, and git diff --check. Live Indigo/hardware verification remains outstanding.

Release details
Released on: Sept. 30, 2026
Requires: Indigo v2025.1.0+
Downloaded: 7 times 
Changes in this release

Focused RFID test-suite review following the RFID feature releases. Reader behavior is unchanged.

  • Consolidated duplicate missing-variable/logging coverage while retaining its assertions.
  • Replaced action/event counts with required-entry checks.
  • Strengthened overlapping reader countdowns, opening/closing state-event publication, live delay changes, denied/error policy behavior, callback startup ordering, protocol-specific history, and partial list-save failures.
  • Kept meaningful policy, menu compatibility, Save/Cancel, reconnect and stale-timer regression coverage.

Review details and live-testing limits: RFID test review.

Validation: full unittest suite passed, along with Python compilation, XML/plist and whitespace checks. Six intentional regressions in a temporary copy were caught by the corresponding tests. Real hardware and live Indigo trigger execution remain acceptance-testing work.

Installation, if desired: repository Code → Download ZIP, unzip, then open Phidgets22.indigoPlugin. This maintenance release does not change reader behavior.

Release details
Released on: Sept. 29, 2026
Requires: Indigo v2025.1.0+
Downloaded: 7 times 
Changes in this release

Adds delayed RFID presence for physical and simulated readers.

Set Presence clear delay (minutes) in the reader configuration. presenceActive becomes true on an allowed detection, stays true while the tag remains present, and clears after the configured delay following loss. Another allowed detection cancels the countdown. Denied tags cannot activate or extend presence.

Use two Indigo device state-change triggers on Presence active to open and close feeder access. Door actions remain separate from reader timing. The default delay is 0; decimals are supported for quick simulated tests.

Each reader has an independent timer. Disconnect/antenna disable starts the loss delay; stop/restart clears presence and cancels pending timers. Changing the delay affects the next loss. Dynamic states are refreshed before startup publishes initial values.

Validation: 340 unit tests passed; Python compilation, all five XML files, Info.plist, and git diff whitespace checks passed. Physical reader testing remains pending hardware arrival.

Install from the repository using Code → Download ZIP, unzip, then open Phidgets22.indigoPlugin to update Indigo.

Release details
Released on: Sept. 29, 2026
Requires: Indigo v2025.1.0+
Downloaded: 7 times 
Changes in this release

Adds a Warning log entry for each denied RFID detection, including reader name and Indigo ID, tag ID, protocol, and the reason: present in the denied-list variable or absent from the allowed-list variable. Denial takes precedence when both checks apply.

Repeated reports while the same tag remains present do not repeat the warning. A new detection after loss logs again. Denied states and triggers are unchanged; denied tags are ordinary policy results. List-lookup errors now also identify the tag and protocol.

Validation: all 324 tests pass; Python compilation, all plugin XML/plist validation, and whitespace checks pass.

Install from https://github.com/berkinet/phidgets22-indigo using Code → Download ZIP, unzip, then double-click Phidgets22.indigoPlugin.

Release details
Released on: Sept. 29, 2026
Requires: Indigo v2025.1.0+
Downloaded: 7 times 
Changes in this release

Fixes the RFID recent-tags menu failing to populate. Indigo was rejecting raw JSON option IDs and empty placeholder IDs even though tag detections were correctly recorded.

Recent-tag options now use compatible IDs while preserving the original tag ID and protocol. Empty/error placeholders, list-variable selectors and static edit-operation options also use valid IDs. Existing tag history and variable selections are retained; saved edit-operation selections are migrated.

Validation: all 320 tests pass, including tag-text round trips, valid menu IDs, optional unselected variables and single-list enrolment. Python compilation, XML/plist and whitespace checks pass. Root cause confirmed in the installed Indigo event log; updated live UI validation remains pending.

Install from https://github.com/berkinet/phidgets22-indigo using Code → Download ZIP, unzip, then double-click Phidgets22.indigoPlugin. Reopen the RFID device configuration and click Refresh recent tags.

Release details
Released on: Sept. 29, 2026
Requires: Indigo v2025.1.0+
Downloaded: 7 times 
Changes in this release

Adds RFID tag management inside each reader device configuration, including simulated readers.

  • Select allowed/denied Indigo variables, with independent checkboxes and denial precedence.
  • Review the last 50 unique tag/protocol pairs for that reader, including last-seen time and selected-tag list membership.
  • Stage add/remove/move operations and review destination variable names. Save applies edits; Cancel leaves variables unchanged. Duplicate additions are ignored and conflicting membership requires an explicit Move.
  • New lastTagAllowed, tagPolicyResult, and tagPolicyError states, plus Allowed RFID tag detected and Denied RFID tag detected triggers. Original detection events remain unchanged. Missing list variables fail closed and report errors.
  • Policy-only edits do not restart the reader or create tag events. Variables are read on each new detection. History survives normal plugin restarts.

Validation: all 314 automated tests pass, including independent readers, Save/Cancel, live variable changes, conflicts, history persistence and lookup/write failures. Python compilation, XML/plist validation, field uniqueness, button definitions and whitespace checks pass. Live Indigo UI validation is pending.

Install from https://github.com/berkinet/phidgets22-indigo using Code → Download ZIP, unzip, then double-click Phidgets22.indigoPlugin. Create tag-list variables first, select them in the reader configuration, then enable Manage this reader’s tags.

Release details
Released on: Sept. 29, 2026
Requires: Indigo v2025.1.0+
Downloaded: 7 times 
Changes in this release

Adds a per-device Simulated reader (no hardware) option to RFID Reader (1024). Create and save a reader without discovery or a serial number, then use Simulate RFID tag detected (tag ID and protocol) and Simulate RFID tag lost device actions.

Simulation uses the normal states and real Indigo triggers, supports antenna controls, and keeps multiple readers independent. Simulation actions reject physical readers. Allow/deny lists and tag management remain deferred.

Validation: all 292 automated tests pass; Python compilation, all plugin XML/plist parsing, and whitespace checks pass. Live Indigo UI validation remains pending.

Install from https://github.com/berkinet/phidgets22-indigo using Code → Download ZIP, unzip, then double-click Phidgets22.indigoPlugin.

Release details
Released on: Sept. 29, 2026
Requires: Indigo v2025.1.0+
Downloaded: 7 times 
Changes in this release

Adds 1024_1 RFID reader support with tag presence, last tag ID and protocol, reader-specific detected/lost triggers, and antenna enable/disable actions. Every compatible tag is accepted without enrolment. Readers are distinguished by serial number and reconnect automatically. The feeder hold-open timer remains in Indigo automation.

Disconnect clears presence without a tag-lost event. The antenna setting is restored on reconnect. Tag programming is not exposed. Shared lifecycle failures now log concise details instead of Python tracebacks.

Validation: all 285 automated tests pass, including 10 RFID tests; Python compilation, plugin XML/plist parsing, and whitespace checks pass. Physical 1024_1 validation is pending.

Install from https://github.com/berkinet/phidgets22-indigo using Code → Download ZIP, unzip, then double-click Phidgets22.indigoPlugin.

Release details
Released on: Sept. 26, 2026
Requires: Indigo v2025.1.0+
Downloaded: 7 times 
Changes in this release

Plugin logging changes now take effect immediately when preferences are saved, including Debug to Info, for both the Indigo log and the plugin log file. No plugin restart is required.

The logging menu now defaults to Info, and legacy or invalid saved levels normalize to Info before startup diagnostics. Cancelled changes preserve the active setting.

Validation: all 275 unit tests pass; Python syntax, XML, plist, and diff checks pass. Live Indigo verification remains pending.

Install from the repository using Code → Download ZIP, then install the included Phidgets22.indigoPlugin.

Release details
Released on: Sept. 23, 2026
Requires: Indigo v2025.1.0+
Downloaded: 24 times 
Changes in this release

Raise ServerApiVersion to 3.7, making Indigo 2025.1 the Store and installer minimum. Earlier Indigo versions cannot install this release.

Requires Indigo 2025.2. May work on 2025.1. However, some manual setup may be required. Live 2025.1 validation remains pending.

No runtime code changes. Validation: 271 tests pass on Python 3.11 and 3.13 with the current Phidget22 package; plist/XML and release metadata checks pass.

Install using Code → Download ZIP in berkinet/phidgets22-indigo.

Release details
Released on: Sept. 23, 2026
Requires: Indigo v2022.1.0+
Downloaded: 23 times 
Changes in this release

Revised documentation for Indigo plugin store publication.

The README provides a short Store description with attribution, installation, requirements, and links to the getting-started and full guides. The complete documentation is preserved in docs/LONG_DESCRIPTION.md. All description links use absolute URLs.

Requires Indigo 2025.2. May work on 2025.1. However, some manual setup may be required.

This new release carries forward the documentation from 2026.1.10 for automatic Store import. No runtime behavior changes.

Validation: 271 tests and plist/XML checks pass. Install using Code → Download ZIP in berkinet/phidgets22-indigo.

Release details
Released on: Sept. 23, 2026
Requires: Indigo v2022.1.0+
Downloaded: 29 times 
Changes in this release

Shorten the README used by the Indigo Plugin Store to attribution, installation, requirements, and documentation links. Preserve the complete prior README in docs/LONG_DESCRIPTION.md, linked from the short README and getting-started guide. Absolute links and the agreed Indigo 2025.1 manual-setup caveat are retained.

No runtime changes. All 271 tests pass, along with content-preservation, link-target, plist, and XML checks.

Install using Code → Download ZIP in berkinet/phidgets22-indigo.

Release details
Released on: Sept. 23, 2026
Requires: Indigo v2022.1.0+
Downloaded: 23 times 
Changes in this release

Requires Indigo 2025.2. May work on 2025.1. However, some manual setup may be required.

This documentation-only release puts the agreed compatibility wording in the README and setup guide. It explains that the Store derives its displayed minimum from ServerApiVersion, separately from tested support. API 3.0 is retained so installation on 2025.1 remains possible. Live 2025.1 validation is pending.

All 271 tests and plist/XML validation pass. No runtime changes.

Install through Code → Download ZIP in berkinet/phidgets22-indigo.

Release details
Released on: Sept. 23, 2026
Requires: Indigo v2022.1.0+
Downloaded: 24 times 
Changes in this release

Documentation-only release: use absolute GitHub documentation and icon URLs so the README works when imported into the Indigo Plugin Store. Correct the Phidget addressing URL and supported-device list spacing. No runtime behavior changes.

Validation: all 271 tests pass; README file targets, plist, XML, and diff checks pass.

Install through Code → Download ZIP in berkinet/phidgets22-indigo.

Release details
Released on: Sept. 22, 2026
Requires: Indigo v2022.1.0+
Downloaded: 27 times 
Changes in this release

Network-server monitors now recover from current remote-channel discovery when the separate server announcement is absent, including at startup. The discovered endpoint must be reachable before the monitor reports Online. Monitoring continues for later outages and endpoint changes. The server dropdown also recognizes channel-discovered servers.

Authentication flags are not guessed, and ambiguous endpoints are not selected.

Validation: all 271 tests pass, including missing announcements, delayed inventory, unreachable endpoints, changed addresses, later outages, menu recovery, and ambiguous names. Plist and XML validation pass. Live CM-Vin confirmation is pending.

Install using Code → Download ZIP in berkinet/phidgets22-indigo, then open the included Phidgets22.indigoPlugin bundle.

Requirements

Works in Indigo 2025.2. May work in 2025.1 with some manual actions.

Release details
Released on: Sept. 22, 2026
Requires: Indigo v2022.1.0+
Downloaded: 32 times 
Changes in this release

Use the normal Offline availability state for network-server monitors and clear Indigo’s separate device-error override, including errors persisted by earlier versions. This removes a conflicting display override while retaining the red-circle selector, offline state values, notifications, and reconnection behavior.

Validation: 265 tests pass; plist and XML validation pass. Live Indigo visual confirmation remains pending. CM-Vin’s false-offline discovery issue remains under investigation.

Install through Code → Download ZIP in berkinet/phidgets22-indigo.

Release details
Released on: Sept. 22, 2026
Requires: Indigo v2022.1.0+
Downloaded: 22 times 
Changes in this release

Offline Phidget Network Server devices now use Indigo’s explicit red-circle image, both at startup and after disconnection. Online and recovered servers retain the green circle.

This corrects the status icon; the reported CM-Vin discovery/status mismatch remains under investigation.

Validation: 265 automated tests pass, including offline startup, disconnection, and green recovery assertions. Plist and XML validation pass. Live Indigo visual confirmation is pending.

Install using Code → Download ZIP in berkinet/phidgets22-indigo, then open the included Phidgets22.indigoPlugin bundle.

Release details
Released on: Sept. 22, 2026
Requires: Indigo v2022.1.0+
Downloaded: 29 times 
Changes in this release

Correct Indigo 2025.1 documentation to Python 3.11 and explain that use may be possible with manual dependency installation or updates. Live Indigo 2025.1 validation remains pending; the supported Store minimum remains Indigo 2025.2. No runtime behavior changes.

Validation: 264 tests pass on each of Python 3.11 and 3.13 using the current Phidget22 package; plist and XML validation pass.

Install from the repository using Code → Download ZIP, then open the included Phidgets22.indigoPlugin bundle.

Release details
Released on: Sept. 21, 2026
Requires: Indigo v2022.1.0+
Downloaded: 27 times 
Changes in this release

Handle SGP41 CRC and incomplete-response failures with concise diagnostics instead of a traceback. Invalid measurements are discarded, polling continues, repeated failures escalate on the third invalid response, and a valid reading reports recovery. Unexpected errors retain their tracebacks.

Validation: all 264 tests passed under Python 3.10 and 3.13; Python syntax, XML, and plist validation passed. Live sensor hardware was not exercised.

Install using the repository Code → Download ZIP command.

Release details
Released on: Sept. 20, 2026
Requires: Indigo v2022.1.0+
Downloaded: 25 times 
Changes in this release

Dependency installation and update messages now detect the Python runtime hosting the plugin instead of always prescribing Python 3.13. Python 3.10 installations receive the matching command. If the framework executable is absent, the message asks users to check the Indigo Python installation rather than run a nonexistent command.

Validation: all 263 automated tests passed on both Python 3.10 and 3.13; plist, XML, and Python syntax checks passed. Live Indigo 2025.1 compatibility is still pending user confirmation.

Install using the repository’s Code → Download ZIP, unzip, and double-click Phidgets22.indigoPlugin. Existing plugin identity is unchanged.

Release details
Released on: Sept. 20, 2026
Requires: Indigo v2022.1.0+
Downloaded: 24 times 
Changes in this release

Fix startup diagnostics when the required Phidget22 Python package is missing. Indigo now receives a clear error with the exact Python 3.13 installation command and instructions to reload Phidgets 22. Initialization stops; unrelated missing-module errors retain their original diagnosis.

Requires Indigo 2025.2 or newer and the official Phidget22 Python package. Install through Code → Download ZIP in the repository, unzip, and double-click Phidgets22.indigoPlugin.

Validation: 261 automated tests passed, including isolated missing-dependency startup tests; plist, XML, and Python syntax validation passed. Not tested inside a live Indigo host.

Release details
Released on: Sept. 20, 2026
Requires: Indigo v2022.1.0+
Downloaded: 22 times 
Changes in this release

Phidgets 22 now uses year.major.minor version numbers, starting with 2026.1.0. The release tag exactly matches PluginVersion. Existing plugin identity and device associations are preserved.

This release includes the source changes through 0.5.7 that followed the previous published release, v0.3.47. See CHANGELOG.md for the full change history. The version-format change itself does not alter runtime behavior.

Requires Indigo 2025.2 or newer with Python 3.13 and the official Phidget22 Python package installed for that interpreter.

Install from the repository using Code → Download ZIP, unzip, and double-click Phidgets22.indigoPlugin. No custom ZIP asset is attached.

Validation: all 259 automated tests passed; Info.plist and all five plugin XML files validated.

Release details
Released on: Sept. 9, 2026
Requires: Indigo v2022.1.0+
Downloaded: 23 times 
Changes in this release

Fixed

  • Handle BME280/BMP280 Phidget transport failures as retryable device errors with concise retry, persistent-failure, and recovery messages instead of raw Python tracebacks.
  • Group simultaneous remote open failures by server and physical Phidget while retaining affected channel details.
  • Suppress duplicate open-failure groups until the configured detached-device reminder interval.
  • Preserve one-line server-disconnection and recovery summaries.