Skip to content

AlanSRU/ioBroker.blustream-mfp

Repository files navigation

ioBroker.blustream-mfp

NPM version Downloads Number of Installations Current version in stable repository

NPM

Tests: Test and Release

Blustream AV Switcher adapter for ioBroker

Control Blustream AMF/MFP/WMF series AV presentation switchers via RS232 serial or IP/Telnet connection.

Supported Devices

Model Description Connection
AMF42AU 4x2 Advanced Multi-Format Switcher IP (Telnet)
MFP62 6x2 4K Multi-Format Presentation Switcher IP (Telnet)
MFP72 4x2 Multi-Format Presentation Switcher RS232 / IP
MFP112 5x2 Multi-Format Presentation Switcher with HDBaseT IP (Telnet)
WMF51 Wireless Media Presenter IP (Telnet)
WMF72 Wireless Media Presenter with Dual Display IP (Telnet)
C66 6x6 Contractor HDBaseT Matrix RS232 / IP
C88 8x8 Contractor HDBaseT Matrix RS232 / IP

For more information about Blustream products, visit Blustream.

Installation

Install the adapter from the ioBroker admin interface (Adapters → search for "blustream").

Configuration

Connection Settings

The adapter supports two connection types:

IP Connection (Telnet)

  • IP Address: The IP address of your Blustream device
  • Port: TCP port (default: 23 for Telnet)
  • Telnet IAC Negotiation: Enable if your device uses Telnet protocol negotiation

RS232 Serial Connection

  • Serial Port: Path to serial device (e.g., /dev/ttyUSB0 on Linux, COM3 on Windows)
  • Baud Rate: Serial communication speed (typically 57600 for MFP series)

Device Model

Select your specific Blustream device model from the dropdown. The adapter will automatically configure the available states and controls based on the selected model's capabilities.

Polling

  • Polling Interval: How often to query the device for status updates (in milliseconds, default: 30000)
  • Reconnect Interval: Time between reconnection attempts if connection is lost (in milliseconds, default: 10000)

States and Controls

The adapter creates states dynamically based on the selected device model. Common states include:

Information (info.*)

  • info.connection - Device connection status
  • info.model - Device model identifier

Commands (commands.*)

  • commands.raw - Send raw commands to the device
  • commands.getStatus - Request current device status

Output Control (output.*)

  • output.X.source - Select input source for output X
  • output.X.volume - Volume level for output X
  • output.X.mute - Mute status for output X

System Control (system.*)

  • system.power - Power on/off
  • system.beep - Enable/disable button beep
  • And more depending on device model...

Network Settings (network.*)

  • network.dhcp - DHCP enable/disable
  • network.ip - Device IP address
  • network.gateway - Gateway address
  • network.subnet - Subnet mask

Features by Model

Feature AMF42AU MFP62 MFP72 MFP112 WMF51 WMF72 C66 C88
Network Control Yes Yes Yes Yes Yes Yes Yes Yes
RS232 Control - - Yes - - - Yes Yes
Matrix Routing - - - - - - Yes Yes
CEC Control Yes - - - - - - -
Microphone Yes Yes - - - - - -
Presets Yes - - - - - Yes Yes
Picture Control Yes - - - - - - -
WiFi Control - - - - Yes Yes - -
Multiview - - - - Yes Yes - -
HDBaseT - - - Yes - - Yes Yes
PoC (per output) - - - - - - Yes Yes

Troubleshooting

Connection Issues

  1. IP Connection fails: Verify the IP address and port. Ensure no firewall is blocking the connection. Try disabling Telnet IAC negotiation if your device doesn't support it.

  2. RS232 Connection fails: Check the serial port path and baud rate. Ensure you have permissions to access the serial port (on Linux, add your user to the dialout group).

  3. Commands not working: Some devices require a brief delay between commands. The adapter handles this automatically with a command queue.

Debug Mode

Enable debug logging in the ioBroker admin to see detailed communication with the device:

  1. Go to Instances
  2. Click the adapter instance
  3. Set log level to "debug"

Changelog

0.5.1 (2026-07-16)

  • (Alan Paris) Every state object now defines a default (def) value, so states have a defined initial value before the first device poll
  • (Alan Paris) Admin config: all device-model descriptions and option labels are now translatable and provided in all 11 ioBroker languages

0.5.0 (2026-07-16)

  • (Alan Paris) Added support for the Blustream C66 (6x6) and C88 (8x8) Contractor HDBaseT matrices: crosspoint routing across up to 8 outputs, route-all (output.allSource), per-output enable, per-output PoC, and 9 presets
  • (Alan Paris) Added a dedicated parser for the C66/C88 fixed-width STATUS/OUTSTA tables and the [SUCCESS]/[FAIL] command confirmations, so routing, enable, PoC and network states reflect the device
  • (Alan Paris) Scaler, resolution and audio states are no longer created for the C66/C88 crosspoint matrices (they have no scaler/audio path), so the object tree only exposes controls the device actually implements
  • (Alan Paris) Added protocols/c66.txt documenting the C66/C88 RS-232 / Telnet command set (verified against FW V1.0.1d)

0.4.2 (2026-07-04)

  • (Alan Paris) WiFi password state is now write-only (read: false) so the value cannot be read back from the object tree once set
  • (Alan Paris) Removed the accidentally committed npm pack artifact (.tgz) from the repository

0.4.1 (2026-07-03)

  • (Alan Paris) Removed unused state paths that were never created from the internal cleanup list, so it now matches the states the adapter actually creates

0.4.0 (2026-07-02)

  • (Alan Paris) Writes to all writable states are now processed in onStateChange; previously many controls (picture, CEC, presets, WiFi, standby, sidebar, layout, audio mode, per-LAN DHCP) were silently ignored
  • (Alan Paris) WiFi frequency and channel are now sent together as the single command the device requires
  • (Alan Paris) Sensitive values (e.g. WiFi password) are masked in the debug state-change log
  • (Alan Paris) Polling and reconnect intervals are now clamped to safe bounds in code, not only in the admin UI

Older changelogs can be found there

License

MIT License

Copyright (c) 2026 Alan Paris alan.paris@scottish.rugby

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.