Woah! She’s a beaute. Can’t wait
When is it coming?
afaik he´s working on releasing a beta this weekend.
Sweet. That iPad he showed is amazing man.
This weekend!
BIG Update time!!!
v1.3.0 - New homepage, responsive and a lot of new features
NOTE: It may contain some bugs. Please open a Issue on Github when you find something!
NOTE: v1.3.0 is only compatible with HA 0.107 or newer
Got Dwains Theme already installed?
- Step 1: The way HACS plugins are loaded is changed its now
/hacsfiles/
path, so update HACS & All Plugins you have installed! And make sure you are at least running HACS 0.22! Also if you use any custom plugins make sure you change the path of them too indwains-theme/resources/custom_resources.yaml
- Step 2: This version needs Swipe Card so download that in HACS. Go to HACS -> Plugins -> Search for “Swipe Card” and install it!
- Step 3: Copy all the files from the 1.3.0 zip file over your existing files.
- Step 4:
ui-lovelace.yaml
in the root of your HA setup is no longer required so remove this file. - Step 5: Update your HA to 0.107! This version is only compatible with Home Assistant version 0.107 or newer.
- Step 6: Reboot your HA!! And clear your browser cache.
- Step 7: From HA 0.107 there is a new function to make multiple dashboards. Dwains Theme will be installed as a individual dashboard so you need to access it left in the menu from now on. You also need to configure Dwains Theme as default dashboard on each device in your household. You can do this by going to Configuration -> Lovelace Dashboards -> Click on Dwains Theme and click on Set as Default on this device.
Got any problems during the update process? Join Dwains Theme Discord for personal support!
Changes:
- Reworked the design to be responsive, works now fully on desktop, tablet and mobile!!
- Added Dwains Theme Notifications, you can now push notifications into my theme with service call
dwains_theme.notification_create
they will show on the homepage header. - Added devices view on the homepage, now you can switch between rooms and devices direct from the homepage!
- Added new Black and White themes, check them out!
- Added support for locks inside a room, use them with
lock:
can be single lock entity or group of locks! - Added support for pressure inside a room, use them with
pressure:
.
1.3.0 was a lot of work! If you want to help me you can do a small donation:
–
Have a feature request?
Open an issue on GitHub with the title FR
or Feature Request
Once again sir, you outperformed yourself. That’s look really great
Thanks!
Thank you sir. Incredible work!
I have an upgrade issue whereby all the entities are being listed on the dashboard, i.e. not using the theme.
I think it may be a HACS issue. The instructions at step 1. says the HACS path has changed to /hacsfiles/.
I had already upgraded HACS to 0.23.2, yet in my custom_components is still says /hacs/. Is the /hacsfiles/ a folder change or just a resource config change? I can’t work this out.
Reading the 0.107 release notes, I can’t find any relevant details to help.
Thanks.
I got everything installed, fresh install not an upgrade. I wasnt using the last version. Did some of my config and when I goto the page it says unknow error reload ui. but that doesnt do anything…when I refresh my log ouput it below. I dont see anything in the inspector with errors…and Ill paste my dir structure in case thats it? I followed the instructions though, double checked all the neccasry plugins are installed and looked over the configs but cant find out whats causing it.
Thanks!
da@ha:/home/homeassistant/.homeassistant$ ls
alert.yaml custom_components harmony_basement_remote.conf light_group.yaml scenes.yaml themes
automations.yaml deps harmony_bedroom_remote.conf ll scripts.yaml tts
binary_sensor.yaml dwains-theme harmony_living_room_remote.conf lovelace secrets.yaml www
camera.yaml dwains-theme-lovelace.yaml home-assistant.log media_player.yaml sensor.yaml
cast.sh google_calendars.yaml home-assistant_v2.db packages shell_command.yaml
configuration.yaml groups.yaml input_boolean.yaml rest_command.yaml switch.yaml
da@ha:/home/homeassistant/.homeassistant$
da@ha:/home/homeassistant/.homeassistant$
da@ha:/home/homeassistant/.homeassistant$
da@ha:/home/homeassistant/.homeassistant$ ls dwains-theme
addons configs configs-samples plugins resources translations views
da@ha:/home/homeassistant/.homeassistant$
da@ha:/home/homeassistant/.homeassistant$
da@ha:/home/homeassistant/.homeassistant$ ls packages/
dwains-theme
da@ha:/home/homeassistant/.homeassistant$
da@ha:/home/homeassistant/.homeassistant$
da@ha:/home/homeassistant/.homeassistant$ cat dwains-theme/configs/global.yaml
# https://dwainscheeren.github.io/lovelace-dwains-theme/configuration/global.html
# I prefer using darksky as my weather component.
# use the weather component and not (only) the darksky sensor! Read here: https://www.home-assistant.io/integrations/weather.darksky/
# Some people only have the DarkSky sensor and not the weather setup or visa versa.
# Please make sure you got it right!!!!!
# If you want to use darksky, make sure you USE THIS: https://www.home-assistant.io/integrations/weather.darksky/
# AND USE THIS: https://www.home-assistant.io/integrations/darksky/
# So make sure you got both installed! It's not the same!
global:
language: en
weather: weather.ecobee
outside_temperature: sensor.dark_sky_temperature
outside_humidity: sensor.dark_sky_humidity
alarm: alarm_control_panel.ring_alarm
inside_temperature: climate.ecobee
I also dont use api_password or anything, I actually use bypass_login so anything on a certain subnet doesnt have to authenticate.
2020-04-05 01:03:28 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140662377068304] Error handling message: Unknown error
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 20, in _handle_async_response
await func(hass, connection, msg)
File "/usr/src/homeassistant/homeassistant/components/lovelace/websocket.py", line 30, in send_with_error_handling
result = await func(hass, connection, msg, config)
File "/usr/src/homeassistant/homeassistant/components/lovelace/websocket.py", line 72, in websocket_lovelace_config
return await config.async_load(msg["force"])
File "/usr/src/homeassistant/homeassistant/components/lovelace/dashboard.py", line 186, in async_load
self._load_config, force
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/homeassistant/homeassistant/components/lovelace/dashboard.py", line 204, in _load_config
config = load_yaml(self.path)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 61, in load_yaml
return yaml.load(conf_file, Loader=SafeLineLoader) or OrderedDict()
File "/usr/local/lib/python3.7/site-packages/yaml/__init__.py", line 114, in load
return loader.get_single_data()
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 43, in get_single_data
return self.construct_document(node)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 47, in construct_document
data = self.construct_object(node)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 92, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 195, in _ordered_dict
nodes = loader.construct_pairs(node)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 147, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 92, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 186, in _include_dir_merge_list_yaml
loaded_yaml = load_yaml(fname)
File "/config/custom_components/dwains_theme/__init__.py", line 159, in load_yaml
return loader.yaml.load(stream, Loader=loader.SafeLineLoader) or OrderedDict()
File "/usr/local/lib/python3.7/site-packages/yaml/__init__.py", line 114, in load
return loader.get_single_data()
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 43, in get_single_data
return self.construct_document(node)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 47, in construct_document
data = self.construct_object(node)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 92, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 226, in _construct_seq
(obj,) = loader.construct_yaml_seq(node)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 400, in construct_yaml_seq
data.extend(self.construct_sequence(node))
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 122, in construct_sequence
for child in node.value]
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 122, in <listcomp>
for child in node.value]
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 92, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 195, in _ordered_dict
nodes = loader.construct_pairs(node)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 147, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 92, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 226, in _construct_seq
(obj,) = loader.construct_yaml_seq(node)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 400, in construct_yaml_seq
data.extend(self.construct_sequence(node))
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 122, in construct_sequence
for child in node.value]
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 122, in <listcomp>
for child in node.value]
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 92, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 195, in _ordered_dict
nodes = loader.construct_pairs(node)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 147, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 92, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 195, in _ordered_dict
nodes = loader.construct_pairs(node)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 147, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 92, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 226, in _construct_seq
(obj,) = loader.construct_yaml_seq(node)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 400, in construct_yaml_seq
data.extend(self.construct_sequence(node))
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 122, in construct_sequence
for child in node.value]
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 122, in <listcomp>
for child in node.value]
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 92, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 195, in _ordered_dict
nodes = loader.construct_pairs(node)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 147, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 92, in construct_object
data = constructor(self, node)
File "/usr/src/homeassistant/homeassistant/util/yaml/loader.py", line 195, in _ordered_dict
nodes = loader.construct_pairs(node)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 147, in construct_pairs
value = self.construct_object(value_node, deep=deep)
File "/usr/local/lib/python3.7/site-packages/yaml/constructor.py", line 92, in construct_object
data = constructor(self, node)
File "/config/custom_components/dwains_theme/__init__.py", line 179, in _include_yaml
return loader._add_reference(load_yaml(fname, args), ldr, node)
File "/config/custom_components/dwains_theme/__init__.py", line 145, in load_yaml
with open(fname, encoding="utf-8") as f:
IsADirectoryError: [Errno 21] Is a directory: '/config'
Edit: 107.7…and I did make the changes to configuration.yaml
You missed step 7, to make dwaine theme default.
Just to add to my issue. I did make it default, the theme does change…like the colors of the page changed to the color scheme of Dwayne’s.
I just get this…(I’ve tried on different browsers, I just happen to be sending this from my phone)
No, I’ve already done that.
The logs are also not showing anything related to HACS or themes.
I’ll keep digging, there has to be a rational answer to this.
/hacsfiles/
is not a real folder it never exists. It’s a software path that HACS made. It reads that path in the code and serves the original file on it from the www/community
folder. So you must replace it in your custom_resources.yaml
if you got any.
Did you followed the installation guide correctly? Placed all files in the root folder? Also please join the discord server for support questions like this.
Hey thanks for replying. I actually just got it to work, not sure what happened…luckily I took a snapshot of the VM before I started. I just reverted back and started from scratch. It’s working now, maybe I missed something the first time I’m not sure. Sorry about that.
No problem! glad you got it working. You like it?
I think you should take a look at this:
It explains the new hacsfiles path in HACS. If you use any custom resources you should update the url in your custom_resources.yaml.