# Flow not doing what I expected

**URL:** https://discourse.nodered.org/t/flow-not-doing-what-i-expected/67565
**Category:** General
**Tags:** function-node
**Created:** [10 September 2022 22:11 UTC](https://discourse.nodered.org/t/flow-not-doing-what-i-expected/67565 "2022-09-10T22:11:56Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![Anto79-ops](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/anto79-ops/32/56769_2.png) [@Anto79-ops](https://discourse.nodered.org/u/Anto79-ops)
#### Post date: [10 September 2022 22:11 UTC](https://discourse.nodered.org/t/flow-not-doing-what-i-expected/67565/1 "2022-09-10T22:11:56Z")

</div>

hey!

have a flow that I want to warn us when the outdoor particulate matter (PM) values are above 32, and then when they are back to safe levels. However, it seems to be telling everytime the value is above 32. The reporting interval of the sensor is every 10 minutes or so.

I thought the timer would keep it looped until the levels are back below 32, but its not anymore.

I basically want to warn when the PM is above 32, and then again, when its below 32.

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/f/9/f93f2ba48f4c22941b518586ed3968b80e040ece.png)

flow data:

`[{"id":"409a05f427fb05b3","type":"switch","z":"aaeb4e984950aca8","name":"32 and Over","property":"PM25EOut_reading","propertyType":"msg","rules":[{"t":"gte","v":"32","vt":"num"}],"checkall":"false","repair":false,"outputs":1,"x":670,"y":3100,"wires":[["b1f6816d12fa3c8b"]]},{"id":"fe1cd54f05747d9c","type":"api-current-state","z":"aaeb4e984950aca8","name":"PM25 < 32","server":"f11241dc.5364d","version":3,"outputs":2,"halt_if":"32","halt_if_type":"num","halt_if_compare":"lt","entity_id":"{{data.entity_id}}","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"PM25EOut_reading","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":0,"forType":"num","forUnits":"minutes","x":1130,"y":3100,"wires":[["b95a86e160c10f40","8aef9d8ff899578f"],["0b7b4915d500b267"]]},{"id":"0b7b4915d500b267","type":"delay","z":"aaeb4e984950aca8","name":"","pauseType":"delay","timeout":"10","timeoutUnits":"minutes","rate":"1","nbRateUnits":"30","rateUnits":"minute","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"allowrate":false,"outputs":1,"x":1150,"y":3180,"wires":[["fe1cd54f05747d9c"]]},{"id":"b1f6816d12fa3c8b","type":"trigger","z":"aaeb4e984950aca8","name":"","op1":"","op2":"0","op1type":"pay","op2type":"str","duration":"0","extend":true,"overrideDelay":false,"units":"ms","reset":"","bytopic":"topic","topic":"topic","outputs":1,"x":880,"y":3100,"wires":[["fe1cd54f05747d9c","788554ed6485ef09"]]},{"id":"b95a86e160c10f40","type":"change","z":"aaeb4e984950aca8","name":"Reset","rules":[{"t":"set","p":"reset","pt":"msg","to":"yes","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1110,"y":3020,"wires":[["b1f6816d12fa3c8b"]]},{"id":"a1ae6501dfd9904e","type":"server-state-changed","z":"aaeb4e984950aca8","name":"Outdoor PM 2.5 Levels","server":"f11241dc.5364d","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.pm25_ch1","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":200,"y":3100,"wires":[["1cdf2ed7f9bee415"]]},{"id":"1cdf2ed7f9bee415","type":"change","z":"aaeb4e984950aca8","name":"Set PM2.5 and topic","rules":[{"t":"set","p":"PM25EOut_reading","pt":"msg","to":"payload","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"Outdoor PM25","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":460,"y":3100,"wires":[["409a05f427fb05b3"]]},{"id":"788554ed6485ef09","type":"function","z":"aaeb4e984950aca8","name":"","func":"msg.payload = \"Warning! \" + msg.topic + \" Particulate Matter levels are at \" + msg.PM25EOut_reading + \" ug/m3!\";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1140,"y":3240,"wires":[["ada67a356463ed4f","f749597b7cd9f94c","5c8bcf55b740f23d"]]},{"id":"8aef9d8ff899578f","type":"function","z":"aaeb4e984950aca8","name":"","func":"msg.payload = msg.topic + \" Particulate Matter levels are now safe.\";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1400,"y":3100,"wires":[["30c7b1749d787c68","b6e3891b10bb6b45","28e71049cc02e8a7"]]},{"id":"30c7b1749d787c68","type":"debug","z":"aaeb4e984950aca8","name":"Safe Message","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1620,"y":3100,"wires":[]},{"id":"ada67a356463ed4f","type":"debug","z":"aaeb4e984950aca8","name":"Danger Message","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1630,"y":3380,"wires":[]},{"id":"51eeabcbcb880fe0","type":"google-notify","z":"aaeb4e984950aca8","server":"d17211f08fb61d4c","label":"Family Room Display Broadcast","playVolumeLevel":"60","language":"config","speakSlow":"false","mediaUrl":"","mediaType":"mp3","x":1670,"y":3420,"wires":[[]]},{"id":"2c8f2d4df8c0d177","type":"google-notify","z":"aaeb4e984950aca8","server":"d17211f08fb61d4c","label":"Family Room Display Broadcast","playVolumeLevel":"60","language":"config","speakSlow":"false","mediaUrl":"","mediaType":"mp3","x":1710,"y":3140,"wires":[[]]},{"id":"67e6c93034dd2604","type":"google-notify","z":"aaeb4e984950aca8","server":"a2c3303bcc4c7823","label":"Kitchen Display Broadcast","playVolumeLevel":"60","language":"config","speakSlow":"false","mediaUrl":"","mediaType":"mp3","x":1690,"y":3200,"wires":[[]]},{"id":"2a350ec717e5868c","type":"google-notify","z":"aaeb4e984950aca8","server":"a2c3303bcc4c7823","label":"Kitchen Display Broadcast","playVolumeLevel":"60","language":"config","speakSlow":"false","mediaUrl":"","mediaType":"mp3","x":1650,"y":3480,"wires":[[]]},{"id":"737df71186f06803","type":"google-notify","z":"aaeb4e984950aca8","server":"c9aa2a2bc10df8f4","label":"Main Floor Bathroom Broadcast","playVolumeLevel":"60","language":"config","speakSlow":"false","mediaUrl":"","mediaType":"mp3","x":1710,"y":3260,"wires":[[]]},{"id":"26dbb04dd2138c7c","type":"google-notify","z":"aaeb4e984950aca8","server":"c9aa2a2bc10df8f4","label":"Main Floor Bathroom Broadcast","playVolumeLevel":"60","language":"config","speakSlow":"false","mediaUrl":"","mediaType":"mp3","x":1670,"y":3540,"wires":[[]]},{"id":"f749597b7cd9f94c","type":"time-range-switch","z":"aaeb4e984950aca8","name":"Time Range","lat":"53.42167","lon":"-113.63615","startTime":"7:00","endTime":"20:00","startOffset":0,"endOffset":0,"x":1230,"y":3440,"wires":[["51eeabcbcb880fe0","2a350ec717e5868c","26dbb04dd2138c7c","e2110250aab5d7b2"],[]]},{"id":"e2110250aab5d7b2","type":"google-notify","z":"aaeb4e984950aca8","server":"68f59c430bfc900e","label":"Basement Family Room Display Broadcast","playVolumeLevel":"60","language":"config","speakSlow":"false","mediaUrl":"","mediaType":"mp3","x":1710,"y":3600,"wires":[[]]},{"id":"b6e3891b10bb6b45","type":"time-range-switch","z":"aaeb4e984950aca8","name":"Time Range","lat":"53.42167","lon":"-113.63615","startTime":"7:00","endTime":"20:00","startOffset":0,"endOffset":0,"x":1430,"y":3220,"wires":[["2c8f2d4df8c0d177","67e6c93034dd2604","737df71186f06803"],[]]},{"id":"5c8bcf55b740f23d","type":"api-call-service","z":"aaeb4e984950aca8","name":"Notify Me Sony Xperia Phone","server":"f11241dc.5364d","version":5,"debugenabled":false,"domain":"notify","service":"mobile_app_sony_xperia_zx1","areaId":[],"deviceId":[],"entityId":[],"data":"{\"message\":\"{{payload}}\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1670,"y":3320,"wires":[[]]},{"id":"28e71049cc02e8a7","type":"api-call-service","z":"aaeb4e984950aca8","name":"Notify Me Sony Xperia Phone","server":"f11241dc.5364d","version":5,"debugenabled":false,"domain":"notify","service":"mobile_app_sony_xperia_zx1","areaId":[],"deviceId":[],"entityId":[],"data":"{\"message\":\"{{payload}}\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1660,"y":3040,"wires":[[]]},{"id":"f11241dc.5364d","type":"server","name":"Home Assistant","version":4,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30,"areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m"},{"id":"d17211f08fb61d4c","type":"google-notify-config","ipaddress":"192.168.1.133","name":"Family Room Display","language":"en","playVolumeLevel":"20","speakSlow":true,"mediaServerUrl":"","mediaServerPort":"8098","cacheFolder":"/tmp"},{"id":"a2c3303bcc4c7823","type":"google-notify-config","ipaddress":"192.168.1.154","name":"Kitchen Display","language":"en","playVolumeLevel":"20","speakSlow":true,"mediaServerUrl":"","mediaServerPort":"8098","cacheFolder":"/tmp"},{"id":"c9aa2a2bc10df8f4","type":"google-notify-config","ipaddress":"192.168.1.145","name":"Main Floor Bathroom","language":"en","playVolumeLevel":"20","speakSlow":true,"mediaServerUrl":"","mediaServerPort":"8098","cacheFolder":"/tmp"},{"id":"68f59c430bfc900e","type":"google-notify-config","ipaddress":"192.168.1.182","name":"Basement Family Room Display","language":"en","playVolumeLevel":"20","speakSlow":true,"mediaServerUrl":"","mediaServerPort":"8098","cacheFolder":"/tmp"}]`

