Spikes On Temperature Graph

I'm trying to figure out where these temp spikes are coming from?
Temperature is sampled once a minute. As I hover the cursor on the graph, I can get the temp in the bubble for each minute on either side of the spike that is valid. The spike may appear between 4:05 AM and 4:06 AM. There are valid temperatures for both times with the spike appearing between them. The bubble doesn't jump to the top of the spike.

As I'm currently playing about with the chart node, I'll try to help - although I haven't seen anything similar in my temperature readings.

From my experience, I would think that the spikes are actual data values being sent from your sensor, or created in the processing before the chart node. Can you tell us what kind of sensor you're using, and what nodes the data passes through before the chart?

Probably the simplest way to check on what's happening is to add debug nodes on the output of each node in the chain, and have a look at the values related to the "spike".

The sensor is a ds18b20 into a RPi using the sensor ds18b20 node.
I couldn't understand how the spike was appearing between read times?

What is the peak value? If it is 85 degrees then it shows power-on reset value. Google it to find why it may happen. There may be many reasons. (Wiring, device power supply ...)

1 Like

A power-on reset is a thought. I have set up a debug node and will watch those values. I just thought it odd that hovering over the graph would not display the time stamp for those spikes.

Do you have a 4.7k pullup resistor between the data and positive rail on the DS18B20?

If they really are just the 85 deg thing those devices are known to do - you could just filter them out - either with a switch node (if a strict comparison) or the rbe node set to ignore changes greater than...

1 Like

And this of course:

The graph hover-y thing isn't very accurate if you have a lot of points, and skips some of them as you move it. My own room temperature module updates every 10 minutes, and it's almost impossible to accurately position over any particular point on the graph - I'm recording daily min & max separately to get round it.

Well you don't need to do much more than identify that peak value is 85. For that even keep debugging or store chart output to file and examine file by hand. If it is power-on reset issue then make decision to even do something with hardware or adjust your flow to ignore such peaks. Or just accept those peaks as you know the reason.

Yes I do have a 4.7K. This application is for my horse water tank to monitor temp and turn a 1500 watt heater on and off. Instead of relying on the internal thermostat in the heater that keeps the water much above freezing. This is the third year of use and just starting seeing these spikes.

I'll drop a node in the flow that will ignore these spikes and all should be good.

1 Like

You may also find if spike happened when switching the heater. Even if it is resistive load, the switching moment may produce enough noise which then may harm stability of low voltage devices and sensors.

I don't want to spread myself too thin over too many threads, but here goes. . . . . .

I agree with the suspisions (?spelling) of power.

As it is happening frequently enough:
Something you could try - bit of work needed sorry - whack a CRO on the supply and see what is happening to the voltage.

Then if you are seeing a spike, whack a capacitor on to shunt that signal to ground.

I thought about spikes being produced by the heater turning on and off. But the heater doesn't turn on until 34F and as you can see, the spikes were occurring between 40F-45F.

The power for the ds18b20 is coming from the RPi. I would think if it was fluctuating, there would be bigger issues with the RPi which has been rock solid even in temps down to -15F.

Strange thing......ever since I dropped a debug node on the temp sensor, not one spike on the graph.
Thanks to everyone for their suggestions and input!

Update: Finally saw two spikes on my temperature graph from around 2:00 PM this afternoon. Checked the debug node that is connected to the output of my ds18b20 sensor. All readings are normal. No temperature reading changed more than .5 degrees from the reading before or after it. Sensing temperature every 5 minutes and can confirm I have a valid reading in the debug node every 5 minutes this afternoon.
So even if I placed a filter node between the sensor node and the graph node, what would it catch?
I can live with it because this doesn't impact the operation of the thermostat. Just trying to explain what data source the spikes are coming from?

Basically - and I mean basically - put a switch node in the flow.

In the node's settings put something like:
if not equal (maths) 85 --> output 1

Then anything it gets which is not 85 it will pass to the normal output (1)
If it is 85, it won't send it on.

Couldn't be more basic.

But if the debug node connected to the output of the temp sensor doesn't display spiked readings, what good can a switch node do to suppress a reading that isn't there?

Is the debug node showing exactly what is going into the chart node?

If your flow (whole setup) is rather easy than heavy and that temperature part of flow is straightforward (no calculations delays or some modifications in between) then it cant be much more than some bug in chart node or chart library the chart node provides. But as nobody have reported such case (at least I haven't seen) it sounds a bit mystery.
We haven't seen your flow of course. By description it should be fine but may be we missing some clues.
And the versions of soft in use.

Posting your flow here might help to pinpoint the problem.