- Fixed validation error for the get-history node
- Fixed poll-state node not waiting for getComparatorResult
- The call-service node autocomplete for
entity_id
now handles multiple entities - The properties field of a trigger-state node now has autocomplete
- Added a new comparator, 'in group', to the get-entities node
- Get-history node can use a relative time string for its date fields
- A more verbose error message for the autocomplete error when the server config hasn't been deployed
- More informative error message for the call-service node when there's an API error
- Change the connect timeout for hass.io users so it doesn't bombard the proxy when attempting to connect. (#76)
- HomeAssistant object updated before firing state_change event (#74)
- Fixed HTTP API so it returns an empty string and not the response object when res.data is empty. (#78)
- Fixed
get-entities
to use custom label if valid - Correct possessive apostrophe in trigger state node constraint list (@albertnis)
- Fixed condition where wildcard type state changes fired before current states were actually saved
- Fixed onDeploy for trigger-state node when using substring/regex for entity id
- Added secondary outputs for
halt if
logic for current-state, events-state, and poll-state nodes - Call-service node now has the option for custom location output or no output
- New node
get-entities
: Get entities based on search criteria with 3 different output options
- Added Spinner UI element to poll-state node
- Refactored the UI for
halt if
logic into an external file and loaded on demand
- Fixed the handling of multiple entity ids for the homeassistant domain for the call-service node Fixed #57
- Make Server Id is not empty when performing autocomplete ajax call for
get history
node (@rchl)
- Make Server Id is not empty when performing autocomplete ajax call
- Make sure
halt if
logic has default starting values
- Ability to cast the
state
of event entities and payload to String/Number/Boolean - Changed
halt if
logic to be able to use different comparators to check the state for current-state, and events-state-change nodes - Poll-state now has
halt if
logic
- Added status times for success and error messages for the
get template
node (@jonathanadams) - Added timeSinceChangedMs to current-state, events-state, and trigger-state nodes
entity.timeSinceChangedMs
- Autocomplete to use the correct entities/services if more than one server is setup (#49)
- Added mustache dependency
- Entity Id now has autocomplete for the Call Service node.
- Trigger node now can be filtered by substring/exact/regex.
- Call Service and Fire Event nodes are now able to render mustache templates in the data property. Template also work on the new entity id field for the Call Service node.
- Request/Sending status to Call Service, Fire Event, Get History and Get Template nodes.
- Call Service node won't send message until it receives a response from HA.
- Fire Event node won't send message until it receives a response from HA.
- Reverted home-assistant-js-websocket to version 3.1.6 because hass.io proxy reconnect errors popped back up in ^3.2.0
- Ability to allow Unauthorized SSL Certificates configurable via the server config
- Added override
msg.data
control to current-state node (@thejta) - Config for Hass.io users is now just a single checkbox
- Added autocomplete to the entity id field for the get-history node
- Base URL will now show validation error if not in an acceptable format
- Files should now get linted correctly on staging
- Refactored the connection process for the WebSocket. Now shows Connecting, Connected, and Disconnected. Connected is now shown only after it has successfully authenticated with Home Assistant.
- Load the full Services object from Home Assistant on load
- Only process State and Services objects if they're not empty
- Added permission checks for the httpAdmin endpoints for autocomplete Fixes #7
- More tests for fire-event node
- Added coverage/ and travis.yml to .npmignore
- Poll-state node will stop triggering if not connected to Home Assistant
- Setting server global context states on data load
- Support for reading the HASSIO_TOKEN from hass.io and using that in the server config if the server URL is the hass.io proxy
- Use the correct hass.io proxy url for websockets
- Added more checks to see if server is selected before calling "GET /homeassistant/entities" for call-server, current-state and poll-state nodes
- Added Output Initially / On Deploy for trigger-state node
- Added Output Initially / On Deploy for events: state node
- Added config for Github stale bot
- Added config and base code for coveralls code coverage reporting
- Added a few more test cases
- Poll state node to wait for a state before triggering when Output Initially is checked
- Close WebSocket when Deploying before creating a new connection
- Linting and formating into pre-commit hooks using eslint and prettier
- More logging to the testing of the connection to Home Assistant
- Boilerplate for adding tests
- Undefined string in call-service node
- Forgot to reference class function in fire-event node
- json editor to call-service node data input
- Fire Event node to send events
- host and access token/password credentials are now encrypted and stored in the node-red cred file. This also stops them from being exported in flows.
- Fix for autocomplete xhr call showing undefined for httpAdminRoot. Not going to assume that httpAdminRoot is defined. zachowj/node-red-contrib-home-assistant-websocket/issues/2
- Ability to filter event type from within the 'events: all' node
- Better error handling for refused connections and incorrect access token/password
- Docker config to use Home Assistant 0.78.3 and node-red 8.12.0
- The ignoring of custom root path if set in node-red - AYapejian/node-red-contrib-home-assistant/issues/41
- Integrated AYapejian/node-home-assistant minus the CLI
- Ability to use Home Assistant long-lived access tokens
- 'events: all', 'events: state', and 'trigger: state' to use websocket instead of the events stream
- 'poll state', 'call service', and 'current state' to use websocket instead of REST API