[WITHDRAWN] NATIVE Broadlink RM/RM Pro/RM Mini/SP driver & RC HVAC Manager

Yeah... not a jumpstart... a full on leap.... 8-}

1 Like

Wow! This is really great!

I really love the detailed installation instruction! Note: I found the following:

  • If the Child app is installed first, we get the following error message:
    "Metadata Error: Parent App 'cybr:RC HVAC Manager (BETA)' not found on line 9"
  • Installing the parent first resolves this.

The mode options in the tile is missing "Heat" all others seem to be present:


This seems to come from the "supportedThermostatModes : " state that currently only has "[off, auto, cool, dry, fan]". Note that I have been able to set to "Heat" directly from the driver and it works.

I did a quick test on all the available settings and everything seems to work on my Fujitsu Mini-Split. Some great work!!!

Is there documentation somewhere (from Hubitat I would assume) on the tile or the device options? In some previous testing I had done with a virtual device, the tile would turn red when heating and blue when cooling - right now, it remains gray... Probably something I have not set properly...?

2020-01-27%20(2)

Some questions:

  1. What does the "20" on top represent? I assume it is the associated sensor's temperature? It has since changed to that temperature... Forget I asked...
  2. In the title, there is also an "unknown". Is there a way to tell what it is looking for? Maybe if I had a humidity sensor, it could use that?
  3. I assume that the "Cool" number indicates to what degree I want it to cool, so if the unit detects a temperature that is higher than this, it will move to Cooling mode. Same for the "Heat" number where it will heat up to that. Is that a correct assumption?
  4. When raising the temperature in the dashboard tile, a command is sent each time the arrow is pressed. Is this something that can be configured so that it would only send the value a second or so after it stopped changing?
  5. I keep getting the following message in my log. Anything I need to resolve?:
    "2020-01-27 19:04:09.528 [warn]Error occured with UDP message: SocketTimeoutException: Receive timed out"

Again, wow! This is a really great app!

Fixed. Thanks for catching that!

Fixed in the next release.

No. The only documentation collected in one place is the documentation from Hubitat, HERE, and it is the general documentation of how to install and configure the app... Any other thermostat tile information is sprinkled throughout the forum...

No, not something that you didn't do properly. Thermostats work as two part devices, and the tile reflects this. The first part is control... You click on a control, and the tile sends the control to the driver from processing... The second part is notification... The driver commands the HVAC device into "heat" mode... The device responds to the driver with the mode it is in... Usually, within a reasonable amount of time, the device tells the driver that it is in "heat" mode. The driver then publishes this information (sends an event) so that any app/dashboard tile that is interested knows that the device is now in "heat" mode. For the dashboard tile, when it gets this information, it notifies you by turning the tile red.

Because using a Remote Control to operate an HVAC device is a one way connection, we can not receive and information from the device about it's current operating state. So we have no information about the actual state of the device, so we have no information to send to the tile, so everything stays grey...

As the App is further developed, I can add some logic to give a best guess at the state of the device based on settings and reported temperature, but without feedback from the device, it will be nowhere near 100% accurate...

The 20 represent, as you surmised, the temperature value provided by the selected temperature sensor. When the device is first created, will use a default value of 20 as the initial value. If you selected the temperature sensor in an RM Pro device, it will update every 10 minutes. If you selected some other type of temperature sensor (such as the sensor in a Hue Motion sensor), it will update at the rate set by the driver for the sensor. If the value does not update, then I will need to add a polling mechanism to the app...

This "unknown" would normally display the current operating mode of the HVAC device. As mentioned, the HVAC device does not report status, so I did not have the driver set the attribute that sets this display... I think it's better to display "unknown" rather that a totally fictitious "heating" or "cooling" or "idle".

If you have some way of definitively determining that the HVAC unit is operating (ie: a vibration sensor, an energy monitoring plug for a portable unit, or whatever you can think of), I could add an optional sensor input for that...

That is a logical assumption, but is incorrect. What you describe is what a HVAC unit with a smart thermostat can possibly do when set to "auto". Traditional thermostats typically have cool/off/heat settings and maintain a heat setpoint when operating in "heat" mode, and a separate cool setpoint when operating in "cool" mode. Most, if not all, smart thermostats added an "auto" mode... But they way that works is by having an additional setpoint for "auto" mode, and they do heating or cooling to keep the temperature within a predefined range, typically +/- 2 degrees. Very few use the method that you describe. The Remote Controller HVAC units work differently... They do not have setpoints. Every command you send to the unit includes the set temperature. When in "auto" mode they use the predefined range method...