---

<div class="post-metadata">

### Author: ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)
#### Post date: [10 September 2022 22:41 UTC](https://discourse.nodered.org/t/flow-not-doing-what-i-expected/67565/2 "2022-09-10T22:41:26Z")

</div>

You can set a boolean property, then filter on true/false, so you will only get messages when the boolean changes.  
here is an example.

```auto
[{"id":"7adc3ba8.bfdee4","type":"inject","z":"30af2d3e.d94ea2","name":"20","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"20","payloadType":"num","x":200,"y":3260,"wires":[["1cdf2ed7f9bee415"]]},{"id":"1cdf2ed7f9bee415","type":"change","z":"30af2d3e.d94ea2","name":"Set PM2.5 and topic","rules":[{"t":"set","p":"PM25EOut_reading","pt":"msg","to":"payload","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"Outdoor PM25","tot":"str"},{"t":"set","p":"boolean","pt":"msg","to":"$$.payload >= 32","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":410,"y":3320,"wires":[["85362332.719c38"]]},{"id":"aa1e5740.09be6","type":"inject","z":"30af2d3e.d94ea2","name":"40","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"40","payloadType":"num","x":190,"y":3300,"wires":[["1cdf2ed7f9bee415"]]},{"id":"f329ecfd.58a0a","type":"inject","z":"30af2d3e.d94ea2","name":"50","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"50","payloadType":"num","x":190,"y":3340,"wires":[["1cdf2ed7f9bee415"]]},{"id":"85362332.719c38","type":"rbe","z":"30af2d3e.d94ea2","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":true,"property":"boolean","x":610,"y":3320,"wires":[["7ccd532f.b7a5ac"]]},{"id":"7ccd532f.b7a5ac","type":"debug","z":"30af2d3e.d94ea2","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":640,"y":3400,"wires":[]}]

```

