Virtual HTTP Devices plug-in: slight start up bug
-
On start up the log indicates the following:
2023-12-19 10:17:12.588 luup_log:209: VirtualDevices[3.0-beta7@209](setVar@104):setVar("urn:upnp-org:serviceId:Dimming1","LoadLevelTarget","",209) old value "" 2023-12-19 10:17:12.589 luup_log:209: VirtualDevices[3.0-beta7@209](setVar@104):setVar("urn:upnp-org:serviceId:Dimming1","LoadLevelTarget","",209) old value "" 2023-12-19 10:17:12.589 luup_log:209: VirtualDevices[3.0-beta7@209](setVar@104):setVar("urn:upnp-org:serviceId:Dimming1","LoadLevelStatus","",209) old value "" 2023-12-19 10:17:12.589 luup_log:209: VirtualDevices[3.0-beta7@209](setVar@104):setVar("urn:upnp-org:serviceId:Dimming1","LoadLevelLast","",209) old value "" 2023-12-19 10:17:12.589 luup_log:209: VirtualDevices[3.0-beta7@209](setVar@104):setVar("urn:upnp-org:serviceId:Dimming1","TurnOnBeforeDim","",209) old value "" 2023-12-19 10:17:12.590 luup_log:209: VirtualDevices[3.0-beta7@209](setVar@104):setVar("urn:upnp-org:serviceId:Dimming1","AllowZeroLevel","",209) old value "" 2023-12-19 10:17:12.590 luup_log:209: VirtualDevices[3.0-beta7@209](setVar@104):setVar("urn:bochicchio-com:serviceId:VirtualBinaryLight1","SetBrightnessURL","",209) old value "" 2023-12-19 10:17:12.590 luup_log:209: VirtualDevices[3.0-beta7@209](initializeMqtt@421):initializeMqtt(209,{ PowerStatusOff={ Value="0", Service="urn:upnp-org:serviceId:SwitchPower1", Variable="Status" }, BrightnessValue={ Variable="LoadLevelStatus", Service="urn:upnp-org:serviceId:Dimming1" }, PowerStatusOn={ Value="1", Service="urn:upnp-org:serviceId:SwitchPower1", Variable="Status" } }) - openLuup: true 2023-12-19 10:17:12.591 luup_log:209: VirtualDevices[3.0-beta7@209](subscribeToMqtt@414):subscribeToMqtt(209,nil,{ deviceID=209, opts={ Value="0", Service="urn:upnp-org:serviceId:SwitchPower1", Variable="Status" } }) 2023-12-19 10:17:12.591 openLuup.context_switch:: ERROR: [dev #209] ./L_VirtualLibrary.lua:415: attempt to concatenate field 'topic' (a nil value) 2023-12-19 10:17:12.591 openLuup.scheduler:: job aborted : ./L_VirtualLibrary.lua:415: attempt to concatenate field 'topic' (a nil value)
The MQTT variables are all set to "skip":
MQTT_BrightnessValue
MQTT_PowerStatusOff
MQTT_PowerStatusOnHowever it looks like the code doesn't check for "skip" and executes the functions initializeMqtt() and subscribeToMqtt() disappearing into the weeds at that point as there is nothing to subscribe to.
It would also be good if the code treated an empty string in the same way as it uses the key word "skip". It's not obvious that "skip" needs to be explicitly used.
-
On start up the log indicates the following:
2023-12-19 10:17:12.588 luup_log:209: VirtualDevices[3.0-beta7@209](setVar@104):setVar("urn:upnp-org:serviceId:Dimming1","LoadLevelTarget","",209) old value "" 2023-12-19 10:17:12.589 luup_log:209: VirtualDevices[3.0-beta7@209](setVar@104):setVar("urn:upnp-org:serviceId:Dimming1","LoadLevelTarget","",209) old value "" 2023-12-19 10:17:12.589 luup_log:209: VirtualDevices[3.0-beta7@209](setVar@104):setVar("urn:upnp-org:serviceId:Dimming1","LoadLevelStatus","",209) old value "" 2023-12-19 10:17:12.589 luup_log:209: VirtualDevices[3.0-beta7@209](setVar@104):setVar("urn:upnp-org:serviceId:Dimming1","LoadLevelLast","",209) old value "" 2023-12-19 10:17:12.589 luup_log:209: VirtualDevices[3.0-beta7@209](setVar@104):setVar("urn:upnp-org:serviceId:Dimming1","TurnOnBeforeDim","",209) old value "" 2023-12-19 10:17:12.590 luup_log:209: VirtualDevices[3.0-beta7@209](setVar@104):setVar("urn:upnp-org:serviceId:Dimming1","AllowZeroLevel","",209) old value "" 2023-12-19 10:17:12.590 luup_log:209: VirtualDevices[3.0-beta7@209](setVar@104):setVar("urn:bochicchio-com:serviceId:VirtualBinaryLight1","SetBrightnessURL","",209) old value "" 2023-12-19 10:17:12.590 luup_log:209: VirtualDevices[3.0-beta7@209](initializeMqtt@421):initializeMqtt(209,{ PowerStatusOff={ Value="0", Service="urn:upnp-org:serviceId:SwitchPower1", Variable="Status" }, BrightnessValue={ Variable="LoadLevelStatus", Service="urn:upnp-org:serviceId:Dimming1" }, PowerStatusOn={ Value="1", Service="urn:upnp-org:serviceId:SwitchPower1", Variable="Status" } }) - openLuup: true 2023-12-19 10:17:12.591 luup_log:209: VirtualDevices[3.0-beta7@209](subscribeToMqtt@414):subscribeToMqtt(209,nil,{ deviceID=209, opts={ Value="0", Service="urn:upnp-org:serviceId:SwitchPower1", Variable="Status" } }) 2023-12-19 10:17:12.591 openLuup.context_switch:: ERROR: [dev #209] ./L_VirtualLibrary.lua:415: attempt to concatenate field 'topic' (a nil value) 2023-12-19 10:17:12.591 openLuup.scheduler:: job aborted : ./L_VirtualLibrary.lua:415: attempt to concatenate field 'topic' (a nil value)
The MQTT variables are all set to "skip":
MQTT_BrightnessValue
MQTT_PowerStatusOff
MQTT_PowerStatusOnHowever it looks like the code doesn't check for "skip" and executes the functions initializeMqtt() and subscribeToMqtt() disappearing into the weeds at that point as there is nothing to subscribe to.
It would also be good if the code treated an empty string in the same way as it uses the key word "skip". It's not obvious that "skip" needs to be explicitly used.