Announcement: AppDaemon beta 3

Thanks will look into it and get back to you

@ReneTode many thanks and with pendulum I believe this should do it using the following:

import pendulum
time_diff = (pendulum.now().time() - pendulum.now('Africa/Lagos').time()).hours
runtime = (datetime.strptime('21:45:00', '%H:%M:%S') + timedelta(hours =time_diff)).time()

This will return a local time, equivalent to my remote target time based on my input time. Will test it when I have access to my system.

One more question, do you know how one can get an event of timezone change in python? What I mean is that, assuming my system was running and I ran the above in my initialise, without the need of constantly running it as a function to check daily or something, maybe there was a way to subscribe to a time event of timezone change based on monitored parameters in general python?

Many thanks for the help

with normal use there is no timezone change. (i have never had one :wink: )
it would be possible to create a check like this:
save time zone in a var or a yaml
check which timezone is local before use of times.

but if you ask me you are looking for trouble where there is none.

:joy::joy::joy: I get the point. Will for get about it then, besides its not like timezone changes frequently. Thanks again for the patience and help.

1 Like

Consider this app:

import appdaemon.plugins.hass.hassapi as hass

class test1(hass.Hass):

  def initialize(self):
        self.log("debug initialized")
        self.listen_event(self.cb_dbug_event)

  def cb_dbug_event(self,event_name, data, kwargs):
        self.log("EventName1: "+event_name)  <<==== I am changing the string EventName

With this entry in apps.yaml:

debug:
  module: t1
  class: test1

Two odd issues that I am seeing when I modify/update either the app file (t1.py) or the apps.yaml file.

  1. Sometimes (yes, not always), when I change something in the app file (t1.py), the change is NOT being reflected after AppDaemon has said it has Terminated/Reloaded/Initialized the app.

Here is an initial snapshot of my log where the string is EventName1 in the self.log line (last line of the app)

2018-02-23 11:40:14.901178 INFO AppDaemon: Terminating debug
2018-02-23 11:40:14.901875 INFO AppDaemon: Reloading Module: /home/homeassistant/conf/apps/t1.py
2018-02-23 11:40:14.904803 INFO AppDaemon: Initializing app debug using class test1 from module t1
2018-02-23 11:40:14.907889 INFO debug: debug initialized
2018-02-23 11:40:30.786253 INFO debug: EventName1: motion

Notice, it says EventName1. Now if I edit the file and change it to be EventName2, I get this in the log:

2018-02-23 11:43:55.569147 INFO AppDaemon: Terminating debug
2018-02-23 11:43:55.569817 INFO AppDaemon: Reloading Module: /home/homeassistant/conf/apps/t1.py
2018-02-23 11:43:55.572615 INFO AppDaemon: Initializing app debug using class test1 from module t1
2018-02-23 11:43:55.575703 INFO debug: debug initialized
2018-02-23 11:44:00.025519 INFO debug: EventName1: call_service

it still says EventName1. Even when I write the file again, I get EventName1, not 2.

I write the file two more times:

2018-02-23 11:49:21.230784 INFO AppDaemon: Removing module /home/homeassistant/conf/apps/t1.py
2018-02-23 11:49:21.232352 INFO AppDaemon: Terminating debug
2018-02-23 11:49:22.240036 INFO AppDaemon: Found module /home/homeassistant/conf/apps/t1.py
2018-02-23 11:49:22.241442 INFO AppDaemon: Loading Module: /home/homeassistant/conf/apps/t1.py
2018-02-23 11:49:22.243041 INFO AppDaemon: Initializing app debug using class test1 from module t1
2018-02-23 11:49:22.246307 INFO debug: debug initialized
2018-02-23 11:49:40.732949 INFO debug: EventName1: motion
2018-02-23 11:49:48.849706 INFO debug: EventName1: motion
2018-02-23 11:49:49.454410 INFO AppDaemon: Terminating debug
2018-02-23 11:49:49.455069 INFO AppDaemon: Reloading Module: /home/homeassistant/conf/apps/t1.py
2018-02-23 11:49:49.457827 INFO AppDaemon: Initializing app debug using class test1 from module t1
2018-02-23 11:49:49.460826 INFO debug: debug initialized
2018-02-23 11:50:00.024716 INFO debug: EventName2: call_service

