And the script has some metrics it reads only once, and most others every ten seconds:
root@emonpi:~# cat /opt/dro/ebusReadViaCron.sh
#!/usr/bin/env bash
for i in $(seq 1 6); do
echo "[$(date)]"
begin_time=$(date +%s.%N)
end_time=$(echo "$begin_time + 9.95"|bc)
if [ $i -eq 1 ]; then
for slowMetric in Z1ActualRoomTempDesired HwcStorageTemp Hc1ActualFlowTempDesired
do
#/usr/bin/ebusctl read -m 10 -V ${slowMetric}
/usr/bin/ebusctl read -f -V ${slowMetric}
sleep .5
done
fi
for fastMetric in RunDataCompressorSpeed EnergyIntegral Z1RoomTemp RunDataElectricPowerConsumption BuildingCircuitFlow RunDataReturnTemp RunDataFlowTemp
do
#/usr/bin/ebusctl read -m 10 -V ${fastMetric}
/usr/bin/ebusctl read -f -V ${fastMetric}
sleep .5
done
now=$(date +%s.%N)
sleep_seconds=$(echo "$end_time - $now"|bc)
sleep $sleep_seconds
done
I think I needed to install bc to do the calculations: apt-get install bc
Works well for me. When I get around I’ll try to make a how-to to get the heat pump app working without using Home Assistant. Just ebusd via mqtt into emoncms.
I have now managed to get (Nearly live) data streaming onto this backdrop. (updating 1-4min) will need a better app to view on, the HA card isn’t very customisable and doesn’t view right.
Big thanks to Mick and Andre, (I’d get you a pint at installer Mick but unfortunately wont be there this year!)
This is what I’m pulling at the moment. There are one or two on the list that arn’t 100% right yet (Fan speed I have as % but looks like I’m pulling the RPM value)
A pity he couldn’t get the name of the conductor the c.t. goes on correct. The c.t. normally goes on the LINE conductor. Both Line and Neutral conductors are regarded as LIVE because neither is necessarily at earth potential.
I drew the fridge circuit on another platform, saced as pic. And just used picture elements card on homeassistant dashboard.
Its really not a good element though, looking for better ways to set it up. Ideally something that will save a screenshot of that picture at various times, or something that i can move a time slider and see it all change on the pic woukd be ideal
Need to get some time and get a good look through that.
Ive been away all week but have realised the heat pumps been cycling a load more than normal, whichbwent crazy last night when i upped the polling to every 60 seconds.
So the ebusd adaptop appears to be significantly interfering with the ebus comms. Can see off the inbuilt monitoring the difference disconnecting the ebusd had just where orange line is.
Going to sit diwn and deactivate ebusds protocols for polling, and set up script that will manually poll for certain info only and space it out so that is polling for say one sensor every 5 seconds to free up bandwith on ebus.
Ive managed to keep my system at a very low cycling rate so far. 3326 hours of compressor running time with only 911 starts (0.27 starts per hour) was 0.21 starts per hour before this week!)
I thought i read the sheild c6 adapter wasnt meant to interfere with ebus, but as im forcing polls rather than just reading data tgats naturally moving accross ebus then its too much for it to handle.
It shouldn’t interfere, but at some point there was a home assistant related config that polled some problematic values and this led to the issues you describe. Which values are you avtively polling? Are you using HA?
I wander if I just alter that file to stop any polling via ebusd and only use the manual script if that would be better.
Hopefully get an hour to play about with it over the weekend. I’ll try what you have above, and note the bits that get updated each minute, then possibly just narrow the manual 60s poll to things that arn’t already being done.
Either that or I can try a command to space out the requests by 5-10 seconds each, so only asking for a little data at a time.
Im afraid to even touch mine in fear of a reset or having to re-figure out how to set it up again!
Do you currently have your offsets altered? The only time ive ever adjusted them is when faced with elderly gentlemen who were ‘enginneers’ that are adamant that the sensoCOMFORT and my 4 seperate types of measuring probes wete all wrong and their cracked and leaking mercury thermometer was the only thing that was correct