I have a C7 running 2.4.4.130. I purchased a Hisense Tower heat pump a few months ago. It's basically a portable A/C, except a heat pump version so I can use it for both heat and A/C. It is Matter capable, so I added it to my iPhone originally, which worked flawlessly. Then I tried to add it to Hubitat. That didn't work as well, I lost the ability to control it from the iPhone after that. Back to square one.... I removed it from everything, then paired it to Hubitat again, and exposed it to iPhone via the Homekit integration. That seems to be working mostly OK. The heat/cool setting is often wrong in the Hubitat and Apple Home controls, but it does set the Hisense correctly when setting it in either. The biggest annoyance is the reported temperature is always 41 in Apple Home, and the tile always show NaN in Hubitat. Setting mode and temperature works fine, it's just the values showing for mode and temperature sensor value that's not working. When I view the logs while interacting with it I see this error:
dev:3782026-02-15 02:19:10.054 PM
error groovy.lang.MissingMethodException: No signature of method: GoogleNestMatterThermostat.parse() is applicable for argument types: (java.util.LinkedHashMap) values: [[callbackType:Report, endpointInt:1, clusterInt:513, attrInt:28, ...]] Possible solutions: parse(java.lang.String), use([Ljava.lang.Object;), wait(), run(), auto(), fanOn() (method parse)
dev:3782026-02-15 02:19:09.739 PM
error groovy.lang.MissingMethodException: No signature of method: GoogleNestMatterThermostat.parse() is applicable for argument types: (java.util.LinkedHashMap) values: [[callbackType:WriteAttributes, endpointInt:1, clusterInt:513, ...]] Possible solutions: parse(java.lang.String), use([Ljava.lang.Object;), wait(), run(), auto(), fanOn() (method parse)
I found a tutorial from another Hisense owner that indicated using Google Nest Matter Thermostat was currently the only way to integrate with the Hisense. Is there a better way to connect to the Hisense, or any way to fix these errors?
How did you do this? Did you you use Apple Home to generate a pairing code? It sounds like you might have tried the on-device pairing code again (plus maybe a reset) if it stopped working. That shouldn't happen, and I think it would be the easiest solution in the end.
Your current problem is caused by the fact that you must have switched drivers. Which one were you using originally, and what are you using now? A future platform update should help with that, but some drivers offer workarounds for now. But, again, if you can get the above working, that's probably better (though would still need a driver on the hub).
I generated a code on the phone and used that to add it to Hubitat. I don't really care what happened before though, to be honest. If everything works OK with just having it joined to Hubitat and exposing it via the Home integration then that's my preferred path. I'm using Google Nest Matter Thermostat as the driver right now, for lack of another option.
Do I need to request support be added? If so, how?
I'd start with the unanswered question above:
Also:
If you're going to use a thermostat driver, why not Generic Matter Thermostat?
I was originally using the Google Nest Matter Thermostat. That's what I've been using the entire time. And I'm using that because the generic matter thermostat doesn't work. When set to generic and trying to turn the unit on to heat I get this error in the log: "thermostat mode heat is not supported on this device." Using the Google Nest Matter Thermostat everything works except for the temperature reporting. Using the Generic Matter Thermostat nothing works.
This statement:
is inconsistent with this:
I'm going to assume you've used both with the same device (really device ID, as you might see in the URL of your browser when viewing the device detail page) because that makes sense given what you are seeing.
I asked because Generic Matter Thermostat changes some device data that will permanently alter the device to use a "new" parsing method, which is why your temperature data (or really any attributes/events, but perhaps that's all you get reported) is erroring out rather than populating the value. A future platform update will ensure this does not happen when changing between these two largely incompatible types of drivers, but for now, the easiest thing to do might be to remove and re-add the device, making sure you do only use the Google driver (or "Device" as it might pair with if nothing matches -- hopefully the generic one doesn't first!).
If that doesn't help, there are some tricks you can do to remove this data if you don't want to wait, but it will need a custom driver. I could write one quick or probably point you to a community offering that does -- actually, I know this one does: [RELEASE] Matter Advanced Bridge (limited device support), and you might actually want to take a look to see if it handles your device features better (can't hurt to try before you remove and re-add the device if you're going to do it anyway
).
Hopefully one of those things helps!
2 Likes
Just got done tinkering with it again.
I deleted it from Hubitat and my phone, paired it to my phone again, then added it to Hubitat again as a generic matter thermostat. Again, nothing worked. So I deleted it again, added it as a Google Nest Matter Thermostat, then added it to Homebridge. Same thing, the reported temperature is 41 but it works otherwise. So no change from what I already had, even after deleting it and re-adding it both ways.
I think my best option for now would be to just leave it paired to both directly and remove it from Homebridge. How do I put in a request for it to be supported?
Here's the fingerprint:
fingerprint endpointId:"01", inClusters:"0003,0004,001D,0201,0204", outClusters:"", model:"AirConditioner", manufacturer:"HisenseGroupCo.Ltd", controllerType:"MAT"
OK, so the Generic Matter Thermostat driver was selected on pairing and not the do-nothing "Device" driver? In that case you have three options, the first two as I mentioned above:
- Use the custom Matter Bridge driver above to either turn off the "new parse" option (nothing necessary besides saving the preference) or, if you are comfortable using custom code, just see if it works for regular use of your device (read its docs to run the right commands for this).
- Wait for an upcoming platform release where this will not be a problem.
- Downgrade to platform 2.4.3 or earlier, where the driver yours matched with did not exist, so this won't be a problem. You can do this with the Diagnostic Tool, port 8081.
From your fingerprint, the only interesting cluster I see is the thermostat cluster 0201 (and I suppose 0204 for related features), but I'd need to look at the Generic Matter Thermostat driver better to see why that wouldn't work. If the Google one does, that is probably your best bet for now. Is any functionality missing from this driver that should be exposed over Matter? (But, again, you'd need to do one of the above workarounds to get there -- for now.)
Some other notes:
How? Selecting a device name in the pairing "wizard," if that is what you did, doesn't do anything different from a regular Matter, Zigbee, etc. pairing -- it's just to guide you through if you don't know what you're doing, e.g., by guessing what protocol it's using and showing device-specific instructions if any exist for that device. It cannot be used, at least as is it now, to force any specific driver; the end result is the same as what happens with any pairing/inclusion process.
Posting here, as you did, is best. 