問題タブ [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.

0 投票する
2 に答える
15412 参照

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 を難読化しました

データを解析する方法と、なぜエラーが発生するのかについてのアイデアはありますか?

0 投票する
0 に答える
2512 参照

json - Node-RED関数ノードでJSONのプレーンテキストを変換するにはどうすればよいですか?

Node-RED 人間が読んで作成できるメールを送受信しようとしています。

フロー内を移動する他のすべてのものは、JSON 形式のようです。そのため、関数ノードのコードを記述して、メール受信から JSON にテキストを変換し、フローの他の部分に移動する必要があります (MQTT 経由で送信しています)。

また、JSON (MQTT から取得) をプレーン テキストに変換して、電子メールで人間に送信する関数が必要です。

関数ノードがコードを書くことができると言っているのは知っていますが、関数ノードのコードを書く方法を教えてくれる参照がどこにも見つかりません (20 分間検索しました)。

split() や join() などの例を見ましたが、それらがどのように機能するのかわかりません。また、それがどのように機能するかについても何も見つかりません。

電子メールの文字列を操作し、テストを実行してフローに挿入する JSON ペイロードを作成するにはどうすればよいですか? フローから JSON を取得し、それを人間向けの平易な英語に再フォーマットするにはどうすればよいですか?

0 投票する
1 に答える
1727 参照

javascript - Node-Red で JSON JavaScript を解析する

以前に C# で JSON を解析したことがありますが、今回は Node-Red で JavaScript を使用します。私は Web を検索し、JavaScript で JSON を解析するいくつかのソリューションを見つけましたが、すべての例で JSON は非常に単純であり、その中のデータの「レベル」は多くありませんでした。

解析する必要がある JSON ファイルの一部を提供します

これは Nagios から生成され、サーバーとスイッチ、およびそれらに関する情報が含まれています。すべての「ホスト」を繰り返し処理し、「current_state」が何であるかを確認する必要があります。それ以外の場合は 0 で、その「ホスト」から「host_name」とその他の情報をフェッチします。

そして、「サービス」からの同じことが、0でない場合は現在の状態を確認します。

次に、この JSON から取得した情報で配列を作成し、情報画面に表示します。

しかし、JSON を使い始めるには助けが必要です。ありがとう。

0 投票する
1 に答える
20505 参照

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スクリプトを実行するには?

試してみましたが、うまくいきません。

node-red接続画像

ノード実行構成画像

注入ノードで、文字列 1 をペイロードとして入力しました

実行ノードで、次のコマンドを入力しました。sudo /home/pi/.node-red/node index.js

実行するために多くの方法を試しましたが、うまくいきませんでした。

写真をチェックして、この問題で私を助けてください。

事前にどうもありがとう

0 投票する
2 に答える
3134 参照

http - node-red 関数ノードでの xmlhttp リクエスト

ノードレッドの「機能」ノード内からhttp GETリクエストを作成することは可能ですか? はいの場合、誰かがサンプルコードを教えてください。

私が解決したい問題は次のとおりです: カスタム コマンドで msg.payload を解析したい。コマンドごとに http リクエストを作成し、コマンドを HTTP GET リクエストのレスポンスに置き換えます。

%name%,%TimeOfDay% および %Time% は、http://nodeserver/name ,..., http://nodeserver/Timeへの Get リクエストの内容に置き換える必要があります。

0 投票する
2 に答える
74 参照

ibm-cloud - Bluemix IoT Foundation 環境が機能しなくなった

今日の午後、Bluemix IoT アプリケーションが「不明」状態になっていることに気付きました。問題が何であるかを確認するためにアプリを掘り下げたところ、次のポップアップが表示されました。

ビルドパックのコンパイル フェーズでアプリのステージングに失敗しました

ここ数か月 NodeRED フローに変更を加えていません。新しい IOT Foundation アプリをスピンアップすると、問題なく起動します。

ここで何が起こっているのかについてのアイデアはありますか?

0 投票する
0 に答える
1437 参照

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 でエラーをスローする理由がわかりません。

0 投票する
1 に答える
654 参照

gzip - zlib への Node-Red アクセス

msg.payload を圧縮して HTTP 応答ノードにフィードするにはどうすればよいですか? zlibに対処できるようになると思いますが、次のようなものを使用できないため

アクセスできません。基本的に、私の質問はおそらく zlib を関数ノードで利用できるようにする方法に要約されます。