AboutBlogContact
ProductsESP 32x10AController Setup

Defining Outputs

boneIO outputs configuration

What are outputs?

Outputs are the executive parts of our controller.

This guide applies to

Controlling the outputs of the boneioESP 32x10A module

On other pages, you will find instructions for controlling the other boneio ESP modules.

Why should you name them?

Naming your outputs will make working with the controller much easier. It's much easier to remember "Bedroom light" than "Light 01", right?

In our examples, we focus on a part of the configuration, which you can then adjust to your entire configuration.

Let's get started!

32x10A

We prepared for you two types of the configuration file.
What you should choose depends on what you will use as your outputs.
Usually 32x10A controller its used for lights, so we prepared for you configuration with 32 light outputs!
But if you want to use it as controling device for some sort of switches etc? No problem!
We got also version with 32 switches!

But what if you want to use 20 outputs as lights and 12 as switches? We dont have configuration for you... But we will explain how you can prepare one for yourself!

Below is a part of the default configuration in the file:

boneio-32x10_lights_v0_7.yaml

We are looking for part with header light:

light:
  - platform: binary
    name: "Light 01"
    output: out_01
    id: light_01
  - platform: binary
    name: "Light 02"
    output: out_02
    id: light_02
  - platform: binary
    name: "Light 03"
    output: out_03
    id: light_03
  - platform: binary
    name: "Light 04"
    output: out_04
    id: light_04
  - platform: binary
    name: "Light 05"
    output: out_05
    id: light_05
  - platform: binary
    name: "Light 06"
    output: out_06
    id: light_06
ParameterDescription
- platform: binaryDefines the component type. binary is used for simple on/off entities, such as lights.
name: 'Light 01'This is the friendly name for the output, which will be visible in Home-Assistant. You can change it freely, for example to Bedroom or OUT_01_Bedroom.
output: out_01This links the light to a specific physical relay output defined in another part of the configuration.
id: light_01This is a unique identifier used in the ESPHome configuration. It allows this light to be controlled from automations or other components (e.g., light.toggle: light_01).
boneio-32x10_switches_0_7.yaml

We are looking for part with header switch:

switch:
  - platform: output
    name: "Switch 01"
    output: out_01
    id: switch_01
  - platform: output
    name: "Switch 02"
    output: out_02
    id: switch_02
  - platform: output
    name: "Switch 03"
    output: out_03
    id: switch_03
  - platform: output
    name: "Switch 04"
    output: out_04
    id: switch_04
  - platform: output
    name: "Switch 05"
    output: out_05
    id: switch_05
  - platform: output
    name: "Switch 06"
    output: out_06
    id: switch_06
ParameterDescription
- platform: outputDefines the component type. output creates a switch entity which controls a GPIO pin.
name: 'Switch 01'This is the friendly name for your switch. You can change it freely. There are many naming approaches. For example, you can change it to Circulation_pump or Switch_01_Circulation_pump.
output: out_01This links the switch to a specific physical relay output.
id: switch_01This is a unique identifier used in the ESPHome configuration to control this switch from other components.

Id like to get 10 switches and 22 lights!

You need to adjust your configuration file a little bit. Its really simple, and really usefull. Lets make a assumption that we to change from our boneio-32x10_lights_v0_7.yaml 10 lights to switche's.

As you can learn from this tutorial, the header its what describes the oputput, we are useing switch and light here. If you look at the standard lights configuration, you will notice that its start with header light:, then there are definitions of our relays. For our tutorial we gonna change last 10 lights to relays. Below the configuration:

light:
  - platform: binary
    name: 'Light 01'
    output: out_01
    id: light_01
  - platform: binary
    name: 'Light 02'
    output: out_02
    id: light_02
...
...
...
  - platform: binary
    name: 'Light 21'
    output: out_21
    id: light_21
  - platform: binary
    name: 'Light 22'
    output: out_22
    id: light_22

switch:

  - platform: binary
    name: 'Switch 01'
    output: out_23
    id: switch_01
  - platform: binary
    name: 'Switch 02'
    output: out_24
    id: switch_02
...
...
...
  - platform: binary
    name: 'Switch 09'
    output: out_31
    id: switch_0
  - platform: binary
    name: 'Switch 10`
    output: out_32
    id: switch_32

So what have we done? The first part is the same as in the default lights configuration, but before 'out_23' we added the 'switch:' header. We also changed the platform from 'binary' to 'output' and adjusted the names and IDs so everything matches. As a result, we got lights from relay 1 to 22 and switches from relay 23 to 32!