iklein99 / homebridge-smartthings

This is a plugin to Homebridge to connect your Smartthings network into Apple Home Kit.
Apache License 2.0
158 stars 53 forks source link

Groovy? #31

Closed jplwoodward closed 2 years ago

jplwoodward commented 2 years ago

Will this plugin keep working after Groovy is discontinued?

veonua commented 2 years ago

yes, it is based on the new API.

jplwoodward commented 2 years ago

Thank you. I see you have integrated only devices that you have, and that thermostat support has been requested. I have a thermostat, and am a developer with limited experience extending (non-Smartthings) Homebridge plugins running my my Raspberry Pi 4. If I can be of assistance to you, please let me know. If you want me to attempt to add thermostat support, and would consider adding my changes to a future release, please let me know. - John

On Sep 18, 2022, at 4:52 PM, Andrew Me @.***> wrote:

yes, it is based on the new API.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1250384687, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARBGBGRDJNNQCWE3KMX525LV656HTANCNFSM6AAAAAAQPSSLM4. You are receiving this because you authored the thread.

iklein99 commented 2 years ago

I will let you know. I am working on refactoring my plugin so that devices can support multiple services so I would like try and limit anyone making changes. However, if you'd be interested in helping me test, I'd be happy to loop you in.

jplwoodward commented 2 years ago

Yes, I am happy to help. - John

On Sep 19, 2022, at 11:47 AM, iklein99 @.***> wrote:

I will let you know. I am working on refactoring my plugin so that devices can support multiple services so I would like try and limit anyone making changes. However, if you'd be interested in helping me test, I'd be happy to loop you in.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1251204619, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARBGBGUPCO4QPMGYY2KETADV7CDI3ANCNFSM6AAAAAAQPSSLM4. You are receiving this because you authored the thread.

iklein99 commented 2 years ago

So, I'm going to close this out. You can create a new issue to support the thermostat. If you want, you can fork this repository and take a crack at it. When finished, you would create a pull request that will allow me to approve the change and merge it into this code base. But you need to make sure it is well tested as I can't test it.

veonua commented 2 years ago

But you need to make sure it is well tested as I can't test it.

@iklein99 could you please install the virtual thermostat from https://community.smartthings.com/t/st-edge-virtual-things-edge-driver/232875 it can help with development and tests

jplwoodward commented 1 year ago

I am woking on this now in my spare time. It turns out that Smartthings and HomeKit have different models of how a thermostat works. I am replicating the logic done in the now-obsolete tonesto plugin (homebridge-smartthings v2.3.8). It was verified, so I am hoping it gets the HomeKit part right. - John

On Oct 5, 2022, at 8:22 AM, iklein99 @.***> wrote:

So, I'm going to close this out. You can create a new issue to support the thermostat. If you want, you can fork this repository and take a crack at it. When finished, you would create a pull request that will allow me to approve the change and merge it into this code base. But you need to make sure it is well tested as I can't test it.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4. You are receiving this because you authored the thread.

iklein99 commented 1 year ago

I made some significant refactors in the base. You may want to check out my latest version before you get too far.

On Oct 7, 2022, at 9:57 AM, jplwoodward @. @.>> wrote:

I am woking on this now in my spare time. It turns out that Smartthings and HomeKit have different models of how a thermostat works. I am replicating the logic done in the now-obsolete tonesto plugin (homebridge-smartthings v2.3.8). It was verified, so I am hoping it gets the HomeKit part right. - John

On Oct 5, 2022, at 8:22 AM, iklein99 @.***> wrote:

So, I'm going to close this out. You can create a new issue to support the thermostat. If you want, you can fork this repository and take a crack at it. When finished, you would create a pull request that will allow me to approve the change and merge it into this code base. But you need to make sure it is well tested as I can't test it.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4>. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1271631450, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABG55ERUXYHUJQAQFCGOHATWCAT3JANCNFSM6AAAAAAQPSSLM4. You are receiving this because you were mentioned.

jplwoodward commented 1 year ago

Thanks. I am working with v1.4.4. Is that post refactoring? - John

On Oct 11, 2022, at 4:34 AM, iklein99 @.***> wrote:

