Hi,
I compiled simple modbus config for host, it runs pretty well, either I start “program” via command line, but I can’t start it via systemd.
config:
esphome:
name: modbus-external
host:
mac_address: "02:de:ad:03:be:af"
api:
port: 60533
encryption:
key: !secret API_key
button:
platform: restart
name: "restart"
logger:
level: INFO
interval:
- interval: 333ms
then:
- lambda: |-
static int i;
i++;
switch (i % 3) {
case 0:
id(tev0).update();
break;
case 1:
id(tev1).update();
break;
case 2:
id(ws0).update();
break;
}
uart:
port: /dev/com3
baud_rate: 115200
#debug:
modbus:
send_wait_time: 77ms
etc.
This works:
/etc/esphome/.esphome/build/modbus-external/.pioenvs/modbus-external/program
But service:
[Unit]
Description=esphome modbus external
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=7
ExecStart=/etc/esphome/.esphome/build/modbus-external/.pioenvs/modbus-external/program
[Install]
WantedBy=multi-user.target
ended with:
systemd[1]: modbus-external.service: Main process exited, code=killed, status=11/SEGV
Subject: Unit process exited
Defined-By: systemd
Support: https://www.debian.org/support
An ExecStart= process belonging to unit modbus-external.service has exited.
The process' exit code is 'killed' and its exit status is 11.