---

<div class="post-metadata">

### Author: ![Anto79-ops](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/anto79-ops/32/56769_2.png) [@Anto79-ops](https://discourse.nodered.org/u/Anto79-ops)
#### Post date: [11 September 2022 00:17 UTC](https://discourse.nodered.org/t/flow-not-doing-what-i-expected/67565/3 "2022-09-11T00:17:58Z")

</div>

Thank you @E1cid!

Your example should work pretty well, and much more simple than mine. I'll have to work this into my node flow.

I'm just curious why my clunky way isn't working anymore. Was there some sort of breaking change? Or perhaps mine never worked.

---

<div class="post-metadata">

### Author: ![Anto79-ops](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/anto79-ops/32/56769_2.png) [@Anto79-ops](https://discourse.nodered.org/u/Anto79-ops)
#### Post date: [11 September 2022 01:18 UTC](https://discourse.nodered.org/t/flow-not-doing-what-i-expected/67565/4 "2022-09-11T01:18:36Z")

</div>

I was just watching the flow in action, its like the "trigger and block" is not blocking anymore. Here's how it set up the trigger and block node:

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/b/f/bf936c2a98788205d2184fa90584b35758aa23b9.png)

for example, both values of 54 (18:59) and 53 (19:09) came in, but it didn't block 53:

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/5/6/56d72109b446668725a665d38658f39409c013a3.png)

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/7/a/7a2ac8e7709c7cfe3ad2cecb702bf943c768ccf8.png)

---

<div class="post-metadata">

### Author: ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)
#### Post date: [11 September 2022 08:21 UTC](https://discourse.nodered.org/t/flow-not-doing-what-i-expected/67565/5 "2022-09-11T08:21:59Z")

</div>

I never looked at why your flow didn't work because I do not have HA installed and it just looked OTT for what you wanted to do. Glad my example has helped you work out a cleaner way.

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)
#### Post date: [25 September 2022 08:22 UTC](https://discourse.nodered.org/t/flow-not-doing-what-i-expected/67565/6 "2022-09-25T08:22:03Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
