Batrium HA Integration

Hi All,

Wondering if anyone else managed to pull data from there Batrium BMS into home assistant?

I’ve tried installing the Watchmon UDP listener via portainer but came across too many issues.

I am looking to pull the min max cell voltages so I can control the charge current.

Be great if this could be done via a custom component.

Any help would be much appreciated:)

Cheers

Hi All,

Although I didn’t get any response from anyone. I would like to share that I managed to intergrate batrium into home assisstant in the end. I used node-red add on and a udp listener.

Then used the HACS bar card to display the cell voltages.

There’s alot important/ interesting data that can be pulled via UDP.

If anyone needs any pointers in future, give me a shout.

Cheers

Gareth

Hi G

This is exactly wat im looking for. Can you share the configs. You use UDP in Node-Red and then send to MQTT in HA?

I also found WatchmonUDPListerner to clumberson, and want to do it in Node Red, clean

Hi Frank,

Sure so first thing is to install the node red add on. Go to config and add this to you config and restart. Put your username and password in and restart.

credential_secret: TOPSECRET
theme: default
http_node:
username: USERNAME
password: PASSWORD
http_static:
username: ‘’
password: ‘’
ssl: false
certfile: fullchain.pem
keyfile: privkey.pem
require_ssl: false
system_packages: []
npm_packages:

  • binary-parser
    init_commands: []

Depending on what you want to monitor I am currently monitoring the cell votlages, shunt current and system voltage. Then you can import the code into node red. this is what the flow should look like. If you have red boxes around some node youll have to go to the pallet and install them.

Here is the compacted json code ive developed for my system.

Node-RED Deploy
Search flows
Node
“13f7d1af.f517de”
Type ha-entity
show more
Export nodes
Export
[{“id”:“c15c04dd.c54048”,“type”:“tab”,“label”:“Batrium Cell Volts”,“disabled”:false,“info”:""},{“id”:“67fe058a.be18ec”,“type”:“udp in”,“z”:“c15c04dd.c54048”,“name”:“listener”,“iface”:"",“port”:“18542”,“ipv”:“udp4”,“multicast”:“false”,“group”:"",“datatype”:“buffer”,“x”:50,“y”:180,“wires”:[[“1e34219f.a153fe”]]},{“id”:“1e34219f.a153fe”,“type”:“function”,“z”:“c15c04dd.c54048”,“name”:“All Message Type numbers to Topic”,“func”:“msg.Topic = (msg.payload[2].toString(16).toUpperCase() + msg.payload[1].toString(16).toUpperCase())\nreturn\tmsg;\t\t\n\t\t\t\n”,“outputs”:1,“noerr”:0,“initialize”:"",“finalize”:"",“libs”:[],“x”:280,“y”:40,“wires”:[[“5a934f7b.0e717”]]},{“id”:“5a934f7b.0e717”,“type”:“switch”,“z”:“c15c04dd.c54048”,“name”:"",“property”:“Topic”,“propertyType”:“msg”,“rules”:[{“t”:“eq”,“v”:“3E32”,“vt”:“str”},{“t”:“eq”,“v”:“4232”,“vt”:“str”}],“checkall”:“true”,“repair”:false,“outputs”:2,“x”:590,“y”:40,“wires”:[[“35492b4f.f07ee4”],[“39bd355b.b7146a”]]},{“id”:“ec43fc46.a7ad3”,“type”:“debug”,“z”:“c15c04dd.c54048”,“name”:"",“active”:false,“tosidebar”:true,“console”:false,“tostatus”:false,“complete”:“payload”,“targetType”:“msg”,“statusVal”:"",“statusType”:“auto”,“x”:1250,“y”:40,“wires”:[]},{“id”:“d9c7c040.1640e”,“type”:“ha-entity”,“z”:“c15c04dd.c54048”,“name”:“MinCellVolt”,“server”:“6efe0112.d1b06”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“Batrium Min Cell Volt”},{“property”:“device_class”,“value”:""},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload.MinCellVolt”,“stateType”:“msg”,“attributes”:[],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:1250,“y”:100,“wires”:[[]]},{“id”:“acf56eea.b851a”,“type”:“ha-entity”,“z”:“c15c04dd.c54048”,“name”:“MaxCellVolt”,“server”:“6efe0112.d1b06”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“Batrium Max Cell Volt”},{“property”:“device_class”,“value”:""},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload.MaxCellVolt”,“stateType”:“msg”,“attributes”:[],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:1250,“y”:180,“wires”:[[]]},{“id”:“35492b4f.f07ee4”,“type”:“function”,“z”:“c15c04dd.c54048”,“name”:“Msg_3e32_Statussmall”,“func”:“var Packet = global.get(‘binary_parser’);\nvar buf = msg.payload;\n\nvar typea = new Packet()\n\t\t.skip(8)\n\t\t.int16le(‘MinCellVolt’,\t\t{ formatter: (x) => {return x/1000;}})\n\t\t.int16le(‘MaxCellVolt’,\t\t{ formatter: (x) => {return x/1000;}})\n\t\nmsg.payload = typea.parse(buf);\nreturn msg;”,“outputs”:1,“noerr”:0,“initialize”:"",“finalize”:"",“libs”:[],“x”:870,“y”:40,“wires”:[[“4da3e9b3.76ae38”]]},{“id”:“638a2f68.47ced”,“type”:“debug”,“z”:“c15c04dd.c54048”,“name”:"",“active”:false,“tosidebar”:true,“console”:false,“tostatus”:false,“complete”:“false”,“statusVal”:"",“statusType”:“auto”,“x”:1250,“y”:360,“wires”:[]},{“id”:“9c045563.8d5428”,“type”:“function”,“z”:“c15c04dd.c54048”,“name”:“Get the set of saved global variables”,“func”:"\nvar ONE = global.get(‘ONE’) || 0;\nvar TWO = global.get(‘TWO’) || 0;\nvar THREE = global.get(‘THREE’) || 0;\nvar FOUR = global.get(‘FOUR’) || 0;\nvar FIVE = global.get(‘FIVE’) || 0;\nvar SIX = global.get(‘SIX’) || 0;\nvar SEVEN = global.get(‘SEVEN’) || 0;\nvar EIGHT = global.get(‘EIGHT’) || 0;\nvar NINE = global.get(‘NINE’) || 0;\nvar TEN = global.get(‘TEN’) || 0;\nvar ELEVEN = global.get(‘ELEVEN’) || 0;\nvar TWELVE = global.get(‘TWELVE’) || 0;\nvar THIRTEEN = global.get(‘THIRTEEN’) || 0;\nvar FOURTEEN = global.get(‘FOURTEEN’) || 0;\nvar FIFTEEN = global.get(‘FIFTEEN’) || 0;\n\nvar m = {};\nm.data = [[ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN,EIGHT, NINE, TEN, ELEVEN, TWELVE, THIRTEEN, FOURTEEN, FIFTEEN]];\nreturn {payload:[m],topic:msg.topic};",“outputs”:1,“noerr”:0,“initialize”:"",“finalize”:"",“libs”:[],“x”:850,“y”:360,“wires”:[[“51297dc6.851f24”,“7cc3680.86af998”]]},{“id”:“7795faf2.155654”,“type”:“inject”,“z”:“c15c04dd.c54048”,“name”:“Update the chart every 5 second”,“props”:[{“p”:“payload”},{“p”:“topic”,“vt”:“str”}],“repeat”:“5”,“crontab”:"",“once”:false,“onceDelay”:0.1,“topic”:"",“payload”:"",“payloadType”:“date”,“x”:500,“y”:360,“wires”:[[“9c045563.8d5428”]]},{“id”:“39bd355b.b7146a”,“type”:“function”,“z”:“c15c04dd.c54048”,“name”:“Msg_4232_CellNodeFull”,“func”:“var Packet = global.get(‘binary_parser’);\nvar buf = msg.payload;\n\nvar typea = new Packet()\n\t\t.skip(8)\n\t\t.uint8(‘ID’)\n\t\t.uint8(‘USN’)\n\t\t.int16le(‘MinCellVolt’,\t\t\t{ formatter: (x) => {return x/1000;}})\n\t\t.int16le(‘MaxCellVolt’,\t\t\t{ formatter: (x) => {return x/1000;}})\n\t\t.uint8(‘MinCellTemp’,\t\t\t{ formatter: (x) => {return x-40;}}) // temperature ºC\n\t\t.uint8(‘BypassTemp’,\t\t\t{ formatter: (x) => {return x-40;}}) // temperature ºC\n\t\t.int16le(‘BypassAmp’, \t\t\t{ formatter: (x) => {return x/1000;}})\n\t\t.uint8(‘DataErrorCounter’)\n\t\t.uint8(‘ResetCounter’)\n\t\t.uint8(‘Status’) /* Choices NodeStatuses\n\t\t\t\tNone = 0,\n\t\t\t\tHighVolt = 1,\n\t\t\t\tHighTemp = 2,\n\t\t\t\tOk = 3,\n\t\t\t\tTimeout = 4,\n\t\t\t\tLowVolt = 5,\n\t\t\t\tDisabled = 6,\n\t\t\t\tInBypass = 7,\n\t\t\t\tInitialBypass = 8,\n\t\t\t\tFinalBypass = 9,\n\t\t\t\tMissingSetup = 10,\n\t\t\t\tNoConfig = 11,\n\t\t\t\tCellOutLimits = 12, /\t\n\t\t.uint8(‘IsOverdue’)\t\t\t\t// boolean 0 = Off , 1 = On\n\n\t\t.int16le(‘LoCellVoltAlert’,\t\t{ formatter: (x) => {return x/1000;}})\n\t\t.int16le(‘HiCellVoltAlert’,\t\t{ formatter: (x) => {return x/1000;}})\n\t\t.int16le(‘BypassVoltLevel’,\t\t{ formatter: (x) => {return x/1000;}})\n\t\t.int16le(‘BypassAmpLimit’,\t\t{ formatter: (x) => {return x/1000;}})\n\t\t.uint8(‘BypassTempLimit’,\t\t{ formatter: (x) => {return x-40;}}) // temperature ºC\n\t\t.uint8(‘HiCellTempAlert’,\t\t{ formatter: (x) => {return x-40;}}) // temperature ºC\n\t\t.uint8(‘RawVoltCalOffset’)\n\t\t.int16le(‘FwVers’)\n\t\t.int16le(‘HwVers’)\n\t\t.int16le(‘BootVers’)\n\t\t.uint32le(‘SerialNo’)\t\n\t\t.uint32le(‘BypassInitialDate’) \t// Epoch\n\t\t.floatle(‘BypassSessionAh’,\t\t{ formatter: (x) => {return x/1000;}}) // Ah\n\t\t.uint8(‘RepeatCellV’)\n\n \nmsg.payload = typea.parse(buf);\n\n// convert date(s)\nmsg.payload.BypassInitialDate = new Date(msg.payload.BypassInitialDate1000);\n\n\nswitch(msg.payload.Status) {\n case 0:\n msg.payload.Status = “None”;\n break;\n case 1:\n msg.payload.Status = “HighVolt”;\n break;\n case 2:\n msg.payload.Status = “HighTemp”;\n break;\n case 3:\n msg.payload.Status = “Ok”;\n break;\n case 4:\n msg.payload.Status = “Timeout”;\n break;\n case 5:\n msg.payload.Status = “LowVolt”;\n break;\n case 6:\n msg.payload.Status = “Disabled”;\n break;\n case 7:\n msg.payload.Status = “InBypass”;\n break;\n case 8:\n msg.payload.Status = “InitialBypass”;\n break;\n case 9:\n msg.payload.Status = “FinalBypass”;\n break;\n case 10:\n msg.payload.Status = “MissingSetup”;\n break;\n case 11:\n msg.payload.Status = “NoConfig”;\n break;\n case 12:\n msg.payload.Status = “CellOutLimits”;\n break;\n default:\n msg.payload.Status = “Buggered”;\n}\n\nreturn msg;”,“outputs”:1,“noerr”:0,“initialize”:"",“finalize”:"",“libs”:[],“x”:870,“y”:260,“wires”:[[“31741ffc.9e618”]]},{“id”:“31741ffc.9e618”,“type”:“function”,“z”:“c15c04dd.c54048”,“name”:“Put cell voltage into globals”,“func”:“var myLongmon;\n\nswitch(msg.payload.ID) {\n case 1:\n myLongmon=“ONE”;\n break;\n case 2:\n myLongmon=“TWO”;\n break;\n case 3:\n myLongmon=“THREE”;\n break;\n case 4:\n myLongmon=“FOUR”;\n break;\n case 5:\n myLongmon=“FIVE”;\n break;\n case 6:\n myLongmon=“SIX”;\n break;\n case 7:\n myLongmon=“SEVEN”;\n break;\n case 8:\n myLongmon=“EIGHT”;\n break;\n case 9:\n myLongmon=“NINE”;\n break;\n case 10:\n myLongmon=“TEN”;\n break;\n case 11:\n myLongmon=“ELEVEN”;\n break;\n case 12:\n myLongmon=“TWELVE”;\n break;\n case 13:\n myLongmon=“THIRTEEN”;\n break;\n case 14:\n myLongmon=“FOURTEEN”;\n break;\n case 15:\n myLongmon=“FIFTEEN”;\n break;\n}\n \nglobal.set(myLongmon,msg.payload.MaxCellVolt); \n \n//return msg;”,“outputs”:1,“noerr”:0,“initialize”:"",“finalize”:"",“libs”:[],“x”:1260,“y”:260,“wires”:[[]]},{“id”:“13f7d1af.f517de”,“type”:“ha-entity”,“z”:“c15c04dd.c54048”,“name”:“BatriumC1Voltage”,“server”:“6efe0112.d1b06”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“Batrium Cell 1 Voltage”},{“property”:“device_class”,“value”:""},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload[0].data[0][0]”,“stateType”:“msg”,“attributes”:[],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:1270,“y”:440,“wires”:[[“93397e0c.5f8d7”]]},{“id”:“2dffa241.7abdbe”,“type”:“ha-entity”,“z”:“c15c04dd.c54048”,“name”:“BatriumC2Voltage”,“server”:“6efe0112.d1b06”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“Batrium Cell 2 Voltage”},{“property”:“device_class”,“value”:""},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload[0].data[0][1]”,“stateType”:“msg”,“attributes”:[],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:1270,“y”:500,“wires”:[[“a4b8853b.d0bed8”]]},{“id”:“48008a3.7f57374”,“type”:“ha-entity”,“z”:“c15c04dd.c54048”,“name”:“BatriumC3Voltage”,“server”:“6efe0112.d1b06”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“Batrium Cell 3 Voltage”},{“property”:“device_class”,“value”:""},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload[0].data[0][2]”,“stateType”:“msg”,“attributes”:[],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:1270,“y”:560,“wires”:[[“f2873b91.e7f188”]]},{“id”:“a1b9a949.4e03b8”,“type”:“ha-entity”,“z”:“c15c04dd.c54048”,“name”:“BatriumC4Voltage”,“server”:“6efe0112.d1b06”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“Batrium Cell 4 Voltage”},{“property”:“device_class”,“value”:""},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload[0].data[0][3]”,“stateType”:“msg”,“attributes”:[],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:1270,“y”:620,“wires”:[[“65cec63c.a48308”]]},{“id”:“7aa0be0e.a7c47”,“type”:“ha-entity”,“z”:“c15c04dd.c54048”,“name”:“BatriumC5Voltage”,“server”:“6efe0112.d1b06”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“Batrium Cell 5 Voltage”},{“property”:“device_class”,“value”:""},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload[0].data[0][4]”,“stateType”:“msg”,“attributes”:[],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:1270,“y”:680,“wires”:[[“1c853315.69d32d”]]},{“id”:“ec43f9a6.f873b8”,“type”:“ha-entity”,“z”:“c15c04dd.c54048”,“name”:“BatriumC6Voltage”,“server”:“6efe0112.d1b06”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“Batrium Cell 6 Voltage”},{“property”:“device_class”,“value”:""},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload[0].data[0][5]”,“stateType”:“msg”,“attributes”:[],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:1270,“y”:740,“wires”:[[“a4e8d48.c57d428”]]},{“id”:“96866201.34576”,“type”:“ha-entity”,“z”:“c15c04dd.c54048”,“name”:“BatriumC7Voltage”,“server”:“6efe0112.d1b06”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“Batrium Cell 7 Voltage”},{“property”:“device_class”,“value”:""},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload[0].data[0][6]”,“stateType”:“msg”,“attributes”:[],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:1270,“y”:800,“wires”:[[“ddec769d.207b38”]]},{“id”:“9baac434.39e628”,“type”:“ha-entity”,“z”:“c15c04dd.c54048”,“name”:“BatriumC8Voltage”,“server”:“6efe0112.d1b06”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“Batrium Cell 8 Voltage”},{“property”:“device_class”,“value”:""},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload[0].data[0][7]”,“stateType”:“msg”,“attributes”:[],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:1270,“y”:860,“wires”:[[“48618fce.e94a2”]]},{“id”:“59af4d8b.3cd7e4”,“type”:“ha-entity”,“z”:“c15c04dd.c54048”,“name”:“BatriumC9Voltage”,“server”:“6efe0112.d1b06”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“Batrium Cell 9 Voltage”},{“property”:“device_class”,“value”:""},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload[0].data[0][8]”,“stateType”:“msg”,“attributes”:[],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:1270,“y”:920,“wires”:[[“e85a1080.6dbf9”]]},{“id”:“d9d27247.df535”,“type”:“ha-entity”,“z”:“c15c04dd.c54048”,“name”:“BatriumC10Voltage”,“server”:“6efe0112.d1b06”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“Batrium Cell 10 Voltage”},{“property”:“device_class”,“value”:""},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload[0].data[0][9]”,“stateType”:“msg”,“attributes”:[],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:1270,“y”:980,“wires”:[[“9aaeb64d.baf2f8”]]},{“id”:“3129a8dc.986d58”,“type”:“ha-entity”,“z”:“c15c04dd.c54048”,“name”:“BatriumC11Voltage”,“server”:“6efe0112.d1b06”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“Batrium Cell 11 Voltage”},{“property”:“device_class”,“value”:""},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload[0].data[0][10]”,“stateType”:“msg”,“attributes”:[],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:1270,“y”:1040,“wires”:[[“6289d3ae.c332fc”]]},{“id”:“1c08382f.744fc8”,“type”:“ha-entity”,“z”:“c15c04dd.c54048”,“name”:“BatriumC12Voltage”,“server”:“6efe0112.d1b06”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“Batrium Cell 12 Voltage”},{“property”:“device_class”,“value”:""},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload[0].data[0][12]”,“stateType”:“msg”,“attributes”:[],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:1270,“y”:1100,“wires”:[[“473290a9.3ea5a”]]},{“id”:“79bcaf54.88925”,“type”:“ha-entity”,“z”:“c15c04dd.c54048”,“name”:“BatriumC13Voltage”,“server”:“6efe0112.d1b06”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“Batrium Cell 13 Voltage”},{“property”:“device_class”,“value”:""},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload[0].data[0][12]”,“stateType”:“msg”,“attributes”:[],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:1270,“y”:1160,“wires”:[[“da7ccb4.6794838”]]},{“id”:“25f3a2d4.8991be”,“type”:“ha-entity”,“z”:“c15c04dd.c54048”,“name”:“BatriumC14Voltage”,“server”:“6efe0112.d1b06”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“Batrium Cell 14 Voltage”},{“property”:“device_class”,“value”:""},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload[0].data[0][13]”,“stateType”:“msg”,“attributes”:[],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:1270,“y”:1220,“wires”:[[“4d37f6df.bd9e08”]]},{“id”:“81d5cd15.bf29e”,“type”:“ha-entity”,“z”:“c15c04dd.c54048”,“name”:“BatriumC15Voltage”,“server”:“6efe0112.d1b06”,“version”:1,“debugenabled”:false,“outputs”:1,“entityType”:“sensor”,“config”:[{“property”:“name”,“value”:“Batrium Cell 15 Voltage”},{“property”:“device_class”,“value”:""},{“property”:“icon”,“value”:""},{“property”:“unit_of_measurement”,“value”:“V”}],“state”:“payload[0].data[0][14]”,“stateType”:“msg”,“attributes”:[],“resend”:true,“outputLocation”:"",“outputLocationType”:“none”,“inputOverride”:“allow”,“outputOnStateChange”:false,“outputPayload”:"$entity().state ? “on”: “off”",“outputPayloadType”:“jsonata”,“x”:1270,“y”:1280,“wires”:[[“1759bf38.224d81”]]},{“id”:“51297dc6.851f24”,“type”:“change”,“z”:“c15c04dd.c54048”,“name”:"",“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“payload[0].data[0]”,“tot”:“jsonata”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:600,“y”:1320,“wires”:[[“7f901837.461e98”]]},{“id”:“dfd186ec.cb0dc8”,“type”:“debug”,“z”:“c15c04dd.c54048”,“name”:"",“active”:false,“tosidebar”:true,“console”:false,“tostatus”:false,“complete”:“false”,“statusVal”:"",“statusType”:“auto”,“x”:990,“y”:1320,“wires”:[]},{“id”:“7f901837.461e98”,“type”:“csv”,“z”:“c15c04dd.c54048”,“name”:"",“sep”:"\n",“hdrin”:true,“hdrout”:“none”,“multi”:“mult”,“ret”:"\n",“temp”:"",“skip”:“0”,“strings”:true,“include_empty_strings”:"",“include_null_values”:"",“x”:830,“y”:1320,“wires”:[[“dfd186ec.cb0dc8”]]},{“id”:“4da3e9b3.76ae38”,“type”:“rbe”,“z”:“c15c04dd.c54048”,“name”:"",“func”:“rbe”,“gap”:"",“start”:"",“inout”:“out”,“septopics”:true,“property”:“payload”,“x”:1070,“y”:40,“wires”:[[“ec43fc46.a7ad3”,“d9c7c040.1640e”,“acf56eea.b851a”]]},{“id”:“7cc3680.86af998”,“type”:“rbe”,“z”:“c15c04dd.c54048”,“name”:"",“func”:“rbe”,“gap”:"",“start”:"",“inout”:“out”,“septopics”:true,“property”:“payload”,“x”:1080,“y”:360,“wires”:[[“638a2f68.47ced”,“13f7d1af.f517de”,“2dffa241.7abdbe”,“48008a3.7f57374”,“a1b9a949.4e03b8”,“ec43f9a6.f873b8”,“96866201.34576”,“9baac434.39e628”,“59af4d8b.3cd7e4”,“d9d27247.df535”,“3129a8dc.986d58”,“1c08382f.744fc8”,“79bcaf54.88925”,“25f3a2d4.8991be”,“81d5cd15.bf29e”,“7aa0be0e.a7c47”]]},{“id”:“f11a39f8.cca5b8”,“type”:“catch”,“z”:“c15c04dd.c54048”,“name”:"",“scope”:null,“uncaught”:false,“x”:570,“y”:300,“wires”:[[]]},{“id”:“93397e0c.5f8d7”,“type”:“change”,“z”:“c15c04dd.c54048”,“name”:"",“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“payload[0].data[0][0]”,“tot”:“msg”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:1560,“y”:440,“wires”:[[“aee63ad0.309f88”,“39355d87.0d1c92”]]},{“id”:“aee63ad0.309f88”,“type”:“debug”,“z”:“c15c04dd.c54048”,“name”:"",“active”:false,“tosidebar”:true,“console”:false,“tostatus”:false,“complete”:“false”,“statusVal”:"",“statusType”:“auto”,“x”:1720,“y”:280,“wires”:[]},{“id”:“39355d87.0d1c92”,“type”:“switch”,“z”:“c15c04dd.c54048”,“name”:"",“property”:“payload”,“propertyType”:“msg”,“rules”:[{“t”:“lt”,“v”:“3.41”,“vt”:“num”},{“t”:“gt”,“v”:“3.44”,“vt”:“num”}],“checkall”:“true”,“repair”:false,“outputs”:2,“x”:1810,“y”:820,“wires”:[[“e499ce7d.2f772”,“40ffeb06.000834”],[“16dd9d87.0c5182”]]},{“id”:“40ffeb06.000834”,“type”:“debug”,“z”:“c15c04dd.c54048”,“name”:"",“active”:true,“tosidebar”:true,“console”:false,“tostatus”:false,“complete”:“false”,“statusVal”:"",“statusType”:“auto”,“x”:1950,“y”:320,“wires”:[]},{“id”:“e499ce7d.2f772”,“type”:“change”,“z”:“c15c04dd.c54048”,“name”:"",“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“1”,“tot”:“num”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:2000,“y”:780,“wires”:[[“f22bbc29.5f248”]]},{“id”:“1a46ebe4.503514”,“type”:“debug”,“z”:“c15c04dd.c54048”,“name”:"",“active”:false,“tosidebar”:true,“console”:false,“tostatus”:false,“complete”:“false”,“statusVal”:"",“statusType”:“auto”,“x”:2350,“y”:660,“wires”:[]},{“id”:“a4b8853b.d0bed8”,“type”:“change”,“z”:“c15c04dd.c54048”,“name”:"",“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“payload[0].data[0][1]”,“tot”:“msg”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:1560,“y”:500,“wires”:[[“39355d87.0d1c92”]]},{“id”:“f2873b91.e7f188”,“type”:“change”,“z”:“c15c04dd.c54048”,“name”:"",“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“payload[0].data[0][2]”,“tot”:“msg”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:1560,“y”:560,“wires”:[[“39355d87.0d1c92”]]},{“id”:“65cec63c.a48308”,“type”:“change”,“z”:“c15c04dd.c54048”,“name”:"",“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“payload[0].data[0][3]”,“tot”:“msg”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:1560,“y”:620,“wires”:[[“39355d87.0d1c92”]]},{“id”:“1c853315.69d32d”,“type”:“change”,“z”:“c15c04dd.c54048”,“name”:"",“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“payload[0].data[0][4]”,“tot”:“msg”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:1560,“y”:680,“wires”:[[“39355d87.0d1c92”]]},{“id”:“a4e8d48.c57d428”,“type”:“change”,“z”:“c15c04dd.c54048”,“name”:"",“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“payload[0].data[0][5]”,“tot”:“msg”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:1560,“y”:740,“wires”:[[“39355d87.0d1c92”]]},{“id”:“ddec769d.207b38”,“type”:“change”,“z”:“c15c04dd.c54048”,“name”:"",“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“payload[0].data[0][6]”,“tot”:“msg”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:1560,“y”:800,“wires”:[[“39355d87.0d1c92”]]},{“id”:“48618fce.e94a2”,“type”:“change”,“z”:“c15c04dd.c54048”,“name”:"",“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“payload[0].data[0][7]”,“tot”:“msg”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:1560,“y”:860,“wires”:[[“39355d87.0d1c92”]]},{“id”:“e85a1080.6dbf9”,“type”:“change”,“z”:“c15c04dd.c54048”,“name”:"",“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“payload[0].data[0][8]”,“tot”:“msg”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:1560,“y”:920,“wires”:[[“39355d87.0d1c92”]]},{“id”:“9aaeb64d.baf2f8”,“type”:“change”,“z”:“c15c04dd.c54048”,“name”:"",“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“payload[0].data[0][9]”,“tot”:“msg”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:1560,“y”:980,“wires”:[[“39355d87.0d1c92”]]},{“id”:“6289d3ae.c332fc”,“type”:“change”,“z”:“c15c04dd.c54048”,“name”:"",“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“payload[0].data[0][10]”,“tot”:“msg”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:1560,“y”:1040,“wires”:[[“39355d87.0d1c92”]]},{“id”:“473290a9.3ea5a”,“type”:“change”,“z”:“c15c04dd.c54048”,“name”:"",“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“payload[0].data[0][12]”,“tot”:“msg”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:1560,“y”:1100,“wires”:[[“39355d87.0d1c92”]]},{“id”:“da7ccb4.6794838”,“type”:“change”,“z”:“c15c04dd.c54048”,“name”:"",“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“payload[0].data[0][12]”,“tot”:“msg”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:1560,“y”:1160,“wires”:[[“39355d87.0d1c92”]]},{“id”:“4d37f6df.bd9e08”,“type”:“change”,“z”:“c15c04dd.c54048”,“name”:"",“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“payload[0].data[0][13]”,“tot”:“msg”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:1560,“y”:1220,“wires”:[[“39355d87.0d1c92”,“7ce1e67b.ae2ed8”]]},{“id”:“1759bf38.224d81”,“type”:“change”,“z”:“c15c04dd.c54048”,“name”:"",“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“payload[0].data[0][14]”,“tot”:“msg”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:1560,“y”:1280,“wires”:[[“39355d87.0d1c92”,“7ce1e67b.ae2ed8”]]},{“id”:“16dd9d87.0c5182”,“type”:“change”,“z”:“c15c04dd.c54048”,“name”:"",“rules”:[{“t”:“set”,“p”:“payload”,“pt”:“msg”,“to”:“0”,“tot”:“num”}],“action”:"",“property”:"",“from”:"",“to”:"",“reg”:false,“x”:2000,“y”:840,“wires”:[[“1135a1ec.76ae5e”]]},{“id”:“f22bbc29.5f248”,“type”:“rbe”,“z”:“c15c04dd.c54048”,“name”:"",“func”:“rbe”,“gap”:"",“start”:"",“inout”:“out”,“septopics”:true,“property”:“payload”,“x”:2170,“y”:780,“wires”:[[“1a46ebe4.503514”]]},{“id”:“1135a1ec.76ae5e”,“type”:“rbe”,“z”:“c15c04dd.c54048”,“name”:"",“func”:“rbe”,“gap”:"",“start”:"",“inout”:“out”,“septopics”:true,“property”:“payload”,“x”:2170,“y”:840,“wires”:[[“1a46ebe4.503514”]]},{“id”:“7ce1e67b.ae2ed8”,“type”:“join”,“z”:“c15c04dd.c54048”,“name”:"",“mode”:“custom”,“build”:“array”,“property”:“payload”,“propertyType”:“msg”,“key”:“topic”,“joiner”:"\n",“joinerType”:“str”,“accumulate”:false,“timeout”:"",“count”:“2”,“reduceRight”:false,“reduceExp”:"",“reduceInit”:"",“reduceInitType”:"",“reduceFixup”:"",“x”:1770,“y”:1240,“wires”:[[“1d2bf94d.7a4537”,“4057a300.8303bc”]]},{“id”:“1d2bf94d.7a4537”,“type”:“debug”,“z”:“c15c04dd.c54048”,“name”:"",“active”:false,“tosidebar”:true,“console”:false,“tostatus”:false,“complete”:“false”,“statusVal”:"",“statusType”:“auto”,“x”:2000,“y”:1180,“wires”:[]},{“id”:“4057a300.8303bc”,“type”:“switch”,“z”:“c15c04dd.c54048”,“name”:"",“property”:“payload”,“propertyType”:“msg”,“rules”:[{“t”:“gt”,“v”:“3.6”,“vt”:“num”}],“checkall”:“true”,“repair”:false,“outputs”:1,“x”:1930,“y”:1240,“wires”:[[“ee8c4bcf.0b2928”]]},{“id”:“ee8c4bcf.0b2928”,“type”:“debug”,“z”:“c15c04dd.c54048”,“name”:"",“active”:false,“tosidebar”:true,“console”:false,“tostatus”:false,“complete”:“false”,“statusVal”:"",“statusType”:“auto”,“x”:2220,“y”:1240,“wires”:[]},{“id”:“6efe0112.d1b06”,“type”:“server”,“name”:“Home Assistant”,“version”:1,“addon”:true,“rejectUnauthorizedCerts”:true,“ha_boolean”:“y|yes|true|on|home|open”,“connectionDelay”:true,“cacheJson”:true}]

The Batrium has to be on the same network as your HA device.

Hope this gets you going :slight_smile:

Cheers

Gareth

Thank G. Yes have lots of thinks already in node-red.

I will copy - paste into Node red

Hi G

The way you exported makes it hard to import, ie with copy and paste. Can you maybe export it as a file?

Thus its easier to import

Thanks

Frank

Hi Frank,

Sorry about that.

[{"id":"c15c04dd.c54048","type":"tab","label":"Batrium Cell Volts","disabled":false,"info":""},{"id":"67fe058a.be18ec","type":"udp in","z":"c15c04dd.c54048","name":"listener","iface":"","port":"18542","ipv":"udp4","multicast":"false","group":"","datatype":"buffer","x":50,"y":180,"wires":[["1e34219f.a153fe"]]},{"id":"1e34219f.a153fe","type":"function","z":"c15c04dd.c54048","name":"All Message Type numbers to Topic","func":"msg.Topic = (msg.payload[2].toString(16).toUpperCase() + msg.payload[1].toString(16).toUpperCase())\nreturn\tmsg;\t\t\n\t\t\t\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":280,"y":40,"wires":[["5a934f7b.0e717"]]},{"id":"5a934f7b.0e717","type":"switch","z":"c15c04dd.c54048","name":"","property":"Topic","propertyType":"msg","rules":[{"t":"eq","v":"3E32","vt":"str"},{"t":"eq","v":"4232","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":590,"y":40,"wires":[["35492b4f.f07ee4"],["39bd355b.b7146a"]]},{"id":"ec43fc46.a7ad3","type":"debug","z":"c15c04dd.c54048","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1250,"y":40,"wires":[]},{"id":"d9c7c040.1640e","type":"ha-entity","z":"c15c04dd.c54048","name":"MinCellVolt","server":"6efe0112.d1b06","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Batrium Min Cell Volt"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"V"}],"state":"payload.MinCellVolt","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":1250,"y":100,"wires":[[]]},{"id":"acf56eea.b851a","type":"ha-entity","z":"c15c04dd.c54048","name":"MaxCellVolt","server":"6efe0112.d1b06","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Batrium Max Cell Volt"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"V"}],"state":"payload.MaxCellVolt","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":1250,"y":180,"wires":[[]]},{"id":"35492b4f.f07ee4","type":"function","z":"c15c04dd.c54048","name":"Msg_3e32_Statussmall","func":"var Packet = global.get('binary_parser');\nvar buf = msg.payload;\n\nvar typea = new Packet()\n\t\t.skip(8)\n\t\t.int16le('MinCellVolt',\t\t{ formatter: (x) => {return x/1000;}})\n\t\t.int16le('MaxCellVolt',\t\t{ formatter: (x) => {return x/1000;}})\n\t\nmsg.payload = typea.parse(buf);\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":870,"y":40,"wires":[["4da3e9b3.76ae38"]]},{"id":"638a2f68.47ced","type":"debug","z":"c15c04dd.c54048","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1250,"y":360,"wires":[]},{"id":"9c045563.8d5428","type":"function","z":"c15c04dd.c54048","name":"Get the set of saved global variables","func":"\nvar ONE = global.get('ONE') || 0;\nvar TWO = global.get('TWO') || 0;\nvar THREE = global.get('THREE') || 0;\nvar FOUR = global.get('FOUR') || 0;\nvar FIVE = global.get('FIVE') || 0;\nvar SIX = global.get('SIX') || 0;\nvar SEVEN = global.get('SEVEN') || 0;\nvar EIGHT = global.get('EIGHT') || 0;\nvar NINE = global.get('NINE') || 0;\nvar TEN = global.get('TEN') || 0;\nvar ELEVEN = global.get('ELEVEN') || 0;\nvar TWELVE = global.get('TWELVE') || 0;\nvar THIRTEEN = global.get('THIRTEEN') || 0;\nvar FOURTEEN = global.get('FOURTEEN') || 0;\nvar FIFTEEN = global.get('FIFTEEN') || 0;\n\nvar m = {};\nm.data = [[ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN,EIGHT, NINE, TEN, ELEVEN, TWELVE, THIRTEEN, FOURTEEN, FIFTEEN]];\nreturn {payload:[m],topic:msg.topic};","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":850,"y":360,"wires":[["51297dc6.851f24","7cc3680.86af998"]]},{"id":"7795faf2.155654","type":"inject","z":"c15c04dd.c54048","name":"Update the chart every 5 second","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"5","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":500,"y":360,"wires":[["9c045563.8d5428"]]},{"id":"39bd355b.b7146a","type":"function","z":"c15c04dd.c54048","name":"Msg_4232_CellNodeFull","func":"var Packet = global.get('binary_parser');\nvar buf = msg.payload;\n\nvar typea = new Packet()\n\t\t.skip(8)\n\t\t.uint8('ID')\n\t\t.uint8('USN')\n\t\t.int16le('MinCellVolt',\t\t\t{ formatter: (x) => {return x/1000;}})\n\t\t.int16le('MaxCellVolt',\t\t\t{ formatter: (x) => {return x/1000;}})\n\t\t.uint8('MinCellTemp',\t\t\t{ formatter: (x) => {return x-40;}}) // temperature ºC\n\t\t.uint8('BypassTemp',\t\t\t{ formatter: (x) => {return x-40;}}) // temperature ºC\n\t\t.int16le('BypassAmp', \t\t\t{ formatter: (x) => {return x/1000;}})\n\t\t.uint8('DataErrorCounter')\n\t\t.uint8('ResetCounter')\n\t\t.uint8('Status') /* Choices NodeStatuses\n\t\t\t\tNone = 0,\n\t\t\t\tHighVolt = 1,\n\t\t\t\tHighTemp = 2,\n\t\t\t\tOk = 3,\n\t\t\t\tTimeout = 4,\n\t\t\t\tLowVolt = 5,\n\t\t\t\tDisabled = 6,\n\t\t\t\tInBypass = 7,\n\t\t\t\tInitialBypass = 8,\n\t\t\t\tFinalBypass = 9,\n\t\t\t\tMissingSetup = 10,\n\t\t\t\tNoConfig = 11,\n\t\t\t\tCellOutLimits = 12, */\t\n\t\t.uint8('IsOverdue')\t\t\t\t// boolean 0 = Off , 1 = On\n\n\t\t.int16le('LoCellVoltAlert',\t\t{ formatter: (x) => {return x/1000;}})\n\t\t.int16le('HiCellVoltAlert',\t\t{ formatter: (x) => {return x/1000;}})\n\t\t.int16le('BypassVoltLevel',\t\t{ formatter: (x) => {return x/1000;}})\n\t\t.int16le('BypassAmpLimit',\t\t{ formatter: (x) => {return x/1000;}})\n\t\t.uint8('BypassTempLimit',\t\t{ formatter: (x) => {return x-40;}}) // temperature ºC\n\t\t.uint8('HiCellTempAlert',\t\t{ formatter: (x) => {return x-40;}}) // temperature ºC\n\t\t.uint8('RawVoltCalOffset')\n\t\t.int16le('FwVers')\n\t\t.int16le('HwVers')\n\t\t.int16le('BootVers')\n\t\t.uint32le('SerialNo')\t\n\t\t.uint32le('BypassInitialDate') \t// Epoch\n\t\t.floatle('BypassSessionAh',\t\t{ formatter: (x) => {return x/1000;}}) // Ah\n\t\t.uint8('RepeatCellV')\n\n  \nmsg.payload = typea.parse(buf);\n\n// convert date(s)\nmsg.payload.BypassInitialDate = new Date(msg.payload.BypassInitialDate*1000);\n\n\nswitch(msg.payload.Status) {\n    case 0:\n        msg.payload.Status = \"None\";\n        break;\n    case 1:\n        msg.payload.Status = \"HighVolt\";\n        break;\n    case 2:\n        msg.payload.Status = \"HighTemp\";\n        break;\n    case 3:\n        msg.payload.Status = \"Ok\";\n        break;\n    case 4:\n        msg.payload.Status = \"Timeout\";\n        break;\n    case 5:\n        msg.payload.Status = \"LowVolt\";\n        break;\n    case 6:\n        msg.payload.Status = \"Disabled\";\n        break;\n    case 7:\n        msg.payload.Status = \"InBypass\";\n        break;\n    case 8:\n        msg.payload.Status = \"InitialBypass\";\n        break;\n    case 9:\n        msg.payload.Status = \"FinalBypass\";\n        break;\n    case 10:\n        msg.payload.Status = \"MissingSetup\";\n        break;\n    case 11:\n        msg.payload.Status = \"NoConfig\";\n        break;\n    case 12:\n        msg.payload.Status = \"CellOutLimits\";\n        break;\n    default:\n        msg.payload.Status = \"Buggered\";\n}\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":870,"y":260,"wires":[["31741ffc.9e618"]]},{"id":"31741ffc.9e618","type":"function","z":"c15c04dd.c54048","name":"Put cell voltage into globals","func":"var myLongmon;\n\nswitch(msg.payload.ID) {\n    case 1:\n        myLongmon=\"ONE\";\n        break;\n    case 2:\n        myLongmon=\"TWO\";\n        break;\n    case 3:\n        myLongmon=\"THREE\";\n        break;\n    case 4:\n        myLongmon=\"FOUR\";\n        break;\n    case 5:\n        myLongmon=\"FIVE\";\n        break;\n    case 6:\n        myLongmon=\"SIX\";\n        break;\n    case 7:\n        myLongmon=\"SEVEN\";\n        break;\n    case 8:\n        myLongmon=\"EIGHT\";\n        break;\n    case 9:\n        myLongmon=\"NINE\";\n        break;\n    case 10:\n        myLongmon=\"TEN\";\n        break;\n    case 11:\n        myLongmon=\"ELEVEN\";\n        break;\n    case 12:\n        myLongmon=\"TWELVE\";\n        break;\n    case 13:\n        myLongmon=\"THIRTEEN\";\n        break;\n    case 14:\n        myLongmon=\"FOURTEEN\";\n        break;\n    case 15:\n        myLongmon=\"FIFTEEN\";\n        break;\n}\n \nglobal.set(myLongmon,msg.payload.MaxCellVolt);    \n     \n//return msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1260,"y":260,"wires":[[]]},{"id":"13f7d1af.f517de","type":"ha-entity","z":"c15c04dd.c54048","name":"BatriumC1Voltage","server":"6efe0112.d1b06","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Batrium Cell 1 Voltage"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"V"}],"state":"payload[0].data[0][0]","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":1270,"y":440,"wires":[["93397e0c.5f8d7"]]},{"id":"2dffa241.7abdbe","type":"ha-entity","z":"c15c04dd.c54048","name":"BatriumC2Voltage","server":"6efe0112.d1b06","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Batrium Cell 2 Voltage"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"V"}],"state":"payload[0].data[0][1]","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":1270,"y":500,"wires":[["a4b8853b.d0bed8"]]},{"id":"48008a3.7f57374","type":"ha-entity","z":"c15c04dd.c54048","name":"BatriumC3Voltage","server":"6efe0112.d1b06","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Batrium Cell 3 Voltage"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"V"}],"state":"payload[0].data[0][2]","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":1270,"y":560,"wires":[["f2873b91.e7f188"]]},{"id":"a1b9a949.4e03b8","type":"ha-entity","z":"c15c04dd.c54048","name":"BatriumC4Voltage","server":"6efe0112.d1b06","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Batrium Cell 4 Voltage"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"V"}],"state":"payload[0].data[0][3]","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":1270,"y":620,"wires":[["65cec63c.a48308"]]},{"id":"7aa0be0e.a7c47","type":"ha-entity","z":"c15c04dd.c54048","name":"BatriumC5Voltage","server":"6efe0112.d1b06","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Batrium Cell 5 Voltage"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"V"}],"state":"payload[0].data[0][4]","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":1270,"y":680,"wires":[["1c853315.69d32d"]]},{"id":"ec43f9a6.f873b8","type":"ha-entity","z":"c15c04dd.c54048","name":"BatriumC6Voltage","server":"6efe0112.d1b06","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Batrium Cell 6 Voltage"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"V"}],"state":"payload[0].data[0][5]","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":1270,"y":740,"wires":[["a4e8d48.c57d428"]]},{"id":"96866201.34576","type":"ha-entity","z":"c15c04dd.c54048","name":"BatriumC7Voltage","server":"6efe0112.d1b06","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Batrium Cell 7 Voltage"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"V"}],"state":"payload[0].data[0][6]","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":1270,"y":800,"wires":[["ddec769d.207b38"]]},{"id":"9baac434.39e628","type":"ha-entity","z":"c15c04dd.c54048","name":"BatriumC8Voltage","server":"6efe0112.d1b06","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Batrium Cell 8 Voltage"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"V"}],"state":"payload[0].data[0][7]","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":1270,"y":860,"wires":[["48618fce.e94a2"]]},{"id":"59af4d8b.3cd7e4","type":"ha-entity","z":"c15c04dd.c54048","name":"BatriumC9Voltage","server":"6efe0112.d1b06","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Batrium Cell 9 Voltage"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"V"}],"state":"payload[0].data[0][8]","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":1270,"y":920,"wires":[["e85a1080.6dbf9"]]},{"id":"d9d27247.df535","type":"ha-entity","z":"c15c04dd.c54048","name":"BatriumC10Voltage","server":"6efe0112.d1b06","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Batrium Cell 10 Voltage"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"V"}],"state":"payload[0].data[0][9]","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":1270,"y":980,"wires":[["9aaeb64d.baf2f8"]]},{"id":"3129a8dc.986d58","type":"ha-entity","z":"c15c04dd.c54048","name":"BatriumC11Voltage","server":"6efe0112.d1b06","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Batrium Cell 11 Voltage"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"V"}],"state":"payload[0].data[0][10]","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":1270,"y":1040,"wires":[["6289d3ae.c332fc"]]},{"id":"1c08382f.744fc8","type":"ha-entity","z":"c15c04dd.c54048","name":"BatriumC12Voltage","server":"6efe0112.d1b06","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Batrium Cell 12 Voltage"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"V"}],"state":"payload[0].data[0][12]","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":1270,"y":1100,"wires":[["473290a9.3ea5a"]]},{"id":"79bcaf54.88925","type":"ha-entity","z":"c15c04dd.c54048","name":"BatriumC13Voltage","server":"6efe0112.d1b06","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Batrium Cell 13 Voltage"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"V"}],"state":"payload[0].data[0][12]","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":1270,"y":1160,"wires":[["da7ccb4.6794838"]]},{"id":"25f3a2d4.8991be","type":"ha-entity","z":"c15c04dd.c54048","name":"BatriumC14Voltage","server":"6efe0112.d1b06","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Batrium Cell 14 Voltage"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"V"}],"state":"payload[0].data[0][13]","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":1270,"y":1220,"wires":[["4d37f6df.bd9e08"]]},{"id":"81d5cd15.bf29e","type":"ha-entity","z":"c15c04dd.c54048","name":"BatriumC15Voltage","server":"6efe0112.d1b06","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"Batrium Cell 15 Voltage"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":"V"}],"state":"payload[0].data[0][14]","stateType":"msg","attributes":[],"resend":true,"outputLocation":"","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":1270,"y":1280,"wires":[["1759bf38.224d81"]]},{"id":"51297dc6.851f24","type":"change","z":"c15c04dd.c54048","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[0].data[0]","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":1320,"wires":[["7f901837.461e98"]]},{"id":"dfd186ec.cb0dc8","type":"debug","z":"c15c04dd.c54048","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":990,"y":1320,"wires":[]},{"id":"7f901837.461e98","type":"csv","z":"c15c04dd.c54048","name":"","sep":"\\n","hdrin":true,"hdrout":"none","multi":"mult","ret":"\\n","temp":"","skip":"0","strings":true,"include_empty_strings":"","include_null_values":"","x":830,"y":1320,"wires":[["dfd186ec.cb0dc8"]]},{"id":"4da3e9b3.76ae38","type":"rbe","z":"c15c04dd.c54048","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":true,"property":"payload","x":1070,"y":40,"wires":[["ec43fc46.a7ad3","d9c7c040.1640e","acf56eea.b851a"]]},{"id":"7cc3680.86af998","type":"rbe","z":"c15c04dd.c54048","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":true,"property":"payload","x":1080,"y":360,"wires":[["638a2f68.47ced","13f7d1af.f517de","2dffa241.7abdbe","48008a3.7f57374","a1b9a949.4e03b8","ec43f9a6.f873b8","96866201.34576","9baac434.39e628","59af4d8b.3cd7e4","d9d27247.df535","3129a8dc.986d58","1c08382f.744fc8","79bcaf54.88925","25f3a2d4.8991be","81d5cd15.bf29e","7aa0be0e.a7c47"]]},{"id":"f11a39f8.cca5b8","type":"catch","z":"c15c04dd.c54048","name":"","scope":null,"uncaught":false,"x":570,"y":300,"wires":[[]]},{"id":"93397e0c.5f8d7","type":"change","z":"c15c04dd.c54048","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[0].data[0][0]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1560,"y":440,"wires":[["aee63ad0.309f88","39355d87.0d1c92"]]},{"id":"aee63ad0.309f88","type":"debug","z":"c15c04dd.c54048","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1720,"y":280,"wires":[]},{"id":"39355d87.0d1c92","type":"switch","z":"c15c04dd.c54048","name":"","property":"payload","propertyType":"msg","rules":[{"t":"lt","v":"3.41","vt":"num"},{"t":"gt","v":"3.44","vt":"num"}],"checkall":"true","repair":false,"outputs":2,"x":1810,"y":820,"wires":[["e499ce7d.2f772","40ffeb06.000834"],["16dd9d87.0c5182"]]},{"id":"40ffeb06.000834","type":"debug","z":"c15c04dd.c54048","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1950,"y":320,"wires":[]},{"id":"e499ce7d.2f772","type":"change","z":"c15c04dd.c54048","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"1","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":2000,"y":780,"wires":[["f22bbc29.5f248"]]},{"id":"1a46ebe4.503514","type":"debug","z":"c15c04dd.c54048","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":2350,"y":660,"wires":[]},{"id":"a4b8853b.d0bed8","type":"change","z":"c15c04dd.c54048","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[0].data[0][1]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1560,"y":500,"wires":[["39355d87.0d1c92"]]},{"id":"f2873b91.e7f188","type":"change","z":"c15c04dd.c54048","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[0].data[0][2]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1560,"y":560,"wires":[["39355d87.0d1c92"]]},{"id":"65cec63c.a48308","type":"change","z":"c15c04dd.c54048","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[0].data[0][3]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1560,"y":620,"wires":[["39355d87.0d1c92"]]},{"id":"1c853315.69d32d","type":"change","z":"c15c04dd.c54048","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[0].data[0][4]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1560,"y":680,"wires":[["39355d87.0d1c92"]]},{"id":"a4e8d48.c57d428","type":"change","z":"c15c04dd.c54048","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[0].data[0][5]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1560,"y":740,"wires":[["39355d87.0d1c92"]]},{"id":"ddec769d.207b38","type":"change","z":"c15c04dd.c54048","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[0].data[0][6]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1560,"y":800,"wires":[["39355d87.0d1c92"]]},{"id":"48618fce.e94a2","type":"change","z":"c15c04dd.c54048","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[0].data[0][7]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1560,"y":860,"wires":[["39355d87.0d1c92"]]},{"id":"e85a1080.6dbf9","type":"change","z":"c15c04dd.c54048","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[0].data[0][8]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1560,"y":920,"wires":[["39355d87.0d1c92"]]},{"id":"9aaeb64d.baf2f8","type":"change","z":"c15c04dd.c54048","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[0].data[0][9]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1560,"y":980,"wires":[["39355d87.0d1c92"]]},{"id":"6289d3ae.c332fc","type":"change","z":"c15c04dd.c54048","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[0].data[0][10]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1560,"y":1040,"wires":[["39355d87.0d1c92"]]},{"id":"473290a9.3ea5a","type":"change","z":"c15c04dd.c54048","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[0].data[0][12]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1560,"y":1100,"wires":[["39355d87.0d1c92"]]},{"id":"da7ccb4.6794838","type":"change","z":"c15c04dd.c54048","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[0].data[0][12]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1560,"y":1160,"wires":[["39355d87.0d1c92"]]},{"id":"4d37f6df.bd9e08","type":"change","z":"c15c04dd.c54048","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[0].data[0][13]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1560,"y":1220,"wires":[["39355d87.0d1c92","7ce1e67b.ae2ed8"]]},{"id":"1759bf38.224d81","type":"change","z":"c15c04dd.c54048","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload[0].data[0][14]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1560,"y":1280,"wires":[["39355d87.0d1c92","7ce1e67b.ae2ed8"]]},{"id":"16dd9d87.0c5182","type":"change","z":"c15c04dd.c54048","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":2000,"y":840,"wires":[["1135a1ec.76ae5e"]]},{"id":"f22bbc29.5f248","type":"rbe","z":"c15c04dd.c54048","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":true,"property":"payload","x":2170,"y":780,"wires":[["1a46ebe4.503514"]]},{"id":"1135a1ec.76ae5e","type":"rbe","z":"c15c04dd.c54048","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":true,"property":"payload","x":2170,"y":840,"wires":[["1a46ebe4.503514"]]},{"id":"7ce1e67b.ae2ed8","type":"join","z":"c15c04dd.c54048","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":1770,"y":1240,"wires":[["1d2bf94d.7a4537","4057a300.8303bc"]]},{"id":"1d2bf94d.7a4537","type":"debug","z":"c15c04dd.c54048","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":2000,"y":1180,"wires":[]},{"id":"4057a300.8303bc","type":"switch","z":"c15c04dd.c54048","name":"","property":"payload","propertyType":"msg","rules":[{"t":"gt","v":"3.6","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":1930,"y":1240,"wires":[["ee8c4bcf.0b2928"]]},{"id":"ee8c4bcf.0b2928","type":"debug","z":"c15c04dd.c54048","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":2220,"y":1240,"wires":[]},{"id":"6efe0112.d1b06","type":"server","name":"Home Assistant","version":1,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

Hope that works.

Cheers

Gareth

Hi G.

Thanks, I grabbed the part i needed, and its perfect. Created a node-red flow that does what i want.

Cheers

1 Like

1 Like

Happy Days :blush:

Hey guys, I’m trying to get this to work but not getting any data.

I’ve added the binary_parser to the npm_packages in my config and imported the flow to Node Red. But none of the sensors are getting data and nothing is showing up in the debug window. Feel like I’m missing something simple. Any ideas?

Have you restarted node red in HA?

Yes. Multiple times. I do get a message on the udp node that says “Ports already in use: 18542”

Ive got that and still works so you can rule that out.

image

If you place a debug node on the udp listener like this are you getting any messages in the debug window?

Nothing in the debug window

Is the Pi running HA/node red on the same SSID network as the batrium?

I appreciate the help. Yes they are on the same network, not sure why the data isn’t being passed to Node Red. I can see the UDP data with a network debugger app on my iPhone. I feel like I’m missing a configuration step somewhere in Node Red.

No worries.

This is what my config looks like:

maybe a sytax/ spacing issue?

Here’s mine… I don’t see any issues?

I have this in my log…

hmmm. that is odd.

This is a bit of a stab in the dark. not sure on your set up but you could try power cycling your batrium and maybe the binary parser will initialize with it… maybe. Not seen this fault before.

Obviously if you do this and have a shunt trip I would disconnect one of the wires to it as power cycling the batrium will trigger a critical trip if you have a shunt trip connected to your main dc breaker. Then reconnect it after the batrium is back online.

otherwise im at a bit of a loss.