From Esphome 2025.3 we’ve added cool feature to Esphome. Posibility to provide variables to remote packages available on Github.
Right now we will use that mostly for modbus devices.
Similar as it is in boneIO Black now you can just add extra packages
section in your config and add predefined configs for your modbus device.
Prerequisites:
Packages repository: https://github.com/boneIO-eu/esphome_packages
More info of the component is available at Esphome documentation: https://esphome.io/components/packages#remote-git-packages We provide separate repository for Esphome packages.
Find packages
section in your config and add following line:
In boneIO it looks like this:
packages:
internals_packages:
url: https://github.com/boneIO-eu/esphome
ref: v1.5.0
files: [
'devices/serial_no.yaml',
To add packages with vars add following:
my_package:
url: https://github.com/boneIO-eu/esphome_packages
files:
- path: package_name.yaml
vars:
var1: value1
- path: package_name.yaml
vars:
var1: value2
- path: package_name2.yaml
vars:
var1: value1
Each device will have separate instruction on this site, which you could just copy/paste into your config. You’d need only to modify vars.
Available vars (with default values):
device_name: 'SDM630' #set your device name
modbus_device_id: 'sdm' #set your device id
modbus_device_address: '0x01' #set your device address in SDM630 config
modbus_id: 'boneio_modbus' #find your modbus id in boneIO config
update_interval: '60s'
boneiopackages:
url: "https://github.com/boneIO-eu/esphome_packages"
files:
- path: "sdm630.yaml"
vars:
device_name: 'SDM630'
modbus_device_id: 'sdm'
modbus_device_address: '0x01'
modbus_id: 'boneio_modbus'
Available vars (with default values):
device_name: 'Thessla' #set your device name
modbus_device_id: 'thessla_modbus' #set your device id
modbus_device_address: '0x01' #set your device address in Thessla config
modbus_id: 'boneio_modbus' #find your modbus id in boneIO config
update_interval: '60s'
boneiopackages:
url: "https://github.com/boneIO-eu/esphome_packages"
files:
- path: "thessla_pl.yaml"
vars:
device_name: 'Thessla'
modbus_device_id: 'thessla_modbus'
modbus_device_address: '0x01'
modbus_id: 'boneio_modbus'
Available vars (with default values):
device_name: 'Sofar' #set your device name
modbus_device_id: 'sofar_modbus' #set your device id
modbus_device_address: '0x01' #set your device address in Sofar config
modbus_id: 'boneio_modbus' #find your modbus id in boneIO config
update_interval: '60s'
boneiopackages:
url: "https://github.com/boneIO-eu/esphome_packages"
files:
- path: "sofar_inverter.yaml"
vars:
device_name: 'Sofar'
modbus_device_id: 'sofar_modbus'
modbus_device_address: '0x01'
modbus_id: 'boneio_modbus'