Hi All,
Here is the updated Node-Red JSON for my inbound data flow…
[{"id":"a2345807.bbc9c8","type":"ha-webhook","z":"1bb50542.81126b","name":"BlueConnect Webhook","server":"a23a4d01.eeb32","outputs":1,"webhookId":"blue_connect","payloadLocation":"payload","payloadLocationType":"msg","headersLocation":"","headersLocationType":"none","x":180,"y":320,"wires":[["ebc5b5a.3c2a248"]]},{"id":"ebc5b5a.3c2a248","type":"switch","z":"1bb50542.81126b","name":"New Measure?","property":"payload.time","propertyType":"msg","rules":[{"t":"neq","v":"","vt":"prev"}],"checkall":"true","repair":false,"outputs":1,"x":400,"y":320,"wires":[["d2c85e6f.f164e","3770976e.784fb8","5f5d6f7f.8c305","dae8675e.10b038","747b5a26.135d64","b048c2c3.9025d","7d0176e9.094a18"]]},{"id":"d2c85e6f.f164e","type":"function","z":"1bb50542.81126b","name":"x1000","func":"var x=Number(msg.payload.salinity)\nmsg.payload.salinity=x*1000\nreturn msg;","outputs":1,"noerr":0,"x":650,"y":360,"wires":[["f38fab54.5fe968"]]},{"id":"3770976e.784fb8","type":"change","z":"1bb50542.81126b","name":"Measure Delay","rules":[{"t":"set","p":"payload","pt":"msg","to":"(\t $toMillis($now()) - $toMillis(\t payload.time,\t '[D01]/[M01]/[Y0001] [H01]:[m01]:[s01]' \t )\t)/1000\t","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":540,"y":480,"wires":[["a256dbf0.03bb48"]]},{"id":"6424dda6.4cc674","type":"ha-entity","z":"1bb50542.81126b","name":"Blue Connect Measurement Delay","server":"a23a4d01.eeb32","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Blue Connect Measurement Delay"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"s"}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","x":1020,"y":480,"wires":[[]]},{"id":"5f5d6f7f.8c305","type":"ha-entity","z":"1bb50542.81126b","name":"Temperature","server":"a23a4d01.eeb32","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"pool_temperature"},{"property":"device_class","value":"temperature"},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"°C"}],"state":"payload.temperature","stateType":"msg","attributes":[],"resend":true,"outputLocation":"payload","outputLocationType":"msg","inputOverride":"allow","x":790,"y":180,"wires":[[]]},{"id":"dae8675e.10b038","type":"ha-entity","z":"1bb50542.81126b","name":"pH","server":"a23a4d01.eeb32","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"pool_ph"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"pH"}],"state":"payload.ph","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","x":770,"y":240,"wires":[[]]},{"id":"747b5a26.135d64","type":"ha-entity","z":"1bb50542.81126b","name":"Orp","server":"a23a4d01.eeb32","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"pool_orp"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"mV"}],"state":"payload.orp","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","x":770,"y":300,"wires":[[]]},{"id":"f38fab54.5fe968","type":"ha-entity","z":"1bb50542.81126b","name":"Salinity","server":"a23a4d01.eeb32","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"pool_salinity"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"ppm"}],"state":"payload.salinity","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","x":780,"y":360,"wires":[[]]},{"id":"b048c2c3.9025d","type":"ha-entity","z":"1bb50542.81126b","name":"Conductivity","server":"a23a4d01.eeb32","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"pool_conductivity"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"mho"}],"state":"payload.conductivity","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","x":790,"y":420,"wires":[[]]},{"id":"2e3b8fff.7ed07","type":"ha-entity","z":"1bb50542.81126b","name":"Update Count","server":"a23a4d01.eeb32","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Blue Connect Update Count"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","x":800,"y":540,"wires":[[]]},{"id":"7d0176e9.094a18","type":"api-current-state","z":"1bb50542.81126b","name":"Count","server":"a23a4d01.eeb32","version":1,"outputs":1,"halt_if":"","halt_if_type":"num","halt_if_compare":"is","override_topic":false,"entity_id":"sensor.blue_connect_update_count","state_type":"num","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":490,"y":540,"wires":[["b94912c.85ab7f"]]},{"id":"b94912c.85ab7f","type":"function","z":"1bb50542.81126b","name":"+1","func":"var x=Number(msg.payload)\nmsg.payload=x+1\nreturn msg;","outputs":1,"noerr":0,"x":630,"y":540,"wires":[["2e3b8fff.7ed07"]]},{"id":"88995690.f6b7b8","type":"inject","z":"1bb50542.81126b","name":"Reset Counter","topic":"","payload":"0","payloadType":"num","repeat":"","crontab":"00 00 * * *","once":false,"onceDelay":0.1,"x":160,"y":600,"wires":[["5230267f.9a7e68"]]},{"id":"a256dbf0.03bb48","type":"function","z":"1bb50542.81126b","name":"Single Decimal Place","func":"var x = Number(msg.payload)\n\nmsg.payload = x.toFixed(1)\nreturn msg;","outputs":1,"noerr":0,"x":760,"y":480,"wires":[["6424dda6.4cc674"]]},{"id":"c22f216.ef67ae","type":"ha-entity","z":"1bb50542.81126b","name":"Yesterday Count","server":"a23a4d01.eeb32","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Blue Connect Updates Yesterday"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""}],"state":"payload","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","x":480,"y":600,"wires":[["8215815e.5dfc2"]]},{"id":"5230267f.9a7e68","type":"api-current-state","z":"1bb50542.81126b","name":"Count","server":"a23a4d01.eeb32","version":1,"outputs":1,"halt_if":"","halt_if_type":"num","halt_if_compare":"is","override_topic":false,"entity_id":"sensor.blue_connect_update_count","state_type":"num","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":330,"y":600,"wires":[["c22f216.ef67ae"]]},{"id":"8215815e.5dfc2","type":"change","z":"1bb50542.81126b","name":"Zero","rules":[{"t":"set","p":"payload","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":600,"wires":[["2e3b8fff.7ed07"]]},{"id":"a23a4d01.eeb32","type":"server","z":"","name":"Home Assistant"}]
One thing we noticed when I was helping a friend set his up using my exported JSON, is that for the HA nodes, we needed to go in and change the server name from “Home Assistant” to “Home Assistant”!!
I’m assuming there is some hidden id in play, and the imported “Home Assistant” which was selected was not the correct one.
The flow now looks like this…
It depends on having not just the node red addon installed, but also the integration installed (via HACS) and configured. I no longer use the “input-numbers” as NR can now create sensors directly in HA which is great.
As a previous poster mentioned, after deploying this flow, you’ll need to go into HA config and find the webhook that has been created. I use Nabu Casa cloud for this inbound webhook so it’s auto-created, but you could also port-map your HA server from the outside world.
Hope that helps