I am having a bit of trouble understanding how I can get my message properties from the object.
There is mutliple "sites" and they have use the same structure as others so after a few attempts
with template node trying to get the data into influx. I feel like I kind of understand template but then
dont know why it then wanted to take the payload even when I was asking for msg.payload.idSite
for instance.
The data is called from a victron energy http API.
Here is a copy of what the message is like from one of my inverters.
{"idSite":48111,"accessLevel":1,"owner":true,"is_admin":true,"name":"Farm Sup1","identifier":"ff7747l74k02","idUser":144192,"pvMax":0,"timezone":"Africa/Johannesburg","phonenumber":null,"notes":null,"geofence":null,"geofenceEnabled":false,"realtimeUpdates":true,"hasMains":0,"hasGenerator":0,"noDataAlarmTimeout":null,"alarmMonitoring":1,"invalidVRMAuthTokenUsedInLogRequest":0,"syscreated":1605102072,"grafanaEnabled":0,"shared":false,"device_icon":"grid","alarm":false,"last_timestamp":1637601448,"tags":[{"idTag":41,"name":"no-alarm","automatic":true}],"current_time":"19:18","timezone_offset":7200,"images":false,"view_permissions":{"update_settings":true,"settings":true,"diagnostics":false,"share":true,"vnc":true,"mqtt_rpc":true,"vebus":true,"twoway":true,"exact_location":true,"nodered":false,"signalk":false},"extended":[{"idDataAttribute":2,"code":"v","description":"Fw Version","formatWithUnit":"%s","dataType":"string","textValue":null,"instance":"0","dbusServiceType":null,"dbusPath":null,"rawValue":"v2.73","formattedValue":"v2.73"},{"idDataAttribute":40,"code":"S","description":"VE.Bus state","formatWithUnit":"%s","dataType":"enum","textValue":"Float","instance":"0","dbusServiceType":"vebus","dbusPath":"/State","rawValue":"5","formattedValue":"Float","instances":[{"rawValue":"5","formattedValue":"Float","textValue":"Float"}],"dataAttributeEnumValues":[{"nameEnum":"Off","valueEnum":0},{"nameEnum":"Low Power","valueEnum":1},{"nameEnum":"Fault","valueEnum":2},{"nameEnum":"Bulk","valueEnum":3},{"nameEnum":"Absorption","valueEnum":4},{"nameEnum":"Float","valueEnum":5},{"nameEnum":"Storage","valueEnum":6},{"nameEnum":"Equalize","valueEnum":7},{"nameEnum":"Passthru","valueEnum":8},{"nameEnum":"Inverting","valueEnum":9},{"nameEnum":"Power assist","valueEnum":10},{"nameEnum":"Power supply","valueEnum":11},{"nameEnum":"Bulk protect","valueEnum":252}]},{"idDataAttribute":143,"code":"bv","description":"Voltage","formatWithUnit":"%.2F V","dataType":"float","textValue":null,"instance":"0","dbusServiceType":"system","dbusPath":"/Dc/Battery/Voltage","rawValue":"54.95","formattedValue":"54.95 V"},{"idDataAttribute":144,"code":"bs","description":"Battery State of Charge","formatWithUnit":"%.1F %%","dataType":"float","textValue":null,"instance":"0","dbusServiceType":"system","dbusPath":"/Dc/Battery/Soc","rawValue":"100","formattedValue":"100.0 %"},{"idDataAttribute":147,"code":"bc","description":"Current","formatWithUnit":"%.2F A","dataType":"float","textValue":null,"instance":"0","dbusServiceType":"system","dbusPath":"/Dc/Battery/Current","rawValue":"0","formattedValue":"0.00 A"},{"idDataAttribute":215,"code":"bst","description":"Battery state","formatWithUnit":"%s","dataType":"enum","textValue":"idle","instance":"0","dbusServiceType":"system","dbusPath":"/Dc/Battery/State","rawValue":"0","formattedValue":"Idle","dataAttributeEnumValues":[{"nameEnum":"Idle","valueEnum":0},{"nameEnum":"Charging","valueEnum":1},{"nameEnum":"Discharging","valueEnum":2}]},{"idDataAttribute":250,"code":"tw","description":"Two way communication","formatWithUnit":"%s","dataType":"enum","textValue":"On","instance":"0","dbusServiceType":"settings","dbusPath":"/Settings/Services/MqttVrm","rawValue":"1","formattedValue":"On","dataAttributeEnumValues":[{"nameEnum":"Off","valueEnum":0},{"nameEnum":"On","valueEnum":1}]},{"idDataAttribute":251,"code":"si1","description":"AC Input 1 ","formatWithUnit":"%s","dataType":"enum","textValue":"Grid","instance":"0","dbusServiceType":"settings","dbusPath":"/Settings/SystemSetup/AcInput1","rawValue":"1","formattedValue":"Grid","dataAttributeEnumValues":[{"nameEnum":"Not available","valueEnum":0},{"nameEnum":"Grid","valueEnum":1},{"nameEnum":"Generator","valueEnum":2},{"nameEnum":"Shore power","valueEnum":3}]},{"idDataAttribute":252,"code":"si2","description":"AC Input 2","formatWithUnit":"%s","dataType":"enum","textValue":"Not available","instance":"0","dbusServiceType":"settings","dbusPath":"/Settings/SystemSetup/AcInput2","rawValue":"0","formattedValue":"Not available","dataAttributeEnumValues":[{"nameEnum":"Not available","valueEnum":0},{"nameEnum":"Grid","valueEnum":1},{"nameEnum":"Generator","valueEnum":2},{"nameEnum":"Shore power","valueEnum":3}]},{"idDataAttribute":453,"code":"cp","description":"Capabilities","formatWithUnit":"%s","dataType":"enum","textValue":null,"instance":"0","dbusServiceType":null,"dbusPath":null,"rawValue":"15","formattedValue":"15","dataAttributeEnumValues":[{"nameEnum":"MQTT-RPC","valueEnum":1},{"nameEnum":"MQTT-RPC new firmware update command","valueEnum":2},{"nameEnum":"VNC-SSH authentication","valueEnum":4},{"nameEnum":"VregLink","valueEnum":8}]},{"idDataAttribute":469,"code":"sca","description":"ESS Scheduled Charging","formatWithUnit":"%s","dataType":"enum","textValue":"Not active","instance":"0","dbusServiceType":null,"dbusPath":null,"rawValue":"0","formattedValue":"Not active","dataAttributeEnumValues":[{"nameEnum":"Not active","valueEnum":0},{"nameEnum":"Active","valueEnum":1}]},{"idDataAttribute":520,"code":"gaRC","description":"Generator run reason","formatWithUnit":"%s","dataType":"enum","textValue":"Stopped","instance":"0","dbusServiceType":null,"dbusPath":null,"rawValue":"0","formattedValue":"Stopped","dataAttributeEnumValues":[{"nameEnum":"Stopped","valueEnum":0},{"nameEnum":"Manual start","valueEnum":1},{"nameEnum":"Test run","valueEnum":2},{"nameEnum":"Loss of communication","valueEnum":3},{"nameEnum":"State of Charge","valueEnum":4},{"nameEnum":"AC Load","valueEnum":5},{"nameEnum":"Battery current","valueEnum":6},{"nameEnum":"Battery voltage","valueEnum":7},{"nameEnum":"Inverter high temp","valueEnum":8},{"nameEnum":"Inverter overload","valueEnum":9},{"nameEnum":"Stop on AC-1","valueEnum":10}]},{"idDataAttribute":577,"code":"rtt","description":"D-Bus Round-trip time","formatWithUnit":"%.0F ms","dataType":"float","textValue":null,"instance":"0","dbusServiceType":null,"dbusPath":null,"rawValue":"3","formattedValue":"3 ms"},{"rawValue":1158,"formatWithUnit":"%.0F W","dataAttributes":[{"instance":0,"dbusServiceType":"system","dbusPath":"/Ac/Consumption/L1/Power"}],"idDataAttribute":null,"code":"consumption","description":"Consumption","textValue":null,"formattedValue":"1158 W"},{"rawValue":null,"formatWithUnit":"","dataAttributes":[],"code":"solar_yield","description":"Solar_yield","textValue":null,"formattedValue":"","idDataAttribute":null},{"rawValue":1188,"formatWithUnit":"%.0F W","dataAttributes":[{"instance":0,"dbusServiceType":"system","dbusPath":"/Ac/Grid/L1/Power"}],"idDataAttribute":null,"code":"from_to_grid","description":"From_to_grid","textValue":null,"formattedValue":"1188 W"},{"rawValue":null,"formatWithUnit":"","dataAttributes":[],"code":"generator","description":"Generator","textValue":null,"formattedValue":"","idDataAttribute":null},{"rawValue":null,"formatWithUnit":"","dataAttributes":[],"code":"ac_in","description":"Ac_in","textValue":null,"formattedValue":"","idDataAttribute":null},{"rawValue":null,"formatWithUnit":"","dataAttributes":[],"code":"ac_out","description":"Ac_out","textValue":null,"formattedValue":"","idDataAttribute":null},{"idDataAttribute":79,"code":"s","description":"Switch Position","formatWithUnit":"%s","dataType":"enum","textValue":"On","instance":"0","dbusServiceType":"vebus","dbusPath":"/Mode","rawValue":"3","formattedValue":"On","instances":[{"rawValue":"3","formattedValue":"On","textValue":"On"}],"dataAttributeEnumValues":[{"nameEnum":"Charger Only","valueEnum":1},{"nameEnum":"Inverter Only","valueEnum":2},{"nameEnum":"On","valueEnum":3},{"nameEnum":"Off","valueEnum":4}]},{"idDataAttribute":441,"code":"gaNG","description":"Generator not detected at AC-input","formatWithUnit":"%s","dataType":"enum","textValue":"No alarm","instance":"0","dbusServiceType":null,"dbusPath":null,"rawValue":"0","formattedValue":"No alarm","instances":[{"rawValue":"0","formattedValue":"No alarm","textValue":"No alarm"}],"dataAttributeEnumValues":[{"nameEnum":"No alarm","valueEnum":0},{"nameEnum":"Alarm","valueEnum":2}]},{"idDataAttribute":559,"code":"Agl","description":"Grid alarm","formatWithUnit":"%s","dataType":"enum","textValue":"Grid ok","instance":"0","dbusServiceType":"system","dbusPath":"/Ac/Alarms/GridLost","rawValue":"0","formattedValue":"Grid ok","instances":[{"rawValue":"0","formattedValue":"Grid ok","textValue":"Grid ok"}],"dataAttributeEnumValues":[{"nameEnum":"Grid ok","valueEnum":0},{"nameEnum":"Grid lost","valueEnum":2}]},{"code":"soc_status","description":"SOC Status","rawValue":100,"formattedValue":"Idle","textValue":"Idle","idDataAttribute":null}],"demo_mode":false,"mqtt_webhost":"webmqtt52.victronenergy.com","high_workload":false,"current_alarms":[],"num_alarms":0,"avatar_url":"https://vrmapi.victronenergy.com/uploads/78153/5fc5d852e3f0b5_87212600_image"}
Here is part of the flow
[{"id":"22b8bcf1.917804","type":"http request","z":"fad30e4e.c7f78","name":"Post to Influx DB (domotica)","method":"POST","ret":"txt","paytoqs":"ignore","url":"http://102.37.105.214:8050/write?db=testing","tls":"","persist":false,"proxy":"","authType":"","x":1000,"y":4000,"wires":[["de6716cc.9958c"]]},{"id":"8a588ae1.73d0c","type":"template","z":"fad30e4e.c7f78","name":"Fmt Influx Output","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"BrightHouse,Site={{idSite}} State={{extended[1].textValue}}","x":750,"y":4020,"wires":[["22b8bcf1.917804","b5305aac.f266d"]]},{"id":"269cfec8.f6799a","type":"change","z":"fad30e4e.c7f78","name":"","rules":[{"t":"set","p":"payload.idSite","pt":"msg","to":"BH.CC.Worcester","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":510,"y":4020,"wires":[["8a588ae1.73d0c","68a2c429.6420b4"]]},{"id":"68a2c429.6420b4","type":"debug","z":"fad30e4e.c7f78","name":"Check Influx Add Record","active":true,"console":"false","complete":"true","x":750,"y":4080,"wires":[]},{"id":"b5305aac.f266d","type":"debug","z":"fad30e4e.c7f78","name":"Check Influx Add Record","active":true,"console":"false","complete":"true","x":1010,"y":4060,"wires":[]},{"id":"de6716cc.9958c","type":"debug","z":"fad30e4e.c7f78","name":"Check Influx Add Record","active":true,"console":"false","complete":"true","x":1310,"y":4020,"wires":[]}]
Im trying to move away from using the node-red dashboard so i can also look at
how things were performing over time and when I should check things out and
do some maintenance.
I wish I knew more about working with messages. I have visited the node red resources page on the topic
but not really understood all the material.