AboutBlogContact

Edit config file

config.yaml – everything you need to know!

Let's start with how exactly you can edit the config file. There are several ways to do it. Let's begin with the easiest—using the WebUI!

Prerequisites:

  • You need to know the controller's IP address.

WebUI

To open the WebUI, enter the following address in your web browser (the default port is 8090, if you changed it in the configuration, use your custom port):

http://yourboneioip:8090

In the top right corner, you'll find the Config section. There you will find the configuration editor. Select the main configuration file config.yaml there.

SSH and Nano

Another way is to use tools available in Debian installed on BeagleBone Black, e.g., the nano text editor!
You need to connect to the controller via SSH.
The configuration file is located in the ~/boneio folder. The exact path is ~/boneio/config.yaml.
To get there, go to the ~/boneio folder by entering in the terminal:\

cd ~/boneio

then enter:

nano config.yaml

The config.yaml file

The boneIO Black configuration file (like the ESP version) consists of several components.
Below, we will discuss their responsibilities, how they work, and describe each line.\

Similar to Home Assistant YAML files, it supports entries such as:

  • !include – including a file
  • !secret – including variables from the secrets.yaml file

The main configuration file is config.yaml. It is responsible for the key and most important parameters of the controller. This file also contains all references to the individual files where we define MQTT, inputs and their types, as well as outputs.

YAML files allow for very easy and readable commenting – what does this mean? After the hash symbol #, all text until the end of the line has no effect on the application. In other words, you can write any useful information there, and it will not cause errors in the program. In YAML files, indentation is very important – 2 spaces equal one indentation level!

Remember, here you will only find a short description of each component – just enough to run and initially configure the controller. If you want to read a detailed description – you can find it in the application documentation.

Below is the current configuration file:


mqtt: !include mqtt.yaml

oled:
  enabled: yes
  screens:
    - uptime
    - network
    - cpu
    - disk
    - memory
    - swap
    - outputs
    - inputs
    - web

lm75:
  - id: Board temperature
    address: 0x48
ina219:
  - address: 0x40

event: !include event.yaml
binary_sensor: !include binary_sensor.yaml

output: !include output32x10A.yaml

boneio:
  name: "boneIO Black 32x10A"
  version: 0.8
  device_type: "32x10A"
  
web:
# adc: !include adc.yaml Uncomment only if needed.

We will discuss all components step by step!

MQTT component:

Reference to the mqtt.yaml file - this file contains the entire MQTT configuration of the controller. We will discuss it later!

mqtt: !include mqtt.yaml 

Screen component:

Section responsible for the controller's display.

oled:
  enabled: yes
  screens:
    - uptime
    - network
    - cpu
    - disk
    - memory
    - swap
    - outputs
    - inputs
    - web

Temperature sensor:

Section for the lower board temperature sensor - the relays are located on this board.

lm75:
  - id: Board temperature 
    address: 0x48 

INA219 sensor section:

This sensor is responsible for measuring the voltage, current, and energy consumption of the controller. It does not measure the power consumption of the outputs!

ina219: 
  - address: 0x40 

Event:

We define the behavior of the inputs as events in this file.

event: !include event.yaml 

Binary sensors:

We define the behavior of the inputs as binary sensors in this file.

binary_sensor: !include binary_sensor.yaml 

Output component:

File defining our outputs.

output: !include output.yaml 

BoneIO section:

Here is defined your controller version.

boneio:
  name: "boneIO Black 32x10A" 
  version: 0.8 
  device_type: "32x10A" 

WebUI component:

It's allow to run webui

web: