YAML Configuration - andyblac/wiser-controls-card GitHub Wiki

YAML configuration

The visual editor is recommended, but every option is stored as normal dashboard YAML.

Minimal card

type: custom:wiser-controls-card

Common options

Option Description
title Card title. Use an empty string for type-only headings
device_columns Devices per row, from 1 to 6
mobile_device_columns Mobile devices per row for the Wiser panel; defaults to 1
hubs Wiser config-entry IDs to include; omit for all hubs
hub_configs Independent device configuration for each selected hub
split_hubs Render a separate card for every configured hub
device_types One or more selected device types
split_heating_channels Divide multi-channel heating into channel sections
entities Explicit entity selection and order
excluded_entities Entities hidden from this card
device_order Detected entities in display order
device_configuration master for per-type Master settings; omit for Individual
device_options Individual settings keyed by entity ID
master_options_by_type Master settings keyed by device type

title, device_columns, mobile_device_columns, hubs and split_hubs are shared card settings. In a multi-hub card, device selection, ordering and display options belong inside the matching hub_configs entry.

Multiple hubs

type: custom:wiser-controls-card
title: Wiser controls
device_columns: 5
mobile_device_columns: 1
hubs:
  - 01JY6MJTK7KAQKBB1H6Q5HSD29
  - 01M45VBYTJAGWAZRDVFQEBSX7E
hub_configs:
  - hub: 01JY6MJTK7KAQKBB1H6Q5HSD29
    device_configuration: master
    excluded_entities:
      - climate.kitchen_wiser_room_heating
    master_options_by_type:
      heating:
        state_content:
          - hvac_action
          - percentage_demand
        features:
          - type: climate-hvac-modes
          - type: target-temperature
      plugs:
        state_content:
          - state
        features: []
  - hub: 01M45VBYTJAGWAZRDVFQEBSX7E
    device_configuration: individual
    device_order:
      - climate.test_wiser_room_heating
split_hubs: true

Each hub_configs item must contain one unique hub ID. Entities and device options should remain in the configuration for the hub that owns them. Set split_hubs: false, or omit it, to combine the configured hubs into one card while retaining their independent settings.

The card and Wiser panel use this same per-hub structure. The visual editor only saves values that differ from defaults.

Multiple types

type: custom:wiser-controls-card
title: Wiser
device_columns: 3
mobile_device_columns: 1
device_types:
  - heating
  - plugs

Explicit rooms

type: custom:wiser-controls-card
title: Upstairs heating
entities:
  - climate.wiser_bedroom
  - climate.wiser_office

Bulk actions are limited to eligible entities included by the card.

Individual configuration

device_configuration: individual
device_options:
  climate.lounge_wiser_room_heating:
    name:
      - type: area
    color: state
    hide_state: false
    state_content:
      - hvac_action
      - percentage_demand
    temperature_focus: current
    show_temperatures: true
    show_next_schedule: true
    secondary_status:
      entity: climate.lounge_itrv
      state_content:
        - current_temperature
        - temperature
    features_position: inline
    features:
      - type: climate-hvac-modes
      - type: target-temperature

device_configuration: individual is equivalent to omitting device_configuration; the visual editor normally omits it.

Master configuration by type

device_configuration: master
master_options_by_type:
  heating:
    color: state
    state_content:
      - hvac_action
      - percentage_demand
    features_position: inline
    features:
      - type: climate-hvac-modes
      - type: target-temperature
  plugs:
    color: state
    hide_state: false
    state_content:
      - state
    features:
      - type: toggle

Each type is independent. Adding a type in the visual editor starts with that type's defaults instead of copying another type's settings.

Secondary-status mappings in Master mode

secondary_status:
  entities:
    climate.lounge_wiser_room_heating: climate.lounge_itrv
    climate.office_wiser_room_heating: climate.office_itrv
  state_content:
    - current_temperature
    - temperature

Entity mappings are scoped to rooms of the active Master type.

Heating channels

When the selected hub reports multiple hydronic channels, enable channel sections in that hub configuration:

hub_configs:
  - hub: 01JY6MJTK7KAQKBB1H6Q5HSD29
    split_heating_channels: true

Heating entities without a channel are placed in a separate No channel section.

Migrating from Wiser Rooms Card

Existing visual-editor configurations are migrated when opened and saved. For manually maintained YAML, change type: custom:wiser-rooms-card to type: custom:wiser-controls-card and use these generic key names:

Previous key Current key
room_columns device_columns
mobile_room_columns mobile_device_columns
room_types device_types
room_order device_order
room_configuration device_configuration
room_options device_options

Legacy keys remain accepted and are normalised internally, but new configurations should use the current names.

Multi-hub flat configurations from earlier development builds are migrated by the visual editor into hub_configs. Open and save the card once, then use the code editor to copy the generated per-hub YAML if the dashboard is maintained manually.

Older Secondary status feature entries are migrated to the dedicated secondary_status setting. New YAML should not add custom:wiser-secondary-status-feature to features.

Breaking changes in 0.1.1

The stable release removes temporary configuration aliases used by beta builds. Update manually maintained YAML before upgrading:

  • Replace singular room_type with a device_types list. Omit device_types to show every supported type.
  • Move single-type master_options beneath the relevant key in master_options_by_type.
  • Rename native_features to features.
  • Replace string feature shortcuts with Home Assistant feature objects.
  • Replace show_controls: false with an empty features: [] list.

For example, replace:

room_type: heating
master_options:
  native_features:
    - type: climate-hvac-modes
show_controls: false

with:

device_types:
  - heating
master_options_by_type:
  heating:
    features: []

An empty features list hides controls.