{"id":33167427,"url":"https://github.com/armzilla/amazon-echo-ha-bridge","last_synced_at":"2026-03-13T02:39:10.794Z","repository":{"id":30419926,"uuid":"33972837","full_name":"armzilla/amazon-echo-ha-bridge","owner":"armzilla","description":"emulates philips hue api to other home automation gateways","archived":false,"fork":false,"pushed_at":"2021-06-04T01:33:26.000Z","size":97,"stargazers_count":773,"open_issues_count":58,"forks_count":170,"subscribers_count":95,"default_branch":"master","last_synced_at":"2025-11-17T09:06:49.325Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/armzilla.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-15T04:18:35.000Z","updated_at":"2025-11-14T14:30:31.000Z","dependencies_parsed_at":"2022-09-22T06:41:55.111Z","dependency_job_id":null,"html_url":"https://github.com/armzilla/amazon-echo-ha-bridge","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/armzilla/amazon-echo-ha-bridge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armzilla%2Famazon-echo-ha-bridge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armzilla%2Famazon-echo-ha-bridge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armzilla%2Famazon-echo-ha-bridge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armzilla%2Famazon-echo-ha-bridge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/armzilla","download_url":"https://codeload.github.com/armzilla/amazon-echo-ha-bridge/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/armzilla%2Famazon-echo-ha-bridge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30456116,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T02:22:12.178Z","status":"ssl_error","status_checked_at":"2026-03-13T02:06:49.475Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-11-16T00:00:45.511Z","updated_at":"2026-03-13T02:39:10.784Z","avatar_url":"https://github.com/armzilla.png","language":"Java","readme":"# Amazon Echo Bridge \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; ![codeship status](https://codeship.com/projects/998e16f0-ca03-0132-6689-76c03995407a/status?branch=master)\n\nAmazon Echo Bridge allows you to quickly emulate a Phillips Hue bridge, bringing the ability to seamlessly integrate an Amazon Echo into various home automation systems.  \n\nAlso, with an easy to use POST/PUT REST API, it's never been easier before to get your devices up and running with the Amazon Echo with your own embedded applications!\n\n## Release notes:\nv0.4.0\nchange log:\n\n* require --upnp.config.address= to be specified during startup\n* support more than 25 emulated devices currently set to 75, can be increased at 25 device increments by specifying --emulator.portcount= default is 3 thus 3*25 = 75 total devices. Works by taking emulator.baseport and opening n number of ports sequentially from baseport to baseport+portcount\n* relaxed http response codes to anything in the 200 to less than 300 http response codes to support misbehaving resources\n\nother notes:\nIve seen some folks able to run this but not able to discover devices. I would recommend checking for devices with duplicate names as i have seen this to cause the echo to reject all devices. The lazy way would be to delete the /data directory and start over.\n\n## Quick Start\n\nThere are currently three different ways to run the pre-built jar file:\n\n**Java -** ```java -jar amazon-echo-bridge-*.jar```\n\n**Maven -** ```mvn spring-boot:run```\n\n**Docker -** ```docker build -t amazon-echo-ha-bridge .\ndocker run -ti --rm --net=host amazon-echo-ha-bridge```\n\n Additionally, it's also recommended you pass the command line arguments ```--upnp.config.address``` and ```--server.port``` to override the hardcoded values currently implemented.\n\n**Examples:**\n```--upnp.config.address=192.168.1.240 --server.port=8081```\n\nAfter the application is started and running, you can access the configurator by accessing http://YOURIP:PORT/configurator.html. \n\nInput your devices using the form at the bottom of the page, add command URLs to parse (useful if you use a system like OpenHAB), and save.\n\nInstruct your Amazon Echo to learn about your devices by saying \"Alexa, discover my devices\" and your all set!\n\n## Using\n\nYou can now control devices with your Amazon Echo by saying \"Alexa, Turn on the office light\" or other names you have given your configured devices.\n\nTo view or remove devices that Alexa knows about, you can use the mobile app Menu / Settings / Connected Home, This is needed if you remove a device from the Amazon Echo Bridge.\n\n## Build\n\nIn case you would like to internally configure your own build of the Amazon Echo Bridge, a few requisites are required.\n\n### Install Maven: \n\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; **Ubuntu/Linux** - ```sudo apt-get install maven```\n\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; \n**OS X** - Install [Homebrew](http://brew.sh/) and run ```brew install maven```\n\n### Make Changes:\nFor instance, the server defaults to running on port 8080. If you're already running a server (like openHAB) on 8080, you could edit ```server.port``` in ```src/main/resources/application.properties``` to your desired port before building the jar. \n\nAlternatively you could also pass in a command line argument to override ```server.port```.\n\n### Compile:\nTo build the jar file yourself, make your changes and simply run Maven like this:\n```\nmvn install\n```\n\nThen locate the jar and start the server using the instructions above. By default maven will put the jar file in the target directory. ```java -jar target/amazon-echo-bridge-*.jar``` \n\n## POST/PUT REST API\n\nAlong with registering devices via the Configurator page, you can also push device information via REST to the Amazon Echo Bridge like so:\n```\nPOST http://host:port/api/devices\n{\n\"name\" : \"bedroom light\",\n\"deviceType\" : \"switch\",\n  \"onUrl\" : \"http://192.168.1.201:3480/data_request?id=action\u0026output_format=json\u0026serviceId=urn:upnp-org:serviceId:SwitchPower1\u0026action=SetTarget\u0026newTargetValue=1\u0026DeviceNum=41\",\n  \"offUrl\" : \"http://192.168.1.201:3480/data_request?id=action\u0026output_format=json\u0026serviceId=urn:upnp-org:serviceId:SwitchPower1\u0026action=SetTarget\u0026newTargetValue=0\u0026DeviceNum=41\"\n}\n```\n\nDimming is also supported by using the expression ```${intensity.percent}``` with a value of 0-100 or ```${intensity.byte}``` with a value 0-255, respectively.\n\n**Example:**\n\n```\n{\n    \"name\": \"entry light\",\n    \"deviceType\": \"switch\",\n    \"offUrl\": \"http://192.168.1.201:3480/data_request?id=action\u0026output_format=json\u0026serviceId=urn:upnp-org:serviceId:SwitchPower1\u0026action=SetTarget\u0026newTargetValue=0\u0026DeviceNum=31\",\n    \"onUrl\": \"http://192.168.1.201:3480/data_request?id=action\u0026output_format=json\u0026DeviceNum=31\u0026serviceId=urn:upnp-org:serviceId:Dimming1\u0026action=SetLoadLevelTarget\u0026newLoadlevelTarget=${intensity.percent}\"\n}\n```\n\nYou can also push additional optional fields, such as:\n\n * contentType, which currently isn't validated\n\n * httpVerb, Only POST/PUT/GET supported\n\n * contentBody: Your POST/PUT body\n\nLike so:\n```\n{\n    \"name\": \"test device\",\n    \"deviceType\": \"switch\",\n    \"offUrl\": \"http://192.168.1.201:3480/data_request?id=action\u0026output_format=json\u0026serviceId=urn:upnp-org:serviceId:SwitchPower1\u0026action=SetTarget\u0026newTargetValue=0\u0026DeviceNum=31\",\n    \"onUrl\": \"http://192.168.1.201:3480/data_request?id=action\u0026output_format=json\u0026DeviceNum=31\u0026serviceId=urn:upnp-org:serviceId:Dimming1\u0026action=SetLoadLevelTarget\u0026newLoadlevelTarget=${intensity.percent}\",\n  \"contentType\" : \"application/json\",\n  \"httpVerb\":\"POST\",\n  \"contentBody\" : \"{\\\"fooBar\\\":\\\"baz\\\"}\"\n}\n```\n","funding_links":[],"categories":["Library"],"sub_categories":["Low Level"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farmzilla%2Famazon-echo-ha-bridge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farmzilla%2Famazon-echo-ha-bridge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farmzilla%2Famazon-echo-ha-bridge/lists"}