The thermostat tile does not know what method the thermostat will use for auto mode, so it presents both setpoints... It is the up to the driver to figure it out.

In the RC HVAC thermostat driver. the heat setpoint is used for every mode except "cool" and "dry" (this is a mistake... no temperature picker in dry mode)... And thinking about it, as most portable/mini split/ Remote Controlled systems are predominantly cool only (heat is a fairly recent addition), I will probably change it to use the cool setpoint for everything but heat.

Yes. Currently, you click on a command button, the command is sent to the device... Yes, I realize this is awkward... It is something I plan to address in a future release...

This is unexpected... It is not a critical error, but does mean that your RM device is missing packets... Does it happen frequently??? what device is the message attached to??? Can you provide logs showing what is happening for 10 to 15 seconds before error message?

Good point, and good question! Having something that would allow a tile color change would be awesome as it allows for a quick visual on what is happening. If the option below is not possible, then could it be matched with the selected mode?

Good question... The most accurate approach that I can think of would be to make use of 2 sensors. I could place one by the air intake, and one by the air output. If the air output is warmer than the air intake, it is heating. If it is cooler, it is cooling. Otherwise, it is jut on fan mode. I'm willing to buy a couple of Samsung Multi-Purpose (door) sensors to try this out if this type of logic can be setup. These sensors have the added benefit of also being motion/tilt sensors if it is something that could be useful... Not sure how good they would be at detecting vibrations though... -EDIT- Okay, I decided to go ahead and ordered them from Amazon. They are due to arrive next week on Monday.

The warning appeared at least a dozen times. It doesn't occur anymore and my past logs don't seem to go back far enough. If I see it again, I'll be sure to send you the logs. As I can recall, they came from the Broadlink device. I didn't see anything else from the device before hand, if it reoccurs, I'll capture more.

At the risk of repeating myself... I am quite impressed with what you did with this! I have had the Broadlink learn the codes for tilt up and tilt down, so can control pretty much everything that I need now with those two commands combined with the RC HVAC Manager Apps/Driver. Everything else useful I see on the remote (timer, energy saving program, etc.) I would be able to program through the rule machine. My next step will be to remove the batteries from my remote and put it away for a long, long time... :smiley:

Added to v0.02 of the app (available from the first post)

Added to v0.02 of the app (available from the first post)

Did you learn codes to do the up/down swing in individual steps?? The protocol description I found has control information for horizontal/vertical sweep modes, but not the individual steps...

Unfortunately, there is no support horizontal/vertical sweep in any of the capabilities available... and no tile that is really appropriate for these functions.

Great additions!!!

I've updated my app to version 0.02 of the code and noticed that it created two child apps, so I tried to delete the one from yesterday (version 0.01). It gave me an error message indicating it was in use by my device. I therefore removed the associated child device and that seemed to resolve the issue - I was able to delete the duplicate Child App code, and then re-created my device in the app. So I think that in order to update the child app, it may be necessary to delete it first...?

The delay with sending the commands worked like a charm! Emulation of the mode is also working great for Heat and Fan modes! When I set it to "cool" mode, it moved to "idle" instead which was unexpected... The mini-split does seem to be idle, so it may be a correct status, just a problem with the command being sent...?
2020-01-28

When in auto mode and cooling, the mode and description are correctly showing "Cooling".
Interestingly, when there is an impossible condition as seen below, the result is "Error", which is quite accurate though I wonder if it would help/be possible to show some explanation of the cause.
2020-01-28%20(1)

Could I ask for a little tweak to the order of the modes? Could "heat" be either before or after "cool" instead of having it on the bottom? It seems a better fit...

