flowforgeでテンプレート設定を使用して独自のnode-redインスタンスをカスタマイズする

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

flowforgeでテンプレート設定を使用して独自のnode-redインスタンスをカスタマイズする

テンプレート設定の追加

FlowForgeでは、すべてのプロジェクトがテンプレートから作成されます。テンプレートは、プロジェクトの設定済みオプションのセットを定義します。これには実行時設定が含まれます。一般的にはNode-RED settings.jsファイルで設定された値です。

テンプレートは、プロジェクトがカスタマイズできるオプションも定義します。

この記事では、テンプレートオブジェクトに新しいNode-REDランタイムオプションを追加して、開発者が個々のインスタンスをカスタマイズし、基礎となるNode-RED settings.jsファイルに渡す方法を説明します。

単純なブール型/文字列型/数値型の場合は、直接定義できます。他の型(オブジェクト/配列)では、それは少し複雑になり、公式には良い例はありません。

一般的な場合は、以下の手順でテンプレートを設定できます。

  • フロントエンドの更新
    • 設定の名前を選択し、既知の設定と必要な検証ロジックのリストに追加します。
    • 適切なテンプレートセクションに追加します
  • ランタイムの更新
    • 既知の設定のリストと追加の検証ロジックに追加します。
  • イニシエータの更新
    • settings.jsを生成するテンプレートを新しいプロパティで更新

フロントエンドの更新

フロントエンドには、テンプレートを表示および編集するための一連のビューがあります。2つの方法で使用されます:

テンプレートを作成/編集するとき。すべてのオプションが使用可能で、ユーザーが設定にポリシーを設定できるドロップダウンリストがあります項目が設定の上書きを許可するかどうかを制御
プロジェクト設定を編集する場合。すべてのオプションが表示されますが、テンプレートポリシーで変更が許可されているオプションのみをユーザーが変更できるようにします。
このビューの再利用は、実装時に複雑さを引き起こす多くのコード重複を節約します。

設定の名前を選択します

名前はNode-RED settings.jsファイル内の対応するプロパティと一致するようにしてください。

frontend/src/pages/admin/Template/utils.jsの編集
新しい属性名を追加templateFieldsそして、defaultTemplateValuesオブジェクトの中でこれらの名前はフラット文字列であり、_は階層として使用され、区切り文字として使用されます。
値が何らかの形式の検証を必要とする場合は、同じファイル内のtemplateValidators中で。

1.2- 適切なテンプレートセクションに追加します。

現在サポートされているカスタム構成は次のとおりです。

編集者。
カラーパレットパレット
環境-他のオプションを追加する可能性が低い特別なケース
これらはすべて独自の文書にあります。 frontendfrontend/src/pages/admin/Template/sections/

追加する設定チェックボックスまたはテキスト入力が最も一致する既存の設定を選択し、そのエントリを適切な場所にコピーします。

コピーした属性名へのすべての参照が新しい属性名に更新されていることを確認します。

ランタイムの更新

既知のリストに追加する

編集者。forge/db/controllers/ProjectTemplate.js既知の設定のリストに新しいプロパティを追加します。

同じファイル内で、必要な追加の検证またはデータ·クリーニングを使用して更新validateSettings関数です。

NR-Launcherのアップデート

そこには flowforge-nr-launcher プロジェクトの中で

編集者。lib/runtimeSettings.js新しい設定をsettings.jsファイルに含めます。新しい設定がexistenceしない場合には、合理的なデフォルト値を使用するか、値を省略するかに対処する必要があります。

Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.