Move processing steps to a different input?

I have 26 processing steps on an input called “5”. I want to move it to the emonpi1/power1 input which gives the same value, but updated more frequently. Is there a way to do this without manually recreating all 26 steps?

if you don’t want to create the 26 steps, add 2 more at the top of input 5 …
reset feed to zero and add feed emonpi1/power1 and continue processing the 26 original steps …

But what about

Surely, the “5” steps will still only be processed at the rate the feed is set to, and if it is a fixed interval feed - the clue is in the name, it cannot be changed, so all the intermediate values from power1 will be ignored.

I’ve never seen mention of a way to copy the processes of one feed into another, so I think it cannot be done. However, @TrystanLea should know.

In MQTT explorer, both inputs update together every 5s, but on the inputs page in emoncms, the power1 inputs update every 10s, but the “5” inputs update every 30s.

Should I be using the “5” or the power1 inputs?

The PHPFINA feeds are set to 10s intervals, but they are currently using the “5” input which updates every 30s.
The reason I want an updated value as frequently as possible (independent of the feed interval) is that openevse uses these values to set the charge rate on the car, and I want to minimise lag.

MQTT explorer

emoncms inputs - showing 7s and 28s since last updated.

I’ve never got around to understanding MQTT, so I can’t help with that.

However, your immediate problem would seem to be how the PHPFINA feed works. The Feed is the database. If the data arrives every 30 s, and the feed interval is 10 s, then you’ll have two empty ‘slots’ with null values in the feed between every incoming value. Conversely, if the feed updates every 30 s and the data comes in every 10 s, then first value will be stored only to be overwritten by the second, and then that will be overwritten by the third, after which the feed will move forward to the next ‘slot’.

hmmm, looking at the data, it does seem to be recording different values every 10s. That suggests that the inputs are updating every 5s, maybe just not showing in the UI? In which case I can leave the processing where it is.

Here’s the last minute of data on the meter tail use feed

2022-09-05 00:04:00, 695.0
2022-09-05 00:04:10, 721.0
2022-09-05 00:04:20, 698.0
2022-09-05 00:04:30, 699.0
2022-09-05 00:04:40, 720.0
2022-09-05 00:04:50, 711.0
2022-09-05 00:05:00, 712.0

I should have added: The input processing happens as the data is received by emonCMS. So every Log to Feed happens each time an input arrives. It’s when it lands on the Feed, totally asynchronous to the inputs. Feeds move on Internet time, on the hour and at the chosen interval thereafter (I haven’t checked the ‘day’ interval).

I think I’m in this scenario, with the feed moving forward every 10s, and the data coming in every 5s. Is this a problem with doing this?

I think I understand your problem, but I don’t understand (and don’t have the time to learn) the methods and software I think you’re using to try to solve it. All I can explain is how I think Input Processing and Feeds work in emonCMS.

The way I suggest people visualise it is as boxes moving along a conveyor belt. The input process drops a number onto the belt whenever a data item comes in. Meanwhile, the Feed puts boxes on the belt at predetermined intervals (PHPTIMESERIES). If no data comes in, or it comes in slowly, you have empty boxes (NULLs). If the data comes in too fast, you can see only the last one on top in the box after it’s moved on down the conveyor belt.