node-red-contrib-knx-ultimate 2.1.32 → 2.1.33

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 CHANGED
@@ -6,6 +6,10 @@
6
6
 
7
7
  # CHANGELOG
8
8
 
9
+ <p>
10
+ <b>Version 2.1.33</b> - July 2023<br/>
11
+ - HUE Light: fix for lights not supporting GAMUT.<br/>
12
+ </p>
9
13
  <p>
10
14
  <b>Version 2.1.32</b> - July 2023<br/>
11
15
  - NEW: Hue Battery Sensor: you can now get the battery level of all your battery powered HUE devices.<br/>
@@ -54,7 +54,10 @@ module.exports = function (RED) {
54
54
  // The user selected specific color/brightness at switch on.
55
55
  let jColorChoosen = { red: 255, green: 255, blue: 255 }
56
56
  jColorChoosen = JSON.parse(config.colorAtSwitchOnDayTime || '{ "red": 255, "green": 255, "blue": 255 }')
57
- let dgamut = node.currentHUEDevice !== undefined ? node.currentHUEDevice.color.gamut_type : null
57
+ let dgamut = null
58
+ if (node.currentHUEDevice !== undefined && node.currentHUEDevice.hasOwnProperty('color') && node.currentHUEDevice.color.hasOwnProperty('gamut_type')) {
59
+ dgamut = node.currentHUEDevice.color.gamut_type
60
+ }
58
61
  let dretXY = hueColorConverter.ColorConverter.rgbToXy(jColorChoosen.red, jColorChoosen.green, jColorChoosen.blue, dgamut)
59
62
  let dbright = hueColorConverter.ColorConverter.getBrightnessFromRGB(jColorChoosen.red, jColorChoosen.green, jColorChoosen.blue)
60
63
  state = dbright > 0 ? { on: { on: true }, dimming: { brightness: dbright }, color: { xy: dretXY } } : { on: { on: false } }
@@ -68,7 +71,10 @@ module.exports = function (RED) {
68
71
  if (config.enableDayNightLighting === true && !node.DayTime) {
69
72
  let jColorChoosen = { red: 23, green: 4, blue: 0 }
70
73
  jColorChoosen = JSON.parse(config.colorAtSwitchOnNightTime || '{ "red": 23, "green": 4, "blue": 0 }')
71
- let dgamut = node.currentHUEDevice !== undefined ? node.currentHUEDevice.color.gamut_type : null
74
+ let dgamut = null
75
+ if (node.currentHUEDevice !== undefined && node.currentHUEDevice.hasOwnProperty('color') && node.currentHUEDevice.color.hasOwnProperty('gamut_type')) {
76
+ dgamut = node.currentHUEDevice.color.gamut_type
77
+ }
72
78
  let dretXY = hueColorConverter.ColorConverter.rgbToXy(jColorChoosen.red, jColorChoosen.green, jColorChoosen.blue, dgamut)
73
79
  let dbright = hueColorConverter.ColorConverter.getBrightnessFromRGB(jColorChoosen.red, jColorChoosen.green, jColorChoosen.blue)
74
80
  state = dbright > 0 ? { on: { on: true }, dimming: { brightness: dbright }, color: { xy: dretXY } } : { on: { on: false } }
@@ -145,7 +151,10 @@ module.exports = function (RED) {
145
151
  break
146
152
  case config.GALightColor:
147
153
  msg.payload = dptlib.fromBuffer(msg.knx.rawValue, dptlib.resolve(config.dptLightColor))
148
- const gamut = node.currentHUEDevice !== undefined ? node.currentHUEDevice.color.gamut_type : null
154
+ let gamut = null
155
+ if (node.currentHUEDevice !== undefined && node.currentHUEDevice.hasOwnProperty('color') && node.currentHUEDevice.color.hasOwnProperty('gamut_type')) {
156
+ gamut = node.currentHUEDevice.color.gamut_type
157
+ }
149
158
  const retXY = hueColorConverter.ColorConverter.rgbToXy(msg.payload.red, msg.payload.green, msg.payload.blue, gamut)
150
159
  const bright = hueColorConverter.ColorConverter.getBrightnessFromRGB(msg.payload.red, msg.payload.green, msg.payload.blue)
151
160
  //state = bright > 0 ? { on: { on: true }, dimming: { brightness: bright }, color: { xy: retXY } } : { on: { on: false } }
@@ -185,7 +194,10 @@ module.exports = function (RED) {
185
194
  const red = getRandomIntInclusive(0, 255)
186
195
  const green = getRandomIntInclusive(0, 255)
187
196
  const blue = getRandomIntInclusive(0, 255)
188
- const gamut = node.currentHUEDevice !== undefined ? node.currentHUEDevice.color.gamut_type : null
197
+ let gamut = null
198
+ if (node.currentHUEDevice !== undefined && node.currentHUEDevice.hasOwnProperty('color') && node.currentHUEDevice.color.hasOwnProperty('gamut_type')) {
199
+ gamut = node.currentHUEDevice.color.gamut_type
200
+ }
189
201
  const retXY = hueColorConverter.ColorConverter.rgbToXy(red, green, blue, gamut)
190
202
  const bright = hueColorConverter.ColorConverter.getBrightnessFromRGB(red, green, blue)
191
203
  state = bright > 0 ? { on: { on: true }, dimming: { brightness: bright }, color: { xy: retXY } } : { on: { on: false } }
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "engines": {
4
4
  "node": ">=16.0.0"
5
5
  },
6
- "version": "2.1.32",
6
+ "version": "2.1.33",
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",