Finally it changes to EventName2.

This behavior is totally inconsistent for me, sometimes the changes to the app file are recognized immediately on the first write after the Terminate/Reload/Initialize and other times it might take many writes of the file.

I am baffled :confused:

  1. The second issue I am seeing is that if I go into the apps.yaml file and comment out the app, I get the following errors in my log:

    #debug:
    #module: t1
    #class: test1

     2018-02-23 11:54:44.689272 INFO AppDaemon: Reading config
     2018-02-23 11:54:44.804113 INFO AppDaemon: /home/homeassistant/conf/apps/apps.yaml added or modified
     2018-02-23 11:54:44.804718 INFO AppDaemon: App 'debug' deleted
    
     ==> /home/homeassistant/AppdaemonLogs/appdaemonerr.log <==
     2018-02-23 11:54:58.762124 WARNING AppDaemon: ------------------------------------------------------------
     2018-02-23 11:54:58.762713 WARNING AppDaemon: Unexpected error during state_update()
     2018-02-23 11:54:58.763364 WARNING AppDaemon: ------------------------------------------------------------
     2018-02-23 11:54:58.764315 WARNING AppDaemon: Traceback (most recent call last):
       File "/usr/local/lib/python3.5/dist-packages/appdaemon/appdaemon.py", line 2075, in state_update
         self.process_event(namespace, data)
       File "/usr/local/lib/python3.5/dist-packages/appdaemon/appdaemon.py", line 2119, in process_event
         "kwargs": callback["kwargs"]
       File "/usr/local/lib/python3.5/dist-packages/appdaemon/appdaemon.py", line 443, in dispatch_worker
         for arg in self.app_config[name].keys():
     KeyError: 'debug'
    
     2018-02-23 11:54:58.766393 WARNING AppDaemon: ------------------------------------------------------------
     2018-02-23 11:55:00.025348 WARNING AppDaemon: ------------------------------------------------------------
     2018-02-23 11:55:00.026945 WARNING AppDaemon: Unexpected error during state_update()
     2018-02-23 11:55:00.027794 WARNING AppDaemon: ------------------------------------------------------------
     2018-02-23 11:55:00.028964 WARNING AppDaemon: Traceback (most recent call last):
       File "/usr/local/lib/python3.5/dist-packages/appdaemon/appdaemon.py", line 2075, in state_update
         self.process_event(namespace, data)
       File "/usr/local/lib/python3.5/dist-packages/appdaemon/appdaemon.py", line 2119, in process_event
         "kwargs": callback["kwargs"]
       File "/usr/local/lib/python3.5/dist-packages/appdaemon/appdaemon.py", line 443, in dispatch_worker
         for arg in self.app_config[name].keys():
     KeyError: 'debug'
    

It’s like the app is still sort of active even though it was deleted out of apps.yaml.

Hope all this makes sense!

Tom

Thanks for the report - this is all new code so probably a bug, I’ll take a look. @renetode has also reported something similar.

1 Like

thx, for that testing.
saves me the trouble :wink:

1 Like

@ReneTode @eBoon - I looked at this, and although I couldn’t reproduce what you were seeing, I did find a bug that might be relevant to this. When I release beta 4, could you retest for me please?

2 Likes

Absolutely - happy to help!

1 Like

Hi Everyone.

My Appdaemon instance is unable to connect to HASS when the frontend is disabled (by commenting out the frontend: in the configuration.yaml)

Is this the expected behavior?

Daverin

Appdaemon uses websockets, and from this link

If you are not using the frontend in your setup then you need to add the websocket_api component to your configuration.yaml file to use the WebSocket API.

1 Like

@gpbenton Thank you :grin:

1 Like

Guys, I just upgrade from b1 to b3 and now AD won’t run. I think its due to HASS using older versions of yarl, aiohttp and astral than AD.

Running latest HASS dev 0.65 and using AD only for HADashboard.

EDIT: Fixed by deleting apps.yaml from the config directory.

Feb 28 16:28:56 hassbian appdaemon[620]:   File "/srv/homeassistant/lib/python3.6/site-packages/appdaemon/utils.py", line 121, in run_in_executor
Feb 28 16:28:56 hassbian appdaemon[620]:     response = list(completed)[0].result()
Feb 28 16:28:56 hassbian appdaemon[620]:   File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
Feb 28 16:28:56 hassbian appdaemon[620]:     result = self.fn(*self.args, **self.kwargs)
Feb 28 16:28:56 hassbian appdaemon[620]:   File "/srv/homeassistant/lib/python3.6/site-packages/appdaemon/appdaemon.py", line 1751, in check_app_updates
Feb 28 16:28:56 hassbian appdaemon[620]:     if apps["term"]:
Feb 28 16:28:56 hassbian appdaemon[620]: TypeError: 'NoneType' object is not subscriptable

I’m tracking the yarl issue - I currently have it pinned at the same version as HASS.

Hello install beta 3 today and my dashboard dont work… when open http://192.168.1.11:5050 got a white page and nothing on logs

When open dashboard url got this error

My logs is

