Hi @Colin,
Thanks again for your time and help. Not a lot of wisdom here....
So the sensor values come from a BACnet mqtt app I wrote in Python. The Python BACnet stacks are real good well maintained and they have very friendly/good support for help when needed. They are also used in industry on other frameworks too.
MQTT side is what I am trying to learn, as well as node red, and influx. My expertise is on the building automation system implementation and contracting, so I am new to IoT : )
My thoughts are to run an MQTT publishing app inside the building behind a firewall on the same LAN as a BACnet building automation system, and publish data on regular intervals to the broker. This seems to work Ok from my limited experience using a test bench at my house with BACnet devices and a Node Red instance on the cloud.
Large HVAC systems for buildings (which I am after) the sensors would be very redundant, for example a typical school, office, or hospital could have 50 of the same exact zones. This is how I was organizing the topics
for MQTT for the type of sensor that would be very redundant in a multi-zone HVAC system.
For example there could be 50 zone/temp
, 50 zone/temp/setpoint
, 50 vav/reheat/valve
, so on publish 50 sensor values at a time on a set interval.
BACnet app for loops through each topic, publishes 50 sensors at a time and then waits 300 seconds:
f"sensor/telemetry/hvac/{site_id}/zone/temp",
f"sensor/telemetry/hvac/{site_id}/zone/temp/setpoint",
f"sensor/telemetry/hvac/{site_id}/vav/reheat/valve",
f"sensor/telemetry/hvac/{site_id}/vav/reheat/temp",
f"sensor/telemetry/hvac/{site_id}/vav/damper",
Hopefully that makes sense, so at one time 50 of this "style" publishing to the broker:
sensor/telemetry/hvac/{site_id}/zone/temp/67.36
Or would doing batches be a better practice? I can do both, I can modify the Python BACnet app to do either or; what would be better practice for MQTT & cloud influx?
sensor/telemetry/hvac/{site_id}/zone/temp/{'vav1': {'pv': 67.36},'vav2': {'pv': 70.02},'vav3': {'pv': 90.0},'vav4': {'pv': 55.0},'vav4': {'pv': '55.9'}}
Any feedback for the newbie great appreciated, I'm learning a ton!