Releases: purplg/hass
v3.0.2
v3.0.1
v3.0.0
Brand new dashboards!
Thanks to cprussin, the dashboards have been completely overhauled. They're much more flexible by more cleanly utilizing the built-in widget framework.
Multiple dashboards
You can configure multiple dashboards, so hass-dash-layout
was pluralized to hass-dash-layouts
and is now an alist of keys to their respective layout.
No longer require hass-setup
.
Calling hass-setup
is no longer required. It has been renamed hass-ensure
. It can still be useful if you want to 'ensure' an API connection has already been established and entity information is already up to date before you open a dashboard.
Removed deprecated :name
widget property.
Yeah, don't use it. It's :label
now.
Removed polling-mode
Didn't seem useful. It was originally there to eliminate depending on websockets. But you should just use websockets.
v2.2.3
v2.2.2
v2.2.1
- Fix websocket url not respecting hass-port. Thanks @witty-pigeon
v2.2.0
- Added fancy dashboard configuration!
This release takes dashboards to the level I originally dreamed of. Every widget now has additional properties to configure them however you wish. Checkout the Dashboard layout section and the new screenshot in the README for more info. - Added ability to use functions to define widgets in layout declaration.
- Improved
hass--states
to use a hashtable instead of an alist.
This is technically faster, but it was mostly done to support Emacs 25 more easily. Might be noticeably faster on older machines. - Deprecated
:name
widget property in favor of a clearer:label
. They currently do the same exact thing. - Fixed entity state not getting updated properly when using a custom
:state
- Fixed dashboard window appearing multiple times in some cases
- Fixed Emacs 25 and 26 compatibility issues.
v2.1.2
v2.1.1
- Dashboard!
Create a dashboard to quickly see and act on entities in Home Assistant. - Websockets!
Get instant updates to the states of entities using websockets. Highly recommended to configure with use of the dashboard. - Icons!
Requiresall-the-icons
package. Maybe eventually get icons to show in the minibuffer completions? I had a working version before but it had some issues. Not sure of a good way to implement this. - Bug fixes and cleanup
v2.0.0
Added
- Native JSON parsing, if supported.
- Support for websockets extension package in the future
hass-switch-p
function to conventiently get the on/off state of a togglable entity.
Breaking changes
Deprecated hass-url
The hass-url
variable is now deprecated. This has been split up into 3 variables hass-host
,
hass-insecure
, and hass-port
. hass-host
must always be set. Hass is secure by default, so
hass-insecure
needs to be t
if SSL is not being used (i.e HTTP and not HTTPS). If using a
non-default port number, hass-port
must be set to the port number.
;; The old URL variable
;; (setq hass-url "http://homeassistant:8123")
;; Is now this
(setq hass-host "homeassistant")
(setq hass-insecure t)
(setq hass-port 8123) ; Not necessary to set since `8123' is default.
(hass-setup)
;; An SSL-enabled instance can just configure `hass-host'.
;; (setq hass-url "http://homeassistant:8123")
;; Is now this
(setq hass-host "homeassistant")
(hass-setup)
This change was implemented to support the hass-websockets
extension package. This uses a
different protocol and splitting out the URL into components makes it much easier to generate the
websocket URL automatically.
The package will currently parse hass-url
if it is set and convert it into its appropriate
configuration variables. This will be removed in the future.
Renamed hass-watch-mode
hass-watch-mode
is now hass-polling-mode
. This new name is clearer on what it functionally does,
periodically poll the Home Assistant instance.
Renamed hass-watch-entities
hass-watch-entities
was named to have a prefix of hass-watch-
as part of the hass-watch-mode
functionality. Since hass-watch-mode
was renamed and the variable will be used outside of the
hass-polling
functionality, the variable was renamed to hass-tracked-entities
to indicate the
entities will be tracked, or in other words, queried for updates.