I made some significant refactors in the base. You may want to check out my latest version before you get too far.

On Oct 7, 2022, at 9:57 AM, jplwoodward @. @.>> wrote:

I am woking on this now in my spare time. It turns out that Smartthings and HomeKit have different models of how a thermostat works. I am replicating the logic done in the now-obsolete tonesto plugin (homebridge-smartthings v2.3.8). It was verified, so I am hoping it gets the HomeKit part right. - John

On Oct 5, 2022, at 8:22 AM, iklein99 @.***> wrote:

So, I'm going to close this out. You can create a new issue to support the thermostat. If you want, you can fork this repository and take a crack at it. When finished, you would create a pull request that will allow me to approve the change and merge it into this code base. But you need to make sure it is well tested as I can't test it.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4>. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1271631450, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABG55ERUXYHUJQAQFCGOHATWCAT3JANCNFSM6AAAAAAQPSSLM4. You are receiving this because you were mentioned.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274311192, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARBGBGT7QGEGGGL342C4TPTWCURCTANCNFSM6AAAAAAQPSSLM4. You are receiving this because you authored the thread.

iklein99 commented 1 year ago

Yes. That is it.

I’m now working on another refactor to allow a device to support multiple services. So I will be making more changes.

On Oct 11, 2022, at 7:59 AM, jplwoodward @.***> wrote:

Thanks. I am working with v1.4.4. Is that post refactoring? - John

On Oct 11, 2022, at 4:34 AM, iklein99 @.***> wrote:

I made some significant refactors in the base. You may want to check out my latest version before you get too far.

On Oct 7, 2022, at 9:57 AM, jplwoodward @. @.>> wrote:

I am woking on this now in my spare time. It turns out that Smartthings and HomeKit have different models of how a thermostat works. I am replicating the logic done in the now-obsolete tonesto plugin (homebridge-smartthings v2.3.8). It was verified, so I am hoping it gets the HomeKit part right. - John

On Oct 5, 2022, at 8:22 AM, iklein99 @.***> wrote:

So, I'm going to close this out. You can create a new issue to support the thermostat. If you want, you can fork this repository and take a crack at it. When finished, you would create a pull request that will allow me to approve the change and merge it into this code base. But you need to make sure it is well tested as I can't test it.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4>. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1271631450, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABG55ERUXYHUJQAQFCGOHATWCAT3JANCNFSM6AAAAAAQPSSLM4. You are receiving this because you were mentioned.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274311192, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARBGBGT7QGEGGGL342C4TPTWCURCTANCNFSM6AAAAAAQPSSLM4. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274569174, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABG55EQFLAXGI5UOB26L6T3WCVJAVANCNFSM6AAAAAAQPSSLM4. You are receiving this because you were mentioned.

jplwoodward commented 1 year ago

I have not used git, and I fear that if I fork and update as you suggest that I could do more harm than good. Below are links to 3 files:

thermostatAccessory.js — complete code to support smartthings thermostats, in the style of your accessory code platform.js — contains minor additions to your 1.4.5 version to cause the thermostat code to be used when needed. Each line I added has my initials — JW — on it. config.schema.json — I added a field to specify polling seconds (your 1.4.5 version modified)

I have tested this extensively with my thermostat, and have simulated other thermostat features to test for broader compatibility.

As I mentioned before, HomeKit and SmartThings have different models of temperature units. HomeKit shows what it implies (“Hardware Display”) are the units displayed on the actual thermostat, and allows the user to change the units. However, SmartThings does not allow commanding the thermostat to change the units. Furthermore, regardless of what I set on my thermostat for units to display, it reports temperature to HomeKit in F, and specifies that they are F. Another thermostat might report in C, but would tell my code and be handled properly. Bottom line, everything functionally works, except that changing that setting has no effect.

https://thewoodwards.us/transfer/thermostatAccessory.js https://thewoodwards.us/transfer/thermostatAccessory.js https://thewoodwards.us/transfer/platform.js https://thewoodwards.us/transfer/platform.js https://thewoodwards.us/transfer/config.schema.json https://thewoodwards.us/transfer/config.schema.json

