Virtual feed support on

A little note to say that Virtual feeds are now finally supported on and they are free (as they do not use disk space).

Virtual feeds were first developed by @nchaveiro to provide a way to apply post processing to feed data on the fly. Much later (end of 2021) I did a fair bit of work to optimise the implementation, making use of new features available from the underlying feed engines. I’ve been meaning to get this feature onto since then as it can save disk space and associated costs.

Here’s a quick example of how to use a virtual feed to obtain a feed of the instantaneous COP of a heat pump assuming that you already have a heat output feed and an electricity consumption feed.

1. On the emoncms feeds page, scroll to the bottom and click on New feed. In the dialog that opens up, select the VIRTUAL Feed engine and enter a feed name and tag, e.g:


You should now see a new feed appear in your feed list.

2. Put a tick in the checkbox for the new virtual feed we have just created. A spanner button will appear at the top of the page. Click on this to bring up the feed process list configuration dialog:

3. Select the Source Feed process and select your heatpump_heat feed. Click Add. Then select a ‘/ source feed’ process and select your heatpump_elec feed:

4. Click Save to complete and then open the virtual feed in the graph view. If you are calculating COP you may want to set minimum and maximum limits on the y-axis as the calculation can momentarily go off the scale when the compressor starts and stops:

The clever thing about this feed is that it does not use any additional disk space, the COP calculation here is done on the fly from the underlying heat output and electricity consumption feeds.

Virtual feeds created on are free, they are not included in the pay-per-feed billing given that they do not use any additional disk space :slight_smile:

1 Like

The CSV data import feature is also now available on

1. Click on ‘Import data’ at the bottom of the emoncms feed list:


2. Paste the CSV data into the window (it will check the format and work out the interval):

3. Enter a tag and name for the feed and click to Import!