joeyhage / homebridge-alexa-smarthome

Connect Alexa devices to HomeKit
MIT License
65 stars 20 forks source link

Request to support switch and Echo Glow. Smart plug help #31

Closed joeyhage closed 9 months ago

joeyhage commented 10 months ago

From Reddit:

First off, big kudos for your plug-in; it’s been working grate and does not seem to have slowed down home bridge, but I’ve got a couple of requests. Any chance we could see support added for switches, the Echo Glow, and the temperature sensors on Amazon Echo devices? Also, I noticed the update for Alexa media player support, but could you throw in the ability to airplay to Echo devices as well?

Adding switches and the Echo Glow should be pretty straightforward given your existing architecture for smart outlets and lightbulbs. But those Echo temperature sensors might be a tougher nut to crack, especially if you don’t have one to play with. I’d love to pitch in and help, but honestly, coding isn’t my strong suit, especially with the way your plug-in is structured.

Now, here’s the bigger issue that I think affects the whole Homebridge community. There’s a bug; the plug-in just doesn’t recognize one of my smart plugs. It’s all set up correctly in the Amazon Alexa app, but it’s MIA in HomeKit. I even removed three Echo devices from the list that tells the plug-in to add them, thinking there might be a device limit or something. But no luck. Any ideas on how to fix this?

Thanks a bunch for considering these requests and giving some insight.

Cheers, Andrew

joeyhage commented 10 months ago
  1. Switch support should be very easy and I own one already I can test with.
  2. I don’t have an Echo Glow but I should be able to add on/off and brightness easily. Color is a lot trickier and I haven’t solved that yet for lightbulbs because Alexa and Apple use very different data for color.
  3. Temperature sensor - can you add this device to your plugin settings and then tell me what error message you see? That will help a ton and I think this should be pretty easy since I already have thermostats working.
  4. So you added this device name (case sensitive) to the plug-in settings, are there any error messages in the Homebridge logs for this plugin?
joeyhage commented 10 months ago

Almost forgot, Airplay is not possible because it is a proprietary communication protocol developed by Apple and, to my knowledge, only utilizes the local network. Echo devices can only stream from the cloud. I have seen many questions about this across the web and my understanding is that it would only be possible if Amazon and Apple worked together on this but that is very likely 😓.

joeyhage commented 10 months ago

Thanks for the information!

The skill idea is interesting but would require cloud infrastructure and all the maintenance and costs that go along with it. All said and done, it would be cheaper to buy a device that supports AirPlay like a HomePod or AppleTV.

For the Echo error messages, those errors are indicating that nothing is playing on the device so there is nothing to control. Since AirPlay is not supported and HomeKit doesn’t support any methods to choose media/music, something must already be playing.

If you happen to use Spotify and want a convenient way to start a playlist on a device, you can check out another plugin I support: https://github.com/joeyhage/homebridge-spotify-speaker

joeyhage commented 10 months ago

For the plug and echo glow, can you please turn on debug logging in the plugin settings? That will provide extra logging about the devices upon startup which would be very helpful for me to help troubleshoot. Both devices will need to be listed in the plug-in settings as well. Thanks!

joeyhage commented 10 months ago

Creating an Alexa skill requires cloud infrastructure since that is where the skill executes, it does not execute on the Echo device (source: I've built Alexa skills before).

joeyhage commented 10 months ago

Ah I see what you are saying. Generally, skills are hosted in AWS. But the skill has to be hosted from one server - in other words, it’s not possible to have the skill run on my homebridge instance when I use it and your homebridge instance when you use it.

So hosting it on the homebridge instance would mean hosting it within my personal server for the use of everyone 😬

joeyhage commented 10 months ago

Can you send me a copy of the config JSON, specifically just the section for this plugin?

If your echo glow device is listed in the config, and the name matches what Alexa has exactly, you will see something like:

[9/12/2023, 12:10:54 PM] [homebridge-alexa-smarthome] Attempting to add accessory: {
"id": "redacted",
"displayName": "your echo glow name",

again, these have to match exactly uppercase and lowercase and spaces

joeyhage commented 10 months ago

Given the name of your device is Kitchen Echo glow and debug is enabled, you will see a message like

Attempting to add accessory: {
"id": "redacted",
"displayName": "Kitchen Echo glow",
...
}

I need to see that full log message so I know how to add Echo Glow support because I am in the dark without it. Thanks!

canny[bot] commented 10 months ago

This issue has been linked to a Canny post: Echo Glow :tada:

joeyhage commented 9 months ago

Echo Glows were tested by a plugin user and work. They appear as lightbulbs in HomeKit. The person testing found that sometimes Echo Glows appear with old names. You can find the name by enabling debug in the plugin settings.