[WITHDRAWN - Use the new Broadlink integration by @tomw] NATIVE Broadlink RM/RM Pro/RM Mini/SP driver

I have found that this is due to the driver of the HVAC not referencing the fan modes correctly. This is not just affecting the HVAC drivers but also sensibo etc. I have rectified the sensibo drivers (google search how to fix tile HVAC hubitat fan). However I did not successfully modifying these HVAC drivers related to the orig broadlink integration.

Device page work's fine. Tiles don't and I believe is related to the hvac integration it's to do with the fan modes needing " " but I can't locate these in the HVAC drivers myself.

The new broadlink device from @tomw works fine with the virtual thermostat from the Abandoned Broadcom Driver that Shall Not Be Mentioned :slight_smile:

I see the same behavior. I am able to change the fan modes by using the Hubitat Cloud Dashboard.

Where is the code that you're referring to?

From a non programmer perspective... So my contributions/thoughts should be taken lightly... I checked the driver with the header below. I read somewhere about other integration of HVAC devises needing to updated to include "auto" rather than auto without the " for modes to work on tiles. The sensibo driver could be updated by changing the device type to the generic virtual HVAC and sending a command on the device page to update the modes etc. Then return back to sensibo driver and the tiles work again for sensibo devices. I couldn't do this for cybrmage hvac.

I'd provide the driver if it can be updated but I recognise the sensitivity around the drivers below..

  • RC HVAC Thermostat diver for hubitat
  • HVAC/AC/Mini Split system Remote Control thermostat device
  •  by CybrMage
    

*/
private version() { return "v0.24 2020-05-07" }

I agree with perterbrown, i did read somewhere about the quotation marks and the modes, and if you do an inspect with chrome, it has some java script errors if you try to click on it.

I have looked through the app and driver code but didnt notice anything obvious to change.

As far as the other person mentioned i have never noticed that the buttons work correctly from the cloud dashboard but do not work on the local.

I have another app i use for a virtual thermostat made by nick clark i think, and his started doing the same thing until i applied an update a few days ago that he released for his driver.

I believe there was an HE platform change in version 2.3.3.122 (a more stringent requirement re. quoting values in a JSON array) that breaks the thermostat tile.

See:

1 Like

I saw that post, and i have looked through the app and driver code, but i am not sure how to fix it, i tried to compare to another working driver, but they are completely different.

But yes it would have been a recent change that "broke" it, i have just dealt with it for a while and finally started to look into trying to fix or update it.

It looks like the values for supportedThermostatModes and supportedThermostatFanModes come from a call to this function in "RC HVAC Manager Child" from the initialize function in "RC HVAC Thermostat Driver"

getRangeValues(temperatureDisplayScale)

If your hunch is that this is related to those attributes being set incorrectly, I'd start debugging from that initialize function in the driver. I only looked at this for a minute and have no way to try it, but this would be my first stab at it:

send_Event(name: "supportedThermostatModes", value: groovy.json.JsonOutput.toJson(rangeValues.supportedThermostatModes), isStateChange: true)
send_Event(name: "supportedThermostatFanModes", value: groovy.json.JsonOutput.toJson(rangeValues.supportedThermostatFanModes) , isStateChange: true)

So i did look at that section and came to the same conclusion that it looked like it was getting those from the child app and specifically the section that relates to the Gree unit, but just looking at the code i have vs what you posted is different.

my driver looks like this:

send_Event(name: "supportedThermostatModes", value: rangeValues.supportedThermostatModes, isStateChange: true)
	send_Event(name: "supportedThermostatFanModes", value: rangeValues.supportedThermostatFanModes , isStateChange: true)

So im wondering who has the latest version?

Even when i looked at the post you mentioned to make your driver work with the hvac app, the line mentioned was different. (line 777 i think it was)

My driver is:

private version()			{ return "v0.26  2020-05-10" }
private driverName()	{ return "RC HVAC Thermostat (BETA)" 

The parent App and Child App show the same.

This is the section i assume it comes from in the RC HVAC Manager Child and it appears to already have quotes.

else if (deviceProtocol.take(4) == "Gree") {
		if (temperatureDisplayScale == "C") { rangeValues.cooltempmin = 16; rangeValues.cooltempmax = 30; rangeValues.heattempmin = 16; rangeValues.heattempmax = 30 }
		else { rangeValues.cooltempmin = 61; rangeValues.cooltempmax = 87; rangeValues.heattempmin = 61; rangeValues.heattempmax = 87 }
		rangeValues.supportedThermostatModes = ["off", "auto", "cool", "dry", "fan", "heat"]
		rangeValues.supportedThermostatFanModes = ["auto", "high", "medium", "low"]

And this is what the Device page shows:
Screenshot 2023-02-14 142944

Right, I also found the v0.26 code. My post was a suggestion to try as an edit to what was already there in the version that you referenced.

I wonder if the string values are getting mangled somehow as they get pushed in and out of Hubitat's state or something. Just a total guess, but my suggestion is to force it again to be valid JSON on the thermostat driver side so you know the value to sendEvent is correctly formatted.

sorry i misread that, i do see what you mean now, ill give that a try when i get home.

1 Like

So i just updated the driver and it now has the quotes on the device page and i can click on the mode buttons on the tile now, so that works.

I will test it when i get home to see if everything still works as expected.

If that works, ill then try to switch over to your driver.

thanks for the help

3 Likes

Hi, I tried to download the app from Package Manager and received an error "An error occurred while installing the package: Failed to install app https://raw.githubusercontent.com/tomwpublic/hubitat_broadlink/main/broadlinkSystemManagerApp. Please notify the package developer." Are folks aware of this error?

Please post that question in the thread for my integration, here: Broadlink IR/RF remotes integration (RM3 Mini, RM Pro, RM4 Mini/Pro)

OK thanks

1 Like

It appears the tweak on the driver worked and controls the Gree mini split just fine. now to swap the broadlink driver.

1 Like

where do I download the drivers? I can not find it

Easiest way is to install Hubitat package manager.

1 Like

The dev that created this thread pulled his drivers from his google drive. They’re no longer available. If you want to integrate broadlink devices with Hubitat, use @tomw’s app and drivers.

@bobbyD please consider closing this thread.

3 Likes