Bonsoir donc à priori ça tourne. A voir les prochains mois. Voici ce que j’ai fait.
J’ai donc un dongle usb cartelectronic que j’ai branché sur mon compteur linky et sur un pi.
Sur le pi j’ai installé raspbian et node red.
Avec l’aide du forum nous avons adapté le flow à mon contrat zen plus. Pour me simplifier la tache je suis parti du principe qu’à part les hp semaine tout le reste est au tarif HC.
Voici le flow node red :
[
{
"id": "0be5f9a7c9bc39d0",
"type": "tab",
"label": "Teleinfo Zen Plus TIC Standard",
"disabled": false,
"info": "",
"env": []
},
{
"id": "b3ec5199a1d3294b",
"type": "group",
"z": "0be5f9a7c9bc39d0",
"name": "TELEINFO",
"style": {
"stroke": "#c8e7a7",
"label": true,
"label-position": "n",
"color": "#000000",
"fill": "#c8e7a7"
},
"nodes": [
"bac9a9fd.bbd678",
"87d8e230ce9ab1e4",
"1dc1403bf5820fd5",
"a680688a573b5b38",
"3447143f41d5430e",
"a87bec5c950aefb0",
"25312718aadbb7e4",
"12912c36a3138536",
"a1adfeb9b4c87ec5",
"1c3eb72a067d7b98",
"08172a92755a1fe9",
"4568c007b807d474",
"e4c7b73d674b68c2",
"079335172f2e3c23"
],
"x": 18,
"y": 33,
"w": 1828,
"h": 834
},
{
"id": "12912c36a3138536",
"type": "group",
"z": "0be5f9a7c9bc39d0",
"g": "b3ec5199a1d3294b",
"name": "Reçoit index et stocke dans flow.index_hc_semaine_wh",
"style": {
"label": true
},
"nodes": [
"1a1de1846428a1cd",
"e9983cbc91c173fe"
],
"x": 44,
"y": 59,
"w": 412,
"h": 82
},
{
"id": "a1adfeb9b4c87ec5",
"type": "group",
"z": "0be5f9a7c9bc39d0",
"g": "b3ec5199a1d3294b",
"name": "Reçoit index et stocke dans flow.index_hp_semaine_wh",
"style": {
"label": true
},
"nodes": [
"8f5e99b1c26811dc",
"7822de9877dd7443"
],
"x": 484,
"y": 59,
"w": 412,
"h": 82
},
{
"id": "1c3eb72a067d7b98",
"type": "group",
"z": "0be5f9a7c9bc39d0",
"g": "b3ec5199a1d3294b",
"name": "Reçoit index et stocke dans flow.index_hc_weekend_wh",
"style": {
"label": true
},
"nodes": [
"472769c55111be0f",
"2adff30529089541"
],
"x": 924,
"y": 59,
"w": 412,
"h": 82
},
{
"id": "08172a92755a1fe9",
"type": "group",
"z": "0be5f9a7c9bc39d0",
"g": "b3ec5199a1d3294b",
"name": "Reçoit index et stocke dans flow.index_hp_weekend_wh",
"style": {
"label": true
},
"nodes": [
"ad05776d6d3b832f",
"b3d9d0088c8813e5"
],
"x": 44,
"y": 159,
"w": 412,
"h": 82
},
{
"id": "4568c007b807d474",
"type": "group",
"z": "0be5f9a7c9bc39d0",
"g": "b3ec5199a1d3294b",
"name": "Reçoit index et stocke dans flow.index_hc_mercredi_wh",
"style": {
"label": true
},
"nodes": [
"b6e145abfcaf83d5",
"9d17ad4d6c163495"
],
"x": 484,
"y": 159,
"w": 412,
"h": 82
},
{
"id": "e4c7b73d674b68c2",
"type": "group",
"z": "0be5f9a7c9bc39d0",
"g": "b3ec5199a1d3294b",
"name": "Reçoit index et stocke dans flow.index_hp_mercredi_wh",
"style": {
"label": true
},
"nodes": [
"b1f675475dfd82a7",
"681827125140ae93"
],
"x": 924,
"y": 159,
"w": 412,
"h": 82
},
{
"id": "079335172f2e3c23",
"type": "group",
"z": "0be5f9a7c9bc39d0",
"g": "b3ec5199a1d3294b",
"name": "Flow Datas Zen Plus",
"style": {
"label": true,
"label-position": "n",
"color": "#000000"
},
"nodes": [
"57b3e5ae26867834",
"df7f0d7ea3faf344",
"e77abb52c878738f",
"4aa512eaeab011c3",
"4d16b3e38ffb0103",
"bc67c6197738de08",
"e0d8694b4b7515a4",
"2ade514246a73ff9",
"17b6ac90ac46f442",
"46ec18839393dd14",
"9815c76b342b311c",
"b833386da0bc71b2",
"1597c8f7459ff400",
"5182384ecda77f0d",
"2083d8b09ba4b507",
"271cb201e6df74a2",
"ac885a7aaa1394a6",
"36922a5ddc1f2054",
"ce94b2d80e45077c",
"0f394944cc6a06d7",
"12361d764336c7aa",
"3dd76d906942081d",
"a5e2254ababb1238",
"9e61014055b6a5ab",
"cf41ea9d45fec0cd",
"23a72bea401cfac1",
"bc5b3234ae712d10",
"c98b49c0528395e2",
"ebccfbcd1693241a",
"d6883830d3215774",
"43b1ce3698349288",
"59c193e45411460f"
],
"x": 54,
"y": 259,
"w": 1432,
"h": 582
},
{
"id": "57b3e5ae26867834",
"type": "serial in",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"serial": "d563729e7bf63bcb",
"x": 150,
"y": 600,
"wires": [
[
"df7f0d7ea3faf344"
]
]
},
{
"id": "df7f0d7ea3faf344",
"type": "delay",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"pauseType": "rate",
"timeout": "5",
"timeoutUnits": "seconds",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "minute",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": true,
"allowrate": false,
"outputs": 1,
"x": 370,
"y": 620,
"wires": [
[
"e77abb52c878738f",
"43b1ce3698349288"
]
]
},
{
"id": "e77abb52c878738f",
"type": "function",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"func": "var test = msg.payload.charCodeAt(0) ;\nvar msge = {payload: msg.payload.toString()};\nif (test === 2)\n{\n // var outputMsgs = [];\n var IndexHcSemaine ;\n var IndexHpSemaine ;\n var IndexHcWeekEnd;\n var IndexHpWeekEnd;\n var IndexHcMercredi;\n var IndexHpMercredi ;\n var Tarif ;\n var Intensite ;\n var Puissance;\n var words = msge.payload.split(\"\\r\\n\");\n for (var w in words) {\n\n \n if (words[w].indexOf('EASF01') == 0) {\n IndexHcSemaine = {payload: Number(words[w].substring(7,16)),\n measurement: \"Wh\",\n topic: \"IndexHcSemaine\"\n };\n }\n \n if (words[w].indexOf('EASF02') == 0) {\n IndexHpSemaine = {payload: Number(words[w].substring(7,16)),\n measurement: \"Wh\",\n topic: \"IndexHpSemaine\"\n };\n } \n if (words[w].indexOf('EASF03') == 0) {\n IndexHcWeekEnd = {payload: Number(words[w].substring(7,16)),\n measurement: \"Wh\",\n topic: \"IndexHcWeekEnd\"\n };\n } \n if (words[w].indexOf('EASF04') == 0) {\n IndexHpWeekEnd = {payload: Number(words[w].substring(7,16)),\n measurement: \"Wh\",\n topic: \"IndexHpWeekEnd\"\n };\n } \n if (words[w].indexOf('EASF05') == 0) {\n IndexHcMercredi = {payload: Number(words[w].substring(7,16)),\n measurement: \"Wh\",\n topic: \"IndexHcMercredi\"\n };\n } \n if (words[w].indexOf('EASF06') == 0) {\n IndexHpMercredi = {payload: Number(words[w].substring(7,16)),\n measurement: \"Wh\",\n topic: \"IndexHpMercredi\"\n };\n }\n if (words[w].indexOf('LTARF') == 0) {\n Tarif = {payload: words[w].substring(9,21),\n topic: \"Tarif\"\n };\n }\n if (words[w].indexOf('IRMS1') == 0) {\n Intensite = {payload: Number(words[w].substring(6,9)),\n measurement: \"A\",\n topic: \"Intensite\"\n };\n }\n if (words[w].indexOf('SINSTS') == 0) {\n Puissance = {payload: Number(words[w].substring(7,12)),\n measurement: \"VA\",\n topic: \"Puissance\"\n };\n }\n\n }\n return [IndexHcSemaine,IndexHpSemaine,IndexHcWeekEnd,IndexHpWeekEnd,IndexHcMercredi,IndexHpMercredi,Tarif,Intensite,Puissance];\n \n\n}\n\n\n",
"outputs": 9,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 600,
"y": 640,
"wires": [
[
"b833386da0bc71b2",
"5182384ecda77f0d"
],
[
"9815c76b342b311c",
"2083d8b09ba4b507"
],
[
"46ec18839393dd14",
"1597c8f7459ff400"
],
[
"17b6ac90ac46f442",
"271cb201e6df74a2"
],
[
"e0d8694b4b7515a4",
"ac885a7aaa1394a6"
],
[
"bc67c6197738de08",
"36922a5ddc1f2054"
],
[
"2ade514246a73ff9"
],
[
"4aa512eaeab011c3"
],
[
"4d16b3e38ffb0103"
]
]
},
{
"id": "4aa512eaeab011c3",
"type": "rbe",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"func": "rbe",
"gap": "",
"start": "",
"inout": "out",
"septopics": true,
"property": "payload",
"topi": "topic",
"x": 930,
"y": 740,
"wires": [
[
"23a72bea401cfac1"
]
]
},
{
"id": "4d16b3e38ffb0103",
"type": "rbe",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"func": "rbe",
"gap": "",
"start": "",
"inout": "out",
"septopics": true,
"property": "payload",
"x": 930,
"y": 800,
"wires": [
[
"bc5b3234ae712d10"
]
]
},
{
"id": "bc67c6197738de08",
"type": "rbe",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"func": "rbe",
"gap": "",
"start": "",
"inout": "out",
"septopics": true,
"property": "payload",
"topi": "topic",
"x": 930,
"y": 620,
"wires": [
[
"a5e2254ababb1238"
]
]
},
{
"id": "e0d8694b4b7515a4",
"type": "rbe",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"func": "rbe",
"gap": "",
"start": "",
"inout": "out",
"septopics": true,
"property": "payload",
"topi": "topic",
"x": 930,
"y": 560,
"wires": [
[
"3dd76d906942081d"
]
]
},
{
"id": "2ade514246a73ff9",
"type": "rbe",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"func": "rbe",
"gap": "",
"start": "",
"inout": "out",
"septopics": true,
"property": "payload",
"topi": "topic",
"x": 930,
"y": 680,
"wires": [
[
"c98b49c0528395e2"
]
]
},
{
"id": "17b6ac90ac46f442",
"type": "rbe",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"func": "rbe",
"gap": "",
"start": "",
"inout": "out",
"septopics": true,
"property": "payload",
"topi": "topic",
"x": 930,
"y": 500,
"wires": [
[
"12361d764336c7aa"
]
]
},
{
"id": "46ec18839393dd14",
"type": "rbe",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"func": "rbe",
"gap": "",
"start": "",
"inout": "out",
"septopics": true,
"property": "payload",
"topi": "topic",
"x": 930,
"y": 440,
"wires": [
[
"0f394944cc6a06d7"
]
]
},
{
"id": "9815c76b342b311c",
"type": "rbe",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"func": "rbe",
"gap": "",
"start": "",
"inout": "out",
"septopics": true,
"property": "payload",
"topi": "topic",
"x": 930,
"y": 380,
"wires": [
[
"cf41ea9d45fec0cd",
"59c193e45411460f"
]
]
},
{
"id": "b833386da0bc71b2",
"type": "rbe",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"func": "rbe",
"gap": "",
"start": "",
"inout": "out",
"septopics": true,
"property": "payload",
"topi": "topic",
"x": 930,
"y": 300,
"wires": [
[
"ce94b2d80e45077c"
]
]
},
{
"id": "1597c8f7459ff400",
"type": "link out",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"mode": "link",
"links": [
"472769c55111be0f"
],
"x": 355,
"y": 400,
"wires": []
},
{
"id": "5182384ecda77f0d",
"type": "link out",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"mode": "link",
"links": [
"1a1de1846428a1cd"
],
"x": 115,
"y": 400,
"wires": []
},
{
"id": "2083d8b09ba4b507",
"type": "link out",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"mode": "link",
"links": [
"8f5e99b1c26811dc"
],
"x": 235,
"y": 400,
"wires": []
},
{
"id": "271cb201e6df74a2",
"type": "link out",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"mode": "link",
"links": [
"ad05776d6d3b832f"
],
"x": 485,
"y": 400,
"wires": []
},
{
"id": "ac885a7aaa1394a6",
"type": "link out",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"mode": "link",
"links": [
"b6e145abfcaf83d5"
],
"x": 605,
"y": 400,
"wires": []
},
{
"id": "36922a5ddc1f2054",
"type": "link out",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"mode": "link",
"links": [
"b1f675475dfd82a7"
],
"x": 695,
"y": 400,
"wires": []
},
{
"id": "1a1de1846428a1cd",
"type": "link in",
"z": "0be5f9a7c9bc39d0",
"g": "12912c36a3138536",
"name": "index hc semaine Wh in",
"links": [
"5182384ecda77f0d"
],
"x": 85,
"y": 100,
"wires": [
[
"e9983cbc91c173fe"
]
]
},
{
"id": "e9983cbc91c173fe",
"type": "change",
"z": "0be5f9a7c9bc39d0",
"g": "12912c36a3138536",
"name": "",
"rules": [
{
"t": "set",
"p": "index_hc_semaine_wh",
"pt": "flow",
"to": "payload",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 300,
"y": 100,
"wires": [
[
"bac9a9fd.bbd678",
"a680688a573b5b38"
]
]
},
{
"id": "8f5e99b1c26811dc",
"type": "link in",
"z": "0be5f9a7c9bc39d0",
"g": "a1adfeb9b4c87ec5",
"name": "index hp semaine Wh in",
"links": [
"2083d8b09ba4b507"
],
"x": 525,
"y": 100,
"wires": [
[
"7822de9877dd7443"
]
]
},
{
"id": "7822de9877dd7443",
"type": "change",
"z": "0be5f9a7c9bc39d0",
"g": "a1adfeb9b4c87ec5",
"name": "",
"rules": [
{
"t": "set",
"p": "index_hp_semaine_wh",
"pt": "flow",
"to": "payload",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 740,
"y": 100,
"wires": [
[
"a680688a573b5b38"
]
]
},
{
"id": "472769c55111be0f",
"type": "link in",
"z": "0be5f9a7c9bc39d0",
"g": "1c3eb72a067d7b98",
"name": "index Wh hc weekend in",
"links": [
"1597c8f7459ff400"
],
"x": 965,
"y": 100,
"wires": [
[
"2adff30529089541"
]
]
},
{
"id": "2adff30529089541",
"type": "change",
"z": "0be5f9a7c9bc39d0",
"g": "1c3eb72a067d7b98",
"name": "",
"rules": [
{
"t": "set",
"p": "index_hc_weekend_wh",
"pt": "flow",
"to": "payload",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1180,
"y": 100,
"wires": [
[
"bac9a9fd.bbd678",
"a680688a573b5b38"
]
]
},
{
"id": "ad05776d6d3b832f",
"type": "link in",
"z": "0be5f9a7c9bc39d0",
"g": "08172a92755a1fe9",
"name": "index Wh hp week end in",
"links": [
"271cb201e6df74a2"
],
"x": 85,
"y": 200,
"wires": [
[
"b3d9d0088c8813e5"
]
]
},
{
"id": "b3d9d0088c8813e5",
"type": "change",
"z": "0be5f9a7c9bc39d0",
"g": "08172a92755a1fe9",
"name": "",
"rules": [
{
"t": "set",
"p": "index_hp_weekend_wh",
"pt": "flow",
"to": "payload",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 300,
"y": 200,
"wires": [
[
"bac9a9fd.bbd678",
"a680688a573b5b38"
]
]
},
{
"id": "b6e145abfcaf83d5",
"type": "link in",
"z": "0be5f9a7c9bc39d0",
"g": "4568c007b807d474",
"name": "index Wh hc mercredi in",
"links": [
"ac885a7aaa1394a6"
],
"x": 525,
"y": 200,
"wires": [
[
"9d17ad4d6c163495"
]
]
},
{
"id": "9d17ad4d6c163495",
"type": "change",
"z": "0be5f9a7c9bc39d0",
"g": "4568c007b807d474",
"name": "",
"rules": [
{
"t": "set",
"p": "index_hc_mercredi_wh",
"pt": "flow",
"to": "payload",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 740,
"y": 200,
"wires": [
[
"bac9a9fd.bbd678",
"a680688a573b5b38"
]
]
},
{
"id": "b1f675475dfd82a7",
"type": "link in",
"z": "0be5f9a7c9bc39d0",
"g": "e4c7b73d674b68c2",
"name": "index Wh hp mercredi in",
"links": [
"36922a5ddc1f2054"
],
"x": 965,
"y": 200,
"wires": [
[
"681827125140ae93"
]
]
},
{
"id": "681827125140ae93",
"type": "change",
"z": "0be5f9a7c9bc39d0",
"g": "e4c7b73d674b68c2",
"name": "",
"rules": [
{
"t": "set",
"p": "index_hp_mercredi_wh",
"pt": "flow",
"to": "payload",
"tot": "msg"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1180,
"y": 200,
"wires": [
[
"bac9a9fd.bbd678",
"a680688a573b5b38"
]
]
},
{
"id": "bac9a9fd.bbd678",
"type": "change",
"z": "0be5f9a7c9bc39d0",
"g": "b3ec5199a1d3294b",
"name": "sum",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "$flowContext('index_hc_semaine_wh')+$flowContext('index_hc_weekend_wh')+$flowContext('index_hp_weekend_wh')+$flowContext('index_hc_mercredi_wh')+$flowContext('index_hp_mercredi_wh')",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1470,
"y": 100,
"wires": [
[
"1dc1403bf5820fd5",
"25312718aadbb7e4"
]
]
},
{
"id": "a680688a573b5b38",
"type": "change",
"z": "0be5f9a7c9bc39d0",
"g": "b3ec5199a1d3294b",
"name": "sum",
"rules": [
{
"t": "set",
"p": "payload",
"pt": "msg",
"to": "$flowContext('index_hc_semaine_wh')+$flowContext('index_hc_weekend_wh')+$flowContext('index_hp_weekend_wh')+$flowContext('index_hc_mercredi_wh')+$flowContext('index_hp_mercredi_wh')+$flowContext('index_hp_semaine_wh')",
"tot": "jsonata"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 1470,
"y": 220,
"wires": [
[
"3447143f41d5430e"
]
]
},
{
"id": "25312718aadbb7e4",
"type": "mqtt out",
"z": "0be5f9a7c9bc39d0",
"g": "b3ec5199a1d3294b",
"name": "",
"topic": "edf/hc",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "02461640e6341b3e",
"x": 1610,
"y": 140,
"wires": []
},
{
"id": "59c193e45411460f",
"type": "mqtt out",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"topic": "edf/hp",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "02461640e6341b3e",
"x": 1090,
"y": 340,
"wires": []
},
{
"id": "d6883830d3215774",
"type": "mqtt out",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"topic": "edf/intensité",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "02461640e6341b3e",
"x": 1370,
"y": 740,
"wires": []
},
{
"id": "ebccfbcd1693241a",
"type": "mqtt out",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"topic": "edf/puissance",
"qos": "",
"retain": "",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "02461640e6341b3e",
"x": 1380,
"y": 800,
"wires": []
},
{
"id": "43b1ce3698349288",
"type": "debug",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 410,
"y": 540,
"wires": []
},
{
"id": "87d8e230ce9ab1e4",
"type": "ha-entity",
"z": "0be5f9a7c9bc39d0",
"g": "b3ec5199a1d3294b",
"name": "index_HC",
"server": "649203dce6edd985",
"version": 2,
"debugenabled": false,
"outputs": 1,
"entityType": "sensor",
"config": [
{
"property": "name",
"value": "EDF_Index_HC"
},
{
"property": "device_class",
"value": "energy"
},
{
"property": "icon",
"value": ""
},
{
"property": "unit_of_measurement",
"value": "kWh"
},
{
"property": "state_class",
"value": "total_increasing"
},
{
"property": "last_reset",
"value": ""
}
],
"state": "payload",
"stateType": "msg",
"attributes": [
{
"property": "",
"value": "",
"valueType": "str"
}
],
"resend": true,
"outputLocation": "",
"outputLocationType": "none",
"inputOverride": "allow",
"outputOnStateChange": false,
"outputPayload": "$entity().state ? \"on\": \"off\"",
"outputPayloadType": "jsonata",
"x": 1740,
"y": 100,
"wires": [
[]
]
},
{
"id": "9e61014055b6a5ab",
"type": "ha-entity",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "index_HP",
"server": "649203dce6edd985",
"version": 2,
"debugenabled": false,
"outputs": 1,
"entityType": "sensor",
"config": [
{
"property": "name",
"value": "EDF_Index_HP"
},
{
"property": "device_class",
"value": "energy"
},
{
"property": "icon",
"value": ""
},
{
"property": "unit_of_measurement",
"value": "kWh"
},
{
"property": "state_class",
"value": "total_increasing"
},
{
"property": "last_reset",
"value": ""
}
],
"state": "payload",
"stateType": "msg",
"attributes": [
{
"property": "",
"value": "",
"valueType": "str"
}
],
"resend": true,
"outputLocation": "",
"outputLocationType": "none",
"inputOverride": "allow",
"outputOnStateChange": false,
"outputPayload": "$entity().state ? \"on\": \"off\"",
"outputPayloadType": "jsonata",
"x": 1240,
"y": 380,
"wires": [
[]
]
},
{
"id": "23a72bea401cfac1",
"type": "ha-entity",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "intensité",
"server": "649203dce6edd985",
"version": 2,
"debugenabled": false,
"outputs": 1,
"entityType": "sensor",
"config": [
{
"property": "name",
"value": "EDF_Intensite"
},
{
"property": "device_class",
"value": "energy"
},
{
"property": "icon",
"value": ""
},
{
"property": "unit_of_measurement",
"value": "A"
},
{
"property": "state_class",
"value": "total_increasing"
},
{
"property": "last_reset",
"value": ""
}
],
"state": "payload",
"stateType": "msg",
"attributes": [
{
"property": "",
"value": "",
"valueType": "str"
}
],
"resend": true,
"outputLocation": "",
"outputLocationType": "none",
"inputOverride": "allow",
"outputOnStateChange": false,
"outputPayload": "$entity().state ? \"on\": \"off\"",
"outputPayloadType": "jsonata",
"x": 1100,
"y": 740,
"wires": [
[
"d6883830d3215774"
]
]
},
{
"id": "bc5b3234ae712d10",
"type": "ha-entity",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "puissance",
"server": "649203dce6edd985",
"version": 2,
"debugenabled": false,
"outputs": 1,
"entityType": "sensor",
"config": [
{
"property": "name",
"value": "EDF_puissance"
},
{
"property": "device_class",
"value": "energy"
},
{
"property": "icon",
"value": ""
},
{
"property": "unit_of_measurement",
"value": "VA"
},
{
"property": "state_class",
"value": "total_increasing"
},
{
"property": "last_reset",
"value": ""
}
],
"state": "payload",
"stateType": "msg",
"attributes": [
{
"property": "",
"value": "",
"valueType": "str"
}
],
"resend": true,
"outputLocation": "",
"outputLocationType": "none",
"inputOverride": "allow",
"outputOnStateChange": false,
"outputPayload": "$entity().state ? \"on\": \"off\"",
"outputPayloadType": "jsonata",
"x": 1110,
"y": 800,
"wires": [
[
"ebccfbcd1693241a"
]
]
},
{
"id": "c98b49c0528395e2",
"type": "ha-entity",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "tarif",
"server": "649203dce6edd985",
"version": 2,
"debugenabled": false,
"outputs": 1,
"entityType": "sensor",
"config": [
{
"property": "name",
"value": "EDF_tarif"
},
{
"property": "device_class",
"value": "energy"
},
{
"property": "icon",
"value": ""
},
{
"property": "unit_of_measurement",
"value": ""
},
{
"property": "state_class",
"value": "total_increasing"
},
{
"property": "last_reset",
"value": ""
}
],
"state": "payload",
"stateType": "msg",
"attributes": [
{
"property": "",
"value": "",
"valueType": "str"
}
],
"resend": true,
"outputLocation": "",
"outputLocationType": "none",
"inputOverride": "allow",
"outputOnStateChange": false,
"outputPayload": "$entity().state ? \"on\": \"off\"",
"outputPayloadType": "jsonata",
"x": 1090,
"y": 680,
"wires": [
[]
]
},
{
"id": "a87bec5c950aefb0",
"type": "ha-entity",
"z": "0be5f9a7c9bc39d0",
"g": "b3ec5199a1d3294b",
"name": "index_Total",
"server": "649203dce6edd985",
"version": 2,
"debugenabled": false,
"outputs": 1,
"entityType": "sensor",
"config": [
{
"property": "name",
"value": "EDF_Total"
},
{
"property": "device_class",
"value": "energy"
},
{
"property": "icon",
"value": ""
},
{
"property": "unit_of_measurement",
"value": "kWh"
},
{
"property": "state_class",
"value": "total_increasing"
},
{
"property": "last_reset",
"value": ""
}
],
"state": "payload",
"stateType": "msg",
"attributes": [
{
"property": "",
"value": "",
"valueType": "str"
}
],
"resend": true,
"outputLocation": "",
"outputLocationType": "none",
"inputOverride": "allow",
"outputOnStateChange": false,
"outputPayload": "$entity().state ? \"on\": \"off\"",
"outputPayloadType": "jsonata",
"x": 1750,
"y": 220,
"wires": [
[]
]
},
{
"id": "ce94b2d80e45077c",
"type": "influxdb out",
"z": "0be5f9a7c9bc39d0",
"d": true,
"g": "079335172f2e3c23",
"influxdb": "506ad1a9.81606",
"name": "index HC Semaine Wh",
"measurement": "Wh",
"precision": "",
"retentionPolicy": "",
"database": "",
"retentionPolicyV18Flux": "",
"org": "",
"bucket": "",
"x": 1140,
"y": 300,
"wires": []
},
{
"id": "0f394944cc6a06d7",
"type": "influxdb out",
"z": "0be5f9a7c9bc39d0",
"d": true,
"g": "079335172f2e3c23",
"influxdb": "506ad1a9.81606",
"name": "index HC Weekend Wh",
"measurement": "Wh",
"precision": "",
"retentionPolicy": "",
"database": "",
"retentionPolicyV18Flux": "",
"org": "",
"bucket": "",
"x": 1150,
"y": 440,
"wires": []
},
{
"id": "12361d764336c7aa",
"type": "influxdb out",
"z": "0be5f9a7c9bc39d0",
"d": true,
"g": "079335172f2e3c23",
"influxdb": "506ad1a9.81606",
"name": "index HP Weekend Wh",
"measurement": "Wh",
"precision": "",
"retentionPolicy": "",
"database": "",
"retentionPolicyV18Flux": "",
"org": "",
"bucket": "",
"x": 1150,
"y": 500,
"wires": []
},
{
"id": "3dd76d906942081d",
"type": "influxdb out",
"z": "0be5f9a7c9bc39d0",
"d": true,
"g": "079335172f2e3c23",
"influxdb": "506ad1a9.81606",
"name": "index HC Mercredi Wh",
"measurement": "Wh",
"precision": "",
"retentionPolicy": "",
"database": "",
"retentionPolicyV18Flux": "",
"org": "",
"bucket": "",
"x": 1140,
"y": 560,
"wires": []
},
{
"id": "a5e2254ababb1238",
"type": "influxdb out",
"z": "0be5f9a7c9bc39d0",
"d": true,
"g": "079335172f2e3c23",
"influxdb": "506ad1a9.81606",
"name": "index HP Mercredi Wh",
"measurement": "Wh",
"precision": "",
"retentionPolicy": "",
"database": "",
"retentionPolicyV18Flux": "",
"org": "",
"bucket": "",
"x": 1140,
"y": 620,
"wires": []
},
{
"id": "1dc1403bf5820fd5",
"type": "calculator",
"z": "0be5f9a7c9bc39d0",
"g": "b3ec5199a1d3294b",
"name": "",
"inputMsgField": "payload",
"outputMsgField": "payload",
"operation": "div",
"constant": "1000",
"round": false,
"decimals": 0,
"x": 1610,
"y": 100,
"wires": [
[
"87d8e230ce9ab1e4"
]
]
},
{
"id": "cf41ea9d45fec0cd",
"type": "calculator",
"z": "0be5f9a7c9bc39d0",
"g": "079335172f2e3c23",
"name": "",
"inputMsgField": "payload",
"outputMsgField": "payload",
"operation": "div",
"constant": "1000",
"round": false,
"decimals": 0,
"x": 1090,
"y": 400,
"wires": [
[
"9e61014055b6a5ab"
]
]
},
{
"id": "3447143f41d5430e",
"type": "calculator",
"z": "0be5f9a7c9bc39d0",
"g": "b3ec5199a1d3294b",
"name": "",
"inputMsgField": "payload",
"outputMsgField": "payload",
"operation": "div",
"constant": "1000",
"round": false,
"decimals": 0,
"x": 1610,
"y": 220,
"wires": [
[
"a87bec5c950aefb0"
]
]
},
{
"id": "d563729e7bf63bcb",
"type": "serial-port",
"serialport": "/dev/ttyUSB0",
"serialbaud": "9600",
"databits": "7",
"parity": "even",
"stopbits": "1",
"waitfor": "",
"dtr": "none",
"rts": "none",
"cts": "none",
"dsr": "none",
"newline": "0x3",
"bin": "false",
"out": "char",
"addchar": "",
"responsetimeout": "10000"
},
{
"id": "02461640e6341b3e",
"type": "mqtt-broker",
"name": "jeedom",
"broker": "10.0.0.35",
"port": "1883",
"clientid": "",
"autoConnect": true,
"usetls": false,
"protocolVersion": "4",
"keepalive": "60",
"cleansession": true,
"birthTopic": "",
"birthQos": "0",
"birthPayload": "",
"birthMsg": {},
"closeTopic": "",
"closeQos": "0",
"closePayload": "",
"closeMsg": {},
"willTopic": "",
"willQos": "0",
"willPayload": "",
"willMsg": {},
"sessionExpiry": ""
},
{
"id": "649203dce6edd985",
"type": "server",
"name": "Home Assistant",
"version": 4,
"addon": false,
"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"
},
{
"id": "506ad1a9.81606",
"type": "influxdb",
"hostname": "10.0.0.34",
"port": "8086",
"protocol": "http",
"database": "edf",
"name": "EDF",
"usetls": false,
"tls": "",
"influxdbVersion": "1.x",
"url": "",
"rejectUnauthorized": false
}
]
Dans mon configuration.yaml j’ai ajouté des utility meter :
utility_meter:
energie_bimensuelle_heures_pleines_heure_pleine:
source: sensor.edf_index_hp
cycle: bimonthly
offset:
days: 7
hours: 0
minutes: 0
energie_mensuelle_heures_pleines_heure_pleine:
source: sensor.edf_index_hp
cycle: monthly
energie_quotidienne_heures_pleines_heure_pleine:
source: sensor.edf_index_hp
cycle: daily
energie_bimensuelle_heures_creuses_heure_creuse:
source: sensor.edf_index_hc
cycle: bimonthly
offset:
days: 7
hours: 0
minutes: 0
energie_mensuelle_heures_creuses_heure_creuse:
source: sensor.edf_index_hc
cycle: monthly
energie_quotidienne_heures_creuses_heure_creuse:
source: sensor.edf_index_hc
cycle: daily
energie_bimensuelle_totale:
source: sensor.edf_total
cycle: bimonthly
offset:
days: 7
hours: 0
minutes: 0
energie_mensuelle_totale:
source: sensor.edf_total
cycle: monthly
energie_quotidienne_totale:
source: sensor.edf_total
cycle: daily
Etant en mode package j’ai créé un fichier elec.yaml avec :
input_number:
conso_abt_mensuel:
name: Conso - Abt
mode: box
min: 0
max: 100
unit_of_measurement: "€/2 mois"
icon: mdi:currency-eur
conso_taxe_cta:
name: Taxe - CTA
mode: box
min: 0
max: 100
unit_of_measurement: "€/2 mois"
icon: mdi:currency-eur
conso_taxe_cspe:
name: Taxe - CSPE
mode: box
min: 0
max: 100
unit_of_measurement: "€/kWh"
icon: mdi:currency-eur
conso_taxe_tcfe:
name: Taxe - TCFE
mode: box
min: 0
max: 100
unit_of_measurement: "€/kWh"
icon: mdi:currency-eur
conso_prix_hp:
name: HP - Coût du Kwh
mode: box
min: 0
max: 100
unit_of_measurement: "€/kWh"
icon: mdi:currency-eur
conso_prix_hc:
name: HC - Coût du Kwh
mode: box
min: 0
max: 100
unit_of_measurement: "€/kWh"
icon: mdi:currency-eur
prod_prix:
name: Prix du Kwh prod
mode: box
min: 0
max: 100
unit_of_measurement: "€/kWh"
icon: mdi:currency-eur
cumulative_energy_cost:
name: Cumulative Energy Cost
mode: box
min: 0
max: 5000
unit_of_measurement: "€"
icon: mdi:currency-eur
yesterday_energy_cost:
name: Yesterday Energy Cost
mode: box
min: 0
max: 5000
unit_of_measurement: "€"
icon: mdi:currency-eur
template:
- sensor:
- name: hp_cout_jour
state: "{{ (states('sensor.energie_quotidienne_heures_pleines_heure_pleine')|float * states('input_number.conso_prix_hp')|float)|round(2) }}"
- name: hc_cout_jour
state: "{{ (states('sensor.energie_quotidienne_heures_creuses_heure_creuse')|float * states('input_number.conso_prix_hc')|float)|round(2) }}"
- name: cout_jour
state: "{{ (states('sensor.hp_cout_jour')|float + states('sensor.hc_cout_jour')|float)|round(2) }}"
- name: cost_yesterday_display
state: "{{ states('input_number.yesterday_energy_cost')|float|round(2) }}"
- name: hp_cout_mensuel
state: "{{ (states('sensor.energie_mensuelle_heures_pleines_heure_pleine')|float * states('input_number.conso_prix_hp')|float)|round(2) }}"
- name: hc_cout_mensuel
state: "{{ (states('sensor.energie_mensuelle_heures_creuses_heure_creuse')|float * states('input_number.conso_prix_hc')|float)|round(2) }}"
- name: cout_mensuel
state: "{{ (states('sensor.hp_cout_mensuel')|float * states('sensor.hc_cout_mensuel')|float)|round(2) }}"
- name: hp_cout_bimensuel
state: "{{ (states('sensor.energie_bimensuelle_heures_pleines_heure_pleine')|float * states('input_number.conso_prix_hp')|float)|round(2) }}"
- name: hc_cout_bimensuel
state: "{{ (states('sensor.energie_bimensuelle_heures_creuses_heure_creuse')|float * states('input_number.conso_prix_hc')|float)|round(2) }}"
- name: cout_bimensuel_cspe
state: "{{ (states('sensor.energie_bimensuelle_totale')|float * states('input_number.conso_taxe_cspe')|float)|round(2) }}"
- name: cout_bimensuel_tcfe
state: "{{ (states('sensor.energie_bimensuelle_totale')|float * states('input_number.conso_taxe_tcfe')|float)|round(2) }}"
- name: cout_bimensuel_facture
state: "{{ (states('sensor.cout_bimensuel_cspe')|float + states('sensor.cout_bimensuel_tcfe')|float + states('sensor.hp_cout_bimensuel')|float + states('input_number.conso_abt_mensuel')|float + states('input_number.conso_taxe_cta')|float + states('sensor.hc_cout_bimensuel')|float)|round(2) }}"
- name: prod_annuelle
state: "{{ (states('sensor.prodaujourd')|float * states('input_number.prod_prix')|float)|round(2) }}"
Coté lovelace j’ai repris divers éléments grâce notamment à @Herbs et le tableau energy de ha :
type: vertical-stack
cards:
- type: custom:mushroom-title-card
title: ⚡ SUIVI ENERGETIQUE ⚡
alignment: center
- type: markdown
content: >-
## <center> Tarif en cours : {% if is_state('sensor.edf_tarif', ' HP
SEMAINE ') %} HP {% else %} HC {% endif %}
- type: custom:swipe-card
cards:
- type: entities
entities:
- label: 'Coûts HP / HC :'
type: section
- entities:
- entity: sensor.hp_cout_jour
name: HP
- entity: sensor.hc_cout_jour
name: HC
entity: sensor.cout_jour
icon: mdi:currency-eur
name: Journée en cours
secondary_info: last-changed
show_state: false
type: custom:multiple-entity-row
- entities:
- entity: sensor.hp_cout_bimensuel
name: HP
- entity: sensor.hc_cout_bimensuel
name: HC
entity: sensor.cout_mensuel
icon: mdi:currency-eur
name: Bimensuel en cours
secondary_info: last-changed
show_state: false
type: custom:multiple-entity-row
- label: 'Coût cummulé :'
type: section
- entities:
- entity: sensor.cout_jour
name: Aujourd'hui
- entity: sensor.cost_yesterday_display
name: Hier
entity: sensor.cout_bimensuel_facture
icon: mdi:currency-eur
name: Journées
secondary_info: last-changed
show_state: false
toggle: true
type: custom:multiple-entity-row
- label: 'Coût :'
type: section
- entity: sensor.cout_bimensuel_facture
name: Facture Bimensuelle TTC
icon: mdi:currency-eur
- label: 'Recette :'
type: section
- entity: sensor.prod_annuelle
name: Facture Production Annuelle TTC
icon: mdi:currency-eur
- entities:
- entity: input_number.conso_abt_mensuel
- entity: input_number.conso_taxe_cspe
- entity: input_number.conso_taxe_cta
- entity: input_number.conso_taxe_tcfe
- entity: input_number.conso_prix_hp
- entity: input_number.conso_prix_hc
- entity: input_number.prod_prix
head:
label: Tarifs EDF
type: section
padding: 0
type: custom:fold-entity-row
- entities:
- label: Journée en cours
type: section
- entity: sensor.energie_quotidienne_heures_pleines_heure_pleine
name: Tarif HP
- entity: sensor.energie_quotidienne_heures_creuses_heure_creuse
name: Tarif HC
- entity: sensor.energie_quotidienne_totale
name: Total
- label: Mois en cours
type: section
- entity: sensor.energie_mensuelle_heures_pleines_heure_pleine
name: Tarif HP
- entity: sensor.energie_mensuelle_heures_creuses_heure_creuse
name: Tarif HC
- entity: sensor.energie_mensuelle_totale
name: Total
- label: Bimensuel en cours
type: section
- entity: sensor.energie_bimensuelle_heures_pleines_heure_pleine
name: Tarif HP
- entity: sensor.energie_bimensuelle_heures_creuses_heure_creuse
name: Tarif HC
- entity: sensor.energie_bimensuelle_totale
name: Total
- type: divider
- entity: input_number.cumulative_energy_cost
- entity: input_number.yesterday_energy_cost
head:
label: Compteurs d'énergie
type: section
padding: 0
type: custom:fold-entity-row
- entities:
- entity: sensor.edf_index_hc
name: 'Conso : HC'
- entity: sensor.edf_index_hp
name: 'Conso : HP'
- entity: sensor.edf_total
name: 'Conso : Total'
- entity: sensor.prodaujourd
name: 'Prod : Total'
head:
label: Compteur Kwh
type: section
padding: 0
type: custom:fold-entity-row
show_header_toggle: false
- type: vertical-stack
cards:
- type: markdown
content: '## <center> Heures Pleines'
- type: custom:card-templater
card:
type: entities
entities:
- entity: sensor.energie_bimensuelle_heures_pleines_heure_pleine
name: Heures pleines Bimensuelles
- entity: sensor.energie_mensuelle_heures_pleines_heure_pleine
name: Heures pleines Mensuelles
- entity: sensor.energie_quotidienne_heures_pleines_heure_pleine
name: Heures pleines Quotidiennes
entities:
- entity: sensor.energie_bimensuelle_heures_pleines_heure_pleine
state_template: >
{{
states('sensor.energie_bimensuelle_heures_pleines_heure_pleine')
| round(2) }}
- entity: sensor.energie_mensuelle_heures_pleines_heure_pleine
state_template: >
{{
states('sensor.energie_mensuelle_heures_pleines_heure_pleine')
| round(2) }}
- entity: sensor.energie_quotidienne_heures_pleines_heure_pleine
state_template: >
{{
states('sensor.energie_quotidienne_heures_pleines_heure_pleine')
| round(0) }}
- type: markdown
content: '## <center> Heures Creuses'
- type: custom:card-templater
card:
type: entities
entities:
- entity: sensor.energie_bimensuelle_heures_creuses_heure_creuse
name: Heures creuses Bimensuelles
- entity: sensor.energie_mensuelle_heures_creuses_heure_creuse
name: Heures creuses Mensuelles
- entity: sensor.energie_quotidienne_heures_creuses_heure_creuse
name: Heures creuses Quotidiennes
entities:
- entity: sensor.energie_bimensuelle_heures_creuses_heure_creuse
state_template: >
{{
states('sensor.energie_bimensuelle_heures_creuses_heure_creuse')
| round(2) }}
- entity: sensor.energie_mensuelle_heures_creuses_heure_creuse
state_template: >
{{
states('sensor.energie_mensuelle_heures_creuses_heure_creuse')
| round(2) }}
- entity: sensor.energie_quotidienne_heures_creuses_heure_creuse
state_template: >
{{
states('sensor.energie_quotidienne_heures_creuses_heure_creuse')
| round(0) }}
- type: markdown
content: '## <center> Conso Totale'
- type: custom:card-templater
card:
type: entities
entities:
- entity: sensor.energie_bimensuelle_totale
name: Total Bimensuel
- entity: sensor.energie_mensuelle_totale
name: Total Mensuel
- entity: sensor.energie_quotidienne_totale
name: Total Quotidien
entities:
- entity: sensor.energie_bimensuelle_totale
state_template: |
{{ states('sensor.energie_bimensuelle_totale') | round(2) }}
- entity: sensor.energie_mensuelle_totale
state_template: |
{{ states('sensor.energie_mensuelle_totale') | round(2) }}
- entity: sensor.energie_quotidienne_totale
state_template: |
{{ states('sensor.energie_quotidienne_totale') | round(0) }}
- type: entities
title: Eaton
show_header_toggle: false
entities:
- type: custom:hui-vertical-stack-card
cards:
- type: horizontal-stack
cards:
- type: picture
style: |
ha-card {
width: 70%;
background: none;
box-shadow: none;
}
image: /local/images/Eaton.png
- type: vertical-stack
cards:
- type: custom:bar-card
title_position: inside
name: Utilisation
show_icon: true
align: split
columns: 1
max: 100
unit_of_measurement: '%'
severity:
- color: Green
from: 0
to: 25
- color: Blue
from: 26
to: 50
- color: Orange
from: 51
to: 80
- color: Red
from: 81
to: 100
style: |
ha-card {
background: none;
box-shadow: none;
}
entity: sensor.ups_load_2
- type: custom:bar-card
title_position: inside
icon: mdi:battery
name: Charge
show_icon: true
align: split
columns: 1
max: 100
unit_of_measurement: '%'
severity:
- color: Red
from: 0
to: 25
- color: Orange
from: 26
to: 50
- color: Green
from: 51
to: 100
style: |
ha-card {
background: none;
box-shadow: none;
}
entity: sensor.ups_battery_charge_2
- entities:
- entity: sensor.ups_status_2
name: Etat
- entity: sensor.ups_output_voltage
name: Tension de sortie
type: glance
style: |
ha-card {
background: none;
}
state_color: true
- type: horizontal-stack
cards:
- type: custom:button-card
entity: sensor.ecowatt_level_now
name: Now
template: ecowatt
- type: custom:button-card
entity: sensor.ecowatt_level_today
name: Today
template: ecowatt
- type: custom:button-card
entity: sensor.ecowatt_level_tomorrow
name: N +1d
template: ecowatt
- type: custom:button-card
entity: sensor.ecowatt_level_in_2_days
name: N +2d
template: ecowatt
- type: custom:swipe-card
cards:
- type: custom:apexcharts-card
graph_span: 7d
span:
end: day
stacked: true
show:
last_updated: true
header:
show: true
show_states: true
colorize_states: true
series:
- entity: sensor.energie_quotidienne_heures_pleines_heure_pleine
type: column
color: '#1781d8'
name: Heures pleines
group_by:
duration: 1d
func: max
- entity: sensor.energie_quotidienne_heures_creuses_heure_creuse
type: column
color: '#d66920'
name: Heures creuses
group_by:
duration: 1d
func: max
- type: vertical-stack
cards:
- type: energy-date-selection
card_mod:
style: |
ha-card {
background: none;
box-shadow: none;
}
- type: energy-usage-graph
card_mod:
style: |
ha-card {
background: none;
box-shadow: none;
}
- type: vertical-stack
cards:
- type: energy-date-selection
card_mod:
style: |
ha-card {
background: none;
box-shadow: none;
}
- type: energy-solar-graph
card_mod:
style: |
ha-card {
background: none;
box-shadow: none;
}
- type: energy-sources-table
card_mod:
style: |
ha-card {
background: none;
box-shadow: none;
}
- type: energy-distribution
card_mod:
style: |
ha-card {
background: none;
box-shadow: none;
}
- type: horizontal-stack
cards:
- type: gauge
min: 0
max: 90
entity: sensor.edf_intensite
severity:
green: 0
yellow: 55
red: 65
needle: true
name: Intensité
unit: A
- type: gauge
entity: sensor.edf_puissance
min: 0
max: 20340
severity:
green: 0
yellow: 12450
red: 14690
needle: true
name: Puissance
unit: V
- type: energy-carbon-consumed-gauge
card_mod:
style: |
ha-card {
background: none;
box-shadow: none;
}
je l’ai faite en mode swipe pour ne pas encombrer mon lovelace.
Enfin j’ai créé une automation pour transformer la conso du jour en coso hier à 23h59 :
alias: daily_energy_use_message
description: ""
trigger:
- platform: time
at: "23:59:55"
condition: []
action:
- service: input_number.set_value
data:
value: >-
{{ states('input_number.cumulative_energy_cost')|float +
states('sensor.cout_jour')|float }}
target:
entity_id: input_number.cumulative_energy_cost
- service: input_number.set_value
data:
value: "{{ states('sensor.cout_jour')|float }}"
target:
entity_id: input_number.yesterday_energy_cost
- service: notify.mobile_app_honor
data:
title: "*Information*"
message: >-
"La consommation de la journée écoulée est de {{
states('sensor.energie_quotidienne_totale') }} kWh., soit {{
states('sensor.cost_yesterday_display') }} €"
mode: single
Je me suis donc aidé du forum et du site mycanaletto pour essayer d’en faire ça.
Si vous avez des améliorations ou corrections elles sont bienvenues.