Giter Site home page Giter Site logo

alexa-remote's Introduction

alexa-remote2

NPM version Downloads Test and Release

Library to remote control an Alexa (Amazon Echo) device via LAN/WLAN.

Example

see example folder

Thanks:

Partly based on Amazon Alexa Remote Control (PLAIN shell) and alexa-remote-control and OpenHab-Addon Thank you for that work.

Known issues/Todos

Changelog:

4.1.2 (2022-02-20)

  • (TactfulElf) Allow csrf to be updated on cookie refresh and add 401 error handling

4.1.1 (2021-11-13)

  • (Apollon77) Prevent crash case in edge cases when unexpected WSMQTT responses are received

4.1.0 (2021-11-13)

  • (Apollon77) SequenceNodes created for a device are now bound to the "deviceOwnCustomer" - should help in mixed owner groups

4.0.4 (2021-11-06)

  • (Apollon77) Fix crash case

4.0.3 (2021-10-12)

  • (Apollon77) Fix crash case (Sentry IOBROKER-ALEXA2-AT)

4.0.2 (2021-10-12)

  • (Apollon77) Adjust Timing on Push Connection initialization
  • (Apollon77) Adjust timing when matching History entries because sometimes Amazon seems to need a bit longer for new infos become available

4.0.1 (2021-10-11)

  • (Apollon77) Adjust call headers

4.0.0 (2021-10-11)

  • IMPORTANT: Node.js 10 support is dropped, supports LTS versions of Node.js starting with 12.x
  • (Apollon77) Change Push connection to new signed flow
  • (RodolfoSilva) Add TypeScript Type definitions

3.9.0 (2021-07-30)

  • (guilhermelirio) Add skill launch function
  • (guilhermelirio) Add getSkills() function

3.8.1 (2021-06-04)

  • (bbindreiter) Set missing Accept Header

3.8.0 (2021-05-11)

  • (Apollon77) Always recognize "alexa" as wakeword to handle commands via the apps correctly

3.7.2 (2021-04-18)

  • (Apollon77) Adjust automatic Cookie Refresh interval from 7 to 4 days
  • (Apollon77) Add other checks for websocket connection handling (Sentry IOBROKER-ALEXA2-32)

3.7.1 (2021-02-03)

  • (Apollon77) also capture tests from ASR_REPLACEMENT_TEXT and TTS_REPLACEMENT_TEXT into summary and alexaResponse

3.7.0 (2021-02-03)

  • (Apollon77) Implement new method to get History/Activities
    • getActivities Method is still there and still triggers the Amazon route as till now. INo idea ng it still works for some users. I declared it as deprecated now
    • add new method "getCustomerHistoryRecords" which uses another endpoint on Amazon side and delivers different data. The return is returned relative compatible to getActivities, so should be a drop in replacement - beside the fact that some fileds can not be provided any longer and will be simply empty! (e.g. activityStatus, deviceAccountId ...) Also in the amazon data some fields are no longer existing (e.g. domainAttributes ...)
    • the event "ws-device-activity" is migrated to use the new getCustomerHistoryRecords endpoint, and so returns compatible, but not 100% the same data
  • (Apollon77) Make sure to not hammer requests to Amazon in case the activity request returns an error and the received PUSH_ACTIVITY entry was not found
  • (Apollon77) Detect and handle 50x error cases and handle them as if no content was returned
  • (Apollon77) Enhance communication to also support gzip and deflate encoded responses because Amazon sometimes ignore requested Accept-Encoding specs. This also could improve speed

3.6.0 (2021-01-28)

  • (Apollon77) Adjust to new automations (Routines) route
  • (Apollon77) Add getAllDeviceVolumes method
  • (Apollon77) Return relationships in getSmarthomeDevices call

3.5.2 (2021-01-17)

  • (Apollon77) Fix potential crash issue (Sentry IOBROKER-ALEXA2-39)

