Use this short script to read all values from selected device ID (circuit).
Examples:
./readall.sh 470 (reads data from Vailant 470 heating controller)
./readall.sh bai (reads data from Vailant boiler)
Bolded value is the device ID which can be found using ebusctl info.
Script code:
#!/bin/bash
i=0
echo „Reading all values from id $1.”
sleep 3
stdbuf -oL ebusctl find -c $1 | awk '{print $2}’ > output.txt
awk 'NF’ output.txt > o.txt
file=’o.txt’while IFS= read -r line
do
((i=i+1))
echo „$i: $line:”
ebusctl read „$line” < /dev/null
done < „$file”
echo „Values readed. Ebusctl find will be run in 3 secs.”
sleep 3
ebusctl find -c $1
Then you will have all the values for selected circuit in ebusctl find, for example:
470 Hc2HolidayStartPeriod = 01.01.2010
470 Hc2OPMode = auto
470 Hc2SFMode = none
470 Hc2TempDesiredB50418 = 17.0
470 HcMc1ConfigCPLP = off
470 HcMc1CPLPState = on
470 HcMc1Detected = yes
470 HcName1 = GRZEJNIKI
470 HcName2 = PODLOGA
ID can be found by using ebusctl find (1st column) or short version
ebusctl find | awk '{print $1}’ | awk ’!seen[$0]++’
Download script
After downloading, remember to use chmod +x readall.sh to allow execution of the command.