2018-02-28 14:07:21.838667 INFO AppDaemon Version 3.0.0b3 starting
2018-02-28 14:07:21.839728 INFO Configuration read from: /home/homeassistant/appdaemon/appdaemon.yaml
2018-02-28 14:07:21.840564 DEBUG AppDaemon Section: None
2018-02-28 14:07:21.841388 DEBUG HADashboard Section: None
2018-02-28 14:07:21.844947 INFO AppDaemon: Starting Apps
2018-02-28 14:07:21.846224 DEBUG AppDaemon: Creating worker threads ...
2018-02-28 14:07:21.855255 DEBUG AppDaemon: Done
2018-02-28 14:07:21.856132 DEBUG AppDaemon: Entering run()
2018-02-28 14:07:21.857317 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin
2018-02-28 14:07:21.914853 INFO AppDaemon: HASS: HASS Plugin Initializing
2018-02-28 14:07:21.916515 INFO AppDaemon: HASS: HASS Plugin initialization complete
2018-02-28 14:07:21.917662 DEBUG AppDaemon: Starting utility loop
2018-02-28 14:07:21.918647 INFO Starting Dashboards
2018-02-28 14:07:21.945706 INFO Starting API
2018-02-28 14:07:21.950535 DEBUG Start Loop
2018-02-28 14:07:21.996022 INFO AppDaemon: HASS: Connected to Home Assistant 0.64.0
2018-02-28 14:07:22.010172 DEBUG AppDaemon: HASS: get_ha_config()
2018-02-28 14:07:22.011046 DEBUG AppDaemon: HASS: get_ha_config: url is http://192.168.1.11:8123/api/config
2018-02-28 14:07:22.101803 DEBUG AppDaemon: HASS: get_ha_state: url is http://192.168.1.11:8123/api/states
2018-02-28 14:07:22.155760 DEBUG AppDaemon: HASS: Got state
2018-02-28 14:07:22.164244 INFO AppDaemon: Got initial state from namespace default
2018-02-28 14:07:22.487499 DEBUG AppDaemon: Event type:state_changed:
2018-02-28 14:07:22.493539 DEBUG AppDaemon: {'old_state': {'state': '21.3125', 'attributes': {'unit_of_measurement': 'mb', 'friendly_name': 'wallpanel pressure'}, 'last_changed': '2018-02-28T14:06:22.450251+00:00', 'last_updated': '2018-02-28T14:06:22.450251+00:00', 'entity_id': 'sensor.wallpanel_pressure'}, 'entity_id': 'sensor.wallpanel_pressure', 'new_state': {'state': '21.1875', 'attributes': {'unit_of_measurement': 'mb', 'friendly_name': 'wallpanel pressure'}, 'last_changed': '2018-02-28T14:07:22.443969+00:00', 'last_updated': '2018-02-28T14:07:22.443969+00:00', 'entity_id': 'sensor.wallpanel_pressure'}}
2018-02-28 14:07:22.499829 DEBUG AppDaemon: {'old_state': {'state': '21.3125', 'attributes': {'unit_of_measurement': 'mb', 'friendly_name': 'wallpanel pressure'}, 'last_changed': '2018-02-28T14:06:22.450251+00:00', 'last_updated': '2018-02-28T14:06:22.450251+00:00', 'entity_id': 'sensor.wallpanel_pressure'}, 'entity_id': 'sensor.wallpanel_pressure', 'new_state': {'state': '21.1875', 'attributes': {'unit_of_measurement': 'mb', 'friendly_name': 'wallpanel pressure'}, 'last_changed': '2018-02-28T14:07:22.443969+00:00', 'last_updated': '2018-02-28T14:07:22.443969+00:00', 'entity_id': 'sensor.wallpanel_pressure'}}
2018-02-28 14:07:24.278757 DEBUG AppDaemon: Starting timer loop
2018-02-28 14:07:24.279851 DEBUG AppDaemon: Reading Apps
2018-02-28 14:07:24.282566 INFO AppDaemon: Reading config
2018-02-28 14:07:24.283697 DEBUG AppDaemon: Reading /home/homeassistant/appdaemon/apps/apps.yaml
2018-02-28 14:07:24.285783 WARNING AppDaemon: File '/home/homeassistant/appdaemon/apps/apps.yaml' invalid structure - ignoring
2018-02-28 14:07:24.286543 INFO AppDaemon: /home/homeassistant/appdaemon/apps/apps.yaml added or modified
2018-02-28 14:07:24.287126 INFO AppDaemon: /home/homeassistant/appdaemon/apps/apps.yaml added or modified
2018-02-28 14:07:24.287870 INFO AppDaemon: Adding /home/homeassistant/appdaemon/apps to module import path
2018-02-28 14:07:24.296021 INFO AppDaemon: App initialization complete
2018-02-28 14:07:24.315514 DEBUG AppDaemon: Util loop compute time: 18.0ms
2018-02-28 14:07:24.331458 INFO Compiling dashboard 'Teste'
2018-02-28 14:07:25.009520 DEBUG AppDaemon: Scheduler loop compute time: 2.0ms
2018-02-28 14:07:25.202031 WARNING Dashboard 'Teste' not found
2018-02-28 14:07:25.203497 WARNING ------------------------------------------------------------
2018-02-28 14:07:25.204318 WARNING Unexpected error during DASH creation
2018-02-28 14:07:25.205064 WARNING ------------------------------------------------------------
2018-02-28 14:07:25.208917 WARNING Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/appdaemon/dashboard.py", line 822, in get_dashboard
    with open(include_path, "r") as include_file:
FileNotFoundError: [Errno 2] No such file or directory: '/home/homeassistant/appdaemon/compiled/html/default/teste_head.html'

2018-02-28 14:07:25.209815 WARNING ------------------------------------------------------------
2018-02-28 14:07:25.210643 INFO function [get_dashboard] finished in 899 ms
Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/aiohttp/web_protocol.py", line 410, in start
    resp = yield from self._request_handler(request)
  File "/usr/local/lib/python3.5/dist-packages/aiohttp/web.py", line 325, in _handle
    resp = yield from handler(request)
  File "/usr/local/lib/python3.5/dist-packages/aiohttp/web_middlewares.py", line 93, in impl
    return (yield from handler(request))
  File "/usr/local/lib/python3.5/dist-packages/appdaemon/rundash.py", line 50, in wrapper
    return await myfunc(*args)
  File "/usr/local/lib/python3.5/dist-packages/appdaemon/rundash.py", line 253, in load_dash
    return web.Response(text=response, content_type="text/html")
  File "/usr/local/lib/python3.5/dist-packages/aiohttp/web_response.py", line 471, in __init__
    type(text))
TypeError: text argument must be str (<class 'dict'>)
2018-02-28 14:07:25.322958 DEBUG AppDaemon: Util loop compute time: 4.0ms
2018-02-28 14:07:26.004820 DEBUG AppDaemon: Scheduler loop compute time: 3.0ms
2018-02-28 14:07:26.330973 DEBUG AppDaemon: Util loop compute time: 5.0ms
2018-02-28 14:07:27.006197 DEBUG AppDaemon: Scheduler loop compute time: 4.0ms
2018-02-28 14:07:27.339688 DEBUG AppDaemon: Util loop compute time: 5.0ms
2018-02-28 14:07:28.006445 DEBUG AppDaemon: Scheduler loop compute time: 4.0ms
2018-02-28 14:07:28.350808 DEBUG AppDaemon: Util loop compute time: 5.0ms
2018-02-28 14:07:29.006386 DEBUG AppDaemon: Scheduler loop compute time: 4.0ms
2018-02-28 14:07:29.359715 DEBUG AppDaemon: Util loop compute time: 4.0ms
2018-02-28 14:07:29.739961 INFO Compiling dashboard 'Principal'
2018-02-28 14:07:30.011573 DEBUG AppDaemon: Scheduler loop compute time: 3.0ms
2018-02-28 14:07:30.436595 DEBUG AppDaemon: Util loop compute time: 69.0ms
2018-02-28 14:07:30.488518 DEBUG AppDaemon: Event type:state_changed:
2018-02-28 14:07:30.489393 DEBUG AppDaemon: {'old_state': {'state': 'above_horizon', 'attributes': {'next_setting': '2018-02-28T18:22:40+00:00', 'azimuth': 205.43, 'next_rising': '2018-03-01T07:09:08+00:00', 'next_dawn': '2018-03-01T06:41:26+00:00', 'next_dusk': '2018-02-28T18:50:24+00:00', 'next_noon': '2018-03-01T12:46:29+00:00', 'next_midnight': '2018-03-01T00:46:23+00:00', 'elevation': 37.86, 'friendly_name': 'Sun'}, 'last_changed': '2018-02-28T07:10:42.456651+00:00', 'last_updated': '2018-02-28T14:06:30.444663+00:00', 'entity_id': 'sun.sun'}, 'entity_id': 'sun.sun', 'new_state': {'state': 'above_horizon', 'attributes': {'next_setting': '2018-02-28T18:22:40+00:00', 'azimuth': 205.73, 'next_rising': '2018-03-01T07:09:08+00:00', 'next_dawn': '2018-03-01T06:41:26+00:00', 'next_dusk': '2018-02-28T18:50:24+00:00', 'next_noon': '2018-03-01T12:46:29+00:00', 'next_midnight': '2018-03-01T00:46:23+00:00', 'elevation': 37.78, 'friendly_name': 'Sun'}, 'last_changed': '2018-02-28T07:10:42.456651+00:00', 'last_updated': '2018-02-28T14:07:30.441726+00:00', 'entity_id': 'sun.sun'}}
2018-02-28 14:07:30.490576 DEBUG AppDaemon: {'old_state': {'state': 'above_horizon', 'attributes': {'next_setting': '2018-02-28T18:22:40+00:00', 'azimuth': 205.43, 'next_rising': '2018-03-01T07:09:08+00:00', 'next_dawn': '2018-03-01T06:41:26+00:00', 'next_dusk': '2018-02-28T18:50:24+00:00', 'next_noon': '2018-03-01T12:46:29+00:00', 'next_midnight': '2018-03-01T00:46:23+00:00', 'elevation': 37.86, 'friendly_name': 'Sun'}, 'last_changed': '2018-02-28T07:10:42.456651+00:00', 'last_updated': '2018-02-28T14:06:30.444663+00:00', 'entity_id': 'sun.sun'}, 'entity_id': 'sun.sun', 'new_state': {'state': 'above_horizon', 'attributes': {'next_setting': '2018-02-28T18:22:40+00:00', 'azimuth': 205.73, 'next_rising': '2018-03-01T07:09:08+00:00', 'next_dawn': '2018-03-01T06:41:26+00:00', 'next_dusk': '2018-02-28T18:50:24+00:00', 'next_noon': '2018-03-01T12:46:29+00:00', 'next_midnight': '2018-03-01T00:46:23+00:00', 'elevation': 37.78, 'friendly_name': 'Sun'}, 'last_changed': '2018-02-28T07:10:42.456651+00:00', 'last_updated': '2018-02-28T14:07:30.441726+00:00', 'entity_id': 'sun.sun'}}
2018-02-28 14:07:30.539465 WARNING Dashboard 'Principal' not found
2018-02-28 14:07:30.540958 WARNING ------------------------------------------------------------
2018-02-28 14:07:30.541761 WARNING Unexpected error during DASH creation
2018-02-28 14:07:30.542589 WARNING ------------------------------------------------------------
2018-02-28 14:07:30.544021 WARNING Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/appdaemon/dashboard.py", line 822, in get_dashboard
    with open(include_path, "r") as include_file:
FileNotFoundError: [Errno 2] No such file or directory: '/home/homeassistant/appdaemon/compiled/html/default/principal_head.html'

2018-02-28 14:07:30.544797 WARNING ------------------------------------------------------------
2018-02-28 14:07:30.545610 INFO function [get_dashboard] finished in 830 ms
Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/aiohttp/web_protocol.py", line 410, in start
    resp = yield from self._request_handler(request)
  File "/usr/local/lib/python3.5/dist-packages/aiohttp/web.py", line 325, in _handle
    resp = yield from handler(request)
  File "/usr/local/lib/python3.5/dist-packages/aiohttp/web_middlewares.py", line 93, in impl
    return (yield from handler(request))
  File "/usr/local/lib/python3.5/dist-packages/appdaemon/rundash.py", line 50, in wrapper
    return await myfunc(*args)
  File "/usr/local/lib/python3.5/dist-packages/appdaemon/rundash.py", line 253, in load_dash
    return web.Response(text=response, content_type="text/html")
  File "/usr/local/lib/python3.5/dist-packages/aiohttp/web_response.py", line 471, in __init__
    type(text))
TypeError: text argument must be str (<class 'dict'>)
2018-02-28 14:07:31.004590 DEBUG AppDaemon: Scheduler loop compute time: 3.0ms
2018-02-28 14:07:31.444387 DEBUG AppDaemon: Util loop compute time: 5.0ms
2018-02-28 14:07:32.005935 DEBUG AppDaemon: Scheduler loop compute time: 4.0ms
2018-02-28 14:07:32.452524 DEBUG AppDaemon: Util loop compute time: 4.0ms
^C2018-02-28 14:07:32.659593 INFO Keyboard interrupt
2018-02-28 14:07:32.674960 INFO AppDaemon: HASS: Disconnecting from Home Assistant
2018-02-28 14:07:33.006087 DEBUG AppDaemon: Scheduler loop compute time: 4.0ms
2018-02-28 14:07:33.457225 DEBUG End Loop
2018-02-28 14:07:33.459292 INFO AppDeamon Exited

My config is

appdaemon:
  threads: 10
  api_port: 5000

  plugins:
    HASS:
      type: hass
      ha_url: http://192.168.1.11:8123
      ha_key: password

hadashboard:
   dash_url:  http://192.168.1.11:5050
   dash_dir: /home/homeassistant/.homeassistant/configs/dashboards/
   rss_feeds:
      - feed: http://feeds.jn.pt/JN-Ultimas
        target: JN
      - feed: https://tek.sapo.pt/rss
        target: TEK
   rss_update: 600

My folder permissions

compiled
drwxrwxrwx 3 homeassistant homeassistant 4096 Feb 28 14:10 compiled

dashboards folder (/home/homeassistant/.homeassistant/configs/dashboards/)

drwxrwxrwx 3 homeassistant homeassistant 4096 Feb 26 17:33 dashboards

Service is running with user homeassistant

appdaemon.service
[Unit]
Description=AppDaemon
[email protected]
[Service]
Type=simple
User=homeassistant
ExecStart=/usr/local/bin/appdaemon -c /home/homeassistant/appdaemon/
[Install]
WantedBy=multi-user.target

Any help?

there is no valid dashboard in your dashboard folder.
if you have a dashboard created, then please show what is inside that dash file.

Hello thanks for reply… my dashboard work on v2 there are two files in the folder

Teste.dash

title: Dashboard
widget_dimensions: [122, 120]
widget_margins: [10, 10]
columns: 8

#
# Layout
#    
layout:
    - clock
clock:
    widget_type: clock

Principal.dash

title: Casa
widget_dimensions: [1, 1]
widget_size: [130, 130]
widget_margins: [0, 0]
columns: 1200

global_parameters:
use_comma: 0
precision: 1
use_hass_icon: 1

layout:
- include: PrincipalPanels/top_panel
- include: PrincipalPanels/main_middle_panel
- include: PrincipalPanels/main_middle_panel_2
- include: PrincipalPanels/main_middle_panel_3
- include: PrincipalPanels/bottom_panel

top_panel

    header:
        widget_type: label
        title2: Casa
        title2_style: "text-align: left; vertical-align: top; font-size: 175%; color: #fff; top: 6px"

    clock:
        widget_type: clock
        time_format: "24hr"
        widget_style: "background-color: transparent; border-radius: 0px;"
        time_style: "font-size: 175%; color: #fff; vertical-align: top; text-align: right"
        date_style: "height: 0px;"

    layout:
        - spacer(10x1), header(960x40), clock(240x40)

main_middle_panel

 weather:
        widget_type: weather
        unit: "&deg;C"
        main_style: "color: orange; font-size: 80%;"
        sub_style: "color: white; font-size: 0%;"

    daniel_estado:
        widget_type: device_tracker
        title: Daniel
        device: danielphone
        icon_on: fa-male
        icon_off: fa-male
        state_text: 1
        state_map:
          "home": Em Casa
          "not_home": Fora

    joana_estado:
        widget_type: device_tracker
        title: Joana
        icon_on: fa-female
        icon_off: fa-female
        icon_style_active: "color: #cc6699"
        device: owt_joanaowt
        state_text: 1
        state_map:
          "home": Em Casa
          "not_home": Fora
    nas:
       widget_type: switch
       entity: switch.nas
       title: NAS
       icon_on: fa-server
       icon_off: fa-server

    pc_sala:
       widget_type: switch
       entity: switch.pc_sala
       title: PC Sala
       icon_on: fa-desktop
       icon_off: fa-desktop

    pc_sala:
       widget_type: switch
       entity: switch.pc_sala
       title: PC Sala
       icon_on: fa-desktop
       icon_off: fa-desktop

    uptime:
       widget_type: sensor
       entity: sensor.since_last_boot_template
       title: Uptime
       text_style: "color: white; font-size: 100%;"

    network_speed:
       title: Velocidade
       widget_type: sensor
       entity: sensor.speedtest_download
       sub_entity: sensor.speedtest_upload

    layout:
        - empty: 120
        - spacer(10x1), weather(280x130), spacer(20x1), daniel_estado(130x130), spacer(20x1), joana_estado(130x130), spacer(20x1), nas(130x130), spacer(20x1), pc_sala(130x130), spacer(20x1), uptime(130x130), spacer(20x1), network_speed(130x130)

Thks for help

Have you tried clearing out your compiled directory?

Yes, and appdaemon create folder css and javascript but no folder html