As soon as I receive my multi-sensors, I will test the functionality around it to see how it works. (I'll also add pictures showing the sensor placements.)

Yes, I was able to have BroadLink learn the horizontal and vertical individual step commands. It will go up a step at a time and then down a step at a time (Vertical). Same for left/right (Horizontal). This is good for setting them permanently to the same setting, which is what I need so I'm good. For now, I am using a button tile with the command name as the "Button Number". As a reference, here are the codes I am using for this:

Fujitsu-ChangeVanes-Horizontal

260076006B360E0E0D0F0D290D0F0D290D0F0D0E0D0F0D290D290E0E0D0F0D0E0D290E290D0E0E0E0D0F0D0E0D0F0D0E0D0F0D0F0D0E0D0F0D0E0D0F0D0F0D290D0E0E0E0D0F0D0E0D0F0D0E0E0E0D290D0F0D0F0D0E0D2A0D0E0D0F0D290D290D2A0D290D0F0D0E0D2A0D290D0E0E0E0D0F0D0E0D2A0D000D05

Fujitsu-ChangeVanes-Vertical

260076006B360D0F0D0E0D2A0D0E0D2A0D0E0D0F0D0E0D2A0D290D0F0D0E0D0F0D290D290E0E0D0F0D0E0D0F0D0F0D0E0D0F0D0E0D0F0D0E0E0E0D0F0D0E0D2A0D0E0D0F0D0E0D0F0D0F0D0E0D0F0D290D0F0D0E0D0F0D0E0E0E0D290D2A0D0E0D2A0D290D0F0D290D290D0F0D0E0E290D0E0D0F0D290D000D05

Agreed. Same goes for the "Outdoor Unit Low Noise" button that is available on the physical remote. Like the horizontal/vertical sweep, it is sent along with the mode, temperature and fan signal. If ever we can have customizable tiles, I assume some more functionality like the swing and the "Outdoor Unit Low Noise" could be added...? I think we may be pushing the envelop a bit... :smiley:

This is terrific!

Minor issues:

Changing the temperatureScale from F vs C -- there doesn't seem to be a preference setting (though I could change it in the driver code).

If the temperature device feeding into the virtual thermostat is using a different unit for temperature, there are, um, odd results...see the thermostatSetpoint value below, which is 64F.

Current States

  • coolingSetpoint : 20.5
  • heatingSetpoint : 20.5
  • supportedThermostatFanModes : [auto, high, medium, low, quiet]
  • supportedThermostatModes : [off, auto, cool, dry, fan, heat]
  • temperature : 68
  • temperatureDisplayScale : F
  • temperatureScale : C
  • thermostatFanMode : auto
  • thermostatMode : off
  • thermostatSetpoint : 147.0
Log Entries

app:6202020-01-28 11:07:17.159 pm debug[Bedroom HVAC] (sendCode_Fujitsu)

dev:5912020-01-28 11:07:16.182 pm errorgroovy.lang.MissingMethodException: No signature of method: user_driver_cybr_RC_HVAC_Thermostat__BETA__653.refresh() is applicable for argument types: () values: [] Possible solutions: every(), every(groovy.lang.Closure), grep() (refresh)

app:6202020-01-28 11:07:14.010 pm debug[Bedroom HVAC] (handleThermostatEvents) Received event [source: DEVICE, name: heatingSetpoint, value: 20.5, isStateChange: true]

app:6202020-01-28 11:07:13.877 pm debug[Bedroom HVAC] (handleThermostatEvents) Received event [source: DEVICE, name: thermostatSetpoint, value: 147.0, isStateChange: true]

app:6202020-01-28 11:07:13.865 pm debug[Bedroom HVAC] (handleThermostatEvents) Received event [source: DEVICE, name: thermostatSetpoint, value: 147.0, isStateChange: true]

app:6202020-01-28 11:07:13.760 pm debug[Bedroom HVAC] (handleThermostatEvents) Received event [source: DEVICE, name: coolingSetpoint, value: 20.5, isStateChange: true]

app:6202020-01-28 11:07:13.756 pm debug[Bedroom HVAC] (handleThermostatEvents) Received event [source: DEVICE, name: thermostatMode, value: off, isStateChange: true]

app:6202020-01-28 11:07:13.735 pm debug[Bedroom HVAC] (handleThermostatEvents) Received event [source: DEVICE, name: thermostatFanMode, value: auto, isStateChange: true]

dev:5912020-01-28 11:07:13.729 pm debug[RC HVAC Thermostat (BETA)] setCommonSetpoint: Executing 'setCommonSetpoint' with 147.0 (originally - 64)

dev:5912020-01-28 11:07:13.725 pm debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 147.0 to 147.0

dev:5912020-01-28 11:07:13.720 pm warn getTemperatureHE: temperature scale conversion required. temperature value 64C = 147.0F

dev:5912020-01-28 11:07:13.716 pm debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 147.2 to 147.0

dev:5912020-01-28 11:07:13.706 pm debug[RC HVAC Thermostat (BETA)] getTemperatureHE: temperatureScale - HE = F VS = C

dev:5912020-01-28 11:07:13.701 pm debug[RC HVAC Thermostat (BETA)] getTemperatureHE: testing for temperature scale conversion for temperature value 64

dev:5912020-01-28 11:07:13.682 pm debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' - thermostatMode [off] cooltemp [64] heattemp [64]

dev:5912020-01-28 11:07:13.676 pm debug[RC HVAC Thermostat (BETA)] processing 'setHeatingSetpoint' with 20.5 (originally 20)

dev:5912020-01-28 11:07:13.668 pm warn getTemperatureHE: temperature scale conversion required. temperature value -6.5C = 20.5F

dev:5912020-01-28 11:07:13.664 pm debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 20.3 to 20.5

dev:5912020-01-28 11:07:13.652 pm debug[RC HVAC Thermostat (BETA)] getTemperatureHE: temperatureScale - HE = F VS = C

dev:5912020-01-28 11:07:13.645 pm debug[RC HVAC Thermostat (BETA)] getTemperatureHE: testing for temperature scale conversion for temperature value -6.5

dev:5912020-01-28 11:07:13.640 pm warn getValidHeatSetpoint: heat setpoint restricted to minimum temperature value 64

dev:5912020-01-28 11:07:13.636 pm debug[RC HVAC Thermostat (BETA)] getValidHeatSetpoint: testing heat setpoint for temperature value -6.5

dev:5912020-01-28 11:07:13.632 pm warn getTemperatureVS: temperature scale conversion required. temperature value 20.0F = -6.5C

dev:5912020-01-28 11:07:13.627 pm debug[RC HVAC Thermostat (BETA)] clampTemp: triming value -6.666666666666667 to -6.5

dev:5912020-01-28 11:07:13.618 pm debug getTemperatureVS: temperatureScale - VS = C HE = F

dev:5912020-01-28 11:07:13.614 pm debug[RC HVAC Thermostat (BETA)] getTemperatureVS: testing for temperature scale conversion for temperature value 20.0

dev:5912020-01-28 11:07:13.609 pm debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 20 to 20.0

dev:5912020-01-28 11:07:13.593 pm debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' with 20

dev:5912020-01-28 11:07:13.588 pm debug[RC HVAC Thermostat (BETA)] setCommonSetpoint: Executing 'setCommonSetpoint' with 147.0 (originally - 64)

dev:5912020-01-28 11:07:13.584 pm debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 147.0 to 147.0

dev:5912020-01-28 11:07:13.580 pm warn getTemperatureHE: temperature scale conversion required. temperature value 64C = 147.0F

dev:5912020-01-28 11:07:13.575 pm debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 147.2 to 147.0

dev:5912020-01-28 11:07:13.525 pm debug[RC HVAC Thermostat (BETA)] getTemperatureHE: temperatureScale - HE = F VS = C

dev:5912020-01-28 11:07:13.521 pm debug[RC HVAC Thermostat (BETA)] getTemperatureHE: testing for temperature scale conversion for temperature value 64

dev:5912020-01-28 11:07:13.499 pm debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' - thermostatMode [off] cooltemp [64] heattemp [68]

dev:5912020-01-28 11:07:13.494 pm debug[RC HVAC Thermostat (BETA)] processing 'setCoolingSetpoint' with 20.5 (originally 20)

dev:5912020-01-28 11:07:13.468 pm warn getTemperatureHE: temperature scale conversion required. temperature value -6.5C = 20.5F

dev:5912020-01-28 11:07:13.454 pm debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 20.3 to 20.5

dev:5912020-01-28 11:07:13.450 pm debug[RC HVAC Thermostat (BETA)] getTemperatureHE: temperatureScale - HE = F VS = C

dev:5912020-01-28 11:07:13.432 pm debug[RC HVAC Thermostat (BETA)] getTemperatureHE: testing for temperature scale conversion for temperature value -6.5

dev:5912020-01-28 11:07:13.427 pm warn getValidCoolSetpoint: cool setpoint restricted to minimum temperature value 64

dev:5912020-01-28 11:07:13.423 pm debug[RC HVAC Thermostat (BETA)] getValidCoolSetpoint: testing cool setpoint for temperature value -6.5

dev:5912020-01-28 11:07:13.405 pm warn getTemperatureVS: temperature scale conversion required. temperature value 20.0F = -6.5C

dev:5912020-01-28 11:07:13.398 pm debug[RC HVAC Thermostat (BETA)] clampTemp: triming value -6.666666666666667 to -6.5

dev:5912020-01-28 11:07:13.393 pm debug getTemperatureVS: temperatureScale - VS = C HE = F

dev:5912020-01-28 11:07:13.386 pm debug[RC HVAC Thermostat (BETA)] getTemperatureVS: testing for temperature scale conversion for temperature value 20.0

dev:5912020-01-28 11:07:13.358 pm debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 20 to 20.0

dev:5912020-01-28 11:07:13.354 pm debug[RC HVAC Thermostat (BETA)] Executing 'setCoolingSetpoint' with 20

dev:5912020-01-28 11:07:13.350 pm debug[RC HVAC Thermostat (BETA)] Executing 'fanAuto'

dev:5912020-01-28 11:07:13.336 pm debug[RC HVAC Thermostat (BETA)] setThermostatFanMode(auto)

dev:5912020-01-28 11:07:13.316 pm debug[RC HVAC Thermostat (BETA)] Executing 'off'

dev:5912020-01-28 11:07:13.312 pm debug[RC HVAC Thermostat (BETA)] setThermostatMode(off)

Still more log entries

app:6162020-01-28 10:57:32.206 pm errorjava.lang.NullPointerException: Cannot execute null+1 on line 82 (sendCode_Fujitsu)

app:6162020-01-28 10:57:32.196 pm debug[Bedroom HVAC] [Bedroom HVAC] v0.02 - sendCode_Fujitsu called - thermostatMode [heat] thermostatFanMode [auto] thermostatSetpoint [147]

app:6162020-01-28 10:57:32.146 pm debug[Bedroom HVAC] (sendCode_Fujitsu)

There is a preference setting... It's on the Hubitat web interface under "Settings" -> "Locations and Modes" -> "Temp Scale". The App/Driver uses the temperature sensor value, which is displayed in whatever scale is set on the hub. The code transmitted to the broadlink is always in Celsius and the sendcode function does the conversion. The thermostat code was originally written to take the temperature value from a physical device that would report according to it's own externally configured setting, so conversion of the input was required. For this use of the code, the input conversion is not needed, and I didn't remove the translation code.

It has been fixed in v0.03.

Yep. My hub was already set to F, before the Broadlink driver or RC app were installed.

The set point unit display (F vs C) is fixed in v0.03.

Thanks again!

I just updated to v0.03 - It isn't sending IR signals anymore... Also, when putting it in heat mode, it goes to "Idle".
2020-01-29
Here are the logs:

Logs

app:4852020-01-29 18:33:02.528 errorjava.lang.IllegalArgumentException: Command 'generateIR' is not supported by device. on line 96 (sendCode_Fujitsu)
app:4852020-01-29 18:33:02.488 debugraw bitmap: [[20, 99, 0, 16, 16, 254, 9, 48, 113, 4, 0, 0, 0, 0, 32, 0]]
dev:5492020-01-29 18:32:59.224 debug[RC HVAC Thermostat (BETA)] setCommonSetpoint: Executing 'setCommonSetpoint' with [23.0] originally [23])
dev:5492020-01-29 18:32:59.195 debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 23 to 23.0
dev:5492020-01-29 18:32:59.192 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' - thermostatMode [heat] cooltemp [20] heattemp [23]
dev:5492020-01-29 18:32:59.187 debug[RC HVAC Thermostat (BETA)] processing 'setHeatingSetpoint' with [23]
dev:5492020-01-29 18:32:59.183 debug getValidHeatSetpoint: no restriction for temperature value 23
dev:5492020-01-29 18:32:59.173 debug[RC HVAC Thermostat (BETA)] getValidHeatSetpoint: testing heat setpoint for temperature value 23
dev:5492020-01-29 18:32:59.169 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' with 23
dev:5492020-01-29 18:32:58.191 debug[RC HVAC Thermostat (BETA)] setCommonSetpoint: Executing 'setCommonSetpoint' with [23.5] originally [23.5])
dev:5492020-01-29 18:32:58.185 debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 23.5 to 23.5
dev:5492020-01-29 18:32:58.178 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' - thermostatMode [heat] cooltemp [20] heattemp [23.5]
dev:5492020-01-29 18:32:58.165 debug[RC HVAC Thermostat (BETA)] processing 'setHeatingSetpoint' with [23.5]
dev:5492020-01-29 18:32:58.144 debug getValidHeatSetpoint: no restriction for temperature value 23.5
dev:5492020-01-29 18:32:58.105 debug[RC HVAC Thermostat (BETA)] getValidHeatSetpoint: testing heat setpoint for temperature value 23.5
dev:5492020-01-29 18:32:58.099 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' with 23.5
dev:5492020-01-29 18:32:57.364 debug[RC HVAC Thermostat (BETA)] setCommonSetpoint: Executing 'setCommonSetpoint' with [23.0] originally [23])
dev:5492020-01-29 18:32:57.357 debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 23 to 23.0
dev:5492020-01-29 18:32:57.350 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' - thermostatMode [heat] cooltemp [20] heattemp [23]
dev:5492020-01-29 18:32:57.333 debug[RC HVAC Thermostat (BETA)] processing 'setHeatingSetpoint' with [23]
dev:5492020-01-29 18:32:57.329 debug getValidHeatSetpoint: no restriction for temperature value 23
dev:5492020-01-29 18:32:57.316 debug[RC HVAC Thermostat (BETA)] getValidHeatSetpoint: testing heat setpoint for temperature value 23
dev:5492020-01-29 18:32:57.304 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' with 23
dev:5492020-01-29 18:32:56.885 debug[RC HVAC Thermostat (BETA)] setCommonSetpoint: Executing 'setCommonSetpoint' with [22.5] originally [22.5])
dev:5492020-01-29 18:32:56.880 debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 22.5 to 22.5
dev:5492020-01-29 18:32:56.861 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' - thermostatMode [heat] cooltemp [20] heattemp [22.5]
dev:5492020-01-29 18:32:56.851 debug[RC HVAC Thermostat (BETA)] processing 'setHeatingSetpoint' with [22.5]
dev:5492020-01-29 18:32:56.845 debug getValidHeatSetpoint: no restriction for temperature value 22.5
dev:5492020-01-29 18:32:56.835 debug[RC HVAC Thermostat (BETA)] getValidHeatSetpoint: testing heat setpoint for temperature value 22.5
dev:5492020-01-29 18:32:56.831 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' with 22.5
dev:5492020-01-29 18:32:56.507 debug[RC HVAC Thermostat (BETA)] setCommonSetpoint: Executing 'setCommonSetpoint' with [22.0] originally [22])
dev:5492020-01-29 18:32:56.504 debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 22 to 22.0
dev:5492020-01-29 18:32:56.485 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' - thermostatMode [heat] cooltemp [20] heattemp [22]
dev:5492020-01-29 18:32:56.481 debug[RC HVAC Thermostat (BETA)] processing 'setHeatingSetpoint' with [22]
dev:5492020-01-29 18:32:56.470 debug getValidHeatSetpoint: no restriction for temperature value 22
dev:5492020-01-29 18:32:56.430 debug[RC HVAC Thermostat (BETA)] getValidHeatSetpoint: testing heat setpoint for temperature value 22
dev:5492020-01-29 18:32:56.418 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' with 22
dev:5492020-01-29 18:32:56.131 debug[RC HVAC Thermostat (BETA)] setCommonSetpoint: Executing 'setCommonSetpoint' with [22.0] originally [22])
dev:5492020-01-29 18:32:56.124 debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 22 to 22.0
dev:5492020-01-29 18:32:56.115 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' - thermostatMode [heat] cooltemp [20] heattemp [22]
dev:5492020-01-29 18:32:56.097 debug[RC HVAC Thermostat (BETA)] processing 'setHeatingSetpoint' with [22]
dev:5492020-01-29 18:32:56.078 debug getValidHeatSetpoint: no restriction for temperature value 22
dev:5492020-01-29 18:32:56.058 debug[RC HVAC Thermostat (BETA)] getValidHeatSetpoint: testing heat setpoint for temperature value 22
dev:5492020-01-29 18:32:56.048 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' with 22
dev:5492020-01-29 18:32:55.727 debug[RC HVAC Thermostat (BETA)] setCommonSetpoint: Executing 'setCommonSetpoint' with [22.0] originally [22])
dev:5492020-01-29 18:32:55.687 debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 22 to 22.0
dev:5492020-01-29 18:32:55.680 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' - thermostatMode [heat] cooltemp [20] heattemp [22]
dev:5492020-01-29 18:32:55.658 debug[RC HVAC Thermostat (BETA)] processing 'setHeatingSetpoint' with [22]
dev:5492020-01-29 18:32:55.649 debug getValidHeatSetpoint: no restriction for temperature value 22
dev:5492020-01-29 18:32:55.606 debug[RC HVAC Thermostat (BETA)] getValidHeatSetpoint: testing heat setpoint for temperature value 22
dev:5492020-01-29 18:32:55.589 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' with 22
dev:5492020-01-29 18:32:55.387 debug[RC HVAC Thermostat (BETA)] setCommonSetpoint: Executing 'setCommonSetpoint' with [21.5] originally [21.5])
dev:5492020-01-29 18:32:55.381 debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 21.5 to 21.5
dev:5492020-01-29 18:32:55.375 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' - thermostatMode [heat] cooltemp [20] heattemp [21.5]
dev:5492020-01-29 18:32:55.343 debug[RC HVAC Thermostat (BETA)] processing 'setHeatingSetpoint' with [21.5]
dev:5492020-01-29 18:32:55.335 debug getValidHeatSetpoint: no restriction for temperature value 21.5
dev:5492020-01-29 18:32:55.306 debug[RC HVAC Thermostat (BETA)] getValidHeatSetpoint: testing heat setpoint for temperature value 21.5
dev:5492020-01-29 18:32:55.303 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' with 21.5
dev:5492020-01-29 18:32:54.886 debug[RC HVAC Thermostat (BETA)] setCommonSetpoint: Executing 'setCommonSetpoint' with [21.5] originally [21.5])
dev:5492020-01-29 18:32:54.872 debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 21.5 to 21.5
dev:5492020-01-29 18:32:54.867 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' - thermostatMode [heat] cooltemp [20] heattemp [21.5]
dev:5492020-01-29 18:32:54.859 debug[RC HVAC Thermostat (BETA)] processing 'setHeatingSetpoint' with [21.5]
dev:5492020-01-29 18:32:54.855 debug getValidHeatSetpoint: no restriction for temperature value 21.5
dev:5492020-01-29 18:32:54.835 debug[RC HVAC Thermostat (BETA)] getValidHeatSetpoint: testing heat setpoint for temperature value 21.5
dev:5492020-01-29 18:32:54.827 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' with 21.5
dev:5492020-01-29 18:32:54.706 debug[RC HVAC Thermostat (BETA)] setCommonSetpoint: Executing 'setCommonSetpoint' with [21.0] originally [21])
dev:5492020-01-29 18:32:54.681 debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 21 to 21.0
dev:5492020-01-29 18:32:54.677 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' - thermostatMode [heat] cooltemp [20] heattemp [21]
dev:5492020-01-29 18:32:54.674 debug[RC HVAC Thermostat (BETA)] processing 'setHeatingSetpoint' with [21]
dev:5492020-01-29 18:32:54.670 debug getValidHeatSetpoint: no restriction for temperature value 21
dev:5492020-01-29 18:32:54.658 debug[RC HVAC Thermostat (BETA)] getValidHeatSetpoint: testing heat setpoint for temperature value 21
dev:5492020-01-29 18:32:54.654 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' with 21
dev:5492020-01-29 18:32:54.269 debug[RC HVAC Thermostat (BETA)] setCommonSetpoint: Executing 'setCommonSetpoint' with [21.0] originally [21])
dev:5492020-01-29 18:32:54.258 debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 21 to 21.0
dev:5492020-01-29 18:32:54.254 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' - thermostatMode [heat] cooltemp [20] heattemp [21]
dev:5492020-01-29 18:32:54.233 debug[RC HVAC Thermostat (BETA)] processing 'setHeatingSetpoint' with [21]
dev:5492020-01-29 18:32:54.229 debug getValidHeatSetpoint: no restriction for temperature value 21
dev:5492020-01-29 18:32:54.226 debug[RC HVAC Thermostat (BETA)] getValidHeatSetpoint: testing heat setpoint for temperature value 21
dev:5492020-01-29 18:32:54.222 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' with 21
dev:5492020-01-29 18:32:54.115 debug[RC HVAC Thermostat (BETA)] setCommonSetpoint: Executing 'setCommonSetpoint' with [20.5] originally [20.5])
dev:5492020-01-29 18:32:54.107 debug[RC HVAC Thermostat (BETA)] clampTemp: triming value 20.5 to 20.5
dev:5492020-01-29 18:32:54.104 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' - thermostatMode [heat] cooltemp [20] heattemp [20.5]
dev:5492020-01-29 18:32:54.098 debug[RC HVAC Thermostat (BETA)] processing 'setHeatingSetpoint' with [20.5]
dev:5492020-01-29 18:32:54.095 debug getValidHeatSetpoint: no restriction for temperature value 20.5
dev:5492020-01-29 18:32:54.090 debug[RC HVAC Thermostat (BETA)] getValidHeatSetpoint: testing heat setpoint for temperature value 20.5
dev:5492020-01-29 18:32:54.087 debug[RC HVAC Thermostat (BETA)] Executing 'setHeatingSetpoint' with 20.5
dev:5492020-01-29 18:32:52.511 debug[RC HVAC Thermostat (BETA)] Executing 'heat'
dev:5492020-01-29 18:32:52.508 debug[RC HVAC Thermostat (BETA)] setThermostatMode(heat)

