node-red-contrib-symi 2.2.0
Node-RED nodes for smart home device communication with Home Assistant integration, supporting HassKit, Clowire, Alive, LF and complete Symi protocols
Node-RED Contrib Symi
Node-RED nodes for smart home device communication with Home Assistant integration, supporting multiple protocols including HassKit, Clowire, Alive, LF and complete Symi protocols.
Features
π Dual Communication Support
- TCP Network Communication: For Ethernet-connected devices
- Serial Communication: RS485/RS232 support with full configuration options
π Device Support
- Climate Control: Temperature, humidity, HVAC systems
- Lighting: Switches, dimmers, RGB controls
- HVAC: Air conditioning, heating systems
- Curtains: Motorized blinds and curtains
- Heating: Floor heating systems
- Ventilation: Fresh air systems
- Scene Control: Multi-device scene management
- Panel Control: Touch panel interfaces
π‘ Protocol Support
- CLOWIRE: 9-byte frame protocol with CRC16 checksum
- HASSKIT: 8-byte frame protocol for climate control
- ALIVE: Heartbeat and keep-alive mechanism
- LF: Lightweight protocol for simple devices
- SYMI (δΊη±³): 15-byte frame protocol with comprehensive device support
Installation
npm install node-red-contrib-symi
Quick Start
- Install the package in your Node-RED environment
- Restart Node-RED to load the new nodes
- Find the nodes in the "symi" category in the palette
- Configure communication:
- Drag a "symi config" node to configure TCP or Serial connection
- Choose your communication method and set parameters
- Add devices: Drag device nodes and link them to your config
Configuration
TCP Network Configuration
Host: 192.168.1.100
Port: 8666
Serial Communication Configuration
Serial Port: /dev/ttyUSB0 (Linux) or COM1 (Windows)
Baud Rate: 9600, 19200, 38400, 115200
Data Bits: 5, 6, 7, 8
Stop Bits: 1, 2
Parity: None, Even, Odd
Device Parameters
- Device UID: Unique identifier for each device (e.g., 1001, 2001)
- Device Address: Bus address for the device (1-255)
- Device Channel: Internal channel number for multi-channel devices
Available Nodes
Configuration Node
- symi config: Communication configuration (TCP/Serial)
Device Nodes
- climate board: Climate control and monitoring
- switch board: Switch and relay control
- light board: Lighting control and dimming
- hvac board: HVAC system control
- curtain board: Curtain and blind control
- heating board: Floor heating control
- ventilation board: Fresh air system control
- scene board: Scene management
- panel board: Touch panel interface
Protocol Details
SYMI Protocol (δΊη±³)
15-byte frame structure supporting:
- 0x01: Light devices (on/off, dimming, color)
- 0x02: Air conditioning (temperature, mode, fan speed)
- 0x03: Curtains (open/close, position)
- 0x05: Floor heating (temperature control)
- 0x06: Fresh air systems (fan control, air quality)
CLOWIRE Protocol
9-byte frame with CRC16 checksum for reliable communication.
HASSKIT Protocol
8-byte frame optimized for Home Assistant integration.
Examples
Basic Switch Control
// Configure TCP connection
{
"connectionType": "tcp",
"host": "192.168.1.100",
"port": 8666
}
// Switch device
{
"deviceUID": 1001,
"deviceAddress": 1,
"deviceChannel": 0,
"protocol": "CLOWIRE"
}
Serial RS485 Setup
// Configure Serial connection
{
"connectionType": "serial",
"serialPort": "/dev/ttyUSB0",
"baudRate": 9600,
"dataBits": 8,
"stopBits": 1,
"parity": "none"
}
Requirements
- Node.js: >= 14.0.0
- Node-RED: >= 3.0.0
Dependencies
serialport
: Serial communication support@serialport/parser-readline
: Serial data parsingws
: WebSocket communicationasync-lock
: Asynchronous operation locking
Changelog
v2.2.0
- β Added serial communication support (RS485/RS232)
- β Dual communication mode (TCP + Serial)
- β Complete serial configuration options
- β Dynamic connection type switching
- β Preserved all original protocol functionality
- β Enhanced device configuration documentation
v2.1.0
- Initial release with TCP communication
- Support for 5 protocols and 10 device types
- Home Assistant integration
License
MIT