PoC für die Erstellung einer StromQuittung auf Basis der Geräteerkennung eines Discovergy Zählers
-
-
Save zoernert/e9e2efee925a061ab8dc5f8ab95204ce to your computer and use it in GitHub Desktop.
Kühlschrank zahlt seine Stromkosten selbst
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[{"id":"efc8953adadafa1e","type":"tab","label":"Geräteerkennung zu StromQuittung","disabled":false,"info":"Die Geräteerkennung eines Discovergy Zählers nutzen als Basis von automatisch erstellten Stromquittung(en)."},{"id":"4343353fdd086e8a","type":"inject","z":"efc8953adadafa1e","name":"","props":[{"p":"payload.to","v":"","vt":"date"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":130,"y":60,"wires":[["a674fbfb58b100aa"]]},{"id":"a674fbfb58b100aa","type":"disaggregation","z":"efc8953adadafa1e","name":"","meterid":"67df30f2256d49a7b6bb6531aa726f5f","credentials":{},"x":300,"y":60,"wires":[["5448d17afe2a78ee"]]},{"id":"a65044de0b2459ed","type":"change","z":"efc8953adadafa1e","name":"","rules":[{"t":"set","p":"payload.tx_energy","pt":"msg","to":"payload.kwh","tot":"msg"},{"t":"set","p":"payload.tx_duration","pt":"msg","to":"payload.minutes","tot":"msg"},{"t":"set","p":"payload.tx_number","pt":"msg","to":"payload.activityId","tot":"msg"},{"t":"set","p":"payload.tx_meter","pt":"msg","to":"payload.deviceName","tot":"msg"},{"t":"set","p":"payload.seller_name","pt":"msg","to":"Mein Stromkunde","tot":"str"},{"t":"set","p":"payload.seller_email","pt":"msg","to":"kontakt@stromdao.com","tot":"str"},{"t":"set","p":"payload.buyer_name","pt":"msg","to":"Kühlschrankhersteller AG","tot":"str"},{"t":"set","p":"payload.seller_zipcode","pt":"msg","to":"69256","tot":"str"},{"t":"set","p":"payload.seller_yrconsumption","pt":"msg","to":"3600","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":790,"y":60,"wires":[["05de295461af6677"]]},{"id":"cf4a98d73232411e","type":"switch","z":"efc8953adadafa1e","name":"","property":"payload.deviceName","propertyType":"msg","rules":[{"t":"eq","v":"REFRIGERATOR-3","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":610,"y":60,"wires":[["a65044de0b2459ed"],[]]},{"id":"5448d17afe2a78ee","type":"split","z":"efc8953adadafa1e","name":"","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":470,"y":60,"wires":[["cf4a98d73232411e"]]},{"id":"8a0c25a15365ef4d","type":"Stromquittung","z":"efc8953adadafa1e","name":"","x":520,"y":160,"wires":[["9f93a61d6b9f9c77"]]},{"id":"9f93a61d6b9f9c77","type":"function","z":"efc8953adadafa1e","name":"","func":"let list = flow.get(\"quittungen\");\n\nif((typeof list == 'undefined')||(list == null)) {\n list = [];\n}\nlist.push({\n pdf:'https://api.corrently.io/v2.0/quittung/pdf?token='+msg.payload,\n html:'https://corrently.de/service/quittung.html?token='+msg.payload,\n json:'https://api.corrently.io/v2.0/signature/retrieve?sign='+msg.payload,\n id:msg.payload\n});\n\nflow.set(\"quittungen\",list);\n\nmsg.payload = {\n sign:msg.payload\n}\n \nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":160,"y":280,"wires":[["87d2c4cd6913eda0"]]},{"id":"05de295461af6677","type":"delay","z":"efc8953adadafa1e","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"x":1000,"y":60,"wires":[["8a0c25a15365ef4d"]]},{"id":"87d2c4cd6913eda0","type":"http request","z":"efc8953adadafa1e","name":"","method":"GET","ret":"obj","paytoqs":"query","url":"https://api.corrently.io/v2.0/signature/retrieve","tls":"","persist":false,"proxy":"","authType":"","x":330,"y":280,"wires":[["1511c9ea6b23ab6a"]]},{"id":"1511c9ea6b23ab6a","type":"json","z":"efc8953adadafa1e","name":"","property":"payload","action":"","pretty":true,"x":510,"y":280,"wires":[["9486d1f741bd3d8e"]]},{"id":"9486d1f741bd3d8e","type":"function","z":"efc8953adadafa1e","name":"","func":"let list = flow.get(\"quittungen\");\n\nif((typeof list == 'undefined')||(list == null)) {\n list = [];\n}\nif(typeof msg.payload.output !== 'undefined') {\n list[list.length-1].sum = msg.payload.output.sum;\n list[list.length-1].tse = msg.payload.tse;\n flow.set(\"quittungen\",list);\n}\nmsg.payload = {\n items:list,\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":680,"y":280,"wires":[["b82fd06876bd6f88"]]},{"id":"b82fd06876bd6f88","type":"ui_template","z":"efc8953adadafa1e","group":"9d8b709cfb4b3994","name":"","order":1,"width":"0","height":"0","format":"<table class=\"table\">\n<tr ng-repeat = \"payload in msg.payload.items\">\n <td>{{payload.tse.tse.data.end}}</td>\n <td>{{payload.sum.toFixed(2)}}</td>\n <td><a href=\"{{payload.html}}\" target=\"_blank\">{{payload.tse.account}}</a></td>\n</tr>\n</table>\n","storeOutMessages":true,"fwdInMessages":true,"resendOnRefresh":true,"templateScope":"local","x":860,"y":280,"wires":[[]]},{"id":"1677a8fc1988030d","type":"inject","z":"efc8953adadafa1e","name":"","props":[{"p":"payload.to","v":"","vt":"date"},{"p":"topic","vt":"str"},{"p":"payload.from","v":"1627152146299","vt":"num"}],"repeat":"","crontab":"","once":true,"onceDelay":0.1,"topic":"","x":510,"y":360,"wires":[["9486d1f741bd3d8e"]]},{"id":"9d8b709cfb4b3994","type":"ui_group","name":"Standard","tab":"07bc3c8e5b23fb4a","order":1,"disp":true,"width":12,"collapse":false},{"id":"07bc3c8e5b23fb4a","type":"ui_tab","name":"Kühlschrank Rechnung","icon":"dashboard","disabled":false,"hidden":false}] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment