Cluster

A Cluster block shows a fixed list of Domoticz devices as individual rows in one block. It has three row types, chosen once when the cluster is created (a single cluster is never a mix of them):

  • Switch (the default): each row has its own on/off toggle. Unlike a Group, which shows one combined status and switches every member device to the same new state together, each row in a Cluster switches only its own device.

  • Temperature: each row instead shows that device’s own temperature reading, with no toggle.

  • Other: each row shows that device’s own value (for example a humidity, wind, lux or energy reading), with no toggle. This is for every device that is neither a switch nor a temperature reading.

Added via the Screen Editor’s “Add items” menu -> Cluster, by picking devices from the same device list used to add a normal device. The row type buttons filter that list to match: Switch to devices with a genuine on/off state (Domoticz’s On/Off and Dimmer switch types - a cluster row is only ever a simple toggle, so a Dimmer behaves exactly like a plain switch here, with no brightness slider), Temperature to plain temperature-reporting devices (Domoticz Type Temp, or one of the Temp+Humidity/Baro combo types), Other to every remaining device: anything without a Domoticz switch type that is not a temperature reading. Switching row type clears any devices already picked, since the two device sets don’t overlap - row type can only be set while creating a cluster; once it has been saved with devices, the buttons are locked.

Each row’s name defaults to that device’s own Domoticz name, but can be overridden per row in either popup - the same as a normal device’s own Title field when adding a device.

Block parameters

Parameter

Description

width

1..12: The width of the block relative to the column width

title

'<string>': Custom title for the block

icon

Defines the icon for this block, choose from: https://fontawesome.com/icons?d=gallery&m=free
'fas fa-list-check'

devices

Domoticz device id’s shown as rows in this cluster (required, at least one)
[ 1, 3, 5]: Devices 1, 3 and 5 are each shown as their own row

titles

Optional: overrides a row’s displayed name (the device’s own Domoticz name is used when absent).
{ 12: 'Ceiling light' }: Device 12’s row shows “Ceiling light”

mode

Optional: 'temperature' switches every row to a plain temperature reading instead of a toggle, 'other' to the device’s own value. Absent (the default) means Switch rows.
'temperature' or 'other'

usage

Switch mode only. Optional: maps a device’s own idx to a companion Domoticz device that reports its power consumption, shown next to that row. Many switches (Shelly/Zigbee2MQTT/Sonoff plugs, etc.) report their wattage through a separate Domoticz device (Type Usage, or Type General with SubType kWh) rather than a field on the switch itself - there is no reliable idx relationship between the two, so this is picked per row in the Cluster popup rather than auto-detected.
{ 12: 13 }: Device 12’s row also shows device 13’s consumption

icons

Optional: shows an icon in front of a row’s name, like the rows of the HP iLO widget. Maps a device’s own idx to 'auto' (an icon derived from the device’s type) or to a Font Awesome class. Rows without an entry show no icon.
{ 12: 'auto', 13: 'fas fa-fan' }

fontSize

Optional: font size of the whole cluster in pixels (8-60), like the font size setting of the HP iLO widget. Absent (the default) means the normal size.
22: Rows and title render at 22px

switchScale

Switch mode only. Optional: a scale factor (0.3-3) resizing the on/off toggle. Absent (the default) means the normal size.
1.5: Toggles render at 150% size

template

Optional: layout of the icon/title relative to the rows. Defaults to 1 (icon and title in their own header row, rows below spanning the block’s full width). Set to 0 for the classic layout, with the icon in a column beside the rows for the whole block height.
0: Icon beside the rows instead of above them

Example

A switch cluster:

blocks['mycluster'] = {
  type: 'cluster',
  title: 'Living room lights',
  devices: [12, 14, 16],
  titles: { 12: 'Ceiling light' },
  usage: { 12: 13 },
  switchScale: 1.5
}

A temperature cluster:

blocks['mytempcluster'] = {
  type: 'cluster',
  title: 'Room temperatures',
  mode: 'temperature',
  devices: [21, 22, 23]
}

A cluster with other values (humidity, wind, …):

blocks['myothercluster'] = {
  type: 'cluster',
  title: 'Sensors',
  mode: 'other',
  devices: [31, 32, 33]
}