今回は、KNX-IoTサーバーのiConnectをつかって、Node-REDからDALIの個別アドレスに0〜254の明るさの値を送り点灯するようにしてみたいとおもいます。
流れとしては、
- KNX-DALI GatewayでGroup Objectを作成する
- Node-RED側からデータをおくれるように、Group Addressの設定をする
- Node-REDで2で作成したGroupAddressのKNXノードを作成する
という順番です。
*この記事では事前にDALIのアドレッシングが終了しています。 KNX-DALIゲートウェイを使ったDALIのアドレッシングはこちらの記事をご覧ください。
では、やってみましょう。
DALI GatewayのGroup Objectを作成する
*この作業はETSから行います。
ETSでDALI GatewayのParameterタブからDALI Configurationを表示。
Enable DALI ballastsのチェックをいれると、個別器具のGroup Objectが作成されます。
使用する器具(Ballast)のチェックをいれる。
Group Objectは下記の3種類が使えます。
- Switch 1bit (On/Off)
- Relative Dimming 4bit (明るくしたり、暗くしたり)
- Brightness value 1byte (明るさを値で指定する)
あと、ParameterのOutputで、dimming curveはlinearにしておきましょう。そうしないと、値を送ったときの明るさが変わってきます。
以上で、KNX-DALI GatewayでのGroupObjectの作成は終了です。
Node-RED側からデータをおくれるように、Group Addressの設定をする
次はGroup Addressを作成します。
0/0/1 On/Off
0/0/2 dimming value
を作成。
0/0/1 On/Offには、Ballast1のswitchのGroupObjectを割り当て
0/0/2 dimming valueには、Ballast1のBrightness valueを割り当て
以上でETSでの設定は終了。
内容をデバイスにダウンロードします。
ETS Diagnosticsで検証
Node-RED側の作業に移る前に、正しくETSで設定できたのかをDiagnosticsから確認します。
Diagnosticsを立ち上げます。
Startを押すとKNX BUSに流れるテレグラムをモニターすることができます。
Group Addressの横のドロップダウンボタンを押すと、設定してあるGroup Addressを選択できます。まずは、0/0/1 On/Offでやってみましょう。
ValueでOnを選び、Writeのボタンを押します。
正しく設定できていれば、DALIのコンフィグレーションでアドレス1にした照明器具が点灯します。(私のは赤)
同様にValueでOffを選び、Writeのボタンを押します。
消灯しました。
次に、Group Addressで0/0/2 dimming valueをやってみます。
Valueを50(%)にしてwriteを押します
うまく50%で点灯出来た様子です。
では、Node-RED側の設定をやってみましょう。
Node-RED側でGroupAddressのKNXノードを作成する
iConnectのNode-REDにブラウザからアクセス。Lightingタブをみてみます。
ETS側で設定したGroupAddress ”0/0/1 On/Off”がKNXノードで用意されているので、横にあるtoggleノードのボタンをおしてみましょう。ランプが点灯、消灯します。
Node-REDダッシュボードのボタンを押してもOn/Offがされました。
On/Offは簡単にできたので、次はdimming valueをおくってみます。
Injectノードを3つ、KNXノードを1つ追加しました。
Injectノードは0〜100までの明るさのパーセンテージを3つ用意。
KNXノードはGroup Addressを0/0/2、Data point typeは5.001(percentage)にしました。Injectノードの50%,1%,0%の点灯確認を行います。
試したところ、無事に反映されました。この方法でやりたいことはできそうです。
まとめ
当初は0〜254の値でdimming levelをコントロールする予定でしたが、ETS側で選んだDataPointTypeがパーセントだったので、これはDataPointTypeの修正を次回やってみたいとおもいます。
また、DALI側を1台でためしましたが、同じ流れでRGBWのLEDテープライトの制御もできる見込みがたちました。
ただ、GroupAddressごとにKNXノードをつくらなきゃいけないかもしれないので、もっと簡単な方法があるかどうかも調査していきます。