Node-REDのサンプル

[{“id”:”82095bea.21c258″,”type”:”serial in”,”z”:”4f8091c4.1ca7e”,”name”:”USB400J”,”serial”:”7fc64cc.680dcb4″,”x”:94,”y”:184,”wires”:[[“551949e8.f4f898”]]},{“id”:”ba7f2d7d.7a265″,”type”:”e-mail”,”z”:”4f8091c4.1ca7e”,”server”:”smtp.gmail.com”,”port”:”465″,”secure”:true,”name”:”email@address.com”,”dname”:””,”x”:774,”y”:44,”wires”:[]},{“id”:”de1fb74d.79e3f8″,”type”:”inject”,”z”:”4f8091c4.1ca7e”,”name”:”監視開始”,”topic”:”監視開始”,”payload”:””,”payloadType”:”date”,”repeat”:””,”crontab”:”00 01 * * *”,”once”:false,”x”:104,”y”:84,”wires”:[[“d6be8515.5bf508″,”667118db.d30278”]]},{“id”:”4d0ed130.30d38″,”type”:”file”,”z”:”4f8091c4.1ca7e”,”name”:”ログ#1追記”,”filename”:”/home/pi/log1.txt”,”appendNewline”:true,”createDir”:true,”overwriteFile”:”false”,”x”:824,”y”:244,”wires”:[]},{“id”:”9e1ac166.53445″,”type”:”inject”,”z”:”4f8091c4.1ca7e”,”name”:”AM5:55″,”topic”:”定期レポート”,”payload”:””,”payloadType”:”date”,”repeat”:””,”crontab”:”55 05 * * *”,”once”:false,”x”:94,”y”:364,”wires”:[[“bf2adcd4.6abeb”]]},{“id”:”ed256942.a58e78″,”type”:”file in”,”z”:”4f8091c4.1ca7e”,”name”:”ログ#2読出し”,”filename”:”/home/pi/log2.txt”,”format”:”utf8″,”chunk”:false,”sendError”:true,”x”:314,”y”:564,”wires”:[[“83f97bc0.1f6478”]]},{“id”:”4c25dc07.ef6fc4″,”type”:”debug”,”z”:”4f8091c4.1ca7e”,”name”:””,”active”:true,”console”:”false”,”complete”:”false”,”x”:744,”y”:144,”wires”:[]},{“id”:”d6be8515.5bf508″,”type”:”file”,”z”:”4f8091c4.1ca7e”,”name”:”ログ#1初期化(上書き)”,”filename”:”/home/pi/log1.txt”,”appendNewline”:true,”createDir”:true,”overwriteFile”:”true”,”x”:404,”y”:84,”wires”:[]},{“id”:”487b4d7c.80cce4″,”type”:”inject”,”z”:”4f8091c4.1ca7e”,”name”:”AM11:55″,”topic”:”定期レポート”,”payload”:””,”payloadType”:”date”,”repeat”:””,”crontab”:”55 11 * * *”,”once”:false,”x”:104,”y”:404,”wires”:[[“bf2adcd4.6abeb”]]},{“id”:”daa448d3.d2cb38″,”type”:”inject”,”z”:”4f8091c4.1ca7e”,”name”:”PM5:55″,”topic”:”定期レポート”,”payload”:””,”payloadType”:”date”,”repeat”:””,”crontab”:”55 17 * * *”,”once”:false,”x”:94,”y”:444,”wires”:[[“bf2adcd4.6abeb”]]},{“id”:”5df9c9d7.f3ed48″,”type”:”inject”,”z”:”4f8091c4.1ca7e”,”name”:”PM11:55″,”topic”:”定期レポート”,”payload”:””,”payloadType”:”date”,”repeat”:””,”crontab”:”55 23 * * *”,”once”:false,”x”:104,”y”:484,”wires”:[[“bf2adcd4.6abeb”]]},{“id”:”551949e8.f4f898″,”type”:”function”,”z”:”4f8091c4.1ca7e”,”name”:”EnOcean protocol decoder”,”func”:”//EnOcean telegram decoder\n//2017.10.3 created\n//\nvar date = new Date();\n//\nvar ESP3_Packet = msg.payload;\n//\nvar Header = ESP3_Packet.slice(1,5);\nvar DataLength = 256*ESP3_Packet[1]+ESP3_Packet[2];\n//\nvar RawData = ESP3_Packet.slice(6,6+DataLength);\nvar ERP2_Header = RawData.slice(0,1).toString(\”hex\”);\nvar EEP = \”RPS\”;\nvar OriginatorID = \”00000000\”;\nvar Data1 = \”00\”;\nvar Data4 = \”00000000\”;\n//\nvar OptionalData = ESP3_Packet.slice(6+DataLength,8+DataLength);\nvar SubTelNum = OptionalData.slice(0,1);\nvar dBm = OptionalData.slice(1,2);\n//\nswitch(ERP2_Header){\n //normal telegram\n case \”20\”://RPS telegram\n EEP = \”RPS\”;\n OriginatorID = RawData.slice(1,5).toString(\”hex\”);\n Data1 = RawData.slice(5,6).toString(\”hex\”);\n break;\n case \”21\”://1BS normal telegram\n EEP = \”1BS\”;\n OriginatorID = RawData.slice(1,5).toString(\”hex\”);\n Data1 = RawData.slice(5,6).toString(\”hex\”);\n break;\n case \”22\”://4BS normal telegram\n EEP = \”4BS\”;\n OriginatorID = RawData.slice(1,5).toString(\”hex\”);\n Data4 = RawData.slice(5,9).toString(\”hex\”);\n break;\n //teach-in telegram\n case \”61\”://1BS teach-in telegram\n EEP = \”1BS teach-in\”;\n OriginatorID = RawData.slice(3,7).toString(\”hex\”);\n Data1 = RawData.slice(7,8).toString(\”hex\”); \n break;\n case \”62\”://4BS teach-in telegram\n EEP = \”4BS teach-in\”;\n OriginatorID = RawData.slice(3,7).toString(\”hex\”);\n Data4 = RawData.slice(7,11).toString(\”hex\”);\n break;\n default:\n break;\n}\n\nmsg.payload = {\n Time : date.toString(),\n OriginatorID:OriginatorID,\n EEP : EEP,\n Data1:Data1,\n Data4:Data4,\n SubTelNum:SubTelNum,\n dBm:dBm\n};\n\nreturn msg;\n”,”outputs”:1,”noerr”:0,”x”:294,”y”:184,”wires”:[[“3db16a21.cc7cf6”]]},{“id”:”6b6e92e6.3b729c”,”type”:”function”,”z”:”4f8091c4.1ca7e”,”name”:”Extract telegram”,”func”:”msg.payload = {\n Time : msg.payload.Time,\n OriginatorID : msg.payload.OriginatorID,\n EEP : msg.payload.EEP,\n Data1 : msg.payload.Data1,\n Data4 : msg.payload.Data4\n};\nreturn msg;”,”outputs”:1,”noerr”:0,”x”:174,”y”:304,”wires”:[[“d01c536f.49bb4″,”ee319e18.29f78”]]},{“id”:”d01c536f.49bb4″,”type”:”trigger”,”z”:”4f8091c4.1ca7e”,”op1″:”watch dog timer start”,”op2″:”最後受信してから30分間新たな信���を受信しなかった”,”op1type”:”str”,”op2type”:”str”,”duration”:”30″,”extend”:true,”units”:”min”,”reset”:””,”name”:””,”x”:384,”y”:304,”wires”:[[“4d0ed130.30d38″,”83f97bc0.1f6478”]]},{“id”:”83f97bc0.1f6478″,”type”:”function”,”z”:”4f8091c4.1ca7e”,”name”:”go through”,”func”:”\nreturn msg;”,”outputs”:1,”noerr”:0,”x”:584,”y”:124,”wires”:[[“4c25dc07.ef6fc4″,”34c31bb7.3301f4”]]},{“id”:”667118db.d30278″,”type”:”function”,”z”:”4f8091c4.1ca7e”,”name”:”time format”,”func”:”var date = new Date();\nmsg.payload = {\n Time : date.toString()\n};\nreturn msg;”,”outputs”:1,”noerr”:0,”x”:364,”y”:124,”wires”:[[“83f97bc0.1f6478”]]},{“id”:”ee319e18.29f78″,”type”:”switch”,”z”:”4f8091c4.1ca7e”,”name”:”door open”,”property”:”payload.Data1″,”propertyType”:”msg”,”rules”:[{“t”:”eq”,”v”:”08″,”vt”:”num”}],”checkall”:”true”,”outputs”:1,”x”:384,”y”:244,”wires”:[[“579dafd.66cc25”]]},{“id”:”579dafd.66cc25″,”type”:”function”,”z”:”4f8091c4.1ca7e”,”name”:”Extract telegram”,”func”:”msg.payload = {\n Time : msg.payload.Time,\n// OriginatorID : msg.payload.OriginatorID,\n// EEP : msg.payload.EEP,\n Data1 : msg.payload.Data1\n// Data4 : msg.payload.Data4\n};\nreturn msg;”,”outputs”:1,”noerr”:0,”x”:594,”y”:244,”wires”:[[“4d0ed130.30d38”]]},{“id”:”34c31bb7.3301f4″,”type”:”change”,”z”:”4f8091c4.1ca7e”,”name”:”メール件名の変更”,”rules”:[{“t”:”set”,”p”:”topic”,”pt”:”msg”,”to”:”自宅”,”tot”:”str”}],”action”:””,”property”:””,”from”:””,”to”:””,”reg”:false,”x”:764,”y”:104,”wires”:[[“ba7f2d7d.7a265”]]},{“id”:”3db16a21.cc7cf6″,”type”:”function”,”z”:”4f8091c4.1ca7e”,”name”:”Extract IDs”,”func”:”const ID_01 = \”XXXXXXXX\”;//STM250J\n\nswitch(msg.payload.OriginatorID){\n case ID_01:\n return msg;\n default:\n break;\n}\n”,”outputs”:1,”noerr”:0,”x”:184,”y”:244,”wires”:[[“6b6e92e6.3b729c”]]},{“id”:”a29943ef.a8803″,”type”:”file”,”z”:”4f8091c4.1ca7e”,”name”:”ログ#2に一時保管”,”filename”:”/home/pi/log2.txt”,”appendNewline”:true,”createDir”:true,”overwriteFile”:”true”,”x”:564,”y”:424,”wires”:[]},{“id”:”bf2adcd4.6abeb”,”type”:”file in”,”z”:”4f8091c4.1ca7e”,”name”:”ログ#1読出し”,”filename”:”/home/pi/log1.txt”,”format”:”utf8″,”chunk”:false,”sendError”:true,”x”:314,”y”:424,”wires”:[[“a29943ef.a8803″,”50dcd778.5402b8”]]},{“id”:”50dcd778.5402b8″,”type”:”delay”,”z”:”4f8091c4.1ca7e”,”name”:””,”pauseType”:”delay”,”timeout”:”5″,”timeoutUnits”:”minutes”,”rate”:”1″,”nbRateUnits”:”1″,”rateUnits”:”second”,”randomFirst”:”1″,”randomLast”:”5″,”randomUnits”:”seconds”,”drop”:false,”x”:134,”y”:564,”wires”:[[“ed256942.a58e78”]]},{“id”:”7fc64cc.680dcb4″,”type”:”serial-port”,”z”:””,”serialport”:”/dev/ttyUSB0″,”serialbaud”:”57600″,”databits”:”8″,”parity”:”none”,”stopbits”:”1″,”newline”:”100″,”bin”:”bin”,”out”:”time”,”addchar”:false}]