Anything I may have done wrong in the app or driver update?

It looks like the code is working correctly... I can't tell why the dashboard tile is not updating... but from the error, and the lack of debugging, that is generated, it looks like the device has lost track of the transmitter device and the selected options...

Go into the HVAC device and reselect the temperature sensor and transmitter devices and the other options (such as enable delay)... That should resolve the problem.

Yes, I had updated the BroadLink driver (with the RC HVAC Driver code) instead of the RC HVAC Driver, causing everything to stop working... I'll have to be more careful next time! That said, it's all fixed now - Thanks!

I have just posted the latest version, v0.04, of the RC HVAC package:

  • fixed issue that prevented code transmission
  • added (experimental) support for Daikin HVAC units
  • added (experimental) support for Mitsubishi HVAC units (two variants)
  • added automatic updating of driver/dashboard tile parameters based on the selected protocol

As always, available from the first post in the thread.

I have just posted the latest version, v0.05, of the RC HVAC package:

  • added (experimental) support for Toshiba HVAC units

I have used the Global Cache IR database to find a set of codes for my TV and Set top box, and I have used a Python script to convert them to Broadlink code.

I have never written a driver, but would it be possible to write a TV driver and then for each command use for example

SendCode("26001a001d1d3a1d1d1d1d1d1d1d1d1d1d3a1d1d1d1d1d1d3a3a1d0008dc0d050000000000000000000000002")

