Hi Everyone!
I just started on my HA journey and my project is quite big.
For my internship I am tasked with automating a house thats build with all kinds of analog/digital sensors and actuators.
These signals are carried over Modbus TCP and are devided into areas.
So there are 12 areas/devices all sending their data to the Modbus server running on the raspberry via NodeRed.
These devices consist of a cortex powered microcontroller coupled with a screen.
They are programmable through a proprietary IDE and attached to every device is an I/O unit that reads the sensors and controlls the actuators.
The Raspberry running Home Assistant will act as the brains of the house and it will proces all the data comming of these devices.
Currently all these signals are in a long list only separated with comments.
I was wondering if it is possible to plit these modbus sensors/switched up in diffrent files coresponding to the area the signal originated from/will be send to.
All the signals combined comes to a total of 300+ signals, these are just the sensor/actuator signals.
I still need to add the settings signals so the total ammount of signals will be arround 500.
To have all these signals in a single modbus.yaml file is not very readable as the file already consists of 3000 lines.
Here follows a little snippet of the modbus.yaml file config:
- type: tcp
host: 192.168.2.200
port: 502
name: server
retry_on_empty: true
delay: 5
#########################################################
# Put all analog modbus signals here
#########################################################
sensors:
########################################
# Hoofdkast Analog I/O (Addresses 0-99)
########################################
# Insert analog I/O for Hoofdkast
# Waterhoogte voorraadtank grijswater
- name: _mod_AI_FilthWater_WaterHeight
address: 1
input_type: holding
unit_of_measurement: °C
state_class: measurement
count: 1
scale: 0.1
offset: 0
precision: 1
data_type: int
# Spare
- name: _mod_AI_Spare
address: 2
input_type: holding
unit_of_measurement: °C
state_class: measurement
count: 1
scale: 0.1
offset: 0
precision: 1
data_type: int