Skip to content

Configuring Device

partach edited this page Jan 13, 2026 · 8 revisions

See Installation Guide on how to install the integration.
After succesfull installation you can Add and/or configure your devices.

If other devices are already installed (else see Installation Guide).

  1. Click Add Hub

  2. When adding a device the next step is to select the protocol the device has (Modbus / SNMP / MQTT / etc.)

Runtime entity configuration
Choose Protocol - no restarts required

3: Set Your Device Details (Modbus Example shown)

  1. Select connection type: Serial or IP (TCP/UDP)
  2. Enter:
    • Slave ID (usually 1)
    • Use a template?
      • select option and chose available template. You can add your own user created templates in config/protocol_wizard/templates/-protocol name-/
    • Don't use a template
      • A test register address (often 0 or 30001 → use 0 in the integration) must be provided. The integration will try to make a valid connection (required)
      • Test register size (usually 1 or 2)
  3. Provide connection details (port, baudrate, host, etc.). Still required as templates only give register information.
  4. The integration will auto-test connectivity if no connection can be made, Adding the device fails!

Step 2
Simple device setup

Configuration details

Adding and configuring
Adding and configuring

Here you can:

  • Settings: set the refresh rate of updating the sensor (minimal 3 seconds)
  • Add Entity: Fill the details needed for the entity (see table below). After filling and pressing submit the entity will be created
  • Load Template. See Templates
  • Entities(#): overview of the entities created. Here your can DELETE the entities.
  • Edit Entity: via dropdown you can select the entity for which you want to edit the details

When adding or editing a register (for Modbus), the following fields are available: (Many are Modbus specific)

Field Required Default Description
name Yes - Human-readable name for the entity
address Yes - Modbus register address (0–65535)
data_type Yes uint16 How to decode the value: uint16, int16, uint32, int32, float32, uint64, int64
register_type Yes input Function code: auto, holding, input, coil, discrete
rw Yes read Entity type: read (sensor), write (number), rw (both)
unit No - Unit of measurement (e.g., "V", "A", "W")
scale No 1.0 Multiplier applied after decoding (value × scale + offset)
offset No 0.0 Additive offset after scaling
device_class No - Indicate HA device class (identifying device type)
state_class No - Indicate HA state class (how to interpret the state)
entity_class No - Indicate HA entity class (where to display in device overview)
options No - JSON mapping for select entity (e.g., {"0": "Off", "1": "On"}). See Value Mapping Guide)
byte_order No big Byte order within each word (big/little)
word_order No big Order of the 16-bit words (big/little) for multi-register values
format No - python formating for read values like {d}d {h}h {m}m for seconds to human readible value or {value:.2f} (See Value Mapping Guide)
min No - Minimum value for writeable number entities
max No - Maximum value for writeable number entities
step No 1.0 Step size for number entity adjustments

Quick Tips for Common Use Cases

  • Voltages/Currents: data_type = "uint16", scale = 0.1 or 0.01, unit "V"/"A"
  • Power: Often uint32 or float32 with appropriate scaling
  • Status bits: Use coil/discrete + options JSON for friendly names

Clone this wiki locally