to define each command action within the driver?

I've got one successful RF code learnt on my RM Pro+ and saved but if I try to add another (I need to add 3 more) the Rm Pro+ just stays on learning mode and not capturing the next code. Do I need to add each code as a virtual device or has something decided not to let me keep my sanity?

Nevermind, I was being impatient lol. This... works... BEAUTIFULLY!!!

No. It is not possible to access a driver from another driver...

Instead... Read the first post...

You learn and name the codes in the App... Then you send the stored code from the driver or a dashboard tile or a RM rule (the driver will get the code from the App)...

I want say a massive THANKYOU to cybrmage for this driver including the hard work dedicated to it’s creation.
It has worked flawlessly from the day I installed it and has not skipped a beat yet!
This has awesome documentation to help with the initial setup & how to use it after install.
Love you work & cheers again from down under :+1:

1 Like

Simply Amazing! Thank you for this. managed to get it up and running in a matter of minutes thanks to the detailed documentation! Great job.

One thing I couldn't get to work is the "off" Mode in RC HVAC Manager. I used Generic Protocol and was able to send "Cool" Mode values to the AC but turning it off using "off" mode didn't work; I think its cause I named it wrong in the app. A button on the dashboard turns it off fine. Is this how its supposed to be named:

Myroom_AC_off ?

Download the Hubitat app