49 KiB
49 KiB
https://95598.csg.cn/ucs/ma/wt/center/loginByPwdAndMsg
rPP8KQa4bMsYfb1WJk39bLN269jnH0ylJLR8lg3OaZiQ0cL7c2bl0j6xi4tNl5fRVNCzUm+NSElK8QRuJt3+GfxP2hEDH1cy41ouOKTg85A4/OqkOJvcXaEmY0Kx5CPEH97XdZOjhxfN37uhx3C4V/csLWCMmskcR8V7zViZ1Bw=
[
{
"id":"70a132e8642a3f17",
"type":"tab",
"label":"CSG-Web",
"disabled":false,
"info":"",
"env":[
]
},
{
"id":"d78eba36a05463ae",
"type":"inject",
"z":"70a132e8642a3f17",
"name":"refresh token",
"props":[
{
"p":"payload"
},
{
"p":"topic",
"vt":"str"
}
],
"repeat":"1800",
"crontab":"",
"once":true,
"onceDelay":0.1,
"topic":"",
"payload":"",
"payloadType":"date",
"x":140,
"y":40,
"wires":[
[
"68f242dd11ffd2df"
]
]
},
{
"id":"68f242dd11ffd2df",
"type":"function",
"z":"70a132e8642a3f17",
"name":"手工:设置环境",
"func":"//------------以下内容需要初始化start\n//web页面调试得到的值\n//登陆请求的payload\nvar login_request_body = {\n \"param\": \"you login param\"\n};\n//网关路由,不同地区可能稍有不同\nvar gateway = \"/ucs/ma/wt\";\n//------------以下内容需要初始化end\n\n\n\nvar login = gateway + '/center/login';\n//查询用户id\nvar queryBindEleUsers = gateway + '/eleCustNumber/queryBindEleUsers';\n//用电日历\nvar queryDayElectricByMPoint = gateway + '/charge/queryDayElectricByMPoint';\n//查询上个周期账单\nvar queryLatelyBillElec = gateway + '/charge/queryLatelyBillElec';\n//获取年度电费明细\nvar getAnalyzeFeeDetails = gateway + '/charge/getAnalyzeFeeDetails';\n//获取账户明细\nvar queryUserAccountNumberSurplus = gateway + '/charge/queryUserAccountNumberSurplus';\n\nflow.set(\"login_request_body\", login_request_body);\n\nvar host = \"https://95598.csg.cn\";\nflow.set('login_url', host + login);\nflow.set('queryBindEleUsers_url', host + queryBindEleUsers);\nglobal.set('queryDayElectricByMPoint_url', host + queryDayElectricByMPoint);\nglobal.set('queryLatelyBillElec_url', host + queryLatelyBillElec);\nglobal.set('getAnalyzeFeeDetails_url', host + getAnalyzeFeeDetails);\nglobal.set('queryUserAccountNumberSurplus_url', host + queryUserAccountNumberSurplus);\n//----调试用\n// global.set('headers',);\n// global.set('bindingId',);\n\nreturn msg;",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":340,
"y":40,
"wires":[
[
"6fa8b8b472e60cc1"
]
]
},
{
"id":"6fa8b8b472e60cc1",
"type":"switch",
"z":"70a132e8642a3f17",
"name":"judge headers",
"property":"headers",
"propertyType":"global",
"rules":[
{
"t":"null"
},
{
"t":"nnull"
}
],
"checkall":"true",
"repair":false,
"outputs":2,
"x":540,
"y":40,
"wires":[
[
"f38d3bcab9b9895e"
],
[
"43a5c83c1802c11e"
]
]
},
{
"id":"f38d3bcab9b9895e",
"type":"function",
"z":"70a132e8642a3f17",
"name":"parms",
"func":"global.set(\"headers\",);\nglobal.set(\"bindingId\",);\n\nmsg.url = flow.get(\"login_url\");\n\nmsg.headers = {\n 'need-crypto': 'true'\n};\nmsg.payload = flow.get(\"login_request_body\");\nreturn msg;",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":130,
"y":140,
"wires":[
[
"4de928d88d602e98"
]
]
},
{
"id":"c8579e962f91c95b",
"type":"debug",
"z":"70a132e8642a3f17",
"name":"print headers",
"active":false,
"tosidebar":true,
"console":false,
"tostatus":false,
"complete":"$globalContext(\"headers\")",
"targetType":"jsonata",
"statusVal":"",
"statusType":"auto",
"x":410,
"y":280,
"wires":[
]
},
{
"id":"4de928d88d602e98",
"type":"http request",
"z":"70a132e8642a3f17",
"name":"login request",
"method":"POST",
"ret":"obj",
"paytoqs":"ignore",
"url":"",
"tls":"",
"persist":true,
"proxy":"",
"insecureHTTPParser":false,
"authType":"",
"senderr":false,
"headers":[
],
"x":330,
"y":140,
"wires":[
[
"3259b9644949bdc0"
]
]
},
{
"id":"3259b9644949bdc0",
"type":"switch",
"z":"70a132e8642a3f17",
"name":"judge sta",
"property":"payload.sta",
"propertyType":"msg",
"rules":[
{
"t":"eq",
"v":"00",
"vt":"str"
}
],
"checkall":"true",
"repair":false,
"outputs":1,
"x":520,
"y":140,
"wires":[
[
"f8b4491a33b0db96"
]
]
},
{
"id":"f8b4491a33b0db96",
"type":"function",
"z":"70a132e8642a3f17",
"name":"set headers",
"func":"if (msg.payload.sta == \"00\") {\n var alteonP = msg.headers[\"set-cookie\"][0];\n var x_auth_token = msg.headers[\"x-auth-token\"];\n var cookie = {\n 'Cookie': 'is-login=true;' + alteonP + ';' + \"token=\" + x_auth_token\n };\n var headers = {\n 'x-auth-token': x_auth_token,\n 'Cookie': cookie\n };\n global.set(\"headers\", headers);\n}\n\nreturn msg;",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":710,
"y":140,
"wires":[
[
"43a5c83c1802c11e"
]
]
},
{
"id":"43a5c83c1802c11e",
"type":"function",
"z":"70a132e8642a3f17",
"name":"parms",
"func":"msg.url = flow.get(\"queryBindEleUsers_url\");\n\nmsg.headers = global.get(\"headers\");\n\nmsg.payload = \"\";\n\nreturn msg;",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":110,
"y":220,
"wires":[
[
"bc3889186f252bc8",
"c8579e962f91c95b"
]
]
},
{
"id":"160bf8da74db98ff",
"type":"switch",
"z":"70a132e8642a3f17",
"name":"judge sta",
"property":"payload.sta",
"propertyType":"msg",
"rules":[
{
"t":"eq",
"v":"00",
"vt":"str"
},
{
"t":"neq",
"v":"00",
"vt":"str"
}
],
"checkall":"true",
"repair":false,
"outputs":2,
"x":700,
"y":220,
"wires":[
[
"21c7dba7fe0522b0"
],
[
"f38d3bcab9b9895e"
]
]
},
{
"id":"21c7dba7fe0522b0",
"type":"function",
"z":"70a132e8642a3f17",
"name":"set bindingId & areaCode",
"func":"if (msg.payload.sta == \"00\") {\n global.set(\"bindingId\", msg.payload.data[0].bindingId);\n global.set(\"areaCode\", msg.payload.data[0].areaCode);\n}\n\nreturn msg;",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":930,
"y":220,
"wires":[
[
"1bd7784ffbed3f73"
]
]
},
{
"id":"bc3889186f252bc8",
"type":"http request",
"z":"70a132e8642a3f17",
"name":"queryBindEleUsers request",
"method":"POST",
"ret":"obj",
"paytoqs":"ignore",
"url":"",
"tls":"",
"persist":true,
"proxy":"",
"insecureHTTPParser":false,
"authType":"",
"senderr":false,
"headers":[
],
"x":460,
"y":220,
"wires":[
[
"160bf8da74db98ff",
"a1987beb19a366f0"
]
]
},
{
"id":"1bd7784ffbed3f73",
"type":"debug",
"z":"70a132e8642a3f17",
"name":"print bindingId",
"active":false,
"tosidebar":true,
"console":false,
"tostatus":false,
"complete":"$globalContext(\"bindingId\")",
"targetType":"jsonata",
"statusVal":"",
"statusType":"auto",
"x":1160,
"y":220,
"wires":[
]
},
{
"id":"a704c1fba120eb99",
"type":"inject",
"z":"70a132e8642a3f17",
"name":"timestamp",
"props":[
{
"p":"payload"
},
{
"p":"topic",
"vt":"str"
}
],
"repeat":"",
"crontab":"00 08 * * *",
"once":true,
"onceDelay":"30",
"topic":"",
"payload":"",
"payloadType":"date",
"x":110,
"y":380,
"wires":[
[
"0449970f69815f7b"
]
]
},
{
"id":"13f1892ed45f7ca9",
"type":"function",
"z":"70a132e8642a3f17",
"name":"parms",
"func":"msg.url = global.get(\"queryDayElectricByMPoint_url\");\nmsg.headers = global.get(\"headers\");\n\nmsg.payload = {\n \"eleCustId\": global.get(\"bindingId\"),\n \"areaCode\": global.get(\"areaCode\"),\n \"yearMonth\": flow.get(\"time\")\n}\n\nreturn msg;",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":310,
"y":580,
"wires":[
[
"c6171a1c5545c6b6"
]
]
},
{
"id":"0449970f69815f7b",
"type":"moment",
"z":"70a132e8642a3f17",
"name":"set year month",
"topic":"",
"input":"payload",
"inputType":"msg",
"inTz":"Asia/Shanghai",
"adjAmount":"1",
"adjType":"days",
"adjDir":"subtract",
"format":"YYYYMM",
"locale":"C",
"output":"time",
"outputType":"flow",
"outTz":"Asia/Shanghai",
"x":120,
"y":460,
"wires":[
[
"40bf5364f75c47cb",
"6a0a1ad0bbdf4a9f"
]
]
},
{
"id":"c6171a1c5545c6b6",
"type":"http request",
"z":"70a132e8642a3f17",
"name":"queryDayElectricByMPoint",
"method":"POST",
"ret":"obj",
"paytoqs":"ignore",
"url":"",
"tls":"",
"persist":true,
"proxy":"",
"insecureHTTPParser":false,
"authType":"",
"senderr":false,
"headers":[
],
"x":400,
"y":480,
"wires":[
[
"5df9badb7e0bd0f4",
"d84bdc5152c9a72b",
"0e564672a07df746",
"533a26f4b28aa099",
"7be86af5844547ac",
"c542eab5ab16f7b3"
]
]
},
{
"id":"5df9badb7e0bd0f4",
"type":"function",
"z":"70a132e8642a3f17",
"name":"获取最近日电量(有1-2天延迟)",
"func":"var arr = msg.payload.data.result; \nvar lastDate = arr[arr.length - 1].date; \nvar lastDatePower = arr[arr.length - 1].power;\n\nmsg.payload = {};\nmsg.payload.lastDate = lastDate;\nmsg.payload.lastDatePower = lastDatePower;\nmsg.payload.lastDatePowerDesc = lastDate + \"\\u3000\" + lastDatePower;\nreturn msg;",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":770,
"y":340,
"wires":[
[
"018e513df4dfd26b"
]
]
},
{
"id":"018e513df4dfd26b",
"type":"ha-entity",
"z":"70a132e8642a3f17",
"name":"最近日电量",
"server":"8473da4d3c8e0016",
"version":2,
"debugenabled":false,
"outputs":1,
"entityType":"sensor",
"config":[
{
"property":"name",
"value":"LastDate_Power"
},
{
"property":"device_class",
"value":"energy"
},
{
"property":"icon",
"value":"mdi:home-lightning-bolt"
},
{
"property":"unit_of_measurement",
"value":"kWh"
},
{
"property":"state_class",
"value":"total"
},
{
"property":"last_reset",
"value":""
}
],
"state":"payload.lastDatePower",
"stateType":"msg",
"attributes":[
{
"property":"lastDatePower",
"value":"payload.lastDatePower",
"valueType":"msg"
},
{
"property":"lastDate",
"value":"payload.lastDate",
"valueType":"msg"
},
{
"property":"lastDatePowerDesc",
"value":"payload.lastDatePowerDesc",
"valueType":"msg"
}
],
"resend":true,
"outputLocation":"payload",
"outputLocationType":"none",
"inputOverride":"allow",
"outputOnStateChange":false,
"outputPayload":"",
"outputPayloadType":"str",
"x":1010,
"y":340,
"wires":[
[
]
]
},
{
"id":"d84bdc5152c9a72b",
"type":"function",
"z":"70a132e8642a3f17",
"name":"获取当月总电量",
"func":"var Power = msg.payload.data.totalPower;\n\nmsg.payload = {};\n\nmsg.payload.Power = parseFloat(Power);\nreturn msg;",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":720,
"y":520,
"wires":[
[
"6505d98d229d41b5"
]
]
},
{
"id":"6505d98d229d41b5",
"type":"ha-entity",
"z":"70a132e8642a3f17",
"name":"当月电量",
"server":"8473da4d3c8e0016",
"version":2,
"debugenabled":false,
"outputs":1,
"entityType":"sensor",
"config":[
{
"property":"name",
"value":"CurMonth_Power"
},
{
"property":"device_class",
"value":"energy"
},
{
"property":"icon",
"value":"mdi:home-lightning-bolt"
},
{
"property":"unit_of_measurement",
"value":"kWh"
},
{
"property":"state_class",
"value":"total_increasing"
},
{
"property":"last_reset",
"value":""
}
],
"state":"payload.Power",
"stateType":"msg",
"attributes":[
{
"property":"Power",
"value":"payload.Power",
"valueType":"msg"
},
{
"property":"month",
"value":"payload.Month",
"valueType":"msg"
}
],
"resend":true,
"outputLocation":"payload",
"outputLocationType":"none",
"inputOverride":"allow",
"outputOnStateChange":false,
"outputPayload":"",
"outputPayloadType":"str",
"x":1000,
"y":520,
"wires":[
[
]
]
},
{
"id":"0e564672a07df746",
"type":"function",
"z":"70a132e8642a3f17",
"name":"查询当月每日明细",
"func":"const unit = \"kwh\\n\";\n\nvar arr = msg.payload.data.result; //数组取值\n\nvar result =\"\";\narr.forEach(function(value, index) {\n result += index + 1 + \"、\" + value.date + \":\" + value.power + unit; \n});\n\nmsg.payload = result;\n\nreturn msg;",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":730,
"y":400,
"wires":[
[
"23996c57fe9f99a5"
]
]
},
{
"id":"23996c57fe9f99a5",
"type":"ha-entity",
"z":"70a132e8642a3f17",
"name":"当月每日明细",
"server":"8473da4d3c8e0016",
"version":2,
"debugenabled":false,
"outputs":1,
"entityType":"sensor",
"config":[
{
"property":"name",
"value":"EveryDay_Power"
},
{
"property":"device_class",
"value":"energy"
},
{
"property":"icon",
"value":"mdi:home-lightning-bolt"
},
{
"property":"unit_of_measurement",
"value":""
},
{
"property":"state_class",
"value":""
},
{
"property":"last_reset",
"value":""
}
],
"state":"everyDayListed",
"stateType":"str",
"attributes":[
{
"property":"everyDayListed",
"value":"payload",
"valueType":"msg"
}
],
"resend":true,
"outputLocation":"payload",
"outputLocationType":"none",
"inputOverride":"allow",
"outputOnStateChange":false,
"outputPayload":"",
"outputPayloadType":"str",
"x":1020,
"y":400,
"wires":[
[
]
]
},
{
"id":"533a26f4b28aa099",
"type":"function",
"z":"70a132e8642a3f17",
"name":"查询当月每日明细2",
"func":"var a = msg.payload.data.result; //数组取值\n\nvar date = a.map((item) => { //取date字段,形成新的数组\n return item.date;\n });\nvar power = a.map((item) => { //取power字段,形成新的数组\n return item.power;\n });\n\nmsg.payload = {\n \"date\" : date,\n \"power\": power\n}\nreturn msg;",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":730,
"y":460,
"wires":[
[
"629369baf3067e34",
"a578e1b4c5e75a22"
]
]
},
{
"id":"629369baf3067e34",
"type":"ha-entity",
"z":"70a132e8642a3f17",
"name":"当月每日明细2",
"server":"8473da4d3c8e0016",
"version":2,
"debugenabled":false,
"outputs":1,
"entityType":"sensor",
"config":[
{
"property":"name",
"value":"EveryDay_Power2"
},
{
"property":"device_class",
"value":"energy"
},
{
"property":"icon",
"value":"mdi:home-lightning-bolt"
},
{
"property":"unit_of_measurement",
"value":""
},
{
"property":"state_class",
"value":""
},
{
"property":"last_reset",
"value":""
}
],
"state":"everyDayListed",
"stateType":"str",
"attributes":[
{
"property":"date",
"value":"payload.date",
"valueType":"msg"
},
{
"property":"power",
"value":"payload.power",
"valueType":"msg"
}
],
"resend":true,
"outputLocation":"payload",
"outputLocationType":"none",
"inputOverride":"allow",
"outputOnStateChange":false,
"outputPayload":"",
"outputPayloadType":"str",
"x":1020,
"y":460,
"wires":[
[
]
]
},
{
"id":"7be86af5844547ac",
"type":"function",
"z":"70a132e8642a3f17",
"name":"当月电费计算",
"func":"//获取当月总用电量\nvar currentMonthPower = parseFloat(msg.payload.data.totalPower);\n\n// var currentMonthPower = 460;\n//获取阶梯电价配置\nvar phase = flow.get(\"phase\").reverse();\n\nvar currentMonthFee = 0.0;\n\nphase.forEach(function (phaseValue) { \n if (currentMonthPower > phaseValue.power) {\n currentMonthFee += Number(phaseValue.price) * (currentMonthPower - phaseValue.power);\n currentMonthPower -= currentMonthPower - phaseValue.power;\n }\n});\n\nmsg.payload.curMonthFee = parseFloat(currentMonthFee.toFixed(2));\n// msg.payload.curMonthFee = parseInt(currentMonthFee);\n\nreturn msg;\n\n// var phase1 = (phase1Power * phase1Price);\n// var phase2 = (phase1Power * phase1Price +((phase2Power - phase1Power) * phase2Price));//定义第2档电量收费\n\n// if(power <= phase1Power){\n// curMonthFee = power * phase1Price //电量*单价\n// }else if(power <= phase2Power){\n// curMonthFee = phase1 + ((power - phase1Power) * phase2Price)\n// }else{\n// curMonthFee = (phase2 + (power - phase2Power) * phase3Price)\n// }\n\n// curMonthFee= (curMonthFee).toFixed(2);\n\n\n// msg.payload.curMonthPower = Power;\n// msg.payload.phase1Price = phase1Price;\n// msg.payload.phase2Price = phase2Price;\n// msg.payload.phase3Price = phase3Price;\n// msg.payload.curMonthFee = curMonthFee;\n// msg.payload.phase1Power = phase1Power;\n// msg.payload.phase2Power = phase2Power;\n// msg.payload.phase1 = phase1;\n// msg.payload.phase2 = phase2;\n// msg.payload.isSummer = isSummer;\n\n/**\n// * 根据输入的电量计算当月电费\n// * @param {number} currentPower\n// */\n// function CalcPowerFee(currentPower){\n// var currentMonthFee = 0.0;\n// phase.forEach(function (price, power) {\n// if (currentPower > power) {\n// currentMonthFee += Number(price) * (currentPower - power);\n// }\n// });\n// return currentMonthFee.toFixed(2);\n// }",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":720,
"y":580,
"wires":[
[
"89baf0e4aa23bcc9"
]
]
},
{
"id":"89baf0e4aa23bcc9",
"type":"ha-entity",
"z":"70a132e8642a3f17",
"name":"预计当月电费",
"server":"8473da4d3c8e0016",
"version":2,
"debugenabled":false,
"outputs":1,
"entityType":"sensor",
"config":[
{
"property":"name",
"value":"CurMonth_Fee"
},
{
"property":"device_class",
"value":"energy"
},
{
"property":"icon",
"value":"mdi:currency-cny"
},
{
"property":"unit_of_measurement",
"value":"CNY"
},
{
"property":"state_class",
"value":"total"
},
{
"property":"last_reset",
"value":""
}
],
"state":"payload.curMonthFee",
"stateType":"msg",
"attributes":[
{
"property":"Fee",
"value":"payload.curMonthFee",
"valueType":"msg"
}
],
"resend":true,
"outputLocation":"payload",
"outputLocationType":"none",
"inputOverride":"allow",
"outputOnStateChange":false,
"outputPayload":"",
"outputPayloadType":"str",
"x":1020,
"y":580,
"wires":[
[
]
]
},
{
"id":"40bf5364f75c47cb",
"type":"function",
"z":"70a132e8642a3f17",
"name":"手工:初始化电价",
"func":"const arrSummer = [5, 6, 7, 8, 9, 10]; //设置5-10为夏季\nconst month = parseInt(flow.get(\"time\").substr(4, 2));\n//如果系统时间的月份数在5-10内,则为夏季,否则为冬季\nconst isSummer = arrSummer.indexOf(month) != -1 ? true : false;\n\n//单价数据来源:https://95598.csg.cn/#/gd/serviceInquire/LRLayer/elePriceInquire\n//定义电价数组,自行通过上述链接查询后填充\nconst phase = [\n {\n \"price\": 0.58886875,\n \"power\": 0\n },\n {\n \"price\": 0.63886875,\n //夏季260,冬季200\n \"power\": isSummer ? 260 : 200\n },\n {\n \"price\": 0.88886875,\n //夏季600,冬季400\n \"power\": isSummer ? 600 : 400\n }\n];\nflow.set(\"phase\",phase);\n\nreturn msg;",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":130,
"y":520,
"wires":[
[
"ebcab05cf5e72e01"
]
]
},
{
"id":"6a0a1ad0bbdf4a9f",
"type":"debug",
"z":"70a132e8642a3f17",
"name":"print time",
"active":false,
"tosidebar":true,
"console":false,
"tostatus":false,
"complete":"$flowContext(\"time\")",
"targetType":"jsonata",
"statusVal":"",
"statusType":"auto",
"x":340,
"y":400,
"wires":[
]
},
{
"id":"ebcab05cf5e72e01",
"type":"switch",
"z":"70a132e8642a3f17",
"name":"judge headers",
"property":"headers",
"propertyType":"global",
"rules":[
{
"t":"nnull"
}
],
"checkall":"true",
"repair":false,
"outputs":1,
"x":120,
"y":580,
"wires":[
[
"13f1892ed45f7ca9",
"da74629af82b6d92",
"910e4009522b96be",
"e53165982311bd50",
"1599a9ce46129107"
]
]
},
{
"id":"c542eab5ab16f7b3",
"type":"debug",
"z":"70a132e8642a3f17",
"name":"print payload",
"active":false,
"tosidebar":true,
"console":false,
"tostatus":false,
"complete":"payload",
"targetType":"msg",
"statusVal":"",
"statusType":"auto",
"x":490,
"y":340,
"wires":[
]
},
{
"id":"da74629af82b6d92",
"type":"function",
"z":"70a132e8642a3f17",
"name":"parms",
"func":"msg.url = global.get(\"queryLatelyBillElec_url\");\n\nmsg.headers = global.get(\"headers\");\n\nmsg.payload = {\n \"eleCustId\": global.get(\"bindingId\"),\n \"areaCode\": global.get(\"areaCode\")\n};\n\nreturn msg;",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":90,
"y":720,
"wires":[
[
"1df787e0b4bf4b49"
]
]
},
{
"id":"1df787e0b4bf4b49",
"type":"http request",
"z":"70a132e8642a3f17",
"name":"queryLatelyBillElec",
"method":"POST",
"ret":"obj",
"paytoqs":"ignore",
"url":"",
"tls":"",
"persist":false,
"proxy":"",
"insecureHTTPParser":false,
"authType":"",
"senderr":false,
"headers":[
],
"x":310,
"y":720,
"wires":[
[
"bb509d4e9e271408"
]
]
},
{
"id":"bb509d4e9e271408",
"type":"function",
"z":"70a132e8642a3f17",
"name":"获取上月电费、上月电量、结算周期数据",
"func":"msg.payload.LastMonthFee = msg.payload.data.totalElectricity;\nmsg.payload.LastMonthPower = msg.payload.data.totalPower;\nmsg.payload.period = msg.payload.data.electricityBillYearMonth;\n\nreturn msg;",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":700,
"y":720,
"wires":[
[
"b6f0b6bfef5e882c",
"07c1d27f0e881e6e",
"1d6debd422b13123"
]
]
},
{
"id":"b6f0b6bfef5e882c",
"type":"ha-entity",
"z":"70a132e8642a3f17",
"name":"上月电量",
"server":"8473da4d3c8e0016",
"version":2,
"debugenabled":false,
"outputs":1,
"entityType":"sensor",
"config":[
{
"property":"name",
"value":"LastMonth_Power"
},
{
"property":"device_class",
"value":"energy"
},
{
"property":"icon",
"value":"mdi:home-lightning-bolt"
},
{
"property":"unit_of_measurement",
"value":"kWh"
},
{
"property":"state_class",
"value":"total"
},
{
"property":"last_reset",
"value":""
}
],
"state":"payload.LastMonthPower",
"stateType":"msg",
"attributes":[
{
"property":"period",
"value":"payload.period",
"valueType":"msg"
},
{
"property":"LastMonthPower",
"value":"payload.LastMonthPower",
"valueType":"msg"
}
],
"resend":true,
"outputLocation":"payload",
"outputLocationType":"none",
"inputOverride":"allow",
"outputOnStateChange":false,
"outputPayload":"",
"outputPayloadType":"str",
"x":1000,
"y":680,
"wires":[
[
]
]
},
{
"id":"07c1d27f0e881e6e",
"type":"ha-entity",
"z":"70a132e8642a3f17",
"name":"上月电费",
"server":"8473da4d3c8e0016",
"version":2,
"debugenabled":false,
"outputs":1,
"entityType":"sensor",
"config":[
{
"property":"name",
"value":"LastMonth_Fee"
},
{
"property":"device_class",
"value":"energy"
},
{
"property":"icon",
"value":"mdi:currency-cny"
},
{
"property":"unit_of_measurement",
"value":"CNY"
},
{
"property":"state_class",
"value":"total"
},
{
"property":"last_reset",
"value":""
}
],
"state":"payload.LastMonthFee",
"stateType":"msg",
"attributes":[
{
"property":"period",
"value":"payload.period",
"valueType":"msg"
}
],
"resend":true,
"outputLocation":"payload",
"outputLocationType":"none",
"inputOverride":"allow",
"outputOnStateChange":false,
"outputPayload":"",
"outputPayloadType":"str",
"x":1000,
"y":760,
"wires":[
[
]
]
},
{
"id":"1d6debd422b13123",
"type":"debug",
"z":"70a132e8642a3f17",
"name":"print payload",
"active":false,
"tosidebar":true,
"console":false,
"tostatus":false,
"complete":"payload",
"targetType":"msg",
"statusVal":"",
"statusType":"auto",
"x":730,
"y":800,
"wires":[
]
},
{
"id":"910e4009522b96be",
"type":"function",
"z":"70a132e8642a3f17",
"name":"parms",
"func":"msg.url = global.get(\"getAnalyzeFeeDetails_url\");\nmsg.headers = global.get(\"headers\");\n\nmsg.payload = {\n \"eleCustId\": global.get(\"bindingId\"),\n \"areaCode\": global.get(\"areaCode\"),\n \"electricityBillYear\": parseInt(flow.get(\"time\").substr(0, 4))\n};\n\nreturn msg;",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":110,
"y":920,
"wires":[
[
"714b47b7b4f25e2b"
]
]
},
{
"id":"714b47b7b4f25e2b",
"type":"http request",
"z":"70a132e8642a3f17",
"name":"getAnalyzeFeeDetails",
"method":"POST",
"ret":"obj",
"paytoqs":"ignore",
"url":"",
"tls":"",
"persist":false,
"proxy":"",
"insecureHTTPParser":false,
"authType":"",
"senderr":false,
"headers":[
],
"x":300,
"y":920,
"wires":[
[
"30dedb1b57915633",
"f2a58d0f23d43621",
"245e6a1c38d5cf40"
]
]
},
{
"id":"30dedb1b57915633",
"type":"function",
"z":"70a132e8642a3f17",
"name":"获取本年电量数据",
"func":"\nmsg.payload.yearFee = msg.payload.data.totalActualAmount;\n\nmsg.payload.yearPower = msg.payload.data.totalBillingElectricity;\n\n\n\n\nreturn msg;",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":630,
"y":940,
"wires":[
[
"437aa8323a0e86ef",
"485f07ce3199bb83"
]
]
},
{
"id":"437aa8323a0e86ef",
"type":"ha-entity",
"z":"70a132e8642a3f17",
"name":"今年总电量",
"server":"8473da4d3c8e0016",
"version":2,
"debugenabled":false,
"outputs":1,
"entityType":"sensor",
"config":[
{
"property":"name",
"value":"year_Power"
},
{
"property":"device_class",
"value":"energy"
},
{
"property":"icon",
"value":"mdi:home-lightning-bolt"
},
{
"property":"unit_of_measurement",
"value":"kWh"
},
{
"property":"state_class",
"value":"total"
},
{
"property":"last_reset",
"value":""
}
],
"state":"payload.yearPower",
"stateType":"msg",
"attributes":[
{
"property":"yearPower",
"value":"payload.yearPower",
"valueType":"msg"
}
],
"resend":true,
"outputLocation":"payload",
"outputLocationType":"none",
"inputOverride":"allow",
"outputOnStateChange":false,
"outputPayload":"",
"outputPayloadType":"str",
"x":1010,
"y":920,
"wires":[
[
]
]
},
{
"id":"485f07ce3199bb83",
"type":"ha-entity",
"z":"70a132e8642a3f17",
"name":"今年总电费",
"server":"8473da4d3c8e0016",
"version":2,
"debugenabled":false,
"outputs":1,
"entityType":"sensor",
"config":[
{
"property":"name",
"value":"year_Fee"
},
{
"property":"device_class",
"value":"energy"
},
{
"property":"icon",
"value":"mdi:currency-cny"
},
{
"property":"unit_of_measurement",
"value":"CNY"
},
{
"property":"state_class",
"value":"total"
},
{
"property":"last_reset",
"value":""
}
],
"state":"payload.yearFee",
"stateType":"msg",
"attributes":[
],
"resend":true,
"outputLocation":"payload",
"outputLocationType":"none",
"inputOverride":"allow",
"outputOnStateChange":false,
"outputPayload":"",
"outputPayloadType":"str",
"x":1010,
"y":980,
"wires":[
[
]
]
},
{
"id":"f2a58d0f23d43621",
"type":"function",
"z":"70a132e8642a3f17",
"name":"获取今年各月明细",
"func":"var a = msg.payload.data.electricAndChargeList; //数组取值\nvar yearMonth = a.map((item, index) => { //取date字段,形成新的数组\n return item.yearMonthStart;\n });\n\n\nvar power = a.map((item, index) => { //取power字段,形成新的数组\n return item.billingElectricity;\n });\n \nvar fee = a.map((item, index) => { //取power字段,形成新的数组\n return item.actualTotalAmount;\n }); \n \n\n \nmsg.payload ={\n \"yearMonth\":yearMonth,\n \"power\":power,\n \"fee\":fee\n}\nreturn msg;\n",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":630,
"y":880,
"wires":[
[
"8b670fac79b6b0dc"
]
]
},
{
"id":"8b670fac79b6b0dc",
"type":"ha-entity",
"z":"70a132e8642a3f17",
"name":"今年各月明细",
"server":"8473da4d3c8e0016",
"version":2,
"debugenabled":false,
"outputs":1,
"entityType":"sensor",
"config":[
{
"property":"name",
"value":"EveryMonth_Power"
},
{
"property":"device_class",
"value":"energy"
},
{
"property":"icon",
"value":"mdi:home-lightning-bolt"
},
{
"property":"unit_of_measurement",
"value":""
},
{
"property":"state_class",
"value":""
},
{
"property":"last_reset",
"value":""
}
],
"state":"everyDayListed",
"stateType":"str",
"attributes":[
{
"property":"yearMonth",
"value":"payload.yearMonth",
"valueType":"msg"
},
{
"property":"power",
"value":"payload.power",
"valueType":"msg"
},
{
"property":"fee",
"value":"payload.fee",
"valueType":"msg"
}
],
"resend":true,
"outputLocation":"payload",
"outputLocationType":"none",
"inputOverride":"allow",
"outputOnStateChange":false,
"outputPayload":"",
"outputPayloadType":"str",
"x":1020,
"y":860,
"wires":[
[
]
]
},
{
"id":"245e6a1c38d5cf40",
"type":"debug",
"z":"70a132e8642a3f17",
"name":"print payload",
"active":false,
"tosidebar":true,
"console":false,
"tostatus":false,
"complete":"payload",
"targetType":"msg",
"statusVal":"",
"statusType":"auto",
"x":610,
"y":1000,
"wires":[
]
},
{
"id":"9f2275baa52b711a",
"type":"function",
"z":"70a132e8642a3f17",
"name":"获取去年电量数据",
"func":"\nmsg.payload.yearFee = msg.payload.data.totalActualAmount;\n\nmsg.payload.yearPower = msg.payload.data.totalBillingElectricity;\n\n\n\n\nreturn msg;",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":630,
"y":1100,
"wires":[
[
"d44043343a455d4a",
"70fa8d114ef045b3"
]
]
},
{
"id":"d44043343a455d4a",
"type":"ha-entity",
"z":"70a132e8642a3f17",
"name":"去年总电量",
"server":"8473da4d3c8e0016",
"version":2,
"debugenabled":false,
"outputs":1,
"entityType":"sensor",
"config":[
{
"property":"name",
"value":"lastYear_Power"
},
{
"property":"device_class",
"value":"energy"
},
{
"property":"icon",
"value":"mdi:home-lightning-bolt"
},
{
"property":"unit_of_measurement",
"value":"kWh"
},
{
"property":"state_class",
"value":"total"
},
{
"property":"last_reset",
"value":""
}
],
"state":"payload.yearPower",
"stateType":"msg",
"attributes":[
{
"property":"yearPower",
"value":"payload.yearPower",
"valueType":"msg"
}
],
"resend":true,
"outputLocation":"payload",
"outputLocationType":"none",
"inputOverride":"allow",
"outputOnStateChange":false,
"outputPayload":"",
"outputPayloadType":"str",
"x":1010,
"y":1060,
"wires":[
[
]
]
},
{
"id":"70fa8d114ef045b3",
"type":"ha-entity",
"z":"70a132e8642a3f17",
"name":"去年总电费",
"server":"8473da4d3c8e0016",
"version":2,
"debugenabled":false,
"outputs":1,
"entityType":"sensor",
"config":[
{
"property":"name",
"value":"lastYear_Fee"
},
{
"property":"device_class",
"value":"energy"
},
{
"property":"icon",
"value":"mdi:currency-cny"
},
{
"property":"unit_of_measurement",
"value":"CNY"
},
{
"property":"state_class",
"value":"total"
},
{
"property":"last_reset",
"value":""
}
],
"state":"payload.yearFee",
"stateType":"msg",
"attributes":[
{
"property":"yearFee",
"value":"payload.yearFee",
"valueType":"msg"
}
],
"resend":true,
"outputLocation":"payload",
"outputLocationType":"none",
"inputOverride":"allow",
"outputOnStateChange":false,
"outputPayload":"",
"outputPayloadType":"str",
"x":1010,
"y":1140,
"wires":[
[
]
]
},
{
"id":"58294338de973b53",
"type":"function",
"z":"70a132e8642a3f17",
"name":"获取去年各月明细",
"func":"var a = msg.payload.data.electricAndChargeList; //数组取值\nvar yearMonth = a.map((item, index) => { //取date字段,形成新的数组\n return item.yearMonthStart;\n });\n\n\nvar power = a.map((item, index) => { //取power字段,形成新的数组\n return item.billingElectricity;\n });\n \nvar fee = a.map((item, index) => { //取power字段,形成新的数组\n return item.actualTotalAmount;\n }); \n \n\n \nmsg.payload ={\n \"yearMonth\":yearMonth,\n \"power\":power,\n \"fee\":fee\n}\nreturn msg;\n",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":630,
"y":1200,
"wires":[
[
"92255df0762477fb"
]
]
},
{
"id":"92255df0762477fb",
"type":"ha-entity",
"z":"70a132e8642a3f17",
"name":"去年各月明细",
"server":"8473da4d3c8e0016",
"version":2,
"debugenabled":false,
"outputs":1,
"entityType":"sensor",
"config":[
{
"property":"name",
"value":"lastYearEveryMonth_Power"
},
{
"property":"device_class",
"value":"energy"
},
{
"property":"icon",
"value":"mdi:home-lightning-bolt"
},
{
"property":"unit_of_measurement",
"value":""
},
{
"property":"state_class",
"value":""
},
{
"property":"last_reset",
"value":""
}
],
"state":"everyDayListed",
"stateType":"str",
"attributes":[
{
"property":"yearMonth",
"value":"payload.yearMonth",
"valueType":"msg"
},
{
"property":"power",
"value":"payload.power",
"valueType":"msg"
},
{
"property":"fee",
"value":"payload.fee",
"valueType":"msg"
}
],
"resend":true,
"outputLocation":"payload",
"outputLocationType":"none",
"inputOverride":"allow",
"outputOnStateChange":false,
"outputPayload":"",
"outputPayloadType":"str",
"x":1020,
"y":1200,
"wires":[
[
]
]
},
{
"id":"e53165982311bd50",
"type":"function",
"z":"70a132e8642a3f17",
"name":"parms",
"func":"msg.url = global.get(\"getAnalyzeFeeDetails_url\");\nmsg.headers = global.get(\"headers\");\n\nmsg.payload = {\n \"eleCustId\": global.get(\"bindingId\"),\n \"areaCode\": global.get(\"areaCode\"),\n \"electricityBillYear\": parseInt(flow.get(\"time\").substr(0, 4)) - 1\n};\n\nreturn msg;",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":110,
"y":1100,
"wires":[
[
"9af09574fdd6755a"
]
]
},
{
"id":"9af09574fdd6755a",
"type":"http request",
"z":"70a132e8642a3f17",
"name":"getAnalyzeFeeDetails",
"method":"POST",
"ret":"obj",
"paytoqs":"ignore",
"url":"",
"tls":"",
"persist":false,
"proxy":"",
"insecureHTTPParser":false,
"authType":"",
"senderr":false,
"headers":[
],
"x":300,
"y":1100,
"wires":[
[
"9f2275baa52b711a",
"58294338de973b53",
"b6c4ce659d5a2acb"
]
]
},
{
"id":"b6c4ce659d5a2acb",
"type":"debug",
"z":"70a132e8642a3f17",
"name":"print payload",
"active":false,
"tosidebar":true,
"console":false,
"tostatus":false,
"complete":"payload",
"targetType":"msg",
"statusVal":"",
"statusType":"auto",
"x":610,
"y":1060,
"wires":[
]
},
{
"id":"a1987beb19a366f0",
"type":"debug",
"z":"70a132e8642a3f17",
"name":"print payload",
"active":false,
"tosidebar":true,
"console":false,
"tostatus":false,
"complete":"payload",
"targetType":"msg",
"statusVal":"",
"statusType":"auto",
"x":710,
"y":280,
"wires":[
]
},
{
"id":"a578e1b4c5e75a22",
"type":"debug",
"z":"70a132e8642a3f17",
"name":"print payload",
"active":false,
"tosidebar":true,
"console":false,
"tostatus":false,
"complete":"payload",
"targetType":"msg",
"statusVal":"",
"statusType":"auto",
"x":1210,
"y":520,
"wires":[
]
},
{
"id":"1599a9ce46129107",
"type":"function",
"z":"70a132e8642a3f17",
"name":"parms",
"func":"msg.url = global.get(\"queryUserAccountNumberSurplus_url\");\nmsg.headers = global.get(\"headers\");\n\nmsg.payload = {\n \"eleCustId\": global.get(\"bindingId\"),\n \"areaCode\": global.get(\"areaCode\")\n};\n\nreturn msg;",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":110,
"y":1300,
"wires":[
[
"42cab46a662c4f40"
]
]
},
{
"id":"42cab46a662c4f40",
"type":"http request",
"z":"70a132e8642a3f17",
"name":"queryUserAccountNumberSurplus",
"method":"POST",
"ret":"obj",
"paytoqs":"ignore",
"url":"",
"tls":"",
"persist":false,
"proxy":"",
"insecureHTTPParser":false,
"authType":"",
"senderr":false,
"headers":[
],
"x":340,
"y":1300,
"wires":[
[
"1544432f98ab15f0"
]
]
},
{
"id":"92581437f66c92f5",
"type":"debug",
"z":"70a132e8642a3f17",
"name":"print payload",
"active":false,
"tosidebar":true,
"console":false,
"tostatus":false,
"complete":"payload",
"targetType":"msg",
"statusVal":"",
"statusType":"auto",
"x":730,
"y":1380,
"wires":[
]
},
{
"id":"1544432f98ab15f0",
"type":"function",
"z":"70a132e8642a3f17",
"name":"获取账户余额",
"func":"msg.payload = parseFloat(msg.payload.data[0].balance);\nreturn msg;\n",
"outputs":1,
"noerr":0,
"initialize":"",
"finalize":"",
"libs":[
],
"x":600,
"y":1300,
"wires":[
[
"92581437f66c92f5",
"f630d5e3bc7c9376"
]
]
},
{
"id":"f630d5e3bc7c9376",
"type":"ha-entity",
"z":"70a132e8642a3f17",
"name":"账户余额",
"server":"8473da4d3c8e0016",
"version":2,
"debugenabled":false,
"outputs":1,
"entityType":"sensor",
"config":[
{
"property":"name",
"value":"electric_account_balance"
},
{
"property":"device_class",
"value":"energy"
},
{
"property":"icon",
"value":"mdi:currency-cny"
},
{
"property":"unit_of_measurement",
"value":"CNY"
},
{
"property":"state_class",
"value":"total"
},
{
"property":"last_reset",
"value":""
}
],
"state":"payload",
"stateType":"msg",
"attributes":[
],
"resend":true,
"outputLocation":"payload",
"outputLocationType":"none",
"inputOverride":"allow",
"outputOnStateChange":false,
"outputPayload":"",
"outputPayloadType":"str",
"x":960,
"y":1300,
"wires":[
[
]
]
},
{
"id":"8473da4d3c8e0016",
"type":"server",
"name":"Home Assistant",
"version":4,
"addon":true,
"rejectUnauthorizedCerts":true,
"ha_boolean":"y|yes|true|on|home|open",
"connectionDelay":false,
"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"
}
]
https://95598.csg.cn/ucs/ma/wt/center/loginByPwdAndMsg
{
"areaCode": "030000",
"acctId": "13822217956",
"logonChan": "3",
"code": "231806",
"credType": "1011",
"credentials": "rPP8KQa4bMsYfb1WJk39bLN269jnH0ylJLR8lg3OaZiQ0cL7c2bl0j6xi4tNl5fRVNCzUm+NSElK8QRuJt3+GfxP2hEDH1cy41ouOKTg85A4/OqkOJvcXaEmY0Kx5CPEH97XdZOjhxfN37uhx3C4V/csLWCMmskcR8V7zViZ1Bw="
}
https://95598.csg.cn/ucs/ma/wt/center/login
{
"param": "LxpWMSNJrtTnO/TclCSCDIII/XSr8uYqQKqiLpjPRmekt19JHUvYhkm0yHNIvsfam14eLRdmaxAMLAD1lsnWzUxEiu5RqcQQrvUd7yivO5+e5agHG+Z/TGxHiWFojDTJ"
}