node-red-contrib-knx-ultimate 2.1.23 → 2.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -1
- package/nodes/knxUltimateHueLight.html +31 -31
- package/nodes/knxUltimateHueLight.js +13 -9
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,9 +6,13 @@
|
|
|
6
6
|
|
|
7
7
|
# CHANGELOG
|
|
8
8
|
|
|
9
|
+
<p>
|
|
10
|
+
<b>Version 2.1.24</b> - July 2023<br/>
|
|
11
|
+
- Hue Light: fix brightness not sending true/false to the KNX switch status, if no brightness GA present. Set the RBE filter on that.<br/>
|
|
12
|
+
</p>
|
|
9
13
|
<p>
|
|
10
14
|
<b>Version 2.1.23</b> - July 2023<br/>
|
|
11
|
-
-
|
|
15
|
+
- Hue Light: Update KNX Switch Status on HUE brighness change, now is the default.<br/>
|
|
12
16
|
</p>
|
|
13
17
|
<p>
|
|
14
18
|
<b>Version 2.1.22</b> - July 2023<br/>
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
GADaylightSensor: { value: "" },
|
|
62
62
|
dptDaylightSensor: { value: "" },
|
|
63
63
|
|
|
64
|
-
updateSwitchStatusOnBrightness: { value: "yes" },
|
|
64
|
+
updateSwitchStatusOnBrightness: { value: "yes" },
|
|
65
65
|
|
|
66
66
|
hueDevice: { value: "" }
|
|
67
67
|
},
|
|
@@ -775,7 +775,7 @@
|
|
|
775
775
|
<div id="tabs-1">
|
|
776
776
|
<p>
|
|
777
777
|
<div class="form-row">
|
|
778
|
-
<label for="node-input-nameLightSwitch" style="width:
|
|
778
|
+
<label for="node-input-nameLightSwitch" style="width:110px;"><i class="fa fa-play-circle-o"></i> <span data-i18n="knxUltimateHueLight.node-input-nameLightSwitch"></span></label>
|
|
779
779
|
|
|
780
780
|
<label for="node-input-GALightSwitch" style="width:20px;"><span data-i18n="knxUltimateHueLight.node-input-GALightSwitch"></span></label>
|
|
781
781
|
<input type="text" id="node-input-GALightSwitch" placeholder="Ex: 1/1/1" style="width:70px;margin-left: 5px; text-align: left;">
|
|
@@ -784,10 +784,10 @@
|
|
|
784
784
|
<select id="node-input-dptLightSwitch" style="width:140px;"></select>
|
|
785
785
|
|
|
786
786
|
<label for="node-input-nameLightSwitch" style="width:50px; margin-left: 0px; text-align: right;"><span data-i18n="knxUltimateHueLight.node-input-name"></span></label>
|
|
787
|
-
<input type="text" id="node-input-nameLightSwitch" style="width:
|
|
787
|
+
<input type="text" id="node-input-nameLightSwitch" style="width:190px;margin-left: 5px; text-align: left;">
|
|
788
788
|
</div>
|
|
789
789
|
<div class="form-row">
|
|
790
|
-
<label for="node-input-nameLightState" style="width:
|
|
790
|
+
<label for="node-input-nameLightState" style="width:110px;"><i class="fa fa-play-circle-o"></i> Switch Status</label>
|
|
791
791
|
|
|
792
792
|
<label for="node-input-GALightState" style="width:20px;">GA</label>
|
|
793
793
|
<input type="text" id="node-input-GALightState" placeholder="Ex: 1/1/1" style="width:70px;margin-left: 5px; text-align: left;">
|
|
@@ -796,10 +796,10 @@
|
|
|
796
796
|
<select id="node-input-dptLightState" style="width:140px;"></select>
|
|
797
797
|
|
|
798
798
|
<label for="node-input-nameLightState" style="width:50px; margin-left: 0px; text-align: right;"><span data-i18n="knxUltimateHueLight.node-input-name"></span></label>
|
|
799
|
-
<input type="text" id="node-input-nameLightState" style="width:
|
|
799
|
+
<input type="text" id="node-input-nameLightState" style="width:190px;margin-left: 5px; text-align: left;">
|
|
800
800
|
</div>
|
|
801
801
|
<div class="form-row">
|
|
802
|
-
<label for="node-input-colorAtSwitchOnDayTime" style="width:
|
|
802
|
+
<label for="node-input-colorAtSwitchOnDayTime" style="width:260px">
|
|
803
803
|
<i class="fa fa-sun-o"></i> Switch On - color/brightness
|
|
804
804
|
</label>
|
|
805
805
|
<input type="text" id="node-input-colorAtSwitchOnDayTime" placeholder='Leave blank or, for example, {"red":255, "green":255, "blue":255}'
|
|
@@ -813,14 +813,14 @@
|
|
|
813
813
|
</div>
|
|
814
814
|
<div id="DivEnableDayNightLighting">
|
|
815
815
|
<div class="form-row">
|
|
816
|
-
<label for="node-input-colorAtSwitchOnNightTime" style="width:
|
|
816
|
+
<label for="node-input-colorAtSwitchOnNightTime" style="width:260px">
|
|
817
817
|
<i class="fa fa-moon-o"></i> Switch On - color/brightness at Night
|
|
818
818
|
</label>
|
|
819
819
|
<input type="text" id="node-input-colorAtSwitchOnNightTime" placeholder='Example {"red":100, "green":0, "blue":50}'
|
|
820
820
|
style="width:260px">
|
|
821
821
|
</div>
|
|
822
822
|
<div class="form-row">
|
|
823
|
-
<label for="node-input-nameDaylightSensor" style="width:
|
|
823
|
+
<label for="node-input-nameDaylightSensor" style="width:110px;"><i class="fa fa-clock-o"></i> Day/Night</label>
|
|
824
824
|
|
|
825
825
|
<label for="node-input-GADaylightSensor" style="width:20px;">GA</label>
|
|
826
826
|
<input type="text" id="node-input-GADaylightSensor" placeholder="Ex: 1/1/1" style="width:70px;margin-left: 5px; text-align: left;">
|
|
@@ -829,7 +829,7 @@
|
|
|
829
829
|
<select id="node-input-dptDaylightSensor" style="width:140px;"></select>
|
|
830
830
|
|
|
831
831
|
<label for="node-input-nameDaylightSensor" style="width:50px; margin-left: 0px; text-align: right;"><span data-i18n="knxUltimateHueLight.node-input-name"></span></label>
|
|
832
|
-
<input type="text" id="node-input-nameDaylightSensor" style="width:
|
|
832
|
+
<input type="text" id="node-input-nameDaylightSensor" style="width:190px;margin-left: 5px; text-align: left;">
|
|
833
833
|
</div>
|
|
834
834
|
<div class="form-row">
|
|
835
835
|
<label style="width:170px" for="node-input-invertDayNight">
|
|
@@ -844,7 +844,7 @@
|
|
|
844
844
|
<div id="tabs-2">
|
|
845
845
|
<p>
|
|
846
846
|
<div class="form-row">
|
|
847
|
-
<label for="node-input-nameLightDIM" style="width:
|
|
847
|
+
<label for="node-input-nameLightDIM" style="width:110px;"><i class="fa fa-play-circle-o"></i> Dimming</label>
|
|
848
848
|
|
|
849
849
|
<label for="node-input-GALightDIM" style="width:20px;"><span data-i18n="knxUltimateHueLight.node-input-GALightState"></span></label>
|
|
850
850
|
<input type="text" id="node-input-GALightDIM" placeholder="Ex: 1/1/1" style="width:70px;margin-left: 5px; text-align: left;">
|
|
@@ -853,10 +853,10 @@
|
|
|
853
853
|
<select id="node-input-dptLightDIM" style="width:140px;"></select>
|
|
854
854
|
|
|
855
855
|
<label for="node-input-nameLightDIM" style="width:50px; margin-left: 0px; text-align: right;"><span data-i18n="knxUltimateHueLight.node-input-name"></span></label>
|
|
856
|
-
<input type="text" id="node-input-nameLightDIM" style="width:
|
|
856
|
+
<input type="text" id="node-input-nameLightDIM" style="width:190px;margin-left: 5px; text-align: left;">
|
|
857
857
|
</div>
|
|
858
858
|
<div class="form-row">
|
|
859
|
-
<label for="node-input-nameLightBrightness" style="width:
|
|
859
|
+
<label for="node-input-nameLightBrightness" style="width:110px;"><i class="fa fa-play-circle-o"></i> Brightness</label>
|
|
860
860
|
|
|
861
861
|
<label for="node-input-GALightBrightness" style="width:20px;"><span data-i18n="knxUltimateHueLight.node-input-GALightState"></span></label>
|
|
862
862
|
<input type="text" id="node-input-GALightBrightness" placeholder="Ex: 1/1/1" style="width:70px;margin-left: 5px; text-align: left;">
|
|
@@ -865,11 +865,11 @@
|
|
|
865
865
|
<select id="node-input-dptLightBrightness" style="width:140px;"></select>
|
|
866
866
|
|
|
867
867
|
<label for="node-input-nameLightBrightness" style="width:50px; margin-left: 0px; text-align: right;"><span data-i18n="knxUltimateHueLight.node-input-name"></span></label>
|
|
868
|
-
<input type="text" id="node-input-nameLightBrightness" style="width:
|
|
868
|
+
<input type="text" id="node-input-nameLightBrightness" style="width:190px;margin-left: 5px; text-align: left;">
|
|
869
869
|
</div>
|
|
870
870
|
|
|
871
871
|
<div class="form-row">
|
|
872
|
-
<label for="node-input-nameLightBrightnessState" style="width:
|
|
872
|
+
<label for="node-input-nameLightBrightnessState" style="width:110px;"><i class="fa fa-play-circle-o"></i> Brightness Status</label>
|
|
873
873
|
|
|
874
874
|
<label for="node-input-GALightBrightnessState" style="width:20px;"><span data-i18n="knxUltimateHueLight.node-input-GALightState"></span></label>
|
|
875
875
|
<input type="text" id="node-input-GALightBrightnessState" placeholder="Ex: 1/1/1" style="width:70px;margin-left: 5px; text-align: left;">
|
|
@@ -878,14 +878,14 @@
|
|
|
878
878
|
<select id="node-input-dptLightBrightnessState" style="width:140px;"></select>
|
|
879
879
|
|
|
880
880
|
<label for="node-input-nameLightBrightnessState" style="width:50px; margin-left: 0px; text-align: right;"><span data-i18n="knxUltimateHueLight.node-input-name"></span></label>
|
|
881
|
-
<input type="text" id="node-input-nameLightBrightnessState" style="width:
|
|
881
|
+
<input type="text" id="node-input-nameLightBrightnessState" style="width:190px;margin-left: 5px; text-align: left;">
|
|
882
882
|
</div>
|
|
883
883
|
</p>
|
|
884
884
|
</div>
|
|
885
885
|
<div id="tabs-3">
|
|
886
886
|
<p>
|
|
887
887
|
<div class="form-row">
|
|
888
|
-
<label for="node-input-nameLightHSV" style="width:
|
|
888
|
+
<label for="node-input-nameLightHSV" style="width:110px;"><i class="fa fa-play-circle-o"></i> Tunable white</label>
|
|
889
889
|
|
|
890
890
|
<label for="node-input-GALightHSV" style="width:20px;"><span data-i18n="knxUltimateHueLight.node-input-GALightState"></span></label>
|
|
891
891
|
<input type="text" id="node-input-GALightHSV" placeholder="Ex: 1/1/1" style="width:70px;margin-left: 5px; text-align: left;">
|
|
@@ -894,10 +894,10 @@
|
|
|
894
894
|
<select id="node-input-dptLightHSV" style="width:140px;"></select>
|
|
895
895
|
|
|
896
896
|
<label for="node-input-nameLightHSV" style="width:50px; margin-left: 0px; text-align: right;"><span data-i18n="knxUltimateHueLight.node-input-name"></span></label>
|
|
897
|
-
<input type="text" id="node-input-nameLightHSV" style="width:
|
|
897
|
+
<input type="text" id="node-input-nameLightHSV" style="width:190px;margin-left: 5px; text-align: left;">
|
|
898
898
|
</div>
|
|
899
899
|
<div class="form-row">
|
|
900
|
-
<label for="node-input-nameLightHSVState" style="width:
|
|
900
|
+
<label for="node-input-nameLightHSVState" style="width:110px;"><i class="fa fa-play-circle-o"></i> Tunable white Status</label>
|
|
901
901
|
|
|
902
902
|
<label for="node-input-GALightHSVState" style="width:20px;"><span data-i18n="knxUltimateHueLight.node-input-GALightState"></span></label>
|
|
903
903
|
<input type="text" id="node-input-GALightHSVState" placeholder="Ex: 1/1/1" style="width:70px;margin-left: 5px; text-align: left;">
|
|
@@ -906,14 +906,14 @@
|
|
|
906
906
|
<select id="node-input-dptLightHSVState" style="width:140px;"></select>
|
|
907
907
|
|
|
908
908
|
<label for="node-input-nameLightHSVState" style="width:50px; margin-left: 0px; text-align: right;"><span data-i18n="knxUltimateHueLight.node-input-name"></span></label>
|
|
909
|
-
<input type="text" id="node-input-nameLightHSVState" style="width:
|
|
909
|
+
<input type="text" id="node-input-nameLightHSVState" style="width:190px;margin-left: 5px; text-align: left;">
|
|
910
910
|
</div>
|
|
911
911
|
</p>
|
|
912
912
|
</div>
|
|
913
913
|
<div id="tabs-4">
|
|
914
914
|
<p>
|
|
915
915
|
<div class="form-row">
|
|
916
|
-
<label for="node-input-nameLightColor" style="width:
|
|
916
|
+
<label for="node-input-nameLightColor" style="width:110px;"><i class="fa fa-play-circle-o"></i> Color</label>
|
|
917
917
|
|
|
918
918
|
<label for="node-input-GALightColor" style="width:20px;"><span data-i18n="knxUltimateHueLight.node-input-GALightState"></span></label>
|
|
919
919
|
<input type="text" id="node-input-GALightColor" placeholder="Ex: 1/1/1" style="width:70px;margin-left: 5px; text-align: left;">
|
|
@@ -922,10 +922,10 @@
|
|
|
922
922
|
<select id="node-input-dptLightColor" style="width:140px;"></select>
|
|
923
923
|
|
|
924
924
|
<label for="node-input-nameLightColor" style="width:50px; margin-left: 0px; text-align: right;"><span data-i18n="knxUltimateHueLight.node-input-name"></span></label>
|
|
925
|
-
<input type="text" id="node-input-nameLightColor" style="width:
|
|
925
|
+
<input type="text" id="node-input-nameLightColor" style="width:190px;margin-left: 5px; text-align: left;">
|
|
926
926
|
</div>
|
|
927
927
|
<div class="form-row">
|
|
928
|
-
<label for="node-input-nameLightColorState" style="width:
|
|
928
|
+
<label for="node-input-nameLightColorState" style="width:110px;"><i class="fa fa-play-circle-o"></i> Color Status</label>
|
|
929
929
|
|
|
930
930
|
<label for="node-input-GALightColorState" style="width:20px;"><span data-i18n="knxUltimateHueLight.node-input-GALightState"></span></label>
|
|
931
931
|
<input type="text" id="node-input-GALightColorState" placeholder="Ex: 1/1/1" style="width:70px;margin-left: 5px; text-align: left;">
|
|
@@ -934,7 +934,7 @@
|
|
|
934
934
|
<select id="node-input-dptLightColorState" style="width:140px;"></select>
|
|
935
935
|
|
|
936
936
|
<label for="node-input-nameLightColorState" style="width:50px; margin-left: 0px; text-align: right;"><span data-i18n="knxUltimateHueLight.node-input-name"></span></label>
|
|
937
|
-
<input type="text" id="node-input-nameLightColorState" style="width:
|
|
937
|
+
<input type="text" id="node-input-nameLightColorState" style="width:190px;margin-left: 5px; text-align: left;">
|
|
938
938
|
</div>
|
|
939
939
|
</p>
|
|
940
940
|
</div>
|
|
@@ -942,7 +942,7 @@
|
|
|
942
942
|
<div id="tabs-5">
|
|
943
943
|
<p>
|
|
944
944
|
<div class="form-row">
|
|
945
|
-
<label for="node-input-nameLightBlink" style="width:
|
|
945
|
+
<label for="node-input-nameLightBlink" style="width:110px;"><i class="fa fa-play-circle-o"></i> Blink</label>
|
|
946
946
|
|
|
947
947
|
<label for="node-input-GALightBlink" style="width:20px;"><span data-i18n="knxUltimateHueLight.node-input-GALightState"></span></label>
|
|
948
948
|
<input type="text" id="node-input-GALightBlink" placeholder="Ex: 1/1/1" style="width:70px;margin-left: 5px; text-align: left;">
|
|
@@ -951,11 +951,11 @@
|
|
|
951
951
|
<select id="node-input-dptLightBlink" style="width:140px;"></select>
|
|
952
952
|
|
|
953
953
|
<label for="node-input-nameLightBlink" style="width:50px; margin-left: 0px; text-align: right;"><span data-i18n="knxUltimateHueLight.node-input-name"></span></label>
|
|
954
|
-
<input type="text" id="node-input-nameLightBlink" style="width:
|
|
954
|
+
<input type="text" id="node-input-nameLightBlink" style="width:190px;margin-left: 5px; text-align: left;">
|
|
955
955
|
</div>
|
|
956
956
|
|
|
957
957
|
<div class="form-row">
|
|
958
|
-
<label for="node-input-nameLightColorCycle" style="width:
|
|
958
|
+
<label for="node-input-nameLightColorCycle" style="width:110px;"><i class="fa fa-play-circle-o"></i> Color Cycle</label>
|
|
959
959
|
|
|
960
960
|
<label for="node-input-GALightColorCycle" style="width:20px;">GA</label>
|
|
961
961
|
<input type="text" id="node-input-GALightColorCycle" placeholder="Ex: 1/1/1" style="width:70px;margin-left: 5px; text-align: left;">
|
|
@@ -964,7 +964,7 @@
|
|
|
964
964
|
<select id="node-input-dptLightColorCycle" style="width:140px;"></select>
|
|
965
965
|
|
|
966
966
|
<label for="node-input-nameLightColorCycle" style="width:50px; margin-left: 0px; text-align: right;"><span data-i18n="knxUltimateHueLight.node-input-name"></span></label>
|
|
967
|
-
<input type="text" id="node-input-nameLightColorCycle" style="width:
|
|
967
|
+
<input type="text" id="node-input-nameLightColorCycle" style="width:190px;margin-left: 5px; text-align: left;">
|
|
968
968
|
</div>
|
|
969
969
|
</p>
|
|
970
970
|
</div>
|
|
@@ -973,12 +973,12 @@
|
|
|
973
973
|
<br/>
|
|
974
974
|
<b> HUE to KNX</b>
|
|
975
975
|
<div class="form-row">
|
|
976
|
-
<label for="node-input-updateSwitchStatusOnBrightness" style="width:
|
|
977
|
-
<i class="fa fa-tag"></i> Update Switch Status on brightness change
|
|
976
|
+
<label for="node-input-updateSwitchStatusOnBrightness" style="width:400px;">
|
|
977
|
+
<i class="fa fa-tag"></i> Update KNX Switch Status GA on HUE brightness change
|
|
978
978
|
</label>
|
|
979
979
|
<select id="node-input-updateSwitchStatusOnBrightness">
|
|
980
|
+
<option value="yes">Yes</option>
|
|
980
981
|
<option value="no">No</option>
|
|
981
|
-
<option value="yes">Yes</option>
|
|
982
982
|
</select>
|
|
983
983
|
</div>
|
|
984
984
|
</p>
|
|
@@ -1055,7 +1055,7 @@ HUE to KNX
|
|
|
1055
1055
|
|
|
1056
1056
|
|Property|Description|
|
|
1057
1057
|
|--|--|
|
|
1058
|
-
| Update Switch Status on brightness change | It updates the *Switch Status* group address on every brightness change. If the brighness is > 0, it sends *true*, otherwise, *false*. Default value is **
|
|
1058
|
+
| Update KNX Switch Status GA on HUE brightness change | It updates the KNX *Switch Status* group address on every HUE light's brightness change. If the brighness is > 0, it sends *true*, otherwise, *false*. Default value is **Yes**. |
|
|
1059
1059
|
|
|
1060
1060
|
<br/>
|
|
1061
1061
|
|
|
@@ -204,7 +204,7 @@ module.exports = function (RED) {
|
|
|
204
204
|
}
|
|
205
205
|
|
|
206
206
|
// Start dimming tunable white
|
|
207
|
-
// mirek: required(integer
|
|
207
|
+
// mirek: required(integer minimum: 153, maximum: 500)
|
|
208
208
|
node.timerDimTunableWhite = undefined
|
|
209
209
|
node.dimDirectionTunableWhite = {}
|
|
210
210
|
node.timeoutDimTunableWhite = 0
|
|
@@ -240,6 +240,7 @@ module.exports = function (RED) {
|
|
|
240
240
|
knxMsgPayload.payload = _event.on.on
|
|
241
241
|
// Send to KNX bus
|
|
242
242
|
if (knxMsgPayload.topic !== '' && knxMsgPayload.topic !== undefined) node.server.writeQueueAdd({ grpaddr: knxMsgPayload.topic, payload: knxMsgPayload.payload, dpt: knxMsgPayload.dpt, outputtype: 'write', nodecallerid: node.id })
|
|
243
|
+
if (node.currentHUEDevice !== undefined) node.currentHUEDevice.on = _event.on // Update the internal object representing the current light
|
|
243
244
|
}
|
|
244
245
|
}
|
|
245
246
|
if (_event.hasOwnProperty('color')) {
|
|
@@ -249,6 +250,7 @@ module.exports = function (RED) {
|
|
|
249
250
|
knxMsgPayload.payload = hueColorConverter.ColorConverter.xyBriToRgb(_event.color.xy.x, _event.color.xy.y, (node.currentHUEDevice !== undefined ? node.currentHUEDevice.dimming.brightness : 100))
|
|
250
251
|
// Send to KNX bus
|
|
251
252
|
if (knxMsgPayload.topic !== '' && knxMsgPayload.topic !== undefined) node.server.writeQueueAdd({ grpaddr: knxMsgPayload.topic, payload: knxMsgPayload.payload, dpt: knxMsgPayload.dpt, outputtype: 'write', nodecallerid: node.id })
|
|
253
|
+
if (node.currentHUEDevice !== undefined) node.currentHUEDevice.color = _event.color // Update the internal object representing the current light
|
|
252
254
|
}
|
|
253
255
|
}
|
|
254
256
|
if (_event.hasOwnProperty('dimming')) {
|
|
@@ -258,16 +260,17 @@ module.exports = function (RED) {
|
|
|
258
260
|
knxMsgPayload.payload = _event.dimming.brightness
|
|
259
261
|
// Send to KNX bus
|
|
260
262
|
if (knxMsgPayload.topic !== '' && knxMsgPayload.topic !== undefined) node.server.writeQueueAdd({ grpaddr: knxMsgPayload.topic, payload: knxMsgPayload.payload, dpt: knxMsgPayload.dpt, outputtype: 'write', nodecallerid: node.id })
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
263
|
+
if (node.currentHUEDevice !== undefined) node.currentHUEDevice.dimming = _event.dimming // Update the internal object representing the current light
|
|
264
|
+
}
|
|
265
|
+
if (config.updateSwitchStatusOnBrightness === 'yes' || config.updateSwitchStatusOnBrightness === undefined) {
|
|
266
|
+
// ISE Connect Hue emulation, send true/false to switch state
|
|
267
|
+
knxMsgPayload.topic = config.GALightState
|
|
268
|
+
knxMsgPayload.dpt = config.dptLightState
|
|
269
|
+
knxMsgPayload.payload = _event.dimming.brightness > 0
|
|
270
|
+
if (node.currentHUEDevice === undefined || node.currentHUEDevice.on.on !== knxMsgPayload.payload) { // Check not to have already sent the value
|
|
267
271
|
// Send to KNX bus
|
|
268
272
|
if (knxMsgPayload.topic !== '' && knxMsgPayload.topic !== undefined) node.server.writeQueueAdd({ grpaddr: knxMsgPayload.topic, payload: knxMsgPayload.payload, dpt: knxMsgPayload.dpt, outputtype: 'write', nodecallerid: node.id })
|
|
269
273
|
}
|
|
270
|
-
|
|
271
274
|
}
|
|
272
275
|
}
|
|
273
276
|
if (_event.hasOwnProperty('color_temperature')) {
|
|
@@ -280,6 +283,7 @@ module.exports = function (RED) {
|
|
|
280
283
|
}
|
|
281
284
|
// Send to KNX bus
|
|
282
285
|
if (knxMsgPayload.topic !== '' && knxMsgPayload.topic !== undefined) node.server.writeQueueAdd({ grpaddr: knxMsgPayload.topic, payload: knxMsgPayload.payload, dpt: knxMsgPayload.dpt, outputtype: 'write', nodecallerid: node.id })
|
|
286
|
+
if (node.currentHUEDevice !== undefined) node.currentHUEDevice.color_temperature = _event.color_temperature // Update the internal object representing the current light
|
|
283
287
|
}
|
|
284
288
|
}
|
|
285
289
|
node.setNodeStatusHue({ fill: 'blue', shape: 'ring', text: 'HUE->KNX State', payload: knxMsgPayload.payload })
|
|
@@ -298,7 +302,7 @@ module.exports = function (RED) {
|
|
|
298
302
|
node.serverHue.removeClient(node)
|
|
299
303
|
// I must get the light object, to store it in the node.currentHUEDevice variable
|
|
300
304
|
// I queue the state request, by passing the callback to call whenever the HUE bridge send me the light status async
|
|
301
|
-
if (node
|
|
305
|
+
if (node.serverHue !== null && node.serverHue.hueManager !== null) {
|
|
302
306
|
(async () => {
|
|
303
307
|
try {
|
|
304
308
|
await node.serverHue.hueManager.writeHueQueueAdd(config.hueDevice, null, 'getLight', (jLight) => {
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"engines": {
|
|
4
4
|
"node": ">=16.0.0"
|
|
5
5
|
},
|
|
6
|
-
"version": "2.1.
|
|
6
|
+
"version": "2.1.24",
|
|
7
7
|
"description": "Control your KNX intallation via Node-Red! Single Node KNX IN/OUT with optional ETS group address importer. Easy to use and highly configurable. With integrated Philips HUE devices handling.",
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"mkdirp": "3.0.1",
|