Messages : 100
Sujets : 4
Inscription : Apr 2023
Réputation :
0
En attendant la V6 et ces très beaux tableaux de bords, j'ai suivi le conseil de Septain21 et un peu regardé du coté de NodeRed pour remonter les infos du BMS Seplos et chercher par moi m^me une solution, j'aime bien...
C'est un peu ardu au début mais c'est très plaisant quand ça fonctionne !!
Du coup je suis arrivé à "voir" les Data du BMS mais je bloque sur la partie conversion des Data en "Sensor" si c'est bien cela qu'il faut utiliser.
Que faut il utiliser pour trier toutes les valeurs ??
Pièces jointes
Image(s)
Messages : 187
Sujets : 16
Inscription : Jan 2023
Réputation :
0
Messages : 100
Sujets : 4
Inscription : Apr 2023
Réputation :
0
Merci Septain21 ! je vais m'inspirer de ton flow pour essayer d’intégrer ça à HA. Toi tu renvoies tout en Mqtt, pas possible pour moi vu les 2 brokers différents. Je dois créer les entités directement dans HA. Pas facile de tout comprendre quand il manque les bases du codage et langage Json....
mais en cherchant on trouve....ou alors on galère !!
Messages : 187
Sujets : 16
Inscription : Jan 2023
Réputation :
0
Tu as le bon état d'esprit en tout cas et c'est un très bon début de solutions.
Oui en effet je renvoie en MQTT car c'tait très simple avec le node adhoc. Il existe le node HA qui te permet de faire la même en websocket directement sinon
Messages : 100
Sujets : 4
Inscription : Apr 2023
Réputation :
0
24-10-2023, 09:59 AM
Merci Septain
grace à ton flow j'ai réussi à comprendre, extraire, convertir et renvoyer en Topics les données du BMS Seplos. Ça me servira pour le reste de la domotique. Un très bon point !
J'ai installé Node red companion pour avoir le node sensor et j'arrive à créer les sensors dans HA
une belle victoire pour moi
Mais il se passe quelque chose que je ne comprend pas avec les sensors des 16 cellules, lorsque je change " Entity config" pour nommer la cellule, le nom change pour toutes les cellules et donc je n'ai toujours qu'une cellule de créée dand HA... alors qu'il ne change paspour les autres sensors, SOC, Temps, Capacity ect...
Je cherche...
Pièces jointes
Image(s)
Messages : 100
Sujets : 4
Inscription : Apr 2023
Réputation :
0
02-11-2023, 08:51 PM
(Modification du message : 04-11-2023, 10:19 AM par Jeff .)
Bonjour,
j'ai bien avancé sur mon projet, je suis arrivé à faire mon 1er flow via Node red pour remonter les Datas du BMS Seplos, et ça fonctionne dans HA
il n'est surement pas optimisé mais il fonctionne et ça me va.
du coup je le partage si ça peut intéresser quelqu'un...
c'est vraiment génial ce logiciel....
Code :
[
{
"id": "9e24f384d7f84129",
"type": "tab",
"label": "Flux Batt seplos",
"disabled": false,
"info": "",
"env": []
},
{
"id": "cbf6053b43b8e5dd",
"type": "mqtt in",
"z": "9e24f384d7f84129",
"name": "MQTT",
"topic": "homeassistant/sensor/seplos_364715398511",
"qos": "1",
"datatype": "json",
"broker": "82230366c960022e",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 50,
"y": 80,
"wires": [
[
"ed879e11b250a438",
"780188eb3be54fe8",
"436e5947dc76e3b7",
"a941612d33a68ca2",
"458850829f728714",
"0d89910bc2ad30ed",
"3627a03651dbf06b",
"8aa671a65b4bf09f",
"9d94071ab7eb524a",
"493c86576524674c",
"d070035d542f502a",
"f820e15dea849360",
"0baa12260f4d616e"
]
]
},
{
"id": "a941612d33a68ca2",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "Tension Seplos",
"entityConfig": "b097a0106b486c32",
"version": 0,
"state": "payload.total_voltage",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 460,
"y": 40,
"wires": [
[]
]
},
{
"id": "8aa671a65b4bf09f",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "SOC",
"entityConfig": "80080918d1c239e9",
"version": 0,
"state": "payload.soc",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 730,
"y": 100,
"wires": [
[]
]
},
{
"id": "458850829f728714",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "Batterie Charge/Décharge A",
"entityConfig": "3b8ec222646be2c4",
"version": 0,
"state": "payload.charge_discharge",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 680,
"y": 40,
"wires": [
[]
]
},
{
"id": "0d89910bc2ad30ed",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "SOH",
"entityConfig": "d4f766298c3d90de",
"version": 0,
"state": "payload.soh",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 610,
"y": 100,
"wires": [
[]
]
},
{
"id": "3627a03651dbf06b",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "Cycles",
"entityConfig": "213ff4d1633ef7d3",
"version": 0,
"state": "payload.cycles",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 850,
"y": 100,
"wires": [
[]
]
},
{
"id": "436e5947dc76e3b7",
"type": "function",
"z": "9e24f384d7f84129",
"name": "Batt Charge Watt",
"func": "msg.payload.charge = msg.payload.total_voltage * msg.payload.charge_discharge;\nif (msg.payload.charge < 0) {\n msg.payload.charge = 0;\n}\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 230,
"y": 500,
"wires": [
[
"eb4a2178ac4e8f0c"
]
]
},
{
"id": "eb4a2178ac4e8f0c",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "Batt.Charge Watt",
"entityConfig": "f29fc66521cb90ef",
"version": 0,
"state": "msg.payload.charge",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 650,
"y": 340,
"wires": [
[]
]
},
{
"id": "ed879e11b250a438",
"type": "function",
"z": "9e24f384d7f84129",
"name": "Batt. Capacité en Kwh",
"func": "msg.payload.Capacite_Kwh = msg.payload.residual_capacity * msg.payload.total_voltage*0.001\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 220,
"y": 460,
"wires": [
[
"adeef35e3898b30e"
]
]
},
{
"id": "adeef35e3898b30e",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "Batt.Capacité en Kwh",
"entityConfig": "5be8207e85de19e3",
"version": 0,
"state": "msg.payload.Capacite_Kwh",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 660,
"y": 280,
"wires": [
[]
]
},
{
"id": "086b44eb2972dfa6",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "cell01",
"entityConfig": "9728d319a83ea333",
"version": 0,
"state": "payload",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 430,
"y": 100,
"wires": [
[]
]
},
{
"id": "970a43b1b8f39acc",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "cell02",
"entityConfig": "b4a2cbf85c1fee7d",
"version": 0,
"state": "payload",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 430,
"y": 140,
"wires": [
[]
]
},
{
"id": "0cb5e610c1048e64",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "cell03",
"entityConfig": "dc69c6e01a604e02",
"version": 0,
"state": "payload",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 430,
"y": 180,
"wires": [
[]
]
},
{
"id": "93d78f3944dee727",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "cell04",
"entityConfig": "b300385957facb0d",
"version": 0,
"state": "payload",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 430,
"y": 220,
"wires": [
[]
]
},
{
"id": "8738e92aa619b9ea",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "cell06",
"entityConfig": "463af93b72583fb9",
"version": 0,
"state": "payload",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 430,
"y": 300,
"wires": [
[]
]
},
{
"id": "46c1e48a6f04a80a",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "cell07",
"entityConfig": "12b750490e45460c",
"version": 0,
"state": "payload",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 430,
"y": 340,
"wires": [
[]
]
},
{
"id": "97ab2bb71dae2f1f",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "cell08",
"entityConfig": "a39dfd811e97e883",
"version": 0,
"state": "payload",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 430,
"y": 380,
"wires": [
[]
]
},
{
"id": "8071a1230e1dca5d",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "cell09",
"entityConfig": "55f9c7af2c1230ae",
"version": 0,
"state": "payload",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 430,
"y": 420,
"wires": [
[]
]
},
{
"id": "2f5f889eab20e5a2",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "cell05",
"entityConfig": "e7e2cddc1cf60d59",
"version": 0,
"state": "payload",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 430,
"y": 260,
"wires": [
[]
]
},
{
"id": "28ccf7149774e71f",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "cell10",
"entityConfig": "9601176b3b6f7a06",
"version": 0,
"state": "payload",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 430,
"y": 460,
"wires": [
[]
]
},
{
"id": "3e459b98250c6e3c",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "cell11",
"entityConfig": "700ccd7a93a59746",
"version": 0,
"state": "payload",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 430,
"y": 500,
"wires": [
[]
]
},
{
"id": "f84c8bf220691e44",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "cell12",
"entityConfig": "2c0c66107b857a30",
"version": 0,
"state": "payload",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 430,
"y": 540,
"wires": [
[]
]
},
{
"id": "f3984f4f61bf9709",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "cell13",
"entityConfig": "d53e2bf2f0ec0815",
"version": 0,
"state": "payload",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 430,
"y": 580,
"wires": [
[]
]
},
{
"id": "0326d8fb5f31e991",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "cell14",
"entityConfig": "60ce84e42f9469b6",
"version": 0,
"state": "payload",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 430,
"y": 620,
"wires": [
[]
]
},
{
"id": "aa0704d65c25cc72",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "cell15",
"entityConfig": "6c9e9e8a0e5269d3",
"version": 0,
"state": "payload",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 430,
"y": 660,
"wires": [
[]
]
},
{
"id": "da1ad40c867efb7b",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "cell16",
"entityConfig": "008c4db16edd3bc4",
"version": 0,
"state": "payload",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 430,
"y": 700,
"wires": [
[]
]
},
{
"id": "9d94071ab7eb524a",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "Batt. cell. Basse",
"entityConfig": "2ea62f2ec4280d0f",
"version": 0,
"state": "payload.lowest_cell_n",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 640,
"y": 160,
"wires": [
[]
]
},
{
"id": "493c86576524674c",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "Batt. cell. Haute",
"entityConfig": "83334bd248f6cd3e",
"version": 0,
"state": "payload.highest_cell_n",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 820,
"y": 160,
"wires": [
[]
]
},
{
"id": "d070035d542f502a",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "Difference Cell",
"entityConfig": "2c20be3c2eb4e5bf",
"version": 0,
"state": "payload.difference",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 1020,
"y": 160,
"wires": [
[]
]
},
{
"id": "f820e15dea849360",
"type": "function",
"z": "9e24f384d7f84129",
"name": "Batt Décharge Watt",
"func": "msg.payload.decharge = msg.payload.total_voltage * msg.payload.charge_discharge;\nif (msg.payload.decharge > 0) {\n msg.payload.decharge = 0;\n}\nreturn msg;",
"outputs": 1,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 230,
"y": 540,
"wires": [
[
"45b5bce056006eb2"
]
]
},
{
"id": "45b5bce056006eb2",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "Batt.Décharge Watt",
"entityConfig": "11cc571088da50cd",
"version": 0,
"state": "payload.decharge",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 650,
"y": 400,
"wires": [
[]
]
},
{
"id": "780188eb3be54fe8",
"type": "function",
"z": "9e24f384d7f84129",
"name": "Conversion en Volt",
"func": "var Msg1 = { payload: msg.payload.cell01 / 1000 };\nvar Msg2 = { payload: msg.payload.cell02 / 1000 };\nvar Msg3 = { payload: msg.payload.cell03 / 1000 };\nvar Msg4 = { payload: msg.payload.cell04 / 1000 };\nvar Msg5 = { payload: msg.payload.cell05 / 1000 };\nvar Msg6 = { payload: msg.payload.cell06 / 1000 };\nvar Msg7 = { payload: msg.payload.cell07 / 1000 };\nvar Msg8 = { payload: msg.payload.cell08 / 1000 };\nvar Msg9 = { payload: msg.payload.cell09 / 1000 };\nvar Msg10= { payload: msg.payload.cell10 / 1000 };\nvar Msg11= { payload: msg.payload.cell11 / 1000 };\nvar Msg12= { payload: msg.payload.cell12 / 1000 };\nvar Msg13= { payload: msg.payload.cell13 / 1000 };\nvar Msg14= { payload: msg.payload.cell14 / 1000 };\nvar Msg15= { payload: msg.payload.cell15 / 1000 };\nvar Msg16= { payload: msg.payload.cell16 / 1000 };\nreturn [Msg1,Msg2,Msg3,Msg4,Msg5,Msg6,Msg7,Msg8,Msg9,Msg10,Msg11,Msg12,Msg13,Msg14,Msg15,Msg16];\n\n",
"outputs": 16,
"timeout": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 230,
"y": 300,
"wires": [
[
"086b44eb2972dfa6"
],
[
"970a43b1b8f39acc"
],
[
"0cb5e610c1048e64"
],
[
"93d78f3944dee727"
],
[
"2f5f889eab20e5a2"
],
[
"8738e92aa619b9ea"
],
[
"46c1e48a6f04a80a"
],
[
"97ab2bb71dae2f1f"
],
[
"8071a1230e1dca5d"
],
[
"28ccf7149774e71f"
],
[
"3e459b98250c6e3c"
],
[
"f84c8bf220691e44"
],
[
"f3984f4f61bf9709"
],
[
"0326d8fb5f31e991"
],
[
"aa0704d65c25cc72"
],
[
"da1ad40c867efb7b"
]
]
},
{
"id": "0baa12260f4d616e",
"type": "ha-sensor",
"z": "9e24f384d7f84129",
"name": "Batt. Température",
"entityConfig": "df865bd75787bd01",
"version": 0,
"state": "payload.power_temp",
"stateType": "msg",
"attributes": [],
"inputOverride": "allow",
"outputProperties": [],
"x": 650,
"y": 220,
"wires": [
[]
]
},
{
"id": "82230366c960022e",
"type": "mqtt-broker",
"name": "mosquitto",
"broker": "192.168.xx.xxx",
"port": "1883",
"clientid": "",
"autoConnect": true,
"usetls": false,
"protocolVersion": "4",
"keepalive": "60",
"cleansession": true,
"autoUnsubscribe": true,
"birthTopic": "",
"birthQos": "0",
"birthRetain": "false",
"birthPayload": "",
"birthMsg": {},
"closeTopic": "",
"closeQos": "0",
"closeRetain": "false",
"closePayload": "",
"closeMsg": {},
"willTopic": "",
"willQos": "0",
"willRetain": "false",
"willPayload": "",
"willMsg": {},
"userProps": "",
"sessionExpiry": ""
},
{
"id": "b097a0106b486c32",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "Tension Batterie Seplos",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "Tension Batterie Seplos"
},
{
"property": "icon",
"value": "mdi:car-battery"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "80080918d1c239e9",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "SOC",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "SOC"
},
{
"property": "icon",
"value": "mdi:battery-high"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "battery"
},
{
"property": "unit_of_measurement",
"value": "%"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "3b8ec222646be2c4",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "Batterie Charge/Décharge A",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "Batterie Charge/Décharge A"
},
{
"property": "icon",
"value": "mdi:flash-triangle"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "current"
},
{
"property": "unit_of_measurement",
"value": "A"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "d4f766298c3d90de",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "SOH",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "SOH"
},
{
"property": "icon",
"value": "mdi:home-battery"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "battery"
},
{
"property": "unit_of_measurement",
"value": "%"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "213ff4d1633ef7d3",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "Cycles",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "Cycle"
},
{
"property": "icon",
"value": "mdi:counter"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": ""
},
{
"property": "unit_of_measurement",
"value": ""
},
{
"property": "state_class",
"value": "total"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "f29fc66521cb90ef",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "Batt.Charge Watt",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "Batt.Charge Watt"
},
{
"property": "icon",
"value": "mdi:battery-arrow-up"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "power"
},
{
"property": "unit_of_measurement",
"value": "W"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "5be8207e85de19e3",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "Batt.Capacité en Kwh",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "Batt.Capacité en Kwh"
},
{
"property": "icon",
"value": "mdi:battery-charging-80"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "energy"
},
{
"property": "unit_of_measurement",
"value": "kWh"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "9728d319a83ea333",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "cell01",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "cell01"
},
{
"property": "icon",
"value": "mdi:car-battery"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "b4a2cbf85c1fee7d",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "cell02",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "cell02"
},
{
"property": "icon",
"value": "mdi:car-battery"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "dc69c6e01a604e02",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "cell03",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "cell03"
},
{
"property": "icon",
"value": "mdi:car-battery"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "b300385957facb0d",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "cell04",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "cell04"
},
{
"property": "icon",
"value": "mdi:car-battery"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "463af93b72583fb9",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "cell06",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "cell06"
},
{
"property": "icon",
"value": "mdi:car-battery"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "12b750490e45460c",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "cell07",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "cell07"
},
{
"property": "icon",
"value": "mdi:car-battery"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "a39dfd811e97e883",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "cell08",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "cell08"
},
{
"property": "icon",
"value": "mdi:car-battery"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "55f9c7af2c1230ae",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "cell09",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "cell09"
},
{
"property": "icon",
"value": "mdi:car-battery"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "e7e2cddc1cf60d59",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "cell05",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "cell05"
},
{
"property": "icon",
"value": "mdi:car-battery"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "9601176b3b6f7a06",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "cell10",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "cell10"
},
{
"property": "icon",
"value": "mdi:car-battery"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "700ccd7a93a59746",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "cell11",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "cell11"
},
{
"property": "icon",
"value": "mdi:car-battery"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "2c0c66107b857a30",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "cell12",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "cell12"
},
{
"property": "icon",
"value": "mdi:car-battery"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "d53e2bf2f0ec0815",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "cell13",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "cell13"
},
{
"property": "icon",
"value": "mdi:car-battery"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "60ce84e42f9469b6",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "cell14",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "cell14"
},
{
"property": "icon",
"value": "mdi:car-battery"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "6c9e9e8a0e5269d3",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "cell15",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "cell15"
},
{
"property": "icon",
"value": "mdi:car-battery"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "008c4db16edd3bc4",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "cell16",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "cell16"
},
{
"property": "icon",
"value": "mdi:car-battery"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "2ea62f2ec4280d0f",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "Batt. cell. Basse",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "Batt. cell. Basse"
},
{
"property": "icon",
"value": "mdi:battery-20"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "83334bd248f6cd3e",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "Batt. cell. Haute",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "Batt. cell. Haute"
},
{
"property": "icon",
"value": "mdi:battery-90"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "2c20be3c2eb4e5bf",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "Difference Cell",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "Difference Cell"
},
{
"property": "icon",
"value": "mdi:arrow-up-down"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "voltage"
},
{
"property": "unit_of_measurement",
"value": "V"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "11cc571088da50cd",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "Batt.Décharge Watt",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "Batt.Décharge Watt"
},
{
"property": "icon",
"value": "mdi:battery-arrow-down"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "power"
},
{
"property": "unit_of_measurement",
"value": "W"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "df865bd75787bd01",
"type": "ha-entity-config",
"server": "df03acce.f940b",
"deviceConfig": "",
"name": "Batt. Température",
"version": "6",
"entityType": "sensor",
"haConfig": [
{
"property": "name",
"value": "Batt. Température"
},
{
"property": "icon",
"value": "mdi:thermometer"
},
{
"property": "entity_category",
"value": ""
},
{
"property": "entity_picture",
"value": ""
},
{
"property": "device_class",
"value": "temperature"
},
{
"property": "unit_of_measurement",
"value": "°C"
},
{
"property": "state_class",
"value": "measurement"
}
],
"resend": false,
"debugEnabled": false
},
{
"id": "df03acce.f940b",
"type": "server",
"name": "Home Assistant",
"version": 5,
"addon": true,
"rejectUnauthorizedCerts": true,
"ha_boolean": "y|yes|true|on|home|open",
"connectionDelay": true,
"cacheJson": true,
"heartbeat": false,
"heartbeatInterval": "30",
"areaSelector": "friendlyName",
"deviceSelector": "friendlyName",
"entitySelector": "friendlyName",
"statusSeparator": "at: ",
"statusYear": "hidden",
"statusMonth": "short",
"statusDay": "numeric",
"statusHourCycle": "h23",
"statusTimeFormat": "h:m",
"enableGlobalContextStore": true
}
]
Messages : 2,054
Sujets : 158
Inscription : Mar 2022
Réputation :
4
Chapeau !!!
Oui plus tu vas le connaître et plus tu auras des idées de développement.
Je trouve que Home Assistant et Nodered hyper complémentaires.
Merci en tout cas d'avoir partagé ton travail
Jean-Luc
Messages : 100
Sujets : 4
Inscription : Apr 2023
Réputation :
0
Merci Jl !
j'ai recopier collé le flow car il y avait des erreurs apparement
Et oui c'est vraiment gratifiant de pouvoir faire ses propres automatismes, j'ai encore du travail avec HA pour intégrer tout ça mais je regarde déja vers mon systéme solaire thermique qui communique en can Bus... si je peux récupérer les infos via Mqtt le reste sera facile maintenant !!
En tout cas un grand merci à toi et à Septain pour l'aide et le partage
parfois il faut juste une petite indication pour se mettre sur la bonne voie
Et je mes le flow pour recuperer la chaine Json du BMS via Mqtt. Ça peux servir aussi....
Code :
[
{
"id": "3f21bba30bebf2b2",
"type": "tab",
"label": "Flux mqtt seplos",
"disabled": false,
"info": "",
"env": []
},
{
"id": "1acaceef23a7b674",
"type": "mqtt in",
"z": "3f21bba30bebf2b2",
"name": "MQTT",
"topic": "homeassistant/sensor/seplos_364715398511",
"qos": "1",
"datatype": "auto-detect",
"broker": "82230366c960022e",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 50,
"y": 80,
"wires": [
[
"6af0b0a72cdee7e8"
]
]
},
{
"id": "6af0b0a72cdee7e8",
"type": "json",
"z": "3f21bba30bebf2b2",
"name": "",
"property": "payload",
"action": "obj",
"pretty": false,
"x": 210,
"y": 80,
"wires": [
[
"b3e9b73603830981",
"c7da63695c9c9eb2"
]
]
},
{
"id": "8e65a0e502ae027a",
"type": "change",
"z": "3f21bba30bebf2b2",
"name": "",
"rules": [
{
"t": "set",
"p": "topic",
"pt": "msg",
"to": "\"homeassistant/sensor/Batt-Seplos/\" & $$.parts.key",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 560,
"y": 80,
"wires": [
[
"e894971afaaac5d4",
"128d6209cb03dc14"
]
]
},
{
"id": "128d6209cb03dc14",
"type": "mqtt out",
"z": "3f21bba30bebf2b2",
"name": "MQTT",
"topic": "",
"qos": "0",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "82230366c960022e",
"x": 750,
"y": 80,
"wires": []
},
{
"id": "e894971afaaac5d4",
"type": "debug",
"z": "3f21bba30bebf2b2",
"name": "debug 5",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 560,
"y": 180,
"wires": []
},
{
"id": "b3e9b73603830981",
"type": "debug",
"z": "3f21bba30bebf2b2",
"name": "debug 6",
"active": false,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 340,
"y": 180,
"wires": []
},
{
"id": "c7da63695c9c9eb2",
"type": "split",
"z": "3f21bba30bebf2b2",
"name": "",
"splt": "\\n",
"spltType": "str",
"arraySplt": 1,
"arraySpltType": "len",
"stream": false,
"addname": "",
"x": 370,
"y": 80,
"wires": [
[
"8e65a0e502ae027a"
]
]
},
{
"id": "82230366c960022e",
"type": "mqtt-broker",
"name": "mosquitto",
"broker": "192.168.xx.xxx",
"port": "1883",
"clientid": "",
"autoConnect": true,
"usetls": false,
"protocolVersion": "4",
"keepalive": "60",
"cleansession": true,
"autoUnsubscribe": true,
"birthTopic": "",
"birthQos": "0",
"birthRetain": "false",
"birthPayload": "",
"birthMsg": {},
"closeTopic": "",
"closeQos": "0",
"closeRetain": "false",
"closePayload": "",
"closeMsg": {},
"willTopic": "",
"willQos": "0",
"willRetain": "false",
"willPayload": "",
"willMsg": {},
"userProps": "",
"sessionExpiry": ""
}
]
Messages : 2,054
Sujets : 158
Inscription : Mar 2022
Réputation :
4
Alors j'ai regardé ton flow. Tu peux enlever le noeud JSON et modifier le MQTT In pour qu'il sorte du JSON automatiquement.
Sinon, oui un bel exemple de récupération d'un Topic MQTT d'un Broker et envoi vers un autre Broker.
Très utile. Je fais idem à la maison, car j'ai aussi 2 broker.
Jean-Luc
Messages : 100
Sujets : 4
Inscription : Apr 2023
Réputation :
0
03-11-2023, 09:50 PM
Ah oui ! C'est exact, je n'ai pas vu cette fonction. Du coup je peux aussi le faire pour mon flow principal... je vais regarder ça ce we.
Beaucoup de chose à apprendre sur ces nodes ! Merci JL
Messages : 418
Sujets : 12
Inscription : Mar 2022
Réputation :
4
tu verra jean luc est un puit de science sur node red, des fois il te laisse faire, tu y passe une soirée entière, tu délaisse ta femme et ton gosse et le lendemain il te montre que tu pouvais le faire en 5 minutes
Jeff et
jlm aiment ce post
Messages : 2,054
Sujets : 158
Inscription : Mar 2022
Réputation :
4
Toute ressemblance avec des faits et des personnages existants ou ayant existé serait purement fortuite et ne pourrait être que le fruit d'une pure coïncidence ».
Il m'en veut sur ce coup là. Ce n'était pas du tout volontaire, je n'avais pas perçu la dose de boulot qu'il allait devoir faire en partant sur une "mauvaise" piste.
Je te fais mes plus plates excuses de n'avoir pas tilté sur le moment
Jean-Luc
Messages : 418
Sujets : 12
Inscription : Mar 2022
Réputation :
4
Pourquoi des excuses, tout ca n est qu une pure fiction
Messages : 100
Sujets : 4
Inscription : Apr 2023
Réputation :
0
04-11-2023, 10:30 AM
Bonjour,
c'est bien de faire par soi même ! Trés bon pour les neuronnes !
J'ai repris mon flow et je l'ai optimisé à ma sauce avec les conseilles de JL
J'ai vu qu'il y avait plusieurs sorties possible sur le node "fonction" donc j'ai condensé mon convertisseur en "volt" pour mes cellules.
Je suis preneur de toutes remarques constructives !
Je recolle le Flow dans mon message #6 pour ne pas alourdir le forum
Voila, pour l'instant suis content de moi mais il me reste beaucoup de boulot avec grafana pour mettre tout ça au propre...
Pièces jointes
Image(s)