Blog
Community Highlights: 7th edition
The 7th edition of the Home Assistant Community Highlights! Some interesting things popped up around our community, we thought was worth sharing.
Troy Hunt has jumped into our wonderful world and shared his journey in a blog post series. Some nice examples on a DIY solution for mounting a wall tablet and how to arm your alarm with a toothbrush!
Troy Hunt is unraveling IoT using Home Assistant
If you have never heard of Troy Hunt before, he is a web security specialist
and mostly known for creating “Have I Been Pwned”
Troy has been diving into the world of IoT and started automating his home, using… Home Assistant!
I'm massively impressed with HA and nothing else I've seen along my IoT journey comes even close to comparing. If you're going to do IoT in any meaningful way, you start with HA.
Troy Hunt
In 5 blogs, he writes about his journey in the big world of IoT:
- Part 1: It’s a Mess… But Then There’s Home Assistant
- Part 2: IP Addresses, Network, Zigbee, Custom Firmware and Soldering
- Part 3: Security
- Part 4: Making it All Work for Humans
- Part 5: Practical Use Case Videos
The 5th part Troy made 11! short and quick videos, showing actual use cases in his home. Really cool and inspiring!
Framing a wall-mounted tablet
If you are a bit like me, you probably want to wall mount a tablet someday (or you already have it of course 🥴). Doing that in a nice, elegant and pretty way is often the hard part. Especially if you only have brick walls (like me), which makes it hard to hide cable or recess the tablet.
Next I came across 2 posts on on the Home Assistant subreddit
This one popped up, made by ialex87, which uses a
3D printed frame from Thingiverse
Nothing much, but my honest work!from r/homeassistant
Next, Invinciberry shared his version:
Now let's wall mount this thing.from r/homeassistant
Both look very slick! Thanks for sharing!
Arm your alarm by brushing your teeth…
Automatically arm your alarm, when Home Assistant detects you are using your toothbrush… Why? Because we can! 😎
Have you ever seen a house alarm system controlled by a toothbrush? Here our @VanderbiltInd
— Ian (@imduffy15) November 19, 2020alarm is integrated into @home_assistant . Our toothbrush is ble enabled, it’s state is read by an ESP32 chip and sent into @home_assistant pic.twitter.com/T9XGi1Zjmb
Home Assistant Conference
This isn’t a highlight yet, but without a doubt, it is definitely is going to become one of the highlights of this year: The Home Assistant Conference.
Sunday, 13 December, we’ll be looking back at last year; but more importantly, lots of great talks are planned by speakers from our community about all different kinds of subjects:
Above all, some new and exciting stuff is going to be announced as well! So, ensure you don’t miss it.
Or, check the Home Assistant Conference page for other ways on how to watch.
Got a tip for the next edition?
Have you seen (or made) something awesome, interesting, unique, amazing, inspirational, unusual or funny, using Home Assistant?
Click here to send us your Community Highlight suggestion.
Also, don’t forget to share your creations with us via Social Media:
- Twitter it! Be sure to mention @home_assistant
- Share it on our Facebook group
- Post it to our subreddit
- Tag @homeassistant
on Instagram - Or via chat, drop us a line in the #lounge at Discord
See you next edition!
[Better solution!] TP-Link offers way to add local API back
Update Nov 26: TP-Link has now announced that they are working on a new firmware that should solve it. DM them on Twitter for info.
We're sorry the recent firmware update has problems for the Kasa community. Since its release, we've been busy creating a Beta firmware that'll enable people to continue to use third-party smart home software & platforms using local APIs. Please DM if you'd like the Beta firmware
— TP-LINK UK (@TPLINKUK) November 26, 2020
Last week TP-Link released an update for their HS100 and HS110 plugs that removed the local API. This was done because of a “security concern”. I put this in quotes because it has not been verified and this reason has been given before when removing interoperability. TP-Link communicated this via Twitter in response to a user voicing their concern.
There were security vulnerabilities on the plug for the local management, the latest firmware version fixed these security issues. It is suggested to use the TP-Link official App KASA to manage the plug. If you have issues, pls feel free to let us know.
— TP-LINK UK (@TPLINKUK) November 17, 2020
Lots of users, rightfully so, got angry. They bought the plugs assuming the local API was a feature. Removing this feature and forcing users through the TP-Link cloud sucks. It removes the one feature why TP-Link stood out among many smart plugs.
After a week of angry users, it looks like TP-Link has listened… somewhat. They are offering a temporary solution to roll back the firmware. We haven’t found any public documentation, but there are forum posts by their employees here
Forum post
We are hoping for a better solution, but for now this is what you should do:
-
Submit a ticket to technical supportWe got an update from TP-Link that this step is no longer necessary.. Make sure to include the MAC address of your plug. - Go to the forums and send this user
a message with your TP-Link ID, model number, hardware version and MAC address.
TP-Link, if you’re reading along, please reach out to us at hello@home-assistant.io so we can discuss a better long term solution for local control. Happy to talk!
0.118: Grid and logbook cards, quick navigation, native template types
Home Assistant Core 0.118!
The second last release of 2020, while the end of the year is slowly closing in.
This also means we have only one more release left this year… And we plan to finish the year with a big bang! Also announced: the Home Assistant Conference. I am really excited about that one! The last major release of this year will be during the conference on December 13.
Back to 0.118! Some nice additions this release: Navigating around with the Quick bar (oh, I just love that feature), some new Lovelace cards, native types in templates is now the default and the Nest thermostat is back! 🎉
All in all, a fine release, with an exciting one ahead of us.
../Frenck
Table of contents
- Table of contents
- Home Assistant Conference
- Grid Card
- Quick Bar navigation
- Native types support for templates
- Logbook Card
- Header & Footer Editor
- Supervisor Network Configuration
- Home Assistant OS
- Other noteworthy changes
- New Integrations
- New Platforms
- Integrations now available to set up from the UI
- Release 0.118.1 - November 19
- Release 0.118.2 - November 20
- Release 0.118.3 - November 23
- Release 0.118.4 - November 26
- Release 0.118.5 - December 5
- If you need help…
- Backward-incompatible changes
- Farewell to the following
- All changes
Home Assistant Conference
Exciting news! Home Assistant is hosting an online conference this year!
An event to celebrate our community, share ideas, history, creations and celebrate major milestones! The event will take place on Sunday, December 13.
Paulus Schoutsen
Check out the conference schedule
The Home Assistant Conference will be hosted on Hopin
The conference will also be available as a free YouTube live stream. The live stream will be limited to the keynotes and the “everyone” track. You won’t have access to the chat and have that online conference feeling, so we recommend getting a ticket!
For the latest information, check our dedicated Home Assistant Conference page.
Edit: We all hate ads! But we do like to show off our users!
For those who don’t keep up with the release notes, we added an announcement about the conference in the Configuration panel. It was always set to disappear automatically when the conference is over, but when you are ready to be rid of it, just press the x!
We realize it is invoking concern of future ads and that it could have had a better execution. In fact, within some of the (yes, sometimes heated) discussions about it during the beta, there were some good thoughts and examples shared for working toward a truer “community news” integration. Such an integration could pull in future and ongoing community events, news, and project highlights, which could be enabled or disabled like any other integration. For now, it is this banner which will be removed on the next release.
Grid Card
Ever since the start of Lovelace, users have been making grids. However, this was not easy as it involved fiddling by combining horizontal and vertical stacks — a confusing and frustrating experience.
@balloob
The Grid Card offers straight forward options to mimic these setups and adds an option to force each card to be square to boot.
Screenshot of Grid Card.
*Note that the square option won’t work with all cards.
Quick Bar navigation
The Quickbar, which was introduced in Home Assistant 0.117, really took off! We are happy to see you like it.
If you haven’t tried the new Quick Bar yet… you should! It is a quick and
easy way to get to entities or run commands. From anywhere in Home
Assistant; press e
for entities or c
for commands.
This release, support for navigating Home Assistant via the Quick Bar was added.
You can now jump to any place, from any place. Amazing job @donkawechico
Screenshot of navigating around using the Quick Bar.
Native types support for templates
Announced in 0.117, but now by default enabled. Native template types allow templates to result in not just strings (text), but also other types.
Ever tried to make a list of entities or set an RGB color via a template? If so, you probably would have learned, that it is not that simple. In Home Assistant, the result of a template always has been a piece of text (a string), even if you made a list.
script:
my_script:
alias: "Example"
description: Example script with native lists in templates
variables:
entities:
- light.living_room_window
- light.living_room_table
color: [255, 0, 0]
sequence:
service: light.turn_on
target:
entity_id: "{{ entities }}"
data:
rgb_color: "{{ color }}"
This is an extremely powerful change to our template engine, that allows for more advanced future additions and can significantly reduce the complexity of existing templates in your set up.
It should be mostly compatible with your existing templates; However, be sure to check the backward-incompatible changes section for known possible breaking scenarios.
Logbook Card
Another new Lovelace card this release. @zsarnett
This card allows you to show the logs of one (or more) entities on a Lovelace Dashboard. This can be really helpful if you want to monitor, for example, the motion events of a sensor or a camera.
Screenshot of the new Logbook Card.
Header & Footer Editor
Entity cards in Lovelace have support for customizing the header and footer of that card. This is really useful for adding a nice image, a couple of buttons or a graph to the card.
Up until now, you needed some YAML magic to achieve that. Thanks to
@zsarnett
Screenshot of the new Header/Footer editor.
Supervisor Network Configuration
Expected to be available soon, a new Supervisor version which includes a new network layer with added support for wireless networks, multiple network interfaces and even VLANs.
This should cover most of the feature requests we had around networking.
New Supervisor Network configuration UI
The next step is that we use all the information from our new network backend to simplify some add-ons. Also, updates for Snapshot/Restore of these network settings are planned.
Home Assistant OS
The last few days, two new Home Assistant OS releases have been published.
While 4.17 continues to make small improvements in the 4.x release series, the latest pre-release 5.5 comes closer to our goals to declare 5.x release series stable. In particular, this pre-release includes the Linux 5.4 kernel for all Raspberry Pis! We also intend to declare 64-bit the recommended installation method for Raspberry Pi 4.
Release 5.5 is also the first release to support Hardkernel’s ODROID-C4, a very cost-effective single board computer featuring the Amlogic S905X3 SoC and 4GB of DDR4 memory (thanks @ubergeek801). Testers welcome!
Other noteworthy changes
- The new Nest SDM integration now supports thermostats! Thanks, @allenporter
! - Entity pickers in the UI will now show the full name of the entities.
Thanks, @spacegaier
! - The Roon media player now supports media browsing but also has support
for grouping and transferring between different players. Thanks @pavoni
-
@cnorick
added a button to duplicate Scripts from the UI. - The Shelly integration now has real-time status updates, which has been
implemented by @thecode
! -
@apop880
prepared the WLED integration for Christmas by adding a service for loading WLED presets. - Date pickers in entity cards have been replaced with a modern, good looking
version. Thanks, @thomasloven
! -
@joshmcrty
Made numbers shown in the frontend formatted in a way that matches your language settings. -
@spacegaier
has been busy improving the frontend, making it more accessible to people with disabilities. In this case, ARIA (Accessible Rich Internet Applications) labels have been added, so screen readers can use our +
buttons. Thanks!
New Integrations
We welcome the following new integration this release:
-
Color Extractor, added by @GenericStudent
New Platforms
The following integration got support for a new platform:
Integrations now available to set up from the UI
The following integrations are now available via the Home Assistant UI:
Release 0.118.1 - November 19
- Bump wolf_smartset to 0.1.8 and handle server fetch error (@adamkrol93
- #43351 ) (wolflink docs) - Bump hatasmota to 0.0.32 (@emontnemery
- #43360 ) (tasmota docs) - Fix homekit bridges when no name was provided (@bdraco
- #43364 ) (homekit docs) - Bump pyvizio to 0.1.57 (@raman325
- #43374 ) (vizio docs) - Add back system_health_info to the base of lovelace (@ludeeus
- #43382 ) (lovelace docs)
Release 0.118.2 - November 20
- Increase Advantage Air retry limit for older systems (@Bre77
- #43417 ) (advantage_air docs) - Fix time trigger based on entities ignoring entities if initially in the past (@balloob
- #43431 ) (homeassistant docs)
Release 0.118.3 - November 23
- Fix bug related to possibly missing task ID in Notion API data (@bachya
- #43330 ) (notion docs) - Fix unhandled exception when IQVIA API fails to return data (@bachya
- #43359 ) (iqvia docs) - Ensure Plex content_id in play_on_sonos service is a string (@frenck
- #43483 ) (plex docs) - Gracefully handle no uuid in kodi discovery (@OnFreund
- #43494 ) (kodi docs) - Bump sleepyq to 0.8.1 (@ahertz
- #43505 ) (sleepiq docs) - Upgrade Docker base image to 2020.11.1 (@frenck
- #43538 ) - Upgrade Docker base image to 2020.11.2 (@frenck
- #43560 )
Release 0.118.4 - November 26
- Make MQTT climate return PRESET_NONE when no preset is set (@emontnemery
- #43257 ) (mqtt docs) - Update zigpy-zigate to 0.7.3 (@doudz
- #43427 ) (zha docs) - Fix duplicate check on onewire config flow (@epenet
- #43590 ) (onewire docs) - Bump avea to 1.5.1 (@pattyland
- #43618 ) (avea docs) - Disable parsing scientific/complex number notation in template type (@balloob
- #43170 ) - Tweak template digit detection (@balloob
- #43621 ) - Fix deadlock if an integration from stage_1 fails (@pvizeli
- #43657 )
Release 0.118.5 - December 5
- Bump pyatmo to v4.2.1 (@cgtobi
- #43713 ) (netatmo docs) - Increase timeout for snapshot upload (@ludeeus
- #43851 ) (hassio docs) - Implement new Google TTS API via dedicated library (@marvin-w
- #43863 ) (google_translate docs) - Pin pip < 20.3 (@MartinHjelmare
- #43771 )
If you need help…
…don’t hesitate to use our very active forums or join us for a little chat
Experiencing issues introduced by this release? Please report them in our issue tracker
Home Assistant Companion Android App Release 3.0.0
Hey everyone it’s been a little while since we last spoke. We have a brand new Home Assistant Companion for Android release that we are excited to get into your hands and will roll out over the next day or so in the Google Play store.
Before we get into the release details I’d like to mention that this month marks the 1 year anniversary
It has been pretty busy over on the Android side of things during Hacktoberfest! We have seen a total of 84 pull requests from a wide range of contributors that we are thankful for, so thank you for all of your efforts! In case you missed it we actually had a release shortly after version 2.4.0 but as we did not have an accompanying blog post, we’ll cover whats new since we last spoke in this post. All of the features listed below are already documented on the Companion site, please be sure to check in there for greater details. Before we continue with what’s new lets go over the backward-incompatible changes for this release.
Backward-incompatible changes
In our last blog post we mentioned that we were going to be breaking up some sensors and their attributes. As of 3.0.0 we have completed this task and no longer have non-static attributes as part of any sensor. If you are missing any data please check the Manage Sensors screen under App Configuration and enable the sensor you were previously using as an attribute.
Another major breaking change in this release is that the widgets were refactored to align with the application architecture. Unfortunately this means that some existing widgets may disappear from your home screen and will need to be recreated. We apologize for this and are unable to bring back the existing widgets that were lost. If you forgot what data was there we do have that saved, more on that down below.
Onboarding Improvements
The first big change is that our onboarding screen has changed, we now ask the user to enter their preferred device name that gets attached to all entities that are created by the app. This was a source of frustration for some users as this meant that anytime they logged into the app they would then need to rename their entities to the name that they actually want. By default the device name is the device model but that is not meaningful to some users, especially if they have more than one device of the same model.
Screenshot of the new onboarding flow.
New Sensors
We have several new sensors to welcome to the app, all of which are disabled by default. The first set of sensors were actually introduced in 2.5.0:
- Traffic Stat sensors - Sensors whose state represent the amount of data sent and received by the device. Mobile data may not be accurate, it depends on the data that we get from the API.
The following sensors are new in 3.0.0:
- Keyguard sensors - Sensors that represent various states from the Keyguard API, such as if a device is currently locked or has a password setup. These sensors will update during the periodic 15 minute interval.
- Last Notification sensor - A very powerful sensor that requires a special permission you must grant to read all notifications posted on the device. All attributes of the notification are provided as attributes for the sensor. You can think of this sensor as a great way to integrate any app that posts a notification to your device allowing you to automate around it. Personally I have been using it to integrate a food delivery app, to detect when my order will be delivered and automate around it. This sensor will update as soon as a notification is posted.
- Last Update Trigger - A sensor whose state will represent the reason for the last update that was sent to your Home Assistant instance. This sensor will update anytime an update is sent to your Home Assistant instance.
Sensor Settings
We didn’t stop at just adding new sensors, we also made enhancements to the overall sensor experience. Starting from version 2.5.0 certain sensors have custom settings that can help with what updates actually get sent to your Home Assistant instance.
Screenshot of location settings.
- Next Alarm - This sensor has a setting for an allow list. This means that if you have an app that reports really odd timestamps as an actual alarm, you can now ignore them by telling the app which packages to send reports from. By default the list is blank. Tasker users are recommended to make use of this setting.
- Last Notification - This sensor also has an allow list to let the user create a list of apps from which they want notification data from. By default all notifications are sent to your Home Assistant instance. We highly recommend that you set up an allow list as soon as you can think of one to prevent a high amount of updates. You will be surprised by the amount of data that will show up in a short time period.
- Last Reboot - A bug was discovered where sometimes the timing in the calculation of the device’s last reboot could be off causing an unnecessary update. There is now a deadband setting to allow you to adjust the timing to ignore updates. By default this is set to 1 minute, you most likely won’t need to change this.
- Location Sensors - All 3 location sensors now have settings to allow you to adjust the minimum accuracy required to send a update to your Home Assistant instance. There is also a setting to adjust the minimum amount of time between updates. This should help a lot of users out who don’t get the location results they expect. We recommend changing this setting after you evaluate all of the location fixes in 3.0.0 as location tracking may already be improved without needing to adjust these.
- WiFi BSSID - This sensor has a setting that will allow the user to provide an alias for the currently connected BSSID. Not everyone can remember a MAC address let alone dozens of them. This setting is designed to help out those who use this sensor to make better sense of things without the need for secrets or templates. If you live in a household with multiple access points you may find it useful to set up an alias to help with things like room presence. By default this sensor reports the connected MAC address.
Android 11 Power Menu
We now integrate with Android 11’s power menu device control feature. The following domains are currently supported:
-
automation
On/Off -
climate
Temperature slider -
cover
Open/Close -
fan
On/Off, speed slider -
input_boolean
On/Off -
input_number
Number control slider -
light
On/Off, Brightness control slider -
lock
Lock/Unlock -
scene
Turn on scene -
script
Turn on script -
switch
On/Off
Screenshot of power menu.
Notification Improvements
There have been several improvements to notifications as well.
- An event gets sent upon a notification being cleared along with all notification data.
- Notifications can make use of the alarm stream to bypass a device’s ringer mode setting. This can be useful if there is an important event such as an alarm being triggered. Make sure to check the updated Android examples on the companion site.
- Text-to-speech notifications, with the ability to use the alarm stream if desired. By default it will use the device’s music stream. There is also an additional option to temporarily change the volume level to the maximum level while speaking, the level would then restored to what it was previously.
- New device commands to control your phone: broadcasting an intent to another app, controlling Do Not Disturb and ringer mode.
- Opening another app with an actionable notification, make sure to follow the Android examples.
Other Enhancements
We have also spent time making improvements to all other areas most notably inside App Configuration:
Screenshot of settings.
- App language can now be overridden to match a user’s profile, this will impact the name of entities that get added as well as the App Configuration appearance. By default your device will use your phones language however, we noticed some users actually prefer Home Assistant to always be in a different language on their device. With this feature you can now set the language to be one of any that are supported by the app. You can also help us translate the app on Lokalise
. - History of recently received notifications, along with all data that was sent
- Notification rate limit information to help you understand if you are about to go over the daily limit.
- Editable widgets, with the ability to delete missing widgets as mentioned in the backward-incompatible changes. This is really helpful if you ever created a widget and realized you needed to make one more adjustment.
- Widgets now update when the screen turns on to provide faster updates
- A new widget to control any media player
Screenshot of media player widget.
- Enable/Disable all sensors
- Events for entering or exiting a zone along with all location data
- Link to the current release changelog on GitHub
- File upload support for add-ons or person image upload
- The ability to opt out of sending crash reports to help the team investigate crashes. If you decide to opt out please make sure to report issues on GitHub otherwise we may not know the issue exists.
- Lots of location fixes for more accurate reporting
- Lots of bug fixes and other miscellaneous enhancements
Big thank you to everyone involved. Hope you take the time to digest all the new features. Looking forward to all the new use cases and feature requests everyone has been having.
The full changelog can be found on GitHub
0.117: Quick Bar, compact header, a YAML editor, XBox and Template types
And the train just keeps on rolling… Home Assistant Core 0.117!
Some big releases lately, and this is a big one for sure. However, interesting this release is the amount of little improvements! I guess that is the result of Hacktoberfest!
We have seen a crazy and absurd amount of contributions this October, lots of new faces too! 500+ pull requests on the documentation, 700+ on the core and 150+ on the frontend processed up until now! Amazing! You guys rock!
Also, the Home Assistant Conference has been announced! If you want to speak at the very first, online, Home Assistant Conference, be sure to submit your talk before 31 October.
And finally, while writing this, I’m enjoying Home Assistant Podcast, as they
have released their episode for 0.117
Darn, we do have an amazing community, don’t we? 😍
../Frenck
PS: Oh, later today might be fun! We are looking into trying to do a
Home Assistant live stream / mini-release party / Q&A on the
Home Assistant YouTube channel
- Stefan Agner joins Nabu Casa!
- Quick Bar
- Compact header
- Script and automation YAML editor
- Xbox integration
- Counters & Timers available as helpers in the UI
- Native types support for templates (Beta)
- Other noteworthy changes
- New Integrations
- New Platforms
- Integrations now available to set up from the UI
- Release 0.117.1 - October 30
- Release 0.117.2 - November 1
- Release 0.117.3 - November 4
- Release 0.117.4 - November 4
- Release 0.117.5 - November 5
- Release 0.117.6 - November 11
- If you need help…
- Backward-incompatible changes
- Farewell to the following
- All changes
Stefan Agner joins Nabu Casa!
Today we are pleased to announce that Nabu Casa hired Stefan Agner
Stefan is specialized in embedded systems and the Linux kernel, and he will be mainly working on improving and extending the Home Assistant Operating System.
In his spare time, he loves to hack on all things embedded. From making the ARM Linux kernel getting built by Clang to building sensor nodes using MicroPython.
If not hacking, he’s probably out and about for a hike or a good beer with friends.
Welcome Stefan! We are excited to have you!
Quick Bar
Let me quickly find that entity that is not on my Lovelace Dashboard… hold on… Configuration -> Entities, search for it… click the right one… Got it!
That isn’t efficient, right? @donkawechico
This new dialog allows you to quickly open an entity or run a command.
It can be launched anywhere in Home Assistant; with the keyboard shortcuts
e
for entities and c
for commands. You can switch between the entities and
command modes by removing or adding the >
at the start of the search input.
The Quick Bar is similar to the Command Pallet you might know from Visual Studio Code. He even copied the filter algorithm from Visual Studio Code, so you can search what you need even faster.
Screencapture of the Quick Bar.
The commands are currently limited to reloading YAML configuration and restarting Home Assistant, but expect this to grow rapidly! The same goes for the keyboard shortcuts; the plan is to add more so you can quickly perform actions and navigate Home Assistant from anywhere with a couple of key presses!
Check the documentation for more information and usage tips.
Compact header
@maykar
Well, he did; this release, our Lovelace header is compact! 🤩
He combined the two bars we had in 1 by replacing the dashboard title with the tabs that used to be shown below it. He did a lot of work to make the tabs take up the least amount of space, while still being user friendly.
We think it looks great! And, finally, welcome to core @maykar
Screenshot of the compact header.
Script and automation YAML editor
@thomasloven
This is the perfect blend for people that want the best of both worlds, editing in the UI with the normal UI editor and for some more complicated automations, maybe edit it directly in YAML, all from the UI.
Screenshot of the new YAML automation editor.
He also added a very useful copy button to make it easy to share your automation with the community. You can then easily paste it back in the YAML editor and continue editing after switching to the UI mode.
Xbox integration
Xbox now has a full blown integration in Home Assistant, which delivers remote control and tons of other features.
This awesome addition is created by @hunterjm
Counters & Timers available as helpers in the UI
A nice addition to the helpers you can create and manage in the UI:
Counters & Timers are now available! Thanks, @danimart1991
Screenshot of the new Counter & Timer helpers.
Native types support for templates (Beta)
Ever tried to make a list of entities or set a RGB color via an template? If so, you probably would have learned, that it is not that simple. In Home Assistant, the result of a template always have been a piece of text (a string), even if you made a list.
This release adds support for native Python types in templates. This means that templates now actually can create lists, or return a number!
For 0.117, native template types will be a opt-in beta feature, that will become the default in the next release.
You can enable it, by disabling the legacy_template
rendering in your
configuration.yaml
:
homeassistant:
legacy_templates: false
After that, you can do things like this:
script:
my_script:
alias: "Example"
description: Example script with native lists in templates
variables:
entities:
- light.living_room_window
- light.living_room_table
color: [255, 0, 0]
sequence:
service: light.turn_on
target:
entity_id: "{{ entities }}"
data:
rgb_color: "{{ color }}"
This is an extremely powerful change to our template engine, that allow for more advanced future additions and can significantly reduce the complexity of existing templates in your set up.
It should be mostly compatible with your existing templates, however, if you enable this feature, please be sure to check the backward-incompatible changes section.
We’d love to hear you experience with using this feature! And, if you run into,
problems, please let us know
Other noteworthy changes
It is Hacktoberfest, and a lot smaller, but noteworthy changes this release!
First a shout out to @spacegaier
- Colors in the log for errors and warnings
- Automatically fill the Lovelace resource type based on the extension of the URL
- Make more text translateable
- Make attributes more user friendly
- Show the number of hidden entities in the entities configuration page
- And a lot more!
But wait, there is more!
-
@allenporter
started working on adding Google Nest Device Access to the Nest integration. It is a base to extend on, for example, there is no thermostat yet. Looking forward to the upcoming releases! - You can now save automations, scripts and scenes with
ctrl
/cmd
+s
. Thanks, @gilsonmandalogo! -
@mattmattmatt
added the ability to dismiss all notifications at once, and the notifications pane will close when the last notification was dismissed. - We improved compatibility and Home Assistant is now usable on more, mostly older, devices.
- You can now search for the entity name in the entity picker besides the
entity id, thanks @zsarnett
! - Thanks to @cgarwood
, you can see the configuration of OZW nodes straight from the UI! -
@bieniu
added voltage, power factor and energy sensors to Shelly integration. - The Media Player platform now has a
repeat_set
service that allows for changing the repeat mode. Sonos is the first integration that supports this service. Thanks @amelchio! -
@amelchio
also added support for playing Spotify URIs with the Sonos integration. - Thanks to @timmo001
, the WLED integration now supports color palettes. - You can now monitor the battery state for your devolo Home Control devices,
thanks, @Shutgun
! - The Netatmo integration got some nice weather trend sensors, thanks @cgtobi
! - Chromecast devices can now play Plex media using the standard
play_media
service. Nice work @jjlawren! - The media browser now supports the Squeezebox and Volumio integrations,
thanks to @rajlaud
and @OnFreund .
New Integrations
We welcome the following new integration this release:
-
Advantage Air, added by @Bre77
-
Gree, added by @cmroche
-
Profiler, added by @bdraco
-
Ruckus Unleashed, added by @gabe565
-
Tasmota, added by @emontnemery
-
Xbox, added by @hunterjm
New Platforms
The following integration got support for a new platform:
- [deCONZ][deCONZ docs] now has support for locks and fans, added by @Kane610
-
SimpliSafe now has a bunch of nice sensors, thanks to @nzapponi
-
TTS platforms can now be configured for notifications,
thanks to @dgomes
- And similar, Persistent Notification can now
also be configured for notification, thanks to @KevinCathcart
Integrations now available to set up from the UI
The following integrations are now available via the Home Assistant UI:
-
RFXtrx, done by @RobBie1221
-
UpCloud, done by @scop
-
Cloudflare, done by @ctalkington
Release 0.117.1 - October 30
- Fix adding Virtual DSM system in synology_dsm (@mib1185
- #42523 ) (synology_dsm docs) - Enable polling for DSMR derivative entity (@RobBie1221
- #42524 ) (dsmr docs) - Bump aiohomekit to 0.2.54 (@Jc2k
- #42532 ) (homekit_controller docs) - Fix RMV giving wrong data and ignoring given parameters (@cgtobi
- #42561 ) (rmvtransport docs) - Update frontend to 20201021.4 (@bramkragten
- #42590 ) (frontend docs) - Fix MQTT template light (@emontnemery
- #42598 ) (mqtt docs) - Bump hatasmota to 0.0.25 (@emontnemery
- #42605 ) (tasmota docs) - Update greeclimate to 0.9.2 (@cmroche
- #42616 ) (gree docs)
Release 0.117.2 - November 1
- Bump pwmled to v1.6.6 (@soldag
- #42607 ) (rpi_gpio_pwm docs) - Fix Fibaro HC2 climate device missing temperature (@airthusiast
- #42627 ) - Fix geo_rss_events import statement (@exxamalte
- #42629 ) (geo_rss_events docs) - Bump pycfdns to 1.2.1 (@ludeeus
- #42634 ) (cloudflare docs) - Make sure Tasmota status sensors are disabled (@emontnemery
- #42643 ) (tasmota docs) - attempt to renew subscription immediately to stop endless loop if it fails after setup (@hunterjm
- #42651 ) (onvif docs) - Bump up ZHA dependencies (@Adminiuga
- #42679 ) (zha docs) - Fix canary camera entity inheritance (@ctalkington
- #42691 ) (canary docs) - Use pylutron_caseta 0.7.1 (@mdonoughe
- #42701 ) (lutron_caseta docs)
Release 0.117.3 - November 4
- Please set exact cryptography version cryptography==3.2 (@onkelbeh
- #42611 ) - Fix broken maxcube component (@onkelbeh
- #42674 ) (maxcube docs) - Fix Vizio host string for zeroconf discovery (@raman325
- #42738 ) (vizio docs) - Bump bimmer_connected to 0.7.10: fix login issues, add (PH)EV services (@rikroe
- #42747 ) (bmw_connected_drive docs) - Bump pyairvisual to 5.0.4 (@bachya
- #42760 ) (airvisual docs) - Fix incorrect property usage for SimpliSafe (@bachya
- #42770 ) (simplisafe docs) - Force color or white mode exclusivity for Tasmota lights (@emontnemery
- #42772 ) (tasmota docs) - Bump pyatmo to 4.2.0 (@cgtobi
- #42774 ) (netatmo docs) - Fix broken 2fa authentication in synology_dsm (@mib1185
- #42775 ) (synology_dsm docs) - Bump bimmer_connected to 0.7.11 (@rikroe
- #42788 ) (bmw_connected_drive docs) - Filter rfxtrx replace devices in option flow on existing config entry (@RobBie1221
- #42800 ) (rfxtrx docs) - Fix rest sensors with resource templates (@bdraco
- #42818 ) (rest docs) - Fix evohome scheduling coroutines (@balloob
- #42821 ) (evohome docs)
Release 0.117.4 - November 4
- Update greeclimate to 0.9.5 (@cmroche
- #42796 ) (gree docs) - Cleanup dispatchers when unloading rfxtrx (@RobBie1221
- #42803 ) (rfxtrx docs) - Call coordinator.shutdown() when ConfigEntryNotReady (@bieniu
- #42833 ) (brother docs)
Release 0.117.5 - November 5
- Bump hatasmota to 0.0.25.1 (@emontnemery
- #42850 ) (tasmota docs) - Clean up SimpliSafe binary sensor implementation (@bachya
- #42841 ) (simplisafe docs) - Fix missing sensor exceptions in SimpliSafe (@bachya
- #42845 ) (simplisafe docs) - Fix missing/incorrect SimpliSafe entities (@bachya
- #42846 ) (simplisafe docs) - Fix Netatmo public weather sensor bug (@cgtobi
- #42858 ) (netatmo docs) - Revert “Fix broken maxcube component” (@onkelbeh
- #42859 ) (maxcube docs) - Bump bimmer_connected to 0.7.12 (@rikroe
- #42875 ) (bmw_connected_drive docs)
Release 0.117.6 - November 11
- Remove unneeded state restoration of the physical device in rpi_gpio_pwm integration (@soldag
- #42804 ) (rpi_gpio_pwm docs) - Bump pwmled to v1.6.7 (@soldag
- #42903 ) (rpi_gpio_pwm docs) - Bump gTTS-token to 1.1.4 (@hmmbob
- #43015 ) (google_translate docs) - Fix Plex auth issues by setting header (@jjlawren
- #43081 ) (plex docs)
If you need help…
…don’t hesitate to use our very active forums or join us for a little chat
Experiencing issues introduced by this release? Please report them in our issue tracker
Supervisor 249: Resolution center, Stability & Private container registries
The Supervisor is shipped with our Home Assistant Operating System and controls all hardware and software on your device. Bringing an effortless experience in managing, upgrading, and maintaining your Home Assistant instance via the user interface. It is what allows you to focus on what really matters; automating your home.
The Supervisor generally does not have enough changes that we can fill a blogpost with each release, it also does not have a fixed release schedule. A new Supervisor update is released when it’s needed, but that does not mean that there is nothing going on in this part of the ecosystem! One month ago, we put out the The Supervisor joins the party post that went over the highlights from the past year. Now it’s time for version 249, rolling out to everyone as we speak and it’s full of new goodies, enjoy!
Resolution center
We are introducing a new resolution center. This new feature will be used to identify issues and provide context and suggestions on solving your installation issues. We have big plans for this one!
New in this release is that if the available free space on your device drops below 1 GB, auto-updates will be paused and you will be notified. This should give you time to clean it up.
To help you free up some space, we have added a new page to our documentation to help guide you through that.
If you run Home Assistant Supervised, the system can get marked as unsupported if the host system does not have all the required services running
This dialog will list all the reasons why the system is marked as unsupported. Clicking on the links in that dialog will take you to a documentation page that describes the issue, and there will be a solution you can use to make your installation compliant with ADR-0014
Stability
Stability is something that is always in focus for new Supervisor releases. The Supervisor is the central part of your Home Assistant OS/Supervised installation. Almost every release has some form of stability improvement, and this is not an exception to that.
If Home Assistant fails to start, we will now rebuild the container. This will ensure that a new fresh container is started up if something inside the container has been corrupted. We have also added this feature to our newly added observer plugin.
All auto-updates will be automatically paused if your system is running low on free space. Manual updates are still allowed, but now we will not fill up that space automatically, which in some rare cases could lead to startup issues.
We’ve also added a new check when adding add-on repositories to make sure that it’s actually an add-on repository. This should help avoid confusion.
Landing page
We’ve updated the landing page that you see when you’re installing Home Assistant. We added logs to it, so you can follow along with what’s happening while you are waiting.
And there is more! Our mobile apps are now able to discover the landing page. This means that you can discover a new installation while it’s initializing and already start onboarding in the mobile app.
Private container registries
Thanks to @skateman
You can find this in the store tab of the Supervisor panel, by clicking the three dots in the top right corner. This option is only available if advanced-mode is enabled.
Stricter Network Manager check
With this version more checks have been added to ensure that Network Manager is not only enabled on the system but that it also manages at least one network interface. If you are running our Home Assistant OS, this does not apply to you.
This stricter check allows us to provide a stable way for the Supervisor and for add-on developers to get the IP Address of the host.
The system will be marked as unsupported if Network Manager does not manage at least one network interface on your system. We’ve added a new page in our documentation that will help you get it fixed.
0.116: Entities card row editor, restore snapshots and performance metrics
Home Assistant Core 0.116!
So, how have you been? Fully processed the massive 0.115 birthday release yet?
Honestly, I haven’t. There was soo much in 0.115, and to me, it feels like that release was yesterday. 😅
So, today, a nice size, manageable release that brings some smaller things to the table. Lots of fixes, UI tweaks and improvements; hopefully a smooth sail!
The biggest changes can be found in the Supervisor. @ludeeus
As always, enjoy the release!
../Frenck
- Entities card editor
- User and person management combined
- Restore snapshots
- Performance metrics in the Supervisor UI
- H.265 stream support for Android
- Automation editor has now weekday support
- Python 3.7 deprecated
- Other noteworthy changes
- New Integrations
- New Platforms
- Integrations now available to set up from the UI
- Release 0.116.1 - October 8
- Release 0.116.2 - October 9
- Release 0.116.3 - October 15
- Release 0.116.4 - October 15
- If you need help…
- Backward-incompatible changes
- All changes
Entities card editor
You can now edit the entity rows of your entity card. That means you can not only set an entity id, but also set the name, icon and secondary info.
You can now edit the entity row; adjust the name, icon and secondary info.
Also, using special rows will no longer force you use the YAML editor, however, you you can still use the UI editor and edit the special rows. UI editors for the special rows will come in the future.
User and person management combined
We combined the user and person UI, this means that the user configuration panel will only be visible for users that have advanced mode enabled.
The person detail dialog now has a toggle that allows you to give the person access to Home Assistant. If you toggle it on, you can set a username and a password for the person. If you toggle it off, the user will be removed.
This makes it easier to manage the people in Home Assistant, everything in one place.
The person edit dialog now has a toggle to allow a person to log in.
Restore snapshots
You can now upload snapshots from the UI and restores them. You can do this in the supervisor UI in the snapshots panel. But you can also do this during onboarding!
Screen recording of restoring a snapshot during onboarding.
This means you no longer have to set up Home Assistant, add and set up the Samba add-on to then restore your snapshot. Instead, you can just select your snapshot in the first step of the onboarding and it will be restored.
This makes moving to another system a breeze!
Performance metrics in the Supervisor UI
The Supervisor now shows performance metrics in its UI, so you’ll have a better
idea of how much resources are used. Thanks @ludeeus
Supervisor UI now shows performance metrics.
H.265 stream support for Android
@uvjustin
Automation editor has now weekday support
@misiu
You can now select the days to match in time conditions.
Python 3.7 deprecated
Python 3.9 has been released on 5 October. This means that Python 3.7 support is now deprecated and will be removed after two months (which will be effective in 0.118).
This is only a concern if you are running Home Assistant Core directly on Python. You can check the Python version Home Assistant uses by going to the information screen in Configuration -> Info.
If you run Home Assistant OS, Supervised or Container, you don’t have to worry about this, as the Home Assistant project takes care of this for you. As a matter of fact, if you use one of those methods, you are already running Python 3.8.
We are currently working on ensuring Python 3.9 is fully supported and tested.
Other noteworthy changes
-
MQTT now supports tag scanning, thanks to @emontnemery
. - The Hyperion integration had a large overhaul by @dermotduffy
, ensuring this integration now actually works! -
@Misiu
ensured the OpenWeatherMap integration supports all languages it can provide. - The utility meter now supports a bi-weekly cycle, thanks to @hareeshmu
. -
@timkoers
added uptime sensors for network clients to the UniFi integration. - The Shelly integration now shows power and energy sensors for roller mode
devices, thanks to @firstof9
. - You can now filter history by using glob matching filters. For example, you
can now exclude
sensor.*_temperature
from being recorded. Thanks @bdraco! - deCONZ has a new option; You can now disable the automatic addition of new
devices. Furthermore, @Kane610
also added a service to clean up up orphaned devices. Thanks!
New Integrations
We welcome the following new integration this release:
-
Raspberry Pi Power Supply Checker, added by @shenxn
-
Zodiac, added by @JulienTant
-
Hayward OmniLogic, added by @Oliver84
-
GoalZero, added by @tkdrob
New Platforms
The following integration got support for a new platform:
-
Synology DSM now supports cameras, added by @shenxn
-
Synology DSM now has a switch to control home mode in
Surveillance Station @Quentame
-
HVV Departures added binary sensors to show elevator
statuses. Added by @vigonotion
- Support for covers was added to Modbus, by @vzahradnik
-
Firmata to support analog input and PWM/analog output
Added by @DaAwesomeP
-
NZBGet now has a switch to control downloads,
added by @ctalkington
Integrations now available to set up from the UI
The following integrations are now available via the Home Assistant UI:
-
AlarmDecoder, done by @ajschmidt8
-
Canary, done by @ctalkington
Release 0.116.1 - October 8
- Update Pyhiveapi Library Version (@KJonline
- #40804 ) (hive docs) - Ensure recorder commit can retry after encountering invalid data (@bdraco
- #41426 ) (recorder docs) - Downgrade Paho MQTT to 1.5.0 (@balloob
- #41479 ) (mqtt docs) - Bump pyatmo version to 4.1.0 (@cgtobi
- #41487 ) (netatmo docs) - Fix async_unload_entry for devolo Home Control (@Shutgun
- #41488 ) (devolo_home_control docs) - Update frontend to 20201001.2 (@bramkragten
- #41491 ) (frontend docs) - Add missing on states to media player groups (@bdraco
- #41496 )
Release 0.116.2 - October 9
- Fix Netatmo non specified sensor types (@cgtobi
- #41517 ) (netatmo docs) - Update Arris TG2492LG dependency version (@vanbalken
- #41465 ) (arris_tg2492lg docs) - Fix omnilogic temperature sensor with metric setting (@djtimca
- #41509 ) (omnilogic docs) - Restore group support to plant entities (@bdraco
- #41519 ) (group docs) (plant docs) - Bump yeelight to 0.5.4 (@shenxn
- #41524 ) (yeelight docs) - Fix description reference in PoolSense config flow (@bieniu
- #41535 ) (poolsense docs) - Fix missing weather sensors (@cgtobi
- #41540 ) (netatmo docs)
Release 0.116.3 - October 15
- Add delete to hassio API (@ludeeus
- #41500 ) (hassio docs) (new-integration) - Fix disabled Synology DSM camera (@Quentame
- #41686 ) (synology_dsm docs) - Fix KEF LSX becoming unavailable (@basnijholt
- #41700 ) (kef docs) - Ensure all template errors are caught and the websocket api reports them (@bdraco
- #41719 ) (websocket_api docs) - Offload dockermachines into core (@pvizeli
- #41756 ) - Fix issues with metric conversion and single pump type for filter pumps in Omnilogic integration (@djtimca
- #41777 ) (omnilogic docs) - Fix SimpliSafe re-auth flow (@bachya
- #41805 ) (simplisafe docs) - Shelly: fix for RGB devices (@chemelli74
- #41841 ) (shelly docs) - Permit event trackers to accept an empty list of entities or domains (@bdraco
- #41857 ) - Reduce polling for Netatmo weather station sensors (@cgtobi
- #41858 ) (netatmo docs)
Release 0.116.4 - October 15
- Bump ONVIF and pin Zeep (@hunterjm
- #41907 ) (onvif docs) - Cap AVC profile level at 4.1 in stream master playlist (@uvjustin
- #41592 ) (stream docs)
If you need help…
…don’t hesitate to use our very active forums or join us for a little chat
Experiencing issues introduced by this release? Please report them in our issue tracker
Hacktoberfest 2020
October has started, which means: Hacktoberfest
Hacktoberfest is a worldwide, month-long celebration of open source. An event open to everyone. Whether you’re a developer, student learning to code, documenter, designer, you can help drive the growth of open source projects, like Home Assistant.
By participating in Hacktoberfest, and by contributing four GitHub pull requests, you will earn either a free t-shirt or, new this year, have a tree planted. All backgrounds and skill levels are encouraged to complete the Hacktoberfest challenge.
Just like all other years, Home Assistant participates in Hacktoberfest.
What to work on?
So, you’ve decided to earn yourself that free Hacktoberfest t-shirt? Great!
We’ve collected a bunch of tasks/suggestions/bugs that we’d love to get
some help on. You can find those by filtering/searching for issues with
the hacktoberfest
label
-
For example, help us migrate unittest tests to pytest style test
functions or lend a hand with using as many references as possible in the configuration flow translations . -
We could use some help with moving all
paper-dialogs
toha-dialogs
. -
Documentation Hacktoberfest issues
Find and fix broken links
on our website or help to complete the addition of the right IoT Class to every integration .
Or view all our Hacktoberfest issues across all Home Assistant projects
Additionally, we recently held the month of “What the heck?!”. During this month a lot of suggestions and annoyances got reported by our community. While, those topic may not be approved as a change yet, it might be a great source of inspiration to contribute something the community wants. Check out the WTH community forum posts.
But, I’m not a developer?!
If you are not a developer, new to git, GitHub or open source in general, documentation can be a great way to get started. A relatively easy way to contribute, is by reviewing the documentation of integrations you use or are familiar with, checking if everything is still up to date and is free of spelling/grammar mistakes.
Every single documentation page on our website has a “Edit this page on GitHub”, on the top right corner. Using that link, you can change the text on that page and provide a suggestion for improvement.
On our Community forum, there is a good, step-by-step, guide on how this works: Editing the Documentation and Creating a Pull Request on GitHub.
So, what are you waiting for? Sign-up on the Hacktoberfest
Happy Hacktoberfest 🎉
Community Highlights: 6th edition
It has been waaay too long since we had a Community Highlights blog.
Honestly, it is my fault. And then the month of “What the heck?!” happened, and one of the raised WTH topics was:
Bas, and all the voters on that WTH topic, let’s resolve that WTH topic right now!
A nice way of closing our birthday week by showing some cool things our community does while resolving a WTH. 🥳
A nice side project
OmegaX-NL shared a nice little project on our subreddit
It looks great, OmegaX-NL! Does it work for the kids?
Nice side project!from r/homeassistant
Illuminate your stairs
A regularly recurring project is the illumination of the stairs. It can give a nice, futuristic touch to your home. Good illumination of the steps also greatly improves safety.
Winter is coming, daylight will become shorter; it might be the time to take care of some proper lights on the stairs outside.
JayBigGuy
Jay was not the only one, debsahu
Decks lights are in. It blinks now. Powered by #esp32
— Debashish Sahu, PhD (@debsahu) August 9, 2020@esphome_ and controlled by @home_assistant pic.twitter.com/ukCcDw8Mhm
Thermostat with a wow factor
Thingsbeliketheydo shared probably one of the prettiest thermostats I’ve ever seen. Using an old cell phone and a frame from the dollar store, he turned Lovelace into a beautiful thermostat. 🤩
DIY Fireplace Thermostat with Shellyfrom r/homeassistant
Got a tip for the next edition?
Have you seen (or made) something awesome, interesting, unique, amazing, inspirational, unusual or funny, using Home Assistant?
Click here to send us your Community Highlight suggestion.
Also, don’t forget to share your creations with us via Social Media:
- Twitter it! Be sure to mention @home_assistant
- Share it on our Facebook group
- Post it to our subreddit
- Tag @homeassistant
on Instagram - Or via chat, drop us a line in the #lounge at Discord
See you next edition!
Summing-up the month of 'What the heck?!'
A month ago, I wrote a blog post, starting our first month of “What the heck?!” (WTH) ever! An experiment and without any expectations, as we never had done anything like this before. But WTH, why not. 😁
And today, I think we can actually say: All good things come to an end.
It has been an amazing month! A whopping 746 topics have been created in the WTH forum, that together collected over 4,500 posts. The contents of all these created topics are amazing! And apparently, you all agreed on that, as a stunning 2,600 likes have been given on all those posts.
About the content, it is amazing! There was some really good feedback in there. Annoyances made many people think: “Yeah! What the heck?!” and more importantly, developers chimed in as well!
Developers dived in and started resolving and fixing stuff! At the moment of writing, a whopping 68 pull requests with code changes to address those WTHs have been made. A lot of these are already shipped with the 0.115 birthday release.
So, what was fixed?
Let’s take a quick peek at stuff that was reported and fixed/addressed/improved (in no particular order):
- Duplicate Automation Button
- Manage sidebar/menu items (hide/add/move)
- Stop requiring magic to enable templates
- WTH can I not use the update button while running an NGINX HA proxy
- How the heck can I set this user picture?
- Why the heck isn’t there any official macOS desktop app?!
- What the heck turned my light on?
- Reload integrations individually
- Why doesn’t a trigger platform for state attributes exist?
- WTH why can’t I permanently delete jinja2 tutorial in the template editor
- WTH why can’t an administrator change a user’s password
- WTH: Can’t we see which trigger fired an automation?
- Set static IP in supervisor
- WTH: Why can’t I use “for” without defining a “to”-state in automations?
- Option to template the keys in data_template in addition to only values
- WTH Slack no username/icon customization
- Dev Tools –> Template – WTH isn’t it refreshing automatically?!
- Why the heck is a restart needed for each an every change to configuration.yaml? (Partly solved, much progress is made available already)
- WTH do pressing update button doesn’t have confirmation
- WTH can’t I click outside of a dialog to close the dialog?
This list isn’t even complete, but gives a nice idea of what went on. We think
it is an impressive accomplishment. If you are a bit into GitHub, you can find
all pull requests made for the month of WTH
Closing the WTH forum & Hacktoberfest
As said, all good things come to an end. We are going to close the WTH forum. This means that no new WTH topics can be created, but everything will remain visible.
Hacktoberfest is right around the corner and all current data in that forum can really help drive it. It is a great resource for developers to find opportunities to contribute on during the October month. So, while we close it down, we hope more will be addressed.
Why not run this WTH all the time? Well, it looses its power over time. This is already visible right now when comparing the velocity at the beginning and end of the month.
However, let’s see if we can do it again next year. Maybe, we should combine it with Hacktoberfest in 2021?
How did you experience the month of WTH? Should we do it again?