DD - Automatic area-based dashboard for desktop, tablet and mobile - V3.7.0

oh finally your theme doesn´t look like shit. thanks for that update!

5 Likes

Beautiful. I did not think you could out do yourself.!

2 Likes

Sneak peak version 1.3.aprilfools. :wink:

2 Likes

Such a colorful template, I like it, lol :rofl: :joy:

1 Like

That’S more than beautiful! GIMME THE CODE RIGHT NOW! :stuck_out_tongue:

1 Like

This time a real sneak peek, how 1.3.0 will look on a tablet and on desktop :slight_smile:

6 Likes

Looks so good…

1 Like

My buttons are on the top (Home Scenes Camera etc )

1 Like

Woah! She’s a beaute. Can’t wait

1 Like

When is it coming?

1 Like

afaik he´s working on releasing a beta this weekend.

1 Like

Sweet. That iPad he showed is amazing man.

1 Like

This weekend! :slight_smile:

3 Likes

BIG Update time!!!

:tada: 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 in dwains-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! :smiley:
  • 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: .

Complete changelog v1.3.0

1.3.0 was a lot of work! :smiley: If you want to help me you can do a small donation:

New here with Dwains Theme?

Have a feature request?
Open an issue on GitHub with the title FR or Feature Request

12 Likes

Thumbs up for a release of genious!

Here some screenshots:

2 Likes

Once again sir, you outperformed yourself. That’s look really great

1 Like

Thanks! :smiley:

1 Like

Thank you sir. Incredible work!

1 Like

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.

1 Like

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

1 Like