Bluemix for IoT で Node-RED を使用しています。
関数ノード内の個々の情報 (cmdmsg や tempr など) を解析して、フロー内の他のノードで使用できるようにするにはどうすればよいですか? しようとするとエラーが発生します(以下を参照)
完全なメッセージ オブジェクトを表示するように設定したときに「デバッグ」ノードに表示される JSON 完全なメッセージ オブジェクトを (ノードの IoT から) 受信しています。下のオブジェクトを参照してください。
JSON が正しくフォーマットされているように見えます。
関数ノードに以下を入れてみたのですが、「TypeError: Cannot read property 'tempr' of undefined」というエラーが出ます。
関数パラメータは次のとおりです。 return {payload:msg.payload.d.tempr};
ここにメッセージオブジェクトがあります
{
"topic": "iot-2/type/Arduino-tempsensor/id/FFFFFFFFFFFF/evt/status/fmt/json",
"payload": "{\n\"d\": {\n\"myName\": \"Arduino CF\",\n\"cmdmsg\": \"Weekly\",\n\"tempr\": -3,\n}\n}",
"deviceId": "FFFFFFFFFFFF",
"deviceType": "Arduino-tempsensor",
"eventType": "status",
"format": "json",
"_msgid": "ffffffff.55555"
}
注: デバイス ID (MAC アドレス) と msgid を難読化しました
データを解析する方法と、なぜエラーが発生するのかについてのアイデアはありますか?