On Oct 11, 2022, at 8:22 AM, iklein99 @. @.>> wrote:

Yes. That is it.

I’m now working on another refactor to allow a device to support multiple services. So I will be making more changes.

On Oct 11, 2022, at 7:59 AM, jplwoodward @.***> wrote:

Thanks. I am working with v1.4.4. Is that post refactoring? - John

On Oct 11, 2022, at 4:34 AM, iklein99 @.***> wrote:

I made some significant refactors in the base. You may want to check out my latest version before you get too far.

On Oct 7, 2022, at 9:57 AM, jplwoodward @. @.>> wrote:

I am woking on this now in my spare time. It turns out that Smartthings and HomeKit have different models of how a thermostat works. I am replicating the logic done in the now-obsolete tonesto plugin (homebridge-smartthings v2.3.8). It was verified, so I am hoping it gets the HomeKit part right. - John

On Oct 5, 2022, at 8:22 AM, iklein99 @.***> wrote:

So, I'm going to close this out. You can create a new issue to support the thermostat. If you want, you can fork this repository and take a crack at it. When finished, you would create a pull request that will allow me to approve the change and merge it into this code base. But you need to make sure it is well tested as I can't test it.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144 <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144>>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4 <https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4>>. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1271631450 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1271631450>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABG55ERUXYHUJQAQFCGOHATWCAT3JANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ABG55ERUXYHUJQAQFCGOHATWCAT3JANCNFSM6AAAAAAQPSSLM4>. You are receiving this because you were mentioned.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274311192 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274311192>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ARBGBGT7QGEGGGL342C4TPTWCURCTANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ARBGBGT7QGEGGGL342C4TPTWCURCTANCNFSM6AAAAAAQPSSLM4>. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274569174 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274569174>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABG55EQFLAXGI5UOB26L6T3WCVJAVANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ABG55EQFLAXGI5UOB26L6T3WCVJAVANCNFSM6AAAAAAQPSSLM4>. You are receiving this because you were mentioned.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274600459, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARBGBGVOBPMFCBNUR6ECKWDWCVLZRANCNFSM6AAAAAAQPSSLM4. You are receiving this because you authored the thread.

iklein99 commented 1 year ago

John,

I’ll have a look at what you did. One issue is that the source code for the plugin in Typescript, which get precompiled into Javascript. What you probably did was just pull the compiled javascript from the /dist folder. I can’t use the files as you sent them because of this.

However, I’ll have a look at what you did and see how much work it will be to port into Typescript and get it properly integrated into my code.

On Oct 13, 2022, at 3:56 PM, jplwoodward @.***> wrote:

I have not used git, and I fear that if I fork and update as you suggest that I could do more harm than good. Below are links to 3 files:

thermostatAccessory.js — complete code to support smartthings thermostats, in the style of your accessory code platform.js — contains minor additions to your 1.4.5 version to cause the thermostat code to be used when needed. Each line I added has my initials — JW — on it. config.schema.json — I added a field to specify polling seconds (your 1.4.5 version modified)

I have tested this extensively with my thermostat, and have simulated other thermostat features to test for broader compatibility.

As I mentioned before, HomeKit and SmartThings have different models of temperature units. HomeKit shows what it implies (“Hardware Display”) are the units displayed on the actual thermostat, and allows the user to change the units. However, SmartThings does not allow commanding the thermostat to change the units. Furthermore, regardless of what I set on my thermostat for units to display, it reports temperature to HomeKit in F, and specifies that they are F. Another thermostat might report in C, but would tell my code and be handled properly. Bottom line, everything functionally works, except that changing that setting has no effect.

https://thewoodwards.us/transfer/thermostatAccessory.js https://thewoodwards.us/transfer/thermostatAccessory.js https://thewoodwards.us/transfer/platform.js https://thewoodwards.us/transfer/platform.js https://thewoodwards.us/transfer/config.schema.json https://thewoodwards.us/transfer/config.schema.json

  • John

On Oct 11, 2022, at 8:22 AM, iklein99 @. @.>> wrote:

Yes. That is it.

I’m now working on another refactor to allow a device to support multiple services. So I will be making more changes.

