### Description
TEST-SCRIPT ---------------------
#!/bin/bash
which ebusctl
who am i
tty
echo
x="$( ebusctl r -v date 2>&1 )" ; echo "r1 : $x"
y="$( x="$( ebusctl r -v date 2>&1 )" ; echo "r2 : $? $x" )"
echo "$y"
set -- $y
echo -n "$* :" ; i=1 ; while [ $i -le $# ] ; do eval echo -n \" \'\$$i\'\" ; i=$(( $i + 1 )) ; done ; echo
echo $( x="$( ebusctl r -v date 2>&1 )" ; echo "r3 : $? $x" )
set -- $( x="$( ebusctl r -v date 2>&1 )" ; echo "r4 : $? $x" )
echo -n "$* :" ; i=1 ; while [ $i -le $# ] ; do eval echo -n \" \'\$$i\'\" ; i=$(( $i + 1 )) ; done ; echo
d="$( echo "$6" | cut -d= -f2 )" ; [ "$d" != "" ] || exit 1
echo -e "\nw : d=$d\n"
x="$( ebusctl w -c 370 date $d 2>&1 )" ; echo "w1 : $? $x"
y="$( x="$( ebusctl w -c 370 date $d 2>&1 )" ; echo "w2 : $? $x" )"
echo "$y"
set -- $y
echo -n "$* :" ; i=1 ; while [ $i -le $# ] ; do eval echo -n \" \'\$$i\'\" ; i=$(( $i + 1 )) ; done ; echo
echo $( x="$( ebusctl w -c 370 date $d 2>&1 )" ; echo "w3 : $? $x" )
set -- $( x="$( ebusctl w -c 370 date $d 2>&1 )" ; echo "w4 : $? $x" )
echo -n "$* :" ; i=1 ; while [ $i -le $# ] ; do eval echo -n \" \'\$$i\'\" ; i=$(( $i + 1 )) ; done ; echo
echo
for i in PATH SHELL ; do eval echo \$$i ; done
Actual behavior
run via crontab (i.e. no pty present)
/usr/bin/ebusctl
not a tty
r1 :
r2 : 0 700 Date date=08.03.2026
r2 : 0 700 Date date=08.03.2026 : 'r2' ':' '0' '700' 'Date' 'date=08.03.2026'
r3 : 0 700 Date date=08.03.2026
r4 : 0 700 Date date=08.03.2026 : 'r4' ':' '0' '700' 'Date' 'date=08.03.2026'
w : d=08.03.2026
w1 : 1
w2 : 1
w2 : 1 : 'w2' ':' '1'
w3 : 1
w4 : 1 : 'w4' ':' '1'
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin:/usr/sbin
/bin/bash
Expected behavior
run interactively and/or via at-command -
root@rbnw9:~# ./VAItest
/usr/bin/ebusctl
root pts/0 2026-03-08 21:24 (192.168.1.7)
/dev/pts/0
r1 : 700 Date date=08.03.2026
r2 : 0 700 Date date=08.03.2026
r2 : 0 700 Date date=08.03.2026 : 'r2' ':' '0' '700' 'Date' 'date=08.03.2026'
r3 : 0 700 Date date=08.03.2026
r4 : 0 700 Date date=08.03.2026 : 'r4' ':' '0' '700' 'Date' 'date=08.03.2026'
w : d=08.03.2026
w1 : 0 done
w2 : 0 done
w2 : 0 done : 'w2' ':' '0' 'done'
w3 : 0 done
w4 : 0 done : 'w4' ':' '0' 'done'
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin:/usr/sbin
/bin/bash
root@rbnw9:~#
ebusd version
23.1
ebusd arguments
EBUSD_OPTS="-d enh:192.168.1.83:9999 -c /etc/ebusd/de --accesslevel=* --scanconfig"
Operating system
Debian 9 (Stretch) / Ubuntu 16-17 / Raspbian 9 / Raspberry Pi OS 9 (including lite)
CPU architecture
armv7l
Dockerized
None
Hardware interface
Adapter v3 Ethernet
Related integration
No response
Logs
VERSION : latest for stretch on arm7l
root@rbnw9:# ebusctl i
version: ebusd 23.1.23.1
update check: version 26.1 available, device firmware 1[8419] available, vaillant/15.700.csv: different version available, vaillant/bai.308523.inc: different version available, vaillant/errors.inc: different version available, vaillant/hcmode.inc: different version available
device: 192.168.1.83:9999, enhanced, firmware 1.1[7e1d].1[0a6c]
access: *
signal: acquired
symbol rate: 23
max symbol rate: 130
min arbitration micros: 6
max arbitration micros: 211
min symbol latency: 6
max symbol latency: 23
reconnects: 0
masters: 3
messages: 681
conditional: 3conditional:
poll: 0
update: 3
address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0104;HW=7803", loaded "vaillant/bai.308523.inc", "vaillant/08.bai.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=70000;SW=0613;HW=6903", loaded "vaillant/15.700.csv"
address 31: master #8, ebusd
address 36: slave #8, ebusd
address 52: slave, scanned "MF=Vaillant;ID=VR_70;SW=0109;HW=2903", loaded "vaillant/52.vr_70.csv"
root@rbnw9:#
bottom line -
ebusctl w does not give back same success/failure indications via stdout/stderr when no pty allocated -
this is especially naughty if i run scripts via crontab
Actual behavior
run via crontab (i.e. no pty present)
/usr/bin/ebusctl
not a tty
r1 :
r2 : 0 700 Date date=08.03.2026
r2 : 0 700 Date date=08.03.2026 : 'r2' ':' '0' '700' 'Date' 'date=08.03.2026'
r3 : 0 700 Date date=08.03.2026
r4 : 0 700 Date date=08.03.2026 : 'r4' ':' '0' '700' 'Date' 'date=08.03.2026'
w : d=08.03.2026
w1 : 1
w2 : 1
w2 : 1 : 'w2' ':' '1'
w3 : 1
w4 : 1 : 'w4' ':' '1'
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin:/usr/sbin
/bin/bash
Expected behavior
run interactively and/or via at-command -
root@rbnw9:~# ./VAItest
/usr/bin/ebusctl
root pts/0 2026-03-08 21:24 (192.168.1.7)
/dev/pts/0
r1 : 700 Date date=08.03.2026
r2 : 0 700 Date date=08.03.2026
r2 : 0 700 Date date=08.03.2026 : 'r2' ':' '0' '700' 'Date' 'date=08.03.2026'
r3 : 0 700 Date date=08.03.2026
r4 : 0 700 Date date=08.03.2026 : 'r4' ':' '0' '700' 'Date' 'date=08.03.2026'
w : d=08.03.2026
w1 : 0 done
w2 : 0 done
w2 : 0 done : 'w2' ':' '0' 'done'
w3 : 0 done
w4 : 0 done : 'w4' ':' '0' 'done'
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin:/usr/sbin
/bin/bash
root@rbnw9:~#
ebusd version
23.1
ebusd arguments
EBUSD_OPTS="-d enh:192.168.1.83:9999 -c /etc/ebusd/de --accesslevel=* --scanconfig"
Operating system
Debian 9 (Stretch) / Ubuntu 16-17 / Raspbian 9 / Raspberry Pi OS 9 (including lite)
CPU architecture
armv7l
Dockerized
None
Hardware interface
Adapter v3 Ethernet
Related integration
No response
Logs
VERSION : latest for stretch on arm7l
root@rbnw9:
# ebusctl i#version: ebusd 23.1.23.1
update check: version 26.1 available, device firmware 1[8419] available, vaillant/15.700.csv: different version available, vaillant/bai.308523.inc: different version available, vaillant/errors.inc: different version available, vaillant/hcmode.inc: different version available
device: 192.168.1.83:9999, enhanced, firmware 1.1[7e1d].1[0a6c]
access: *
signal: acquired
symbol rate: 23
max symbol rate: 130
min arbitration micros: 6
max arbitration micros: 211
min symbol latency: 6
max symbol latency: 23
reconnects: 0
masters: 3
messages: 681
conditional: 3conditional:
poll: 0
update: 3
address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0104;HW=7803", loaded "vaillant/bai.308523.inc", "vaillant/08.bai.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=70000;SW=0613;HW=6903", loaded "vaillant/15.700.csv"
address 31: master #8, ebusd
address 36: slave #8, ebusd
address 52: slave, scanned "MF=Vaillant;ID=VR_70;SW=0109;HW=2903", loaded "vaillant/52.vr_70.csv"
root@rbnw9:
bottom line -
ebusctl w does not give back same success/failure indications via stdout/stderr when no pty allocated -
this is especially naughty if i run scripts via crontab