Keine Ahnung ob schon ein passendes Modul dafuer gibt, ich bin leider relativ ignorant aus dieser Hinsicht.
Ich wuerde den Wert per userReadings rechnen, etwa in der Art:
attr heizkoerper kosten:zaehler.* { (ReadingsNum("heizkoerper", "zaehler", 0) - ZaehlerBeiAblesung) * KostenProEinheit }
Die Kosten aller Heizkoerper kann man per readingsGroup in einer Tabelle darstellen, und auch die Summe berechnen.