Skip to content

Releases: purplg/hass

v3.0.2

16 Jan 22:24
Compare
Choose a tag to compare
  • Fix error when opening dashboard when only one is configured.

v3.0.1

16 Jan 14:03
Compare
Choose a tag to compare

Just some internal tweaks and cleanup. Nothing noteworthy.

v3.0.0

30 Dec 02:15
Compare
Choose a tag to compare

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

13 Aug 17:17
c6d9bd2
Compare
Choose a tag to compare
  • Added tests
  • Use pop-to-buffer and window properties to improve dashboard behavior.

v2.2.2

12 Jun 21:52
9de2671
Compare
Choose a tag to compare
  • Fixed: Emacs 25 backwards compatibility. Replaced function format-spec with format.

v2.2.1

26 May 21:26
5da5404
Compare
Choose a tag to compare
  • Fix websocket url not respecting hass-port. Thanks @witty-pigeon

v2.2.0

17 May 22:02
da313bf
Compare
Choose a tag to compare
  • 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

02 Apr 13:27
Compare
Choose a tag to compare
  • Fix: Check for websocket package before loading hass-websocket.
  • Updated README

v2.1.1

01 Apr 22:31
Compare
Choose a tag to compare
  • 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!
    Requires all-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

22 Dec 23:24
3deecf8
Compare
Choose a tag to compare

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.