On Oct 11, 2022, at 7:59 AM, jplwoodward @.***> wrote:

Thanks. I am working with v1.4.4. Is that post refactoring? - John

On Oct 11, 2022, at 4:34 AM, iklein99 @.***> wrote:

I made some significant refactors in the base. You may want to check out my latest version before you get too far.

On Oct 7, 2022, at 9:57 AM, jplwoodward @. @.>> wrote:

I am woking on this now in my spare time. It turns out that Smartthings and HomeKit have different models of how a thermostat works. I am replicating the logic done in the now-obsolete tonesto plugin (homebridge-smartthings v2.3.8). It was verified, so I am hoping it gets the HomeKit part right. - John

On Oct 5, 2022, at 8:22 AM, iklein99 @.***> wrote:

So, I'm going to close this out. You can create a new issue to support the thermostat. If you want, you can fork this repository and take a crack at it. When finished, you would create a pull request that will allow me to approve the change and merge it into this code base. But you need to make sure it is well tested as I can't test it.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144 <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144>>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4 <https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4>>. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1271631450 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1271631450>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABG55ERUXYHUJQAQFCGOHATWCAT3JANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ABG55ERUXYHUJQAQFCGOHATWCAT3JANCNFSM6AAAAAAQPSSLM4>. You are receiving this because you were mentioned.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274311192 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274311192>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ARBGBGT7QGEGGGL342C4TPTWCURCTANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ARBGBGT7QGEGGGL342C4TPTWCURCTANCNFSM6AAAAAAQPSSLM4>. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274569174 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274569174>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABG55EQFLAXGI5UOB26L6T3WCVJAVANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ABG55EQFLAXGI5UOB26L6T3WCVJAVANCNFSM6AAAAAAQPSSLM4>. You are receiving this because you were mentioned.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274600459, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARBGBGVOBPMFCBNUR6ECKWDWCVLZRANCNFSM6AAAAAAQPSSLM4. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1278112539, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABG55EQMLYCO7YRAGLNX62DWDBSOJANCNFSM6AAAAAAQPSSLM4. You are receiving this because you were mentioned.

jplwoodward commented 1 year ago

Yes, I added/modified them in dist. Sorry is I made more work for you. The .ts files look identical to me. - John

On Oct 13, 2022, at 5:00 PM, iklein99 @.***> wrote:

John,

I’ll have a look at what you did. One issue is that the source code for the plugin in Typescript, which get precompiled into Javascript. What you probably did was just pull the compiled javascript from the /dist folder. I can’t use the files as you sent them because of this.

However, I’ll have a look at what you did and see how much work it will be to port into Typescript and get it properly integrated into my code.

On Oct 13, 2022, at 3:56 PM, jplwoodward @.***> wrote:

I have not used git, and I fear that if I fork and update as you suggest that I could do more harm than good. Below are links to 3 files:

thermostatAccessory.js — complete code to support smartthings thermostats, in the style of your accessory code platform.js — contains minor additions to your 1.4.5 version to cause the thermostat code to be used when needed. Each line I added has my initials — JW — on it. config.schema.json — I added a field to specify polling seconds (your 1.4.5 version modified)

I have tested this extensively with my thermostat, and have simulated other thermostat features to test for broader compatibility.

As I mentioned before, HomeKit and SmartThings have different models of temperature units. HomeKit shows what it implies (“Hardware Display”) are the units displayed on the actual thermostat, and allows the user to change the units. However, SmartThings does not allow commanding the thermostat to change the units. Furthermore, regardless of what I set on my thermostat for units to display, it reports temperature to HomeKit in F, and specifies that they are F. Another thermostat might report in C, but would tell my code and be handled properly. Bottom line, everything functionally works, except that changing that setting has no effect.

https://thewoodwards.us/transfer/thermostatAccessory.js https://thewoodwards.us/transfer/thermostatAccessory.js https://thewoodwards.us/transfer/platform.js https://thewoodwards.us/transfer/platform.js https://thewoodwards.us/transfer/config.schema.json https://thewoodwards.us/transfer/config.schema.json

  • John

On Oct 11, 2022, at 8:22 AM, iklein99 @. @.>> wrote:

