【第2回】IBM Cloud と Raspberry Pi を用いたエアコン制御 ー IBM Cloud の設定

以下、aispeaker-conversation.jsonファイルと aispeaker-flow-cloud.jsonファイルの中身です。

下記の内容をメモ帳などに貼り付け、拡張子を.jsonに設定保存してお使いください。

< aispeaker-conversation.json >

{“name”:”Bot”,”intents”:[{“intent”:”やめる”,”examples”:[{“text”:”キャンセル”},{“text”:”無理”},{“text”:”むり”},{“text”:”いや”},{“text”:”やめた”},{“text”:”やめ”},{“text”:”もう一度”},{“text”:”はじめから”},{“text”:”初めから”},{“text”:”やめる”},{“text”:”だめ”}],”description”:””},{“intent”:”turn_on”,”examples”:[{“text”:”オン”},{“text”:”エアコンつけて”},{“text”:”ONにして”},{“text”:”つけて”},{“text”:”エアコン付けて”},{“text”:”いれて”},{“text”:”入れたい”},{“text”:”ON”},{“text”:”オンにして”},{“text”:”おん”},{“text”:”入れて”},{“text”:”付けて”},{“text”:”つけたい”},{“text”:”エアコン入れて”},{“text”:”エアコンいれて”}],”description”:”LINE”},{“intent”:”turn_off”,”examples”:[{“text”:”エアコンけして”},{“text”:”オフにして”},{“text”:”OFFにして”},{“text”:”けして”},{“text”:”消したい”},{“text”:”停めたい”},{“text”:”止めたい”},{“text”:”エアコン消して”},{“text”:”エアコンとめて”},{“text”:”エアコン停めて”},{“text”:”消して”},{“text”:”止めて”},{“text”:”停めて”},{“text”:”とめて”},{“text”:”停止して”},{“text”:”OFF”}],”description”:””},{“intent”:”input_positive”,”examples”:[{“text”:”はい”},{“text”:”お願いします”},{“text”:”いえす”},{“text”:”OK”},{“text”:”いいよ”},{“text”:”よろしく”},{“text”:”おっけー”},{“text”:”Yes”},{“text”:”うん”},{“text”:”イエス”},{“text”:”オッケー”}],”description”:”LINE”},{“intent”:”test”,”examples”:[{“text”:”hello”},{“text”:”world”},{“text”:”Hello World”}],”description”:””}],”entities”:[{“entity”:”genre”,”values”:[{“type”:”synonyms”,”value”:”クラシック”,”synonyms”:[“交響曲”]},{“type”:”synonyms”,”value”:”リズム・アンド・ブルース”,”synonyms”:[“R&B”]},{“type”:”synonyms”,”value”:”ロック”,”synonyms”:[“ロック&ロール”,”ロックンロール”,”およびポップ”]}],”fuzzy_match”:false},{“entity”:”sys-time”,”values”:[]},{“entity”:”appliance”,”values”:[{“type”:”synonyms”,”value”:”エアコン”,”synonyms”:[“エア”,”AC”]},{“type”:”synonyms”,”value”:”ヘッドライト”,”synonyms”:[“ライト”]},{“type”:”synonyms”,”value”:”ラジオ”,”synonyms”:[“音楽”,”曲”]}],”fuzzy_match”:true},{“entity”:”unit_of_temperature”,”values”:[{“type”:”synonyms”,”value”:”度”,”synonyms”:[“℃”,”度”]},{“type”:”synonyms”,”value”:”30″,”synonyms”:[“30度”,”30℃”,”30″]},{“type”:”synonyms”,”value”:”29″,”synonyms”:[“29″,”29℃”,”29度”]},{“type”:”synonyms”,”value”:”25″,”synonyms”:[“25℃”,”25″,”25度”]},{“type”:”synonyms”,”value”:”27″,”synonyms”:[“27″,”27℃”,”27度”]},{“type”:”synonyms”,”value”:”26″,”synonyms”:[“26″,”26度”,”26℃”]},{“type”:”synonyms”,”value”:”24″,”synonyms”:[“24″,”24℃”,”24度”]},{“type”:”synonyms”,”value”:”28″,”synonyms”:[“28″,”28度”,”28℃”]},{“type”:”synonyms”,”value”:”19″,”synonyms”:[“19″,”19度”,”19℃”]},{“type”:”synonyms”,”value”:”21″,”synonyms”:[“21″,”21度”,”21℃”]},{“type”:”synonyms”,”value”:”22″,”synonyms”:[“22″,”22度”,”22℃1”]},{“type”:”synonyms”,”value”:”23″,”synonyms”:[“23″,”23度”,”23℃”]},{“type”:”synonyms”,”value”:”20″,”synonyms”:[“20″,”20度”,”20℃”]},{“type”:”synonyms”,”value”:”18″,”synonyms”:[“18″,”18度”,”18℃”]}],”fuzzy_match”:true}],”language”:”ja”,”metadata”:{“api_version”:{“major_version”:”v1″,”minor_version”:”2018-07-10″}},”description”:””,”dialog_nodes”:[{“type”:”standard”,”title”:”その他”,”output”:{“generic”:[{“values”:[{“text”:”解釈できませんでした。取り消す場合は「やめる」を入力ください。”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”parent”:”node_1_1534470526961″,”metadata”:{},”next_step”:{“behavior”:”jump_to”,”selector”:”user_input”,”dialog_node”:”node_6_1534474145058″},”conditions”:”anything_else”,”dialog_node”:”node_1_1535434278876″,”previous_sibling”:”node_7_1534474226188″},{“type”:”response_condition”,”output”:{“generic”:[{“values”:[],”response_type”:”text”,”selection_policy”:”sequential”}]},”parent”:”node_1_1534470526961″,”disabled”:true,”metadata”:{},”dialog_node”:”node_2_1534470642487″,”previous_sibling”:”node_1_1535434278876″},{“type”:”standard”,”title”:”キャンセル”,”output”:{“generic”:[{“values”:[{“text”:”キャンセルですね。承知いたしました。”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”parent”:”node_1_1534470526961″,”metadata”:{},”conditions”:”#やめる”,”dialog_node”:”node_7_1534474226188″,”previous_sibling”:”node_6_1534474145058″},{“type”:”standard”,”title”:”OK”,”output”:{“generic”:[{“values”:[{“text”:”<? context[‘time’] ?>に、エアコンの電源を止める予約を受付しました。ありがとうございました。”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”parent”:”node_1_1534470526961″,”metadata”:{},”conditions”:”#input_positive”,”dialog_node”:”node_6_1534474145058″},{“type”:”standard”,”title”:”キャンセル”,”output”:{“generic”:[{“values”:[{“text”:”キャンセルですね。承知いたしました。”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”parent”:”node_3_1533276192063″,”metadata”:{},”conditions”:”#やめる”,”dialog_node”:”node_8_1534474621009″,”previous_sibling”:”node_4_1533276230160″},{“type”:”standard”,”title”:”その他”,”output”:{“generic”:[{“values”:[{“text”:”解釈できませんでした。取り消す場合は「やめる」を入力ください。”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”parent”:”node_3_1533276192063″,”metadata”:{},”next_step”:{“behavior”:”jump_to”,”selector”:”user_input”,”dialog_node”:”node_4_1533276230160″},”conditions”:”anything_else”,”dialog_node”:”node_9_1534474659526″,”previous_sibling”:”node_8_1534474621009″},{“type”:”standard”,”title”:”時間確認”,”output”:{“generic”:[{“values”:[{“text”:”時間は<?entities[‘sys-time’]?.value.reformatDateTime(‘H:mm’)?>ですね。”}],”response_type”:”text”,”selection_policy”:”sequential”},{“values”:[{“text”:”設定温度は何度にしますか?”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”parent”:”node_3_1533276192063″,”context”:{“time”:”<?entities[‘sys-time’]?.value.reformatDateTime(‘H:mm’)?>”},”metadata”:{},”conditions”:”@sys-time”,”dialog_node”:”node_4_1533276230160″},{“type”:”standard”,”title”:”その他”,”output”:{“generic”:[{“values”:[{“text”:”解釈できませんでした。取り消す場合は「やめる」を入力ください。”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”parent”:”node_10_1534474748702″,”metadata”:{},”next_step”:{“behavior”:”jump_to”,”selector”:”user_input”,”dialog_node”:”node_11_1534477852505″},”conditions”:”anything_else”,”dialog_node”:”node_13_1534478020136″,”previous_sibling”:”node_12_1534477991555″},{“type”:”standard”,”title”:”キャンセル”,”output”:{“generic”:[{“values”:[{“text”:”キャンセルですね。承知いたしました。”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”parent”:”node_10_1534474748702″,”metadata”:{},”conditions”:”#やめる”,”dialog_node”:”node_12_1534477991555″,”previous_sibling”:”node_11_1534477852505″},{“type”:”standard”,”title”:”OK”,”output”:{“generic”:[{“values”:[{“text”:”<? context[‘time’] ?>に<? context[‘temperature’] ?>度設定で、エアコンの電源予約を受付しました。ありがとうございました。”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”parent”:”node_10_1534474748702″,”metadata”:{},”conditions”:”#input_positive”,”dialog_node”:”node_11_1534477852505″},{“type”:”standard”,”title”:”キャンセル”,”output”:{“generic”:[{“values”:[{“text”:”キャンセルですね。承知いたしました。”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”parent”:”node_2_1533276131632″,”metadata”:{},”conditions”:”#やめる”,”dialog_node”:”node_4_1534473683979″,”previous_sibling”:”node_1_1534470526961″},{“type”:”standard”,”title”:”その他”,”output”:{“generic”:[{“values”:[{“text”:”解釈できませんでした。取り消す場合は「やめる」を入力ください。”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”parent”:”node_2_1533276131632″,”metadata”:{},”next_step”:{“behavior”:”jump_to”,”selector”:”user_input”,”dialog_node”:”node_1_1534470526961″},”conditions”:”anything_else”,”dialog_node”:”node_3_1534473439545″,”previous_sibling”:”node_4_1534473683979″},{“type”:”standard”,”title”:”時間確認”,”output”:{“generic”:[{“values”:[{“text”:”<?entities[‘sys-time’]?.value.reformatDateTime(‘H:mm’)?>ですね”}],”response_type”:”text”,”selection_policy”:”sequential”},{“values”:[{“text”:”それでは、設定内容を確認させてください。<? context[‘time’] ?>に、エアコンの電源を止めてよろしいですか?”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”parent”:”node_2_1533276131632″,”context”:{“time”:”<?entities[‘sys-time’]?.value.reformatDateTime(‘H:mm’)?>”},”metadata”:{“_customization”:{“mcr”:false}},”conditions”:”@sys-time”,”dialog_node”:”node_1_1534470526961″,”digress_out”:”allow_all”},{“type”:”standard”,”title”:”キャンセル”,”output”:{“generic”:[{“values”:[{“text”:”キャンセルですね。承知いたしました。”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”parent”:”node_4_1533276230160″,”metadata”:{},”conditions”:”#やめる”,”dialog_node”:”node_3_1535434414637″,”previous_sibling”:”node_10_1534474748702″},{“type”:”standard”,”title”:”その他”,”output”:{“generic”:[{“values”:[{“text”:”解釈できませんでした。取り消す場合は「やめる」を入力ください。”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”parent”:”node_4_1533276230160″,”metadata”:{},”next_step”:{“behavior”:”jump_to”,”selector”:”user_input”,”dialog_node”:”node_10_1534474748702″},”conditions”:”anything_else”,”dialog_node”:”node_4_1535434458516″,”previous_sibling”:”node_3_1535434414637″},{“type”:”standard”,”title”:”温度確認”,”output”:{“generic”:[{“values”:[{“text”:”設定温度は<?entities[‘unit_of_temperature’]?.value?>度ですね。”}],”response_type”:”text”,”selection_policy”:”sequential”},{“values”:[{“text”:”それでは、設定内容を確認させてください。<? context[‘time’] ?>に<? context[‘temperature’] ?>度設定で、エアコンの電源を入れてよろしいですか?”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”parent”:”node_4_1533276230160″,”context”:{“temperature”:”<?entities[‘unit_of_temperature’]?.value?>”},”metadata”:{},”conditions”:”@unit_of_temperature”,”dialog_node”:”node_10_1534474748702″},{“type”:”standard”,”title”:”その他”,”output”:{“generic”:[{“values”:[{“text”:”解釈できませんでした。申し訳ありませんが違う表現を試していただけますか。”},{“text”:”恐れ入りますが表現を変えていただけますか。解釈できませんでした。”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”metadata”:{},”conditions”:”anything_else”,”dialog_node”:”その他”,”previous_sibling”:”node_3_1533276192063″},{“type”:”standard”,”title”:”turn_on”,”output”:{“generic”:[{“values”:[{“text”:”いつ付けますか?”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”metadata”:{},”conditions”:”#turn_on”,”dialog_node”:”node_3_1533276192063″,”previous_sibling”:”node_2_1533276131632″},{“type”:”standard”,”title”:”turn_off”,”output”:{“generic”:[{“values”:[{“text”:”いつ消しますか?”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”metadata”:{},”conditions”:”#turn_off”,”dialog_node”:”node_2_1533276131632″,”previous_sibling”:”ようこそ”},{“type”:”standard”,”title”:”ようこそ”,”output”:{“generic”:[{“values”:[{“text”:”ありがとうございました”}],”response_type”:”text”,”selection_policy”:”sequential”}]},”metadata”:{“_customization”:{“mcr”:false}},”conditions”:”welcome”,”digress_in”:”does_not_return”,”dialog_node”:”ようこそ”,”digress_out”:”allow_all”}],”workspace_id”:”132af7db-e5bf-4e69-b969-c37e0ba35886″,”counterexamples”:[],”system_settings”:{“tooling”:{“store_generic_responses”:true},”disambiguation”:{“prompt”:”もしかして”,”none_of_the_above_prompt”:”上記のいずれにも該当し”},”human_agent_assist”:{“prompt”:”もしかして”}},”learning_opt_out”:false}

< aispeaker-flow-cloud.json >

[{“id”:”f22aa87e.2d1368″,”type”:”tab”,”label”:”Flow 1″},{“id”:”bf77f426.0948d8″,”type”:”http request”,”z”:”f22aa87e.2d1368″,”name”:”LINE Messaging API”,”method”:”POST”,”ret”:”txt”,”url”:”https://api.line.me/v2/bot/message/reply”,”tls”:””,”x”:1100,”y”:400,”wires”:[[“de9b7fa2.d0b57”]]},{“id”:”4d7d8b72.9d2704″,”type”:”watson-conversation-v1″,”z”:”f22aa87e.2d1368″,”name”:”Watson Conversation”,”workspaceid”:””,”multiuser”:false,”context”:true,”empty-payload”:false,”default-endpoint”:false,”service-endpoint”:””,”timeout”:””,”optout-learning”:false,”x”:360,”y”:280,”wires”:[[“e0545b31.ebff88″,”4cf9ac8f.b5a654”]]},{“id”:”324c3fc3.fa5b4″,”type”:”function”,”z”:”f22aa87e.2d1368″,”name”:”Pre LINE Messaging API”,”func”:”msg.payload.replyToken = msg.replyToken;\nmsg.headers = {\”Content-Type\”: \”application/json\”, \”Authorization\”: \”Bearer jTCSTEwlfevS0M/pl41Yc/P1/dPXbz4hC/fc1OugYf3/Kvlf9sMMUBm686LKu0Kb9Zb8tOGGZOdc1XKWfvoyzZLcaOu6lWwFktVvC8P5cblJQiUIJslNbIh3b8WFXUFNCKOcDRy6Wv4cehQpgwWTowdB04t89/1O/w1cDnyilFU=\”};\nreturn msg”,”outputs”:1,”noerr”:0,”x”:850,”y”:400,”wires”:[[“bf77f426.0948d8”]]},{“id”:”47fcd2b0.5a493c”,”type”:”ibmiot out”,”z”:”f22aa87e.2d1368″,”authentication”:”apiKey”,”apiKey”:”4c28d6ff.91af68″,”outputType”:”evt”,”deviceId”:”raspPI001″,”deviceType”:”raspPI”,”eventCommandType”:”blink”,”format”:”json”,”data”:”temp”,”qos”:”2″,”name”:”IBM IoT”,”service”:”registered”,”x”:1460,”y”:280,”wires”:[]},{“id”:”5335e280.aa5e1c”,”type”:”http in”,”z”:”f22aa87e.2d1368″,”name”:”POST sample “,”url”:”/sample”,”method”:”post”,”upload”:false,”swaggerDoc”:””,”x”:90,”y”:400,”wires”:[[“c732d740.398938”]]},{“id”:”de9b7fa2.d0b57″,”type”:”function”,”z”:”f22aa87e.2d1368″,”name”:”Set MQTT message”,”func”:”msg.payload = msg.mqtt;\nreturn msg;”,”outputs”:1,”noerr”:0,”x”:1040,”y”:280,”wires”:[[“fc108f1e.d7ca1”]]},{“id”:”fc108f1e.d7ca1″,”type”:”switch”,”z”:”f22aa87e.2d1368″,”name”:””,”property”:”send_mqtt”,”propertyType”:”msg”,”rules”:[{“t”:”true”}],”checkall”:”true”,”repair”:false,”outputs”:1,”x”:1210,”y”:280,”wires”:[[“73e8e82d.215ad8”]]},{“id”:”83130153.683a5″,”type”:”function”,”z”:”f22aa87e.2d1368″,”name”:”Post TTS”,”func”:”msg.payload = msg.speech;\nreturn msg;”,”outputs”:1,”noerr”:0,”x”:1120,”y”:160,”wires”:[[“28428ff0.e0288″,”de9b7fa2.d0b57”]]},{“id”:”61ba0e53.a8f88″,”type”:”watson-text-to-speech”,”z”:”f22aa87e.2d1368″,”name”:”Text to Speech”,”lang”:”ja-JP”,”langhidden”:”ja-JP”,”langcustom”:”NoCustomisationSetting”,”langcustomhidden”:””,”voice”:”ja-JP_EmiVoice”,”voicehidden”:”en-US_LisaVoice”,”format”:”audio/wav”,”password”:”Z7lli4gprUln”,”apikey”:””,”payload-response”:false,”default-endpoint”:false,”service-endpoint”:””,”x”:960,”y”:160,”wires”:[[“83130153.683a5”]]},{“id”:”2aa38ef1.d8f6e2″,”type”:”watson-speech-to-text”,”z”:”f22aa87e.2d1368″,”name”:”Speech To Text”,”alternatives”:1,”speakerlabels”:true,”smartformatting”:false,”lang”:”ja-JP”,”langhidden”:”ja-JP”,”langcustom”:”NoCustomisationSetting”,”langcustomhidden”:””,”band”:”BroadbandModel”,”bandhidden”:”BroadbandModel”,”password”:”LygohCAkRCPT”,”apikey”:””,”payload-response”:false,”streaming-mode”:false,”streaming-mute”:false,”auto-connect”:false,”discard-listening”:false,”disable-precheck”:false,”default-endpoint”:false,”service-endpoint”:””,”x”:280,”y”:160,”wires”:[[“9bdd9007.5d90c”]]},{“id”:”c35aabb3.d34808″,”type”:”websocket in”,”z”:”f22aa87e.2d1368″,”name”:””,”server”:”37a1aa0a.177786″,”client”:””,”x”:100,”y”:160,”wires”:[[“2aa38ef1.d8f6e2”]]},{“id”:”28428ff0.e0288″,”type”:”websocket out”,”z”:”f22aa87e.2d1368″,”name”:””,”server”:”37a1aa0a.177786″,”client”:””,”x”:1300,”y”:160,”wires”:[]},{“id”:”c732d740.398938″,”type”:”function”,”z”:”f22aa87e.2d1368″,”name”:”Pre processing for LINE”,”func”:”// Set inbound type\nmsg.inbound_type = \”LINE\”;\n\nvar event = msg.payload[\”events\”][0];\nmsg.replyToken = event[\”replyToken\”];\nmsg.payload = event[\”message\”][\”text\”];\n\nreturn msg;”,”outputs”:1,”noerr”:0,”x”:290,”y”:400,”wires”:[[“ddc27c05.4ef4d”]]},{“id”:”9bdd9007.5d90c”,”type”:”function”,”z”:”f22aa87e.2d1368″,”name”:”Pre processing for Speech”,”func”:”// Set inbound type\nmsg.inbound_type = \”Speech\”;\n// Trim spaces\nmsg.payload = msg.transcription.replace(/\\s+| +/g, \”\”);\n\nreturn msg;”,”outputs”:1,”noerr”:0,”x”:500,”y”:160,”wires”:[[“ddc27c05.4ef4d”]]},{“id”:”64094367.addd2c”,”type”:”switch”,”z”:”f22aa87e.2d1368″,”name”:”Speech or LINE”,”property”:”inbound_type”,”propertyType”:”msg”,”rules”:[{“t”:”eq”,”v”:”Speech”,”vt”:”str”},{“t”:”eq”,”v”:”LINE”,”vt”:”str”}],”checkall”:”true”,”repair”:false,”outputs”:2,”x”:760,”y”:280,”wires”:[[“b865b17b.9765a”],[“324c3fc3.fa5b4”]]},{“id”:”e0545b31.ebff88″,”type”:”function”,”z”:”f22aa87e.2d1368″,”name”:”Post Conversation”,”func”:”msg.payload.messages = [];\nfor(var i = 0; i < msg.payload.output.text.length; i++){\n msg.payload.messages[i] = {};\n msg.payload.messages[i].type = \”text\”;\n msg.payload.messages[i].text = msg.payload.output.text[i];\n\n if(msg.payload.messages[i].text.match(/ありがとうございました/)){\n\n msg.send_mqtt = true;\n var array = msg.payload.messages[i].text.match(/[0-9]+\\:?[0-9]*/g);\n\n var DD = new Date();\n var Hours = DD.getHours();\n var Minutes = DD.getMinutes();\n Hours = Hours + 9;\n \n var dates = array[0]+\”\”;\n var date = dates.split(\”:\”);\n \n var date0 = parseInt(date[0],10);\n var date1 = parseInt(date[1],10);\n \n if(Hours > 23){\n Hours =- 24;\n }\n if(Hours > date0){\n date0 =+ 24;\n }\n \n var diff = date0*60 + date1 + 1 – Hours*60 – Minutes;\n msg.delay = diff*60000;\n \n // Create MQTT message in JSON\n // Power ON\n if(array.length == 2){\n msg.mqtt = {\n c:{\n \”temperature\” : array[1] ,\n \”check\” : 1\n }\n }\n // Power OFF\n }else if(array.length == 1){\n msg.mqtt = {\n c:{\n \”check\” : 0\n }\n }\n }\n } \n \n}\n\nreturn msg;”,”outputs”:1,”noerr”:0,”x”:570,”y”:280,”wires”:[[“64094367.addd2c”]]},{“id”:”b865b17b.9765a”,”type”:”function”,”z”:”f22aa87e.2d1368″,”name”:”Pre TTS”,”func”:”var text = \”\”;\nfor(var i = 0; i < msg.payload.output.text.length; i++){\n text += msg.payload.output.text[i];\n}\nmsg.payload = text;\nreturn msg”,”outputs”:1,”noerr”:0,”x”:800,”y”:160,”wires”:[[“61ba0e53.a8f88”]]},{“id”:”ddc27c05.4ef4d”,”type”:”function”,”z”:”f22aa87e.2d1368″,”name”:”Pre Conversation”,”func”:”msg.params = {};\nmsg.params.workspace_id = \”132af7db-e5bf-4e69-b969-c37e0ba35886\”;\nmsg.params.username = \”625ad615-ed03-4d3c-b87c-837d5bf2a035\”;\nmsg.params.password = \”z2qzIZbnvjsC\”;\nmsg.additional_context = {\”timezone\”:\”Asia/Tokyo\”};\nreturn msg;”,”outputs”:1,”noerr”:0,”x”:150,”y”:280,”wires”:[[“4d7d8b72.9d2704″,”f215536b.f25d2”]]},{“id”:”f215536b.f25d2″,”type”:”debug”,”z”:”f22aa87e.2d1368″,”name”:””,”active”:true,”tosidebar”:true,”console”:false,”tostatus”:false,”complete”:”payload”,”x”:330,”y”:320,”wires”:[]},{“id”:”4cf9ac8f.b5a654″,”type”:”debug”,”z”:”f22aa87e.2d1368″,”name”:””,”active”:true,”console”:”false”,”complete”:”payload”,”x”:550,”y”:320,”wires”:[]},{“id”:”95d36bf4.687ce8″,”type”:”comment”,”z”:”f22aa87e.2d1368″,”name”:”LINE in”,”info”:””,”x”:70,”y”:360,”wires”:[]},{“id”:”e2f5dcce.7391a”,”type”:”comment”,”z”:”f22aa87e.2d1368″,”name”:”Speech in”,”info”:””,”x”:80,”y”:120,”wires”:[]},{“id”:”73e8e82d.215ad8″,”type”:”delay”,”z”:”f22aa87e.2d1368″,”name”:”delay”,”pauseType”:”delayv”,”timeout”:”0″,”timeoutUnits”:”minutes”,”rate”:”1″,”nbRateUnits”:”1″,”rateUnits”:”second”,”randomFirst”:”1″,”randomLast”:”5″,”randomUnits”:”seconds”,”drop”:false,”x”:1330,”y”:280,”wires”:[[“47fcd2b0.5a493c”]]},{“id”:”4c28d6ff.91af68″,”type”:”ibmiot”,”z”:””,”name”:””,”keepalive”:”60″,”serverName”:””,”cleansession”:true,”appId”:””,”shared”:false},{“id”:”37a1aa0a.177786″,”type”:”websocket-listener”,”z”:””,”path”:”/ws/sample”,”wholemsg”:”false”}]

「【第2回】IBM Cloud と Raspberry Pi を用いたエアコン制御 ー IBM Cloud の設定」への2件のフィードバック

コメントを残す