問題タブ [node-red]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - Node-RED 関数で JSON を解析するにはどうすればよいですか
Bluemix for IoT で Node-RED を使用しています。
関数ノード内の個々の情報 (cmdmsg や tempr など) を解析して、フロー内の他のノードで使用できるようにするにはどうすればよいですか? しようとするとエラーが発生します(以下を参照)
完全なメッセージ オブジェクトを表示するように設定したときに「デバッグ」ノードに表示される JSON 完全なメッセージ オブジェクトを (ノードの IoT から) 受信しています。下のオブジェクトを参照してください。
JSON が正しくフォーマットされているように見えます。
関数ノードに以下を入れてみたのですが、「TypeError: Cannot read property 'tempr' of undefined」というエラーが出ます。
関数パラメータは次のとおりです。 return {payload:msg.payload.d.tempr};
ここにメッセージオブジェクトがあります
注: デバイス ID (MAC アドレス) と msgid を難読化しました
データを解析する方法と、なぜエラーが発生するのかについてのアイデアはありますか?
json - Node-RED関数ノードでJSONのプレーンテキストを変換するにはどうすればよいですか?
Node-RED 人間が読んで作成できるメールを送受信しようとしています。
フロー内を移動する他のすべてのものは、JSON 形式のようです。そのため、関数ノードのコードを記述して、メール受信から JSON にテキストを変換し、フローの他の部分に移動する必要があります (MQTT 経由で送信しています)。
また、JSON (MQTT から取得) をプレーン テキストに変換して、電子メールで人間に送信する関数が必要です。
関数ノードがコードを書くことができると言っているのは知っていますが、関数ノードのコードを書く方法を教えてくれる参照がどこにも見つかりません (20 分間検索しました)。
split() や join() などの例を見ましたが、それらがどのように機能するのかわかりません。また、それがどのように機能するかについても何も見つかりません。
電子メールの文字列を操作し、テストを実行してフローに挿入する JSON ペイロードを作成するにはどうすればよいですか? フローから JSON を取得し、それを人間向けの平易な英語に再フォーマットするにはどうすればよいですか?
javascript - Node-Red で JSON JavaScript を解析する
以前に C# で JSON を解析したことがありますが、今回は Node-Red で JavaScript を使用します。私は Web を検索し、JavaScript で JSON を解析するいくつかのソリューションを見つけましたが、すべての例で JSON は非常に単純であり、その中のデータの「レベル」は多くありませんでした。
解析する必要がある JSON ファイルの一部を提供します
これは Nagios から生成され、サーバーとスイッチ、およびそれらに関する情報が含まれています。すべての「ホスト」を繰り返し処理し、「current_state」が何であるかを確認する必要があります。それ以外の場合は 0 で、その「ホスト」から「host_name」とその他の情報をフェッチします。
そして、「サービス」からの同じことが、0でない場合は現在の状態を確認します。
次に、この JSON から取得した情報で配列を作成し、情報画面に表示します。
しかし、JSON を使い始めるには助けが必要です。ありがとう。
javascript - node-red node exec でコマンドを実行して、LCD のスクリプトを有効にする方法
Raspberry PI の LCD に現在の時刻を表示するスクリプトがあります。
LCD は Raspberry PI に接続され、正常に動作することがテストされています。
~/.node-red フォルダー内にスクリプト名 index.js を作成し、コマンドを使用して同じ ~/.node-red フォルダー内に LCD ノード モジュールをインストールしました。npm install lcd --save
コマンドを使用して内部をテストすると、LCDに時間が表示されます。
node-red node execでこのindex.jsスクリプトを実行するには?
試してみましたが、うまくいきません。
注入ノードで、文字列 1 をペイロードとして入力しました
実行ノードで、次のコマンドを入力しました。sudo /home/pi/.node-red/node index.js
実行するために多くの方法を試しましたが、うまくいきませんでした。
写真をチェックして、この問題で私を助けてください。
事前にどうもありがとう
http - node-red 関数ノードでの xmlhttp リクエスト
ノードレッドの「機能」ノード内からhttp GETリクエストを作成することは可能ですか? はいの場合、誰かがサンプルコードを教えてください。
私が解決したい問題は次のとおりです: カスタム コマンドで msg.payload を解析したい。コマンドごとに http リクエストを作成し、コマンドを HTTP GET リクエストのレスポンスに置き換えます。
%name%,%TimeOfDay% および %Time% は、http://nodeserver/name ,..., http://nodeserver/Timeへの Get リクエストの内容に置き換える必要があります。
ibm-cloud - Bluemix IoT Foundation 環境が機能しなくなった
今日の午後、Bluemix IoT アプリケーションが「不明」状態になっていることに気付きました。問題が何であるかを確認するためにアプリを掘り下げたところ、次のポップアップが表示されました。
ビルドパックのコンパイル フェーズでアプリのステージングに失敗しました
ここ数か月 NodeRED フローに変更を加えていません。新しい IOT Foundation アプリをスピンアップすると、問題なく起動します。
ここで何が起こっているのかについてのアイデアはありますか?
javascript - Node-RED Websocket 接続が無効なフレーム ヘッダーのエラーで失敗しました
IBM Bluemix にデプロイされた非常に単純なアプリケーション ノードがあります。このノード アプリは、同じマシンでノード RED インスタンスをプログラムで開始し、/red エンドポイントでノード RED UI を提供します。
ノード RED インスタンスを開始するエンドポイント /startinstance があります。
これは私が使用しているコードです:
I node RED UI はiFrame
、メイン アプリケーション UI に埋め込まれています。
これは正常に機能し、ノード RED インスタンスを正常に開始できます。ノード RED UI に初めてアクセスすると、正常に動作します。しかし、インスタンスを停止して再起動すると、以下に示すように、Google Chrome コンソールで Web ソケット エラーがスローされます。
「ws://myapp.mybluemix.net/red/comms」への WebSocket 接続に失敗しました: 無効なフレーム ヘッダー red.min.js:16
そして、これはSafariコンソールのエラーです:
'ws://myapp.mybluemix.net/red/comms' への WebSocket 接続に失敗しました: ネゴシエートされた deflate-frame 拡張がない場合、圧縮ビットは 0 でなければなりません
このセットアップは localhost では正常に機能していますが、これが Bluemix でエラーをスローする理由がわかりません。
gzip - zlib への Node-Red アクセス
msg.payload を圧縮して HTTP 応答ノードにフィードするにはどうすればよいですか? zlibに対処できるようになると思いますが、次のようなものを使用できないため
アクセスできません。基本的に、私の質問はおそらく zlib を関数ノードで利用できるようにする方法に要約されます。