Victron Smart Shunt via Bluetooth einbinden

Hallo, ich habe den verkabelten Pekaway Shunt gegen einen Victron Energy SmartShunt IP65 300A/50mV - Smart Shunt Batteriewächter (Bluetooth) getauscht.

Dieser soll via BT verbunden werden:

Leider werden bei der Shunt Anzeige aber nur “wirre” Daten angezeigt:

Geht das so oder soll ich ihn via BT BLE anbinden: Victron Geräte Verbindung via Bluetooth - Stromversorgung - Pekaway

machs über Victron BLE und ich schick dir meinen flow dazu

[{"id":"3b7efe18cd531c19","type":"inject","z":"edeb94a459c4553a","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"10","crontab":"","once":true,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":150,"y":40,"wires":[["7b64fe195f2a3970","a0411929543fc4f9","c38dcd2e2cda9c9a"]]},{"id":"bbcf764afa516d23","type":"group","z":"edeb94a459c4553a","style":{"stroke":"#999999","stroke-opacity":"1","fill":"none","fill-opacity":"1","label":true,"label-position":"nw","color":"#a4a4a4"},"nodes":["c38dcd2e2cda9c9a","47e797498ec6a66a","82b2701a3f914d03","daa43575d4a4499b","c17763b87ca98b64","753f5b5ec72f205f","b2e78f06cc0c0ce7","8b70a2f3df2855e2","8d2ad82651280bec","e3dc1025e7b51015","6e96d4c770f3fd42","2913461f2c99fb41","0dec92053f220fee","2d60b751da271662","ab6ffe28f44916b3","c4a509e15e6e6735","752791173add7c32","c229bc8a4dc9b9f4","1dda77cc6db32735","e9c8c0e3e2cf57db","ef01b78d8a188167","61726ac3ce74a942","645ef16a154e2f07","5d5b01e515b3ff5c","c766cc3ebf604bd1","17ca261874f36f24","dbfe319b284daaa9","b854d1eaff378b17","e2b33d726905cee1","542a16698617b34d","0dfd5841996181c4","6d927cbafd5759dc","3e7ef7e7e0f0e43d","cc6ab9e9f6220c4f","915a0149f3a87adb"],"x":314,"y":39,"w":1152,"h":922},{"id":"c38dcd2e2cda9c9a","type":"exec","z":"edeb94a459c4553a","g":"bbcf764afa516d23","command":"sudo timeout -s SIGINT 10s /usr/local/bin/victron-ble read D2:8E:92:63:A7:96@f336b7f5ee4f66ae7fc2b136c06a832d","addpay":false,"append":"","useSpawn":"true","timer":"","winHide":false,"oldrc":false,"name":"Exec","x":390,"y":140,"wires":[["47e797498ec6a66a"],[],[]]},{"id":"47e797498ec6a66a","type":"json","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"victron-ble to json","property":"payload","action":"","pretty":false,"x":570,"y":140,"wires":[["82b2701a3f914d03","6e96d4c770f3fd42","2913461f2c99fb41","0dec92053f220fee","2d60b751da271662","ab6ffe28f44916b3","1dda77cc6db32735","c229bc8a4dc9b9f4","752791173add7c32","ef01b78d8a188167","61726ac3ce74a942","c766cc3ebf604bd1","b854d1eaff378b17","e2b33d726905cee1"]]},{"id":"82b2701a3f914d03","type":"debug","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"Debug Victron Smart Shunt","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":840,"y":920,"wires":[]},{"id":"daa43575d4a4499b","type":"ui_text","z":"edeb94a459c4553a","g":"bbcf764afa516d23","group":"5bffe643c0265073","order":10,"width":0,"height":0,"name":"Name","label":"Name","format":"{{msg.payload.name}}","layout":"row-spread","className":"","style":false,"font":"","fontSize":"","color":"#000000","x":1390,"y":880,"wires":[]},{"id":"c17763b87ca98b64","type":"ui_text","z":"edeb94a459c4553a","g":"bbcf764afa516d23","group":"5bffe643c0265073","order":7,"width":0,"height":0,"name":"Strom","label":"Strom","format":"{{msg.payload}} A","layout":"row-spread","className":"","style":false,"font":"","fontSize":"","color":"#000000","x":1390,"y":560,"wires":[]},{"id":"753f5b5ec72f205f","type":"ui_text","z":"edeb94a459c4553a","g":"bbcf764afa516d23","group":"5bffe643c0265073","order":8,"width":0,"height":0,"name":"Leistung","label":"Leistung","format":"{{msg.payload}} W","layout":"row-spread","className":"","style":false,"font":"","fontSize":"","color":"#000000","x":1380,"y":640,"wires":[]},{"id":"b2e78f06cc0c0ce7","type":"ui_text","z":"edeb94a459c4553a","g":"bbcf764afa516d23","group":"5bffe643c0265073","order":3,"width":"4","height":"1","name":"TTGO","label":"TTGO","format":"{{msg.payload}}","layout":"row-spread","className":"","style":false,"font":"","fontSize":"","color":"#000000","x":1390,"y":720,"wires":[]},{"id":"8b70a2f3df2855e2","type":"ui_text","z":"edeb94a459c4553a","g":"bbcf764afa516d23","group":"5bffe643c0265073","order":2,"width":"2","height":"1","name":"SOC","label":"SOC","format":"{{msg.payload}} %","layout":"row-spread","className":"","style":false,"font":"","fontSize":"","color":"#000000","x":1390,"y":120,"wires":[]},{"id":"8d2ad82651280bec","type":"ui_text","z":"edeb94a459c4553a","g":"bbcf764afa516d23","group":"5bffe643c0265073","order":12,"width":0,"height":0,"name":"MAC","label":"MAC","format":"{{msg.payload.address}}","layout":"row-spread","className":"","style":false,"font":"","fontSize":16,"color":"#000000","x":1390,"y":840,"wires":[]},{"id":"e3dc1025e7b51015","type":"ui_text","z":"edeb94a459c4553a","g":"bbcf764afa516d23","group":"5bffe643c0265073","order":4,"width":"6","height":"1","name":"Spannung Gesamt","label":"Spannung Gesamt","format":"{{msg.payload}} V","layout":"row-spread","className":"","style":false,"font":"","fontSize":16,"color":"#000000","x":1350,"y":200,"wires":[]},{"id":"6e96d4c770f3fd42","type":"function","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"TTGO","func":"const minutes = msg.payload.payload.remaining_mins;\n\nfunction formatTime(minutes) {\n    let weeks = Math.floor(minutes / (7 * 24 * 60));\n    minutes %= (7 * 24 * 60);\n\n    let days = Math.floor(minutes / (24 * 60));\n    minutes %= (24 * 60);\n\n    let hours = Math.floor(minutes / 60);\n    minutes %= 60;\n\n    // Construct the time string dynamically\n    let result = [];\n    if (weeks > 0) result.push(`${weeks} Woche${weeks > 1 ? 's' : ''}`);\n    if (days > 0) result.push(`${days} Tag${days > 1 ? 'e' : ''}`);\n    if (hours > 0) result.push(`${hours} Stunde${hours > 1 ? 'n' : ''}`);\n    if (minutes > 0) result.push(`${minutes} Minute${minutes > 1 ? 's' : ''}`);\n\n    return result.join(\", \");\n}\n\nif (minutes == -1) {\n    msg.label = \"Time to Full\"\n    global.set(\"VE_timetogo\", \"charging\");\n\n    // Get values from global context\n    let consumedAh = Number(global.get(\"VE_consumedAH\")); // Negative value (e.g., -55.55)\n    let chargingCurrentA = Number(global.get(\"VE_Current\")); // Current in Amps\n\n    // Prevent division by zero\n    if (chargingCurrentA <= 0) {\n        msg.payload = \"Not charging\";\n        return msg;\n    }\n\n    // Calculate time in minutes\n    let timeToFullMinutes = (consumedAh * -1) / chargingCurrentA / 0.016666666;\n\n    // Convert minutes to weeks, days, hours, and minutes\n    let weeks = Math.floor(timeToFullMinutes / 10080); // 10080 minutes in a week\n    let days = Math.floor((timeToFullMinutes % 10080) / 1440); // 1440 minutes in a day\n    let hours = Math.floor((timeToFullMinutes % 1440) / 60);\n    let minutes = Math.round(timeToFullMinutes % 60);\n\n    // Build the formatted result dynamically, omitting zero values\n    let timeFormatted = [];\n\n    if (weeks > 0) timeFormatted.push(`${weeks} week${weeks > 1 ? \"s\" : \"\"}`);\n    if (days > 0) timeFormatted.push(`${days} day${days > 1 ? \"s\" : \"\"}`);\n    if (hours > 0) timeFormatted.push(`${hours} hour${hours > 1 ? \"s\" : \"\"}`);\n    if (minutes > 0) timeFormatted.push(`${minutes} minute${minutes > 1 ? \"s\" : \"\"}`);\n\n    // If all values are 0, show \"less than a minute\"\n    if (timeFormatted.length === 0) {\n        timeFormatted.push(\"less than a minute\");\n    }\n\n    // Join values with commas\n    msg.payload = timeFormatted.join(\", \");\n    global.set(\"VE_TimeToFull\", msg.payload);\n}\nelse {\n    msg.payload = formatTime(minutes)\n    msg.label = \"Time To Go\"\n    global.set(\"VE_timetogo\", msg.payload);\n}\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":770,"y":720,"wires":[["b2e78f06cc0c0ce7"]]},{"id":"2913461f2c99fb41","type":"function","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"Strom","func":"msg.payload = msg.payload.payload.current.toFixed(2);\n\nglobal.set(\"VE_Current\", msg.payload);\nglobal.set(\"BATTamps\", msg.payload);\nglobal.set(\"MainBattAmps\", msg.payload);\n\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":770,"y":560,"wires":[["cc6ab9e9f6220c4f"]]},{"id":"0dec92053f220fee","type":"function","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"Spannung Gesamt","func":"msg.payload = msg.payload.payload.voltage;\n\nglobal.set(\"VE_Mainbattery\", msg.payload);\nglobal.set(\"BATTvolt\", msg.payload);\n//global.set(\"VE_BatteryVolt\", msg.payload);\n\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":810,"y":200,"wires":[["e3dc1025e7b51015"]]},{"id":"2d60b751da271662","type":"function","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"SOC","func":"msg.payload = msg.payload.payload.soc;\n\nglobal.set(\"VE_SOC\", msg.payload);\nglobal.set(\"BATTsoc\", msg.payload);\n\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":770,"y":120,"wires":[["8b70a2f3df2855e2"]]},{"id":"ab6ffe28f44916b3","type":"function","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"Verbrauchte Ah","func":"msg.payload = msg.payload.payload.consumed_ah;\n\nglobal.set(\"VE_consumedAH\", msg.payload);\n\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":800,"y":800,"wires":[["c4a509e15e6e6735"]]},{"id":"c4a509e15e6e6735","type":"ui_text","z":"edeb94a459c4553a","g":"bbcf764afa516d23","group":"5bffe643c0265073","order":11,"width":0,"height":0,"name":"Verbrauchte Ah","label":"Verbrauchte Ah","format":"{{msg.payload}} Ah","layout":"row-spread","className":"","style":false,"font":"","fontSize":16,"color":"#000000","x":1360,"y":800,"wires":[]},{"id":"752791173add7c32","type":"debug","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"Alarm","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload.payload.alarm","targetType":"msg","statusVal":"","statusType":"auto","x":770,"y":840,"wires":[]},{"id":"c229bc8a4dc9b9f4","type":"debug","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"Aux Mode","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload.payload.aux_mode","targetType":"msg","statusVal":"","statusType":"auto","x":790,"y":880,"wires":[]},{"id":"1dda77cc6db32735","type":"function","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"RSSI","func":"\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":770,"y":760,"wires":[["e9c8c0e3e2cf57db"]]},{"id":"e9c8c0e3e2cf57db","type":"ui_text","z":"edeb94a459c4553a","g":"bbcf764afa516d23","group":"5bffe643c0265073","order":9,"width":0,"height":0,"name":"RSSI","label":"RSSI","format":"{{msg.payload.rssi}}","layout":"row-spread","className":"","style":false,"font":"","fontSize":16,"color":"#000000","x":1390,"y":760,"wires":[]},{"id":"ef01b78d8a188167","type":"function","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"Leistung","func":"msg.payload = (msg.payload.payload.current * msg.payload.payload.voltage).toFixed(2);\nglobal.set(\"VE_Power\", msg.payload);\n\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":780,"y":640,"wires":[["915a0149f3a87adb"]]},{"id":"61726ac3ce74a942","type":"function","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"Typenbezeichung","func":"msg.payload = msg.payload.payload.model_name;\n\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":810,"y":80,"wires":[["645ef16a154e2f07"]]},{"id":"645ef16a154e2f07","type":"ui_text","z":"edeb94a459c4553a","g":"bbcf764afa516d23","group":"5bffe643c0265073","order":1,"width":0,"height":0,"name":"Typenbezeichnung","label":"Typenbezeichung","format":"{{msg.payload}}","layout":"row-spread","className":"","style":false,"font":"","fontSize":16,"color":"#000000","x":1350,"y":80,"wires":[]},{"id":"5d5b01e515b3ff5c","type":"comment","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"Victron Smart Shunt","info":"","x":430,"y":80,"wires":[]},{"id":"c766cc3ebf604bd1","type":"function","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"Spannung Batterie 1","func":"msg.payload = msg.payload.payload.midpoint_voltage.toFixed(2);\n\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":820,"y":280,"wires":[["6d927cbafd5759dc"]]},{"id":"17ca261874f36f24","type":"ui_text","z":"edeb94a459c4553a","g":"bbcf764afa516d23","group":"5bffe643c0265073","order":5,"width":"3","height":"1","name":"Batterie(1)","label":"Batt(1)","format":"{{msg.payload}} V","layout":"row-spread","className":"","style":false,"font":"","fontSize":16,"color":"#000000","x":1370,"y":280,"wires":[]},{"id":"dbfe319b284daaa9","type":"ui_text","z":"edeb94a459c4553a","g":"bbcf764afa516d23","group":"5bffe643c0265073","order":6,"width":"3","height":"1","name":"Batterie(2)","label":"Batt(2)","format":"{{msg.payload}} V","layout":"row-spread","className":"","style":false,"font":"","fontSize":16,"color":"#000000","x":1370,"y":400,"wires":[]},{"id":"b854d1eaff378b17","type":"function","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"Spannung Batterie 2","func":"msg.payload = (msg.payload.payload.voltage - msg.payload.payload.midpoint_voltage).toFixed(2);\n\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":820,"y":400,"wires":[["3e7ef7e7e0f0e43d"]]},{"id":"e2b33d726905cee1","type":"function","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"Spannung Diff in %","func":"let BatterieSpannungGesamt = msg.payload.payload.voltage;\nlet BatterieSpannung1 = msg.payload.payload.midpoint_voltage;\nlet BatterieSpannung2 = (msg.payload.payload.voltage - msg.payload.payload.midpoint_voltage);\n\nmsg.payload = (BatterieSpannung1 - BatterieSpannung2) / BatterieSpannungGesamt * 100;\n\nglobal.set(\"VE_Aux\", msg.payload);\n\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":810,"y":520,"wires":[[]]},{"id":"542a16698617b34d","type":"ui_text","z":"edeb94a459c4553a","g":"bbcf764afa516d23","group":"d7b10e4dc1f23ce3","order":8,"width":"3","height":"1","name":"","label":"Batterie(1)","format":"{{msg.payload}} V","layout":"col-center","className":"","style":false,"font":"","fontSize":"","color":"#000000","x":1370,"y":320,"wires":[]},{"id":"0dfd5841996181c4","type":"ui_text","z":"edeb94a459c4553a","g":"bbcf764afa516d23","group":"d7b10e4dc1f23ce3","order":17,"width":"3","height":"1","name":"","label":"Batterie(2)","format":"{{msg.payload}} V","layout":"col-center","className":"","style":false,"font":"","fontSize":"","color":"#000000","x":1370,"y":440,"wires":[]},{"id":"6d927cbafd5759dc","type":"change","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"Convert to Number","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(msg.payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1030,"y":280,"wires":[["17ca261874f36f24","542a16698617b34d"]]},{"id":"3e7ef7e7e0f0e43d","type":"change","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"Convert to Number","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(msg.payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1030,"y":400,"wires":[["dbfe319b284daaa9","0dfd5841996181c4"]]},{"id":"cc6ab9e9f6220c4f","type":"change","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"Convert to Number","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(msg.payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":930,"y":560,"wires":[["c17763b87ca98b64"]]},{"id":"915a0149f3a87adb","type":"change","z":"edeb94a459c4553a","g":"bbcf764afa516d23","name":"Convert to Number","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(msg.payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":950,"y":640,"wires":[["753f5b5ec72f205f"]]},{"id":"5bffe643c0265073","type":"ui_group","name":"Smart Shunt","tab":"a101d9ff5688fa9e","order":2,"disp":true,"width":"6","collapse":true,"className":""},{"id":"d7b10e4dc1f23ce3","type":"ui_group","name":"Victron Shunt","tab":"deee53a800de461d","order":1,"disp":true,"width":"6","collapse":true,"className":""},{"id":"a101d9ff5688fa9e","type":"ui_tab","name":"Victron BLE","icon":"mi-usb","order":7,"disabled":false,"hidden":false},{"id":"deee53a800de461d","type":"ui_tab","name":"Info","icon":"mi-info","order":1,"disabled":false,"hidden":false}]

Hallo Mario, vielen Dank für deinen Flow.

Leider bekomme ich keine Werte geliefert. Beim Blue Smart IP22 Charger kommen Werte.

hast du die Mac Adresse und den kodierschlüssel ersetzt?

Ja hatte ich.

Ich musste aber die scanner.py anpassen Victron Geräte Verbindung via Bluetooth - #44 by Vincent

Nur Batterie 1 werden keine Werte angezeigt. Batterie 2 auch nicht, aber die habe ich auch nicht angeschlossen. Ebenso kommt die MAC und TTGO nicht, wobei TTGO noch einen Tag dauern kann:

ah batterie 1 und 2 wirst du auch nicht bekommen da du den aux Anschluss nicht verwendest und ich hab da eine Funktion geschrieben da ich ein 24v system habe

der rest sollte aber gehen aber mach mal die “debug victron smart shunt” node an und poste das Ergebnis

PS: wenn du meinen flow 1:1 genommen hast is klar da ich gerade gesehen hab das die Mac und Name garnicht verbunden sind und daher auch nicht ausgelesen werden

OK, habe die Nodes für Batterie1+2 deaktiviert.

Warum kommt aber kein Name und MAC und Typenbezeichnung?

Was bedeutet der Wert RSSI ?

“debug victron smart shunt” ist an. habe es auf Kompletten Nachrichten Object” umgestellt. aber es wird dort nichts ausgegeben…


ist nicht verbunden

RSSI ist die Signalstärke vom BLE Gerät


das kommt bei mir alles an Daten an