Vaillant ebusd read all values from ebusctl find

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.

Facebook - komentarze