Yes. That is it.

I’m now working on another refactor to allow a device to support multiple services. So I will be making more changes.

On Oct 11, 2022, at 7:59 AM, jplwoodward @.***> wrote:

Thanks. I am working with v1.4.4. Is that post refactoring? - John

On Oct 11, 2022, at 4:34 AM, iklein99 @.***> wrote:

I made some significant refactors in the base. You may want to check out my latest version before you get too far.

On Oct 7, 2022, at 9:57 AM, jplwoodward @. @.>> wrote:

I am woking on this now in my spare time. It turns out that Smartthings and HomeKit have different models of how a thermostat works. I am replicating the logic done in the now-obsolete tonesto plugin (homebridge-smartthings v2.3.8). It was verified, so I am hoping it gets the HomeKit part right. - John

On Oct 5, 2022, at 8:22 AM, iklein99 @.***> wrote:

So, I'm going to close this out. You can create a new issue to support the thermostat. If you want, you can fork this repository and take a crack at it. When finished, you would create a pull request that will allow me to approve the change and merge it into this code base. But you need to make sure it is well tested as I can't test it.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144 <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144>>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4 <https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4>>. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1271631450 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1271631450>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABG55ERUXYHUJQAQFCGOHATWCAT3JANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ABG55ERUXYHUJQAQFCGOHATWCAT3JANCNFSM6AAAAAAQPSSLM4>. You are receiving this because you were mentioned.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274311192 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274311192>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ARBGBGT7QGEGGGL342C4TPTWCURCTANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ARBGBGT7QGEGGGL342C4TPTWCURCTANCNFSM6AAAAAAQPSSLM4>. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274569174 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274569174>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABG55EQFLAXGI5UOB26L6T3WCVJAVANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ABG55EQFLAXGI5UOB26L6T3WCVJAVANCNFSM6AAAAAAQPSSLM4>. You are receiving this because you were mentioned.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274600459, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARBGBGVOBPMFCBNUR6ECKWDWCVLZRANCNFSM6AAAAAAQPSSLM4. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1278112539, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABG55EQMLYCO7YRAGLNX62DWDBSOJANCNFSM6AAAAAAQPSSLM4. You are receiving this because you were mentioned.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1278173362, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARBGBGQ35D5WP6SNJW5YEITWDBZ6LANCNFSM6AAAAAAQPSSLM4. You are receiving this because you authored the thread.

jplwoodward commented 1 year ago

Is 1.4.9 intended to support thermostats? For mine, is I look in the Home app on my Mac I get:

notice ot says not responding. If I click on accessories, it shows 3:

None actually control the thermostat, though the 60 degree and 66 degree values are correct. - John

On Oct 13, 2022, at 5:00 PM, iklein99 @.***> wrote:

John,

I’ll have a look at what you did. One issue is that the source code for the plugin in Typescript, which get precompiled into Javascript. What you probably did was just pull the compiled javascript from the /dist folder. I can’t use the files as you sent them because of this.

However, I’ll have a look at what you did and see how much work it will be to port into Typescript and get it properly integrated into my code.

On Oct 13, 2022, at 3:56 PM, jplwoodward @.***> wrote:

I have not used git, and I fear that if I fork and update as you suggest that I could do more harm than good. Below are links to 3 files:

thermostatAccessory.js — complete code to support smartthings thermostats, in the style of your accessory code platform.js — contains minor additions to your 1.4.5 version to cause the thermostat code to be used when needed. Each line I added has my initials — JW — on it. config.schema.json — I added a field to specify polling seconds (your 1.4.5 version modified)

I have tested this extensively with my thermostat, and have simulated other thermostat features to test for broader compatibility.

As I mentioned before, HomeKit and SmartThings have different models of temperature units. HomeKit shows what it implies (“Hardware Display”) are the units displayed on the actual thermostat, and allows the user to change the units. However, SmartThings does not allow commanding the thermostat to change the units. Furthermore, regardless of what I set on my thermostat for units to display, it reports temperature to HomeKit in F, and specifies that they are F. Another thermostat might report in C, but would tell my code and be handled properly. Bottom line, everything functionally works, except that changing that setting has no effect.

https://thewoodwards.us/transfer/thermostatAccessory.js https://thewoodwards.us/transfer/thermostatAccessory.js https://thewoodwards.us/transfer/platform.js https://thewoodwards.us/transfer/platform.js https://thewoodwards.us/transfer/config.schema.json https://thewoodwards.us/transfer/config.schema.json

  • John

On Oct 11, 2022, at 8:22 AM, iklein99 @. @.>> wrote:

Yes. That is it.

I’m now working on another refactor to allow a device to support multiple services. So I will be making more changes.

On Oct 11, 2022, at 7:59 AM, jplwoodward @.***> wrote:

Thanks. I am working with v1.4.4. Is that post refactoring? - John

On Oct 11, 2022, at 4:34 AM, iklein99 @.***> wrote:

I made some significant refactors in the base. You may want to check out my latest version before you get too far.

On Oct 7, 2022, at 9:57 AM, jplwoodward @. @.>> wrote:

I am woking on this now in my spare time. It turns out that Smartthings and HomeKit have different models of how a thermostat works. I am replicating the logic done in the now-obsolete tonesto plugin (homebridge-smartthings v2.3.8). It was verified, so I am hoping it gets the HomeKit part right. - John

On Oct 5, 2022, at 8:22 AM, iklein99 @.***> wrote:

So, I'm going to close this out. You can create a new issue to support the thermostat. If you want, you can fork this repository and take a crack at it. When finished, you would create a pull request that will allow me to approve the change and merge it into this code base. But you need to make sure it is well tested as I can't test it.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144 <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144>>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4 <https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4>>. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1271631450 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1271631450>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABG55ERUXYHUJQAQFCGOHATWCAT3JANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ABG55ERUXYHUJQAQFCGOHATWCAT3JANCNFSM6AAAAAAQPSSLM4>. You are receiving this because you were mentioned.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274311192 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274311192>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ARBGBGT7QGEGGGL342C4TPTWCURCTANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ARBGBGT7QGEGGGL342C4TPTWCURCTANCNFSM6AAAAAAQPSSLM4>. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274569174 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274569174>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABG55EQFLAXGI5UOB26L6T3WCVJAVANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ABG55EQFLAXGI5UOB26L6T3WCVJAVANCNFSM6AAAAAAQPSSLM4>. You are receiving this because you were mentioned.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274600459, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARBGBGVOBPMFCBNUR6ECKWDWCVLZRANCNFSM6AAAAAAQPSSLM4. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1278112539, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABG55EQMLYCO7YRAGLNX62DWDBSOJANCNFSM6AAAAAAQPSSLM4. You are receiving this because you were mentioned.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1278173362, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARBGBGQ35D5WP6SNJW5YEITWDBZ6LANCNFSM6AAAAAAQPSSLM4. You are receiving this because you authored the thread.

veonua commented 1 year ago

only temperature characteristic is connected. so it's more like a thermometer device now

iklein99 commented 1 year ago

No, not yet. It supports sensors like temp and humidity, but no control yet.

On Oct 27, 2022, at 1:27 PM, jplwoodward @.***> wrote:

Is 1.4.9 intended to support thermostats? For mine, is I look in the Home app on my Mac I get:

notice ot says not responding. If I click on accessories, it shows 3:

None actually control the thermostat, though the 60 degree and 66 degree values are correct. - John

On Oct 13, 2022, at 5:00 PM, iklein99 @.***> wrote:

John,

I’ll have a look at what you did. One issue is that the source code for the plugin in Typescript, which get precompiled into Javascript. What you probably did was just pull the compiled javascript from the /dist folder. I can’t use the files as you sent them because of this.

However, I’ll have a look at what you did and see how much work it will be to port into Typescript and get it properly integrated into my code.

On Oct 13, 2022, at 3:56 PM, jplwoodward @.***> wrote:

I have not used git, and I fear that if I fork and update as you suggest that I could do more harm than good. Below are links to 3 files:

thermostatAccessory.js — complete code to support smartthings thermostats, in the style of your accessory code platform.js — contains minor additions to your 1.4.5 version to cause the thermostat code to be used when needed. Each line I added has my initials — JW — on it. config.schema.json — I added a field to specify polling seconds (your 1.4.5 version modified)

I have tested this extensively with my thermostat, and have simulated other thermostat features to test for broader compatibility.

As I mentioned before, HomeKit and SmartThings have different models of temperature units. HomeKit shows what it implies (“Hardware Display”) are the units displayed on the actual thermostat, and allows the user to change the units. However, SmartThings does not allow commanding the thermostat to change the units. Furthermore, regardless of what I set on my thermostat for units to display, it reports temperature to HomeKit in F, and specifies that they are F. Another thermostat might report in C, but would tell my code and be handled properly. Bottom line, everything functionally works, except that changing that setting has no effect.

https://thewoodwards.us/transfer/thermostatAccessory.js https://thewoodwards.us/transfer/thermostatAccessory.js https://thewoodwards.us/transfer/platform.js https://thewoodwards.us/transfer/platform.js https://thewoodwards.us/transfer/config.schema.json https://thewoodwards.us/transfer/config.schema.json

  • John

On Oct 11, 2022, at 8:22 AM, iklein99 @. @.>> wrote:

Yes. That is it.

I’m now working on another refactor to allow a device to support multiple services. So I will be making more changes.

On Oct 11, 2022, at 7:59 AM, jplwoodward @.***> wrote:

Thanks. I am working with v1.4.4. Is that post refactoring? - John

On Oct 11, 2022, at 4:34 AM, iklein99 @.***> wrote:

I made some significant refactors in the base. You may want to check out my latest version before you get too far.

On Oct 7, 2022, at 9:57 AM, jplwoodward @. @.>> wrote:

I am woking on this now in my spare time. It turns out that Smartthings and HomeKit have different models of how a thermostat works. I am replicating the logic done in the now-obsolete tonesto plugin (homebridge-smartthings v2.3.8). It was verified, so I am hoping it gets the HomeKit part right. - John

On Oct 5, 2022, at 8:22 AM, iklein99 @.***> wrote:

So, I'm going to close this out. You can create a new issue to support the thermostat. If you want, you can fork this repository and take a crack at it. When finished, you would create a pull request that will allow me to approve the change and merge it into this code base. But you need to make sure it is well tested as I can't test it.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144 <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1268365144>>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4 <https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ARBGBGRRGHH3P73YPN6CDPLWBVXKDANCNFSM6AAAAAAQPSSLM4>>. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1271631450 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1271631450>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABG55ERUXYHUJQAQFCGOHATWCAT3JANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ABG55ERUXYHUJQAQFCGOHATWCAT3JANCNFSM6AAAAAAQPSSLM4>. You are receiving this because you were mentioned.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274311192 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274311192>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ARBGBGT7QGEGGGL342C4TPTWCURCTANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ARBGBGT7QGEGGGL342C4TPTWCURCTANCNFSM6AAAAAAQPSSLM4>. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub <https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274569174 https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274569174>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABG55EQFLAXGI5UOB26L6T3WCVJAVANCNFSM6AAAAAAQPSSLM4 https://github.com/notifications/unsubscribe-auth/ABG55EQFLAXGI5UOB26L6T3WCVJAVANCNFSM6AAAAAAQPSSLM4>. You are receiving this because you were mentioned.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1274600459, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARBGBGVOBPMFCBNUR6ECKWDWCVLZRANCNFSM6AAAAAAQPSSLM4. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1278112539, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABG55EQMLYCO7YRAGLNX62DWDBSOJANCNFSM6AAAAAAQPSSLM4. You are receiving this because you were mentioned.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1278173362, or unsubscribe https://github.com/notifications/unsubscribe-auth/ARBGBGQ35D5WP6SNJW5YEITWDBZ6LANCNFSM6AAAAAAQPSSLM4. You are receiving this because you authored the thread.

— Reply to this email directly, view it on GitHub https://github.com/iklein99/homebridge-smartthings/issues/31#issuecomment-1293845824, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABG55EXKNIO743IQ55PL5H3WFK3PZANCNFSM6AAAAAAQPSSLM4. You are receiving this because you were mentioned.