3.5.0 (2020-12-24)

  • (Apollon77) Fix potential crash issue (Sentry IOBROKER-ALEXA2-2V)
  • (FliegenKLATSCH) add cookie as new event when a new cookie is generated
  • (FliegenKLATSCH) fix error code handling

3.4.0 (2020-12-11)

  • (Apollon77) add support for textCommand - tell an Alexa device a text as you would speak it

3.3.3 (2020-12-03)

  • (Apollon77) fix potential crash case (Sentry IOBROKER-ALEXA2-2K)

3.3.2 (2020-11-23)

  • (Apollon77) handle potential crash case (Sentry IOBROKER-ALEXA2-27)
  • (Apollon77) also ignore PUSH_DEVICE_SETUP_STATE_CHANGE push messages
  • (Apollon77) Optimize WSMQTT Reconnection handling for timeout cases

3.3.1 (2020-07-24)

  • (Apollon77) Update cookie lib to maybe be more backward compatible if login/baseUrl was changed
  • (Apollon77) Increase timeout when reading routines

3.3.0 (2020-07-19)

  • (Apollon77) update amazon-cookie library again to optimize upgrades from earlier versions

3.2.6 (2020-07-16)

  • (Apollon77) update amazon-cookie library: Another try to work around Amazon changes

3.2.5 (2020-07-15)

  • (Apollon77) update amazon-cookie library: Another try to work around Amazon changes

3.2.4 (2020-07-15)

  • (Apollon77) update amazon-cookie library: Another try to work around Amazon changes

3.2.3 (2020-07-13)

  • (Apollon77) update amazon-cookie library to work around amazon security changes
  • (Apollon77) Prevent crash on invalid data in request data (Sentry IOBROKER-ALEXA2-1A)
  • (Apollon77) Make sure to handle invalid list responses correctly (Sentry IOBROKER-ALEXA2-1T)

3.2.2 (2020-06-17)

  • (Apollon77) Optimize Request Handling to also Handle timeouts correctly
  • (Apollon77) Increase timeouts for some Smart Home calls to 30s

3.2.1 (2020-06-17)

  • (Apollon77) update amazon-cookie library: another optimization for Node.js 14

3.2.0 (2020-06-16)

  • (Apollon77) Update Cookie Library to allow Proxy Signup again after Amazon changes
  • (hive) add new commands, jokes/facts/goodnight/cleanup
  • (hive) add new command curatedtts with allowed values ["goodbye", "confirmations", "goodmorning", "compliments", "birthday", "goodnight", "iamhome"] to play random curated sentences

3.1.0 (2019-12-30)

  • (Apollon77) remove device._orig because really big objects happened and got exceptions on deep copy using JSION.stringify

3.0.3 (2019-12-28)

  • (Apollon77) update cookie lib

3.0.2 (2019-12-26)

  • (Apollon77) Prevent some errors

3.0.1 (2019-12-24)

  • (Apollon77) Prevent some errors, dependency update

3.0.0 (2019-12-24)

  • (Apollon77) dependency updates
  • (Zefau) add functionality for handling of lists
  • nodejs 8.x is minimum now!

2.5.5 (2019-08-09)

  • (Apollon77) user different mqtt regex to hopefully support other countries better

2.5.4 (2019-08-08)

  • (Apollon77) make sure amazon domains are used as configured instead of "amazon.de" sometimes

2.5.3 (2019-07-22)

  • (Apollon77) also allow Reminders in Future >+1 day

2.5.0/1 (2019-07-21)

  • (Apollon77) enhance announce/ssml to allow send to multiple devices using one command

2.4.0 (2019-07-21)

  • (Apollon77) Finalize methods and logix to send and read and delete messages and what's needed for this

2.3.7 (2019-07-06)

  • (Apollon77) fix (finally) special case on authentication check

2.3.6 (2019-07-05)

  • (Apollon77) fix (finally) special case on authentication check

2.3.5 (2019-07-01)

  • (Apollon77) fix special case on authentication check

2.3.4 (2019-06-25)

  • (Apollon77) fix potential error on PUSH_MEDIA_PROGRESS_CHANGE push infos

2.3.3 (2019-06-23)

  • (Apollon77) change authentication check to hopefully better handle DNS or other "Network unavailable" errors

2.3.2 (2019-06-21)

  • (Apollon77) fix ssml

2.3.1 (2019-06-21)

  • (Apollon77) optimize handling for missing csrf cases

2.3.0 (2019-06-20)

  • (Apollon77) use alexa-cookie lib 2.1 with latest adoptions to Amazon changes (Cookie CSRF was missing)
  • (Apollon77) fixed default cookie refresh interval
  • (Apollon77) When Speak via SSML is done this is not send as card value
  • (Apollon77) add PUSH_MEDIA_PROGRESS_CHANGE to known WS-MQTT topics
  • (Apollon77) change WS reconnection logic to try once per minute

2.2.0 (2019-01-xx)

  • (Apollon77) add new sequenceCommands "calendarNext", "calendarToday", "calendarTomorrow"
  • (Apollon77) fix wake word handling and history sanitizing

2.1.0 (2019-01-12)

  • (Apollon77) add new sequenceCommands "deviceStop", "notification", "announcement" and finally "ssml"

2.0.0 (2018-12-02)

  • (Apollon77) upgrade amazon-cookie lib to 2.0

1.0.3 (2018-11-17)

  • (Apollon77) upgrade amazon-cookie lib
  • (Apollon77) better handle ws errors and upgrade ws version to still support nodejs 6

1.0.2 (2018-11-17)

  • (Apollon77) upgrade amazon-cookie lib

1.0.1 (2018-11-09)

  • (Apollon77) upgrade amazon-cookie lib
  • (Apollon77) small fix for strange history summary content

1.0.0 (2018-09-06)

  • (Apollon77) polishing and finalization and make it 1.0.0

0.6.1 (2018-08-28)

  • (Apollon77) rework scenes and add option to send Parallel or Sequencial commands
  • (Apollon77) enhance methods for smart home device and group handling

0.6.0 (2018-08-24)

  • (Apollon77) several fixes and optimizations
  • (Apollon77) enhance methods for smart home device and group handling

0.5.2 (2018-08-16)

  • (Apollon77) also allow new reminder on next day :-)

0.5.0 (2018-08-16)

  • (Apollon77) fix an error when getting new cookie
  • (Apollon77) Add Reminder and Alarms support.
  • (Apollon77) Enhance Push Connection
  • (Apollon77) Added some more deviceTypes

0.3.0 (2018-08-13)

  • (Apollon77) Added Websocket/MQTT connection class and also initialize it when requested via alexa-remote class.
  • (Apollon77) Websocet/MQTT class and also Alexa-Remote are now event emitters to be able to notify on push changes
  • (Apollon77) many fixes and optimizations, changed code to be an ES6 class
  • (Apollon77) reworked the "prepare" step and only initialize what's really needed and allow extra "init" methods also to update Devices, Bluetooth and such. Docs will follow
  • (Apollon77) API breaking: executeAutomationRoutine is not expecting a routineId anymore, but the complete routine definition.

0.1.0

  • (Apollon77) added automatic cookie renewal when email and password are provided
  • (Apollon77) added authentication checks by bootstrap call (like alexa-remote-control)
  • (Apollon77) several fixes
  • (Apollon77) added logger option

0.0.x

  • Versions by soef

alexa-remote's People

Contributors

apollon77 avatar dependabot[bot] avatar soef avatar dependabot-preview[bot] avatar bbindreiter avatar fliegenklatsch avatar guilhermelirio avatar 586837r avatar alandtse avatar nebzhb avatar rodolfosilva avatar tactfulelf avatar zefau avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.