npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

iobroker.blustream-mfp

v0.5.1

Published

ioBroker adapter for Blustream Presentation Switchers

Readme

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 [email protected]

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.