Heatpump - Receive data from a EmonTx3?


Having great success with the heatpump board and logging data, i have it setup nicely and logging away with my own dash.

So i am now interested in the Agile App and naturally want to log some more CT’s.

Looking for the simplest method to Log 2 or 3 CT’s, the EmonTx3 seems ideal if it could talk to the Heatpump board with the FRM69 fitted…?

I noticed some code on GitHub suggesting it exists, a quick review it still seems setup for an EmonTH only…Interested to know what this specific code offers, i dont see anything specific to it?


Will it work if i just rely on this section of code to read from any node and poll the data as bit identified.

} else {
// For all other received nodes send as decoded integers: 10_1:1560,10_2:200…
for (byte i=0; i<n; i+=2)
int num = ((unsigned char)rf12_data[i+1] << 8 | (unsigned char)rf12_data[i]);
if (i) Serial.print(",");

Hello @jbetech

Yes it should work, you will need the discrete sampling firmware for the EmonTxv3 to be compatible. Which firmware did you upload to the heatpump monitor? HeatpumpMonitor_AutoTemp_EmonTx3 is actually for an EmonTx unit rather than heatpump monitor.

Are you using a local basestation such as the emonBase? or sending straight to emoncms.org or own server?

Hello @TrystanLea

I uploaded the HeatpumpMonitor_AutoTemp firmware to the heatpump monitor.

When i looked at the HeatpumpMonitor_AutoTemp_EmonTx3 it seemed very similar to the heat pump firmware?

Please can you confirm which firmware i should put onto the EmonTxv3 and Heatpump for them to talk?

Heatpump is sending direct to emoncms.org

Will be nice to add the Txv3 !


Have ordered the TxV3 and RFM69. :smiley:

Got the TxV3, what a great bit of kit!!

Powered it up and immediately it started talking to the heat pump as expected with each message corresponding to the bytes sent from the TxV3 to the Heatpump board.

See the bottom group of inputs here:

Looking at the “continuous” firmware the TxV3 comes loaded with, i made out that it sends the following order of data, there are 3 i have names as “Unidentified” as i cant see what they are…?

  if (DEBUG==1) {
     Serial.print("ct1:"); Serial.print(emontx.power1);
     Serial.print(",ct2:"); Serial.print(emontx.power2);
     Serial.print(",ct3:"); Serial.print(emontx.power3);
     Serial.print(",ct4:"); Serial.print(emontx.power4);
     Serial.print(",vrms:"); Serial.print(emontx.Vrms);
     Serial.print(",pulse:"); Serial.print(emontx.pulseCount);
     if (DS18B20_STATUS==1){
       for(byte j=0;j<numSensors;j++){
         Serial.print(",t"); Serial.print(j); Serial.print(":");


Just one issue to look into. I am getting a lot of missing data when i set the feeds off the new inputs to 10s.

When looking closely, the inputs from the TxV3 are not updating on Emoncms as fast as the main Heatpump inputs. Those update every 10s ok. But the new TxV3 inputs often take 20 to 60+ seconds.

Any ideas?

1 Like

Great to hear!

The firmware that’s running on your EmonTx is the discrete sampling firmware not the newer continuous sampling firmware. The continuous sampling firmware is not compatible with the heatpump monitor firmware unfortunately.

Ok that’s interesting. I might have to try and spin up a board here to work out what might be going on there. Do you have the 433Mhz antenna soldered in? Does it make a difference how close the EmonTx unit is to the heatpump monitor?

Hello @TrystanLea

Thanks for clarifying which firmware I have, after I wrote the above I realised I was referring to the discrete firmware. Glad that makes sense!

Yes antenna is soldered in. Boards are quite close, I have moved it once and no charge.

That would be great if you could see if yours does the same!

Dropout seems random: