Previously, the combination of Hubitat_RC_HVAC v0.14 and Hubitat-Broadlink v0.44 worked fine with my Fujitsu mini-splits.
After updating, I'm getting Java errors and have no control of Fujitsu thermostats with Hubitat_RC_HVAC_v0.25.zip & Hubitat-Broadlink_v0.44.zip OR Hubitat-Broadlink_v0.47.zip OR Hubitat-Broadlink_v0.49.zip.
I'm getting the following in the Hubitat logs with the original Fujitsu protocol:
Device 586 is the RM3-Mini controlling the Office HVAC.
With Hubitat_RC_HVAC v0.14 and Hubitat-Broadlink_v0.49.zip I get the following errors:
Summary
dev:5862020-05-10 10:06:09.761 pm errorjava.lang.NullPointerException: Cannot invoke method toInteger() on null object on line 577 (generateIR)
app:6182020-05-10 10:06:09.627 pm debugraw bitmap: [[20, 99, 0, 16, 16, 254, 9, 48, 161, 4, 2, 0, 0, 0, 32, 0]]
app:6182020-05-10 10:06:09.623 pm debug[Office HVAC Child] sendCode_Fujitsu called - thermostatMode [heat] thermostatFanMode [medium] thermostatSetpoint [80]
app:6182020-05-10 10:06:09.594 pm debug[Office HVAC Child] (sendCode_Fujitsu)
app:6182020-05-10 10:06:06.592 pm errorjava.lang.NullPointerException: Cannot invoke method currentState() on null object on line 806 (handleThermostatEvents)
app:6182020-05-10 10:06:06.583 pm debug[Office HVAC Child] (getOperatingState) Determining thermostatOperatingState
app:6182020-05-10 10:06:06.536 pm errorjava.lang.NullPointerException: Cannot invoke method currentState() on null object on line 806 (handleThermostatEvents)
app:6182020-05-10 10:06:06.530 pm debug[Office HVAC Child] (getOperatingState) Determining thermostatOperatingState
app:6182020-05-10 10:06:06.445 pm debug[Office HVAC Child] (handleThermostatEvents) Thermostat state changed - Scheduling device update
app:6182020-05-10 10:06:06.436 pm debug[Office HVAC Child] (handleThermostatEvents) Thermostat state changed - Scheduling device update
app:6182020-05-10 10:06:06.426 pm debug[Office HVAC Child] (handleThermostatEvents) Received event [source: DEVICE, name: heatingSetpoint, value: 80, isStateChange: true]
app:6182020-05-10 10:06:06.420 pm debug[Office HVAC Child] (handleThermostatEvents) Received event [source: DEVICE, name: thermostatSetpoint, value: 80.0, isStateChange: true]
dev:5892020-05-10 10:06:06.292 pm debug[Office HVAC DRIVER] setCommonSetpoint: Executing 'setCommonSetpoint' with [80.0] originally [80])
dev:5892020-05-10 10:06:06.274 pm debug[Office HVAC DRIVER] clampTemp: triming value 80 to 80.0
dev:5892020-05-10 10:06:06.271 pm debug[Office HVAC DRIVER] Executing 'setCommonSetpoint' - thermostatMode [heat] cooltemp [68] heattemp [80]
dev:5892020-05-10 10:06:06.266 pm debug[Office HVAC DRIVER] processing 'setHeatingSetpoint' with [80]
dev:5892020-05-10 10:06:06.264 pm debug[Office HVAC DRIVER] getValidHeatSetpoint: no restriction for temperature value 80
dev:5892020-05-10 10:06:06.256 pm debug[Office HVAC DRIVER] getValidHeatSetpoint: testing heat setpoint for temperature value 80
dev:5892020-05-10 10:06:06.253 pm debug[Office HVAC DRIVER] Executing 'setHeatingSetpoint' with 80
app:6182020-05-10 10:06:06.189 pm errorjava.lang.NullPointerException: Cannot invoke method currentState() on null object on line 806 (handleThermostatEvents)
app:6182020-05-10 10:06:06.180 pm debug[Office HVAC Child] (getOperatingState) Determining thermostatOperatingState
app:6182020-05-10 10:06:06.121 pm errorjava.lang.NullPointerException: Cannot invoke method currentState() on null object on line 806 (handleThermostatEvents)
app:6182020-05-10 10:06:06.109 pm debug[Office HVAC Child] (getOperatingState) Determining thermostatOperatingState
app:6182020-05-10 10:06:06.072 pm debug[Office HVAC Child] (handleThermostatEvents) Thermostat state changed - Scheduling device update
app:6182020-05-10 10:06:06.062 pm debug[Office HVAC Child] (handleThermostatEvents) Thermostat state changed - Scheduling device update
app:6182020-05-10 10:06:06.059 pm debug[Office HVAC Child] (handleThermostatEvents) Received event [source: DEVICE, name: heatingSetpoint, value: 81, isStateChange: true]
app:6182020-05-10 10:06:06.052 pm debug[Office HVAC Child] (handleThermostatEvents) Received event [source: DEVICE, name: thermostatSetpoint, value: 81.0, isStateChange: true]
dev:5892020-05-10 10:06:05.952 pm debug[Office HVAC DRIVER] setCommonSetpoint: Executing 'setCommonSetpoint' with [81.0] originally [81])
dev:5892020-05-10 10:06:05.949 pm debug[Office HVAC DRIVER] clampTemp: triming value 81 to 81.0
dev:5892020-05-10 10:06:05.947 pm debug[Office HVAC DRIVER] Executing 'setCommonSetpoint' - thermostatMode [heat] cooltemp [68] heattemp [81]
dev:5892020-05-10 10:06:05.942 pm debug[Office HVAC DRIVER] processing 'setHeatingSetpoint' with [81]
dev:5892020-05-10 10:06:05.939 pm debug[Office HVAC DRIVER] getValidHeatSetpoint: no restriction for temperature value 81
dev:5892020-05-10 10:06:05.937 pm debug[Office HVAC DRIVER] getValidHeatSetpoint: testing heat setpoint for temperature value 81
dev:5892020-05-10 10:06:05.934 pm debug[Office HVAC DRIVER] Executing 'setHeatingSetpoint' with 81
dev:6132020-05-10 10:06:02.630 pm infoOffice HVAC Motion Control was turned off
dev:6132020-05-10 10:06:00.344 pm infoOffice HVAC Motion Control was turned on
dev:5862020-05-10 10:05:58.888 pm errorjava.lang.NullPointerException: Cannot invoke method toInteger() on null object on line 577 (generateIR)
app:6182020-05-10 10:05:58.772 pm debugraw bitmap: [[20, 99, 0, 16, 16, 254, 9, 48, 177, 4, 2, 0, 0, 0, 32, 0]]
app:6182020-05-10 10:05:58.769 pm debug[Office HVAC Child] sendCode_Fujitsu called - thermostatMode [heat] thermostatFanMode [medium] thermostatSetpoint [82]
app:6182020-05-10 10:05:58.747 pm debug[Office HVAC Child] (sendCode_Fujitsu)
app:6182020-05-10 10:05:55.704 pm errorjava.lang.NullPointerException: Cannot invoke method currentState() on null object on line 806 (handleThermostatEvents)
app:6182020-05-10 10:05:55.693 pm debug[Office HVAC Child] (getOperatingState) Determining thermostatOperatingState
app:6182020-05-10 10:05:55.666 pm debug[Office HVAC Child] (handleThermostatEvents) Thermostat state changed - Scheduling device update
app:6182020-05-10 10:05:55.659 pm debug[Office HVAC Child] (handleThermostatEvents) Received event [source: DEVICE, name: thermostatFanMode, value: medium, isStateChange: true]
dev:5892020-05-10 10:05:55.603 pm debug[Office HVAC DRIVER] Executing 'fanMedium'
dev:5892020-05-10 10:05:55.600 pm debug[Office HVAC DRIVER] setThermostatFanMode(medium)
app:6182020-05-10 10:05:54.125 pm errorjava.lang.NullPointerException: Cannot invoke method currentState() on null object on line 806 (getOperatingState)
app:6182020-05-10 10:05:54.116 pm debug[Office HVAC Child] (getOperatingState) Determining thermostatOperatingState
dev:5862020-05-10 10:05:52.756 pm errorjava.lang.NullPointerException: Cannot invoke method toInteger() on null object on line 577 (generateIR)
app:6182020-05-10 10:05:52.514 pm debugraw bitmap: [[20, 99, 0, 16, 16, 254, 9, 48, 177, 4, 1, 0, 0, 0, 32, 0]]
app:6182020-05-10 10:05:52.511 pm debug[Office HVAC Child] sendCode_Fujitsu called - thermostatMode [heat] thermostatFanMode [high] thermostatSetpoint [82]
app:6182020-05-10 10:05:52.484 pm debug[Office HVAC Child] (sendCode_Fujitsu)
app:6182020-05-10 10:05:49.459 pm errorjava.lang.NullPointerException: Cannot invoke method currentState() on null object on line 806 (handleThermostatEvents)
app:6182020-05-10 10:05:49.454 pm debug[Office HVAC Child] (getOperatingState) Determining thermostatOperatingState
app:6182020-05-10 10:05:49.431 pm errorjava.lang.NullPointerException: Cannot invoke method currentState() on null object on line 806 (handleThermostatEvents)
app:6182020-05-10 10:05:49.422 pm debug[Office HVAC Child] (getOperatingState) Determining thermostatOperatingState
app:6182020-05-10 10:05:49.346 pm debug[Office HVAC Child] (handleThermostatEvents) Thermostat state changed - Scheduling device update
app:6182020-05-10 10:05:49.340 pm debug[Office HVAC Child] (handleThermostatEvents) Thermostat state changed - Scheduling device update
app:6182020-05-10 10:05:49.331 pm debug[Office HVAC Child] (handleThermostatEvents) Received event [source: DEVICE, name: thermostatSetpoint, value: 82.0, isStateChange: true]
app:6182020-05-10 10:05:49.326 pm debug[Office HVAC Child] (handleThermostatEvents) Received event [source: DEVICE, name: heatingSetpoint, value: 82, isStateChange: true]
dev:5892020-05-10 10:05:49.250 pm debug[Office HVAC DRIVER] setCommonSetpoint: Executing 'setCommonSetpoint' with [82.0] originally [82])
dev:5892020-05-10 10:05:49.240 pm debug[Office HVAC DRIVER] clampTemp: triming value 82 to 82.0
dev:5892020-05-10 10:05:49.237 pm debug[Office HVAC DRIVER] Executing 'setCommonSetpoint' - thermostatMode [heat] cooltemp [68] heattemp [82]
dev:5892020-05-10 10:05:49.212 pm debug[Office HVAC DRIVER] processing 'setHeatingSetpoint' with [82]
dev:5892020-05-10 10:05:49.209 pm debug[Office HVAC DRIVER] getValidHeatSetpoint: no restriction for temperature value 82
dev:5892020-05-10 10:05:49.205 pm debug[Office HVAC DRIVER] getValidHeatSetpoint: testing heat setpoint for temperature value 82
dev:5892020-05-10 10:05:49.201 pm debug[Office HVAC DRIVER] Executing 'setHeatingSetpoint' with 82
app:6182020-05-10 10:05:49.177 pm errorjava.lang.NullPointerException: Cannot invoke method currentState() on null object on line 806 (handleThermostatEvents)
app:6182020-05-10 10:05:49.163 pm debug[Office HVAC Child] (getOperatingState) Determining thermostatOperatingState
app:6182020-05-10 10:05:49.081 pm errorjava.lang.NullPointerException: Cannot invoke method currentState() on null object on line 806 (handleThermostatEvents)
app:6182020-05-10 10:05:49.078 pm debug[Office HVAC Child] (getOperatingState) Determining thermostatOperatingState
app:6182020-05-10 10:05:49.028 pm debug[Office HVAC Child] (handleThermostatEvents) Thermostat state changed - Scheduling device update
app:6182020-05-10 10:05:49.016 pm debug[Office HVAC Child] (handleThermostatEvents) Thermostat state changed - Scheduling device update
app:6182020-05-10 10:05:49.004 pm debug[Office HVAC Child] (handleThermostatEvents) Received event [source: DEVICE, name: heatingSetpoint, value: 83, isStateChange: true]
app:6182020-05-10 10:05:49.001 pm debug[Office HVAC Child] (handleThermostatEvents) Received event [source: DEVICE, name: thermostatSetpoint, value: 83.0, isStateChange: true]
dev:5892020-05-10 10:05:48.929 pm debug[Office HVAC DRIVER] setCommonSetpoint: Executing 'setCommonSetpoint' with [83.0] originally [83])
dev:5892020-05-10 10:05:48.926 pm debug[Office HVAC DRIVER] clampTemp: triming value 83 to 83.0
dev:5892020-05-10 10:05:48.918 pm debug[Office HVAC DRIVER] Executing 'setCommonSetpoint' - thermostatMode [heat] cooltemp [68] heattemp [83]
dev:5892020-05-10 10:05:48.910 pm debug[Office HVAC DRIVER] processing 'setHeatingSetpoint' with [83]
dev:5892020-05-10 10:05:48.907 pm debug[Office HVAC DRIVER] getValidHeatSetpoint: no restriction for temperature value 83
dev:5892020-05-10 10:05:48.901 pm debug[Office HVAC DRIVER] getValidHeatSetpoint: testing heat setpoint for temperature value 83
dev:5892020-05-10 10:05:48.895 pm debug[Office HVAC DRIVER] Executing 'setHeatingSetpoint' with 83
As an aside, I would have be glad to test versions between the working combination of Broadlink Driver + HVAC app & the current releases, but I can't find a way in this forum to see the version history of an edited post for the previous download links. I know that Github is out, but would you consider either making the older versions available directly or using some public version control repo?
In any case, I'm grateful to have smart control of the HVAC units, despite any glitches.