Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ambient & Humidity Missing #154

Closed
HerbOtto opened this issue Jun 25, 2019 · 17 comments
Closed

Ambient & Humidity Missing #154

HerbOtto opened this issue Jun 25, 2019 · 17 comments

Comments

@HerbOtto
Copy link

HerbOtto commented Jun 25, 2019

Great program - however I'm having an issue obtaining a Thermostat's (2441TH) ambient_temp and humid_state. I'm using a Pi w/a 2448A7 wireless USB modem. Values arrive fine under OpenHAB 2.4 (using the 1.x binding) however under insteon-mqtt I don't receive temp/humid yet set points and other status arrive just fine. Subscribing to Insteon/#.

Any ideas?

Regards,

-Herb

@HerbOtto HerbOtto changed the title Ambient & Humidity Abscent Ambient & Humidity Missing Jun 25, 2019
@TD22057
Copy link
Owner

TD22057 commented Jul 8, 2019

I don't have a thermostat so it's hard for me to say. Please set the debug level to debug and see if the log reports any message that might have that data showing up.

Maybe @krkeegan can help? I see this note in the thermostat dev guide (see top of page 6):

To set a device to get status reporting add a controller of device link with group 0xEF and set 0x2E to 0x08.
So maybe that flag needs to be set? I also noted that openhab says to link group 0x05 in the pair command which we're not doing but no one knows what it's for. That also might be it.

@HerbOtto
Copy link
Author

HerbOtto commented Jul 8, 2019

Thanks for the reply. I added the 0x05 group to no avail. Not sure if it's needed since Indigo doesn't seem to use it for its status.

Debug has been running (level 10) and no humidity/ambient messages appear. I'll investigate the 0x2E to 0x08 suggestion - perhaps someone who has their thermostat reporting can chime in. I used the setup shown on the Insteon-terminal page. I also tried this with a wired PLM in addition to the Wireless 2448A7 unit - reset the 2448A7 to factory settings and gave it another shot - same result - no ambient/humidity reports. Tho I am receiving cool_sp_command and cool_sp_state.

@krkeegan
Copy link
Collaborator

@HerbOtto the pair command should setup everything correctly. Please ensure that is running without error. IAmbient temps and humidity are working for me and I know that ambient temps are at least working for some people as they are reporting other errors in #142.

@HerbOtto
Copy link
Author

As of 0.6.9 things seems to be humming along - I now get regular humidity reports from the thermostat but not ambient temperature (most likely a 2441 issue). I solved it by using the new poll function and tying it to an interval automation (pings every 10 minutes). Seems to keep things updated quite nicely.
Closing

@HerbOtto
Copy link
Author

HerbOtto commented Jan 19, 2020

I'm going to reopen this issue just to verify something I may be doing incorrectly.
From what I read - I shouldn't need to poll the 2441TH thermostat if the broadcast is working: 0xEF.
The only things I receive regularly [if I'm not polling] are set points, heating/cooling status and humidity levels. No ambient temperatures. I find it odd that ambient is the only missing element.

Some actual messages which appear w/o polling...

  • insteon/4c.7f.fc/status_state HEATING
  • insteon/4c.7f.fc/heat_sp_state {"temp_f" : 68.0, "temp_c" : 20.0}
  • insteon/4c.7f.d5/humid_state 37
    *** ambient_temp does not appear unless I do a refresh.

Here are my settings...

THERMOSTAT:

  • 1faf: 31.18.d7 grp: 239 type: CTRL data: 0x03 0x00 0xef
  • 1fb7: 31.18.d7 grp: 4 type: CTRL data: 0x03 0x00 0x04
  • 1fbf: 31.18.d7 grp: 3 type: CTRL data: 0x03 0x00 0x03
  • 1fc7: 31.18.d7 grp: 2 type: CTRL data: 0x03 0x00 0x02
  • 1fcf: 31.18.d7 grp: 1 type: CTRL data: 0x03 0x00 0x01
  • 1fd7: 31.18.d7 grp: 1 type: RESP data: 0xff 0x00 0x01

MODEM:

  • ID: 4c.7f.fc grp: 0 type: CTRL data: 0x00 0x00 0x00
  • ID: 4c.7f.fc grp: 1 type: RESP data: 0x01 0x00 0x00
  • ID: 4c.7f.fc grp: 1 type: CTRL data: 0x01 0x00 0x00
  • ID: 4c.7f.fc grp: 2 type: RESP data: 0x02 0x00 0x00
  • ID: 4c.7f.fc grp: 3 type: RESP data: 0x03 0x00 0x00
  • ID: 4c.7f.fc grp: 4 type: RESP data: 0x04 0x00 0x00
  • ID: 4c.7f.fc grp: 239 type: RESP data: 0x00 0x00 0xef

Any idea why ambient would NOT be sent [yes it's changing] but yet humidity IS? I would assume they are part of the same 0xEF (239) broadcast. I would expect ambient_temp to display as regularly as humid_state.

Apologies for beating this dead horse.

-H

@HerbOtto HerbOtto reopened this Jan 19, 2020
@krkeegan
Copy link
Collaborator

krkeegan commented Mar 6, 2020

Hmm, mine works fine. My details are below:

Device 22.ZZ.7e received model information: CLIMATE (0x05): '2441TH' (0x0b) 'Insteon Thermostat (915 MHz)' firmware: 0xd

Thermostat:
0fd7: 3c.ZZ.b9 grp: 239 type: CTRL data: 0x03 0x00 0x01
0fdf: 3c.ZZ.b9 grp: 4 type: CTRL data: 0x03 0x00 0x01
[...]

Modem:
[...]
ID: 22.ZZ.7e grp: 4 type: RESP data: 0x04 0x00 0x00
ID: 22.ZZ.7e grp: 239 type: RESP data: 0xef 0x00 0x00

So, two things I see that are different. The group values in D3 on the thermostat. Those should be 0x01 and I see where that mistake is in the code, I will fix that.

Our modem values are otherwise the same, except that D3 in the EF group. That one stumps me, not sure how your's ended up with that D3 value. Mine matches what we do in the code.

I would be surprised if any of this was the problem, particularly since 75% of the messages are working. But stranger things have happened.

krkeegan added a commit to krkeegan/insteon-mqtt that referenced this issue Mar 6, 2020
Modem responder group is likely ignored, but standard practice
is to set this to 0x01.  This fixes that mistake.

May solve TD22057#154, may not
@krkeegan
Copy link
Collaborator

krkeegan commented Mar 6, 2020

If you can, try removing all of the links between the thermostat and the modem and re-running join and then pair.

@HerbOtto
Copy link
Author

HerbOtto commented Mar 6, 2020 via email

@krkeegan
Copy link
Collaborator

krkeegan commented Mar 6, 2020

I made a pull request for this branch, it is just the dev branch with one change. You can try checking it out to see if it makes a difference:

https://github.com/krkeegan/insteon-mqtt/tree/Issue_154

@HerbOtto
Copy link
Author

HerbOtto commented Mar 7, 2020

I made the change which effectively was changing “group” to “0x01” in the code. Here’s my resulting dump of the thermostat DB... Unfortunately only humidity is being broadcast, still no ambient temp.

Commanding thermostat device 4c.7f.d5 (living_room) cmd=print_db 4c.7f.d5 (living_room) device database

DeviceDb: (delta None)
0fcf: 49.fa.f8 grp: 239 type: CTRL data: 0x03 0x00 0x01
0fd7: 49.fa.f8 grp: 4 type: CTRL data: 0x03 0x00 0x01
0fdf: 49.fa.f8 grp: 3 type: CTRL data: 0x03 0x00 0x01
0fe7: 49.fa.f8 grp: 2 type: CTRL data: 0x03 0x00 0x01
0fef: 49.fa.f8 grp: 1 type: CTRL data: 0x03 0x00 0x01
0ff7: 49.fa.f8 grp: 1 type: RESP data: 0xff 0x00 0x01

Unused:
0f9f: 49.fa.f8 grp: 239 type: CTRL data: 0x03 0x00 0xef (UNUSED)
0fa7: 49.fa.f8 grp: 4 type: CTRL data: 0x03 0x00 0x04 (UNUSED)
0faf: 49.fa.f8 grp: 3 type: CTRL data: 0x03 0x00 0x03 (UNUSED)
0fb7: 49.fa.f8 grp: 2 type: CTRL data: 0x03 0x00 0x02 (UNUSED)
0fbf: 49.fa.f8 grp: 1 type: CTRL data: 0x03 0x00 0x01 (UNUSED)
0fc7: 49.fa.f8 grp: 1 type: RESP data: 0xff 0x00 0x01 (UNUSED)

Last:
0f97: 00.00.00 grp: 0 type: RESP data: 0x00 0x00 0x00 (UNUSED) (LAST)

GroupMap
1 -> ['49.fa.f8']
2 -> ['49.fa.f8']
3 -> ['49.fa.f8']
4 -> ['49.fa.f8']
239 -> ['49.fa.f8'] Complete

@krkeegan
Copy link
Collaborator

krkeegan commented Mar 7, 2020

I have no idea then. Your setup matches mine now and I get temp updates (on three different devices). All I can suggest is a factory reset.

Otherwise, you thermostat seems defective in some way.

@HerbOtto
Copy link
Author

HerbOtto commented Mar 7, 2020 via email

@HerbOtto
Copy link
Author

HerbOtto commented Mar 7, 2020

For completeness I've also included the modem DB for the thermostat. Note that this is only 1 of 2 thermostats - they both have identical configurations.

insteon-mqtt config.yaml print-db living_room
Commanding thermostat device 4c.7f.d5 (living_room) cmd=print_db
4c.7f.d5 (living_room) device database
DeviceDb: (delta None)
0fcf: 49.fa.f8 grp: 239 type: CTRL data: 0x03 0x00 0x01
0fd7: 49.fa.f8 grp: 4 type: CTRL data: 0x03 0x00 0x01
0fdf: 49.fa.f8 grp: 3 type: CTRL data: 0x03 0x00 0x01
0fe7: 49.fa.f8 grp: 2 type: CTRL data: 0x03 0x00 0x01
0fef: 49.fa.f8 grp: 1 type: CTRL data: 0x03 0x00 0x01
0ff7: 49.fa.f8 grp: 1 type: RESP data: 0xff 0x00 0x01
Unused:
0f9f: 49.fa.f8 grp: 239 type: CTRL data: 0x03 0x00 0xef (UNUSED)
0fa7: 49.fa.f8 grp: 4 type: CTRL data: 0x03 0x00 0x04 (UNUSED)
0faf: 49.fa.f8 grp: 3 type: CTRL data: 0x03 0x00 0x03 (UNUSED)
0fb7: 49.fa.f8 grp: 2 type: CTRL data: 0x03 0x00 0x02 (UNUSED)
0fbf: 49.fa.f8 grp: 1 type: CTRL data: 0x03 0x00 0x01 (UNUSED)
0fc7: 49.fa.f8 grp: 1 type: RESP data: 0xff 0x00 0x01 (UNUSED)
Last:
0f97: 00.00.00 grp: 0 type: RESP data: 0x00 0x00 0x00 (UNUSED) (LAST)
GroupMap
1 -> ['49.fa.f8']
2 -> ['49.fa.f8']
3 -> ['49.fa.f8']
4 -> ['49.fa.f8']
239 -> ['49.fa.f8']

Complete

insteon-mqtt config.yaml print-db modem
...
ID: 4c.7f.d5 grp: 1 type: CTRL data: 0x01 0x00 0x00
ID: 4c.7f.d5 grp: 1 type: RESP data: 0x00 0x00 0x00
ID: 4c.7f.d5 grp: 2 type: RESP data: 0x02 0x00 0x00
ID: 4c.7f.d5 grp: 3 type: RESP data: 0x03 0x00 0x00
ID: 4c.7f.d5 grp: 4 type: RESP data: 0x04 0x00 0x00
ID: 4c.7f.d5 grp: 239 type: RESP data: 0xef 0x00 0x00
...
GroupMap
1 -> ['1b.38.23', '41.6b.fc', '4a.73.d1', '10.f8.ce', '4a.6e.f8', '41.69.17', '4a.72.02', '23.c6.ad', '46.cb.0e', '23.be.4e', '1b.2e.9c', '46.cb.2c', '11.5f.a8', '46.d6.35', '46.cb.4a', '46.8e.5e', '3f.e5.ec', '30.e0.d4', '11.55.8d', '4c.7f.d5', '4c.7f.fc', '48.56.c1']
20 -> ['30.e0.d4']
21 -> ['30.e0.d4']

Complete

@HerbOtto
Copy link
Author

HerbOtto commented Mar 7, 2020

I also noticed I get the refresh request...

Thermostat paired
Pairing may fail if the modem db is out of date. Try running
the following and then re-try the pair command.
insteont-mqtt config.py refresh modem

It says it's paired - does the "Pairing may fail.." comment indicated the pair failed?
Refreshing both the thermostat and modem results in the same message.

@krkeegan
Copy link
Collaborator

krkeegan commented Mar 9, 2020

I have never seen that message, but it looks like that message is only part of the cmd_line interface.

It appears to be sent if there is any ui output. I may need to revisit that warning. But I don't think it has anything to do with your issue.

I have a spare PLM and Thermostat that I have been using to test all of this on, I will reset both of them tonight and see what I get. But honestly I am a bit stumped. I am pretty confident this works beyond just for me since we had users reporting issues with C/F mixups with ambient messages a year ago.

@HerbOtto
Copy link
Author

HerbOtto commented Mar 9, 2020 via email

@krkeegan
Copy link
Collaborator

krkeegan commented Mar 9, 2020

If it works at all, I think anything we can do in SW is fixed.

The thermostat is a wireless only device. So putting a wired device near it even a plug in thing like an appliancelinc may help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants