Announcement: AppDaemon 3.0.1

Nothing startling, a few bugfixes and several new features:

3.0.1

Features

  • Added Production Mode to disable checking of App config or code changes
  • RSS Feed can now optionally show a description for each story
  • Disabling of zooming and double tap zooming on iOs devices is now optional via the scaling dashboard argument
  • Exiting from the commandline with ctrl-c will now cleanly terminate apps
  • Sending SIGTERM to an appdaemon process will cause a clean shutdown, including orderly termination of all apps in dependency order
  • Added extra checking for HASS Initialization to prevent a race condition in which metadata could not be read
  • Weather widget facelift allowing ability to change sensors, more dynamic usnits, forecast option, icon options, option to show Rain/Snow depending on precip_type sensor (and change icons), wind icon rotates according to wind bearing - contributed by Marcin Domański <https://github.com/kabturek>__

Fixes*

  • Fixed a problem in the Docker initialization script
  • Fixed an parameter collision for events with a parameter name in listen_event()
  • Grammar corrections to docs, and a fix to the stop code - contributed by Matthias Urlichs <https://github.com/smurfix>__

Breaking Changes

  • iOS Scaling and tap zooming is no longer disabled by default
7 Likes

:tada: The Hass.io add-on for AppDaemon3 has been updated to AppDaemon v3.0.1. as well, the add-on version is now v1.0.1.

1 Like

This is great! Thanks to all!

I’ve one little question, can I invert the orientation of the rotated wind icon?

wind-icon-rotation

The Wind Bearing in the above is 126 degrees.

So could the straight line part be where the wind is coming from, and the curly part where it’s going to?

how did you show the icon?

It’s a feature of the new version, just change your weather widget definition to something like this:

weather:
    widget_type: weather
    units: "&deg;c"
    show_forecast: 1
    forecast_title: Tomorrow
    prefer_icons: 1
    sensors:
      icon: sensor.dark_sky_icon
      temperature: sensor.dark_sky_temperature
      apparent_temperature: sensor.dark_sky_apparent_temperature
      humidity: sensor.dark_sky_humidity
      precip_probability: sensor.dark_sky_precip_probability
      precip_intensity: sensor.dark_sky_precip_intensity
      precip_type: sensor.dark_sky_precip
      pressure: sensor.dark_sky_pressure
      wind_speed: sensor.dark_sky_wind_speed
      wind_bearing: sensor.dark_sky_wind_bearing
      forecast_icon: sensor.dark_sky_icon_1
      forecast_temperature_min: sensor.dark_sky_daily_low_temperature_1
      forecast_temperature_max: sensor.dark_sky_daily_high_temperature_1
      forecast_precip_probability: sensor.dark_sky_precip_probability_1
      forecast_precip_type: sensor.dark_sky_precip_1

Specifically, it’s the prefer_icons: 1 part you’re looking for.

thanks,but it show like this still.
111

then please show your yaml, so that we can see what is wrong.

appdaemon:

weather:
  widget_type: weather                                                                                                          
  units: "&deg;c"                                                                                                               
  show_forecast: 1                                                                                                              
  forecast_title: Tomorrow                                                                                                      
  prefer_icons: 1                                                                                                               
  sensors:                                                                                                                      
    icon: sensor.dark_sky_icon                                                                                                  
    temperature: sensor.dark_sky_temperature                                                                                    
    apparent_temperature: sensor.dark_sky_apparent_temperature                                                                  
    humidity: sensor.dark_sky_humidity                                                                                          
    precip_probability: sensor.dark_sky_precip_probability                                                                      
    precip_intensity: sensor.dark_sky_precip_intensity                                                                          
    precip_type: sensor.dark_sky_precip                                                                                         
    pressure: sensor.dark_sky_pressure                                                                                          
    wind_speed: sensor.dark_sky_wind_speed                                                                                      
    wind_bearing: sensor.dark_sky_wind_bearing                                                                                  
    forecast_icon: sensor.dark_sky_icon_1                                                                                       
    forecast_temperature_min: sensor.dark_sky_daily_low_temperature_1                                                           
    forecast_temperature_max: sensor.dark_sky_daily_high_temperature_1                                                          
    forecast_precip_probability: sensor.dark_sky_precip_probability_1                                                           
    forecast_precip_type: sensor.dark_sky_precip_1                                                                              

homeassistant weather.yaml

- platform: darksky
  api_key: xxxxxxxxxxxxxxx
  update_interval:
    days: 0
    hours: 2
    minutes: 0
    seconds: 0
    milliseconds: 0
  forecast:
    - 1
  monitored_conditions:
    - summary
    - icon
    - nearest_storm_distance
    - precip_type
    - precip_intensity
    - precip_probability
    - temperature
    - apparent_temperature
    - dew_point
    - wind_speed
    - wind_bearing
    - cloud_cover
    - humidity
    - pressure
    - visibility
    - ozone
    - minutely_summary
    - hourly_summary
    - daily_summary
    - temperature_max
    - temperature_min
    - apparent_temperature_max
    - apparent_temperature_min
    - precip_intensity_max

seems like it should only i dont see the precip_intensity_min in your ha setup.
this could be a cash problem.

b) find out if it is a cash problem somewhere by doing the following:

  • close all dashboards
  • clear the cash from the browsers that you use the dashboards in
  • close appdaemon
  • clear your logfiles
  • clear the subdirectories that are in conf/compiled but leave the structure
  • close the device that is running appdaemon
  • restart the device that is running appdaemon
  • restart appdaemon
  • open 1 dashboard in google chrome
  • if you still have problems then look at the java console (CTRL Shift I) in chrome for errors and look in your logfiles for errors.
  • if not provide:
    • which appdaemon version you are running (preffered by the first part of the logs)
    • which python version you are running
    • which system you are running it on (hassbian, hassio, ubuntu, etc.)
    • the logfiles from the start
    • the java console error(s)

i have been solve it , because i used a wrong skin css.
aaa

thanks very much.

2 Likes

Hi Guys.

I am trying to connect to homeassistant with the frontend disabled and websockets_api enabled.

I am receiving the following error every 5 seconds:

2018-05-19 21:23:23.600195 INFO AppDaemon: HASS: Connected to Home Assistant 0.70.0.dev0 
2018-05-19 21:23:23.621753 WARNING AppDaemon: HASS: Error getting metadata 
2018-05-19 21:23:23.622772 WARNING AppDaemon: HASS: Disconnected from Home Assistant, retrying in 5 seconds

Your help is appreciated :grin:

just an error is in most cases not enough.
is this a first install from AD?
did you change anything if not?
whats in your appdaemon.yaml?
you have ha frontend disabled? are you sure it is running correctly and how?
didnt you also disable HA api?

give us every info that you think can be helpfull to solve your problem.

@ReneTode

My Apps in Appdaemon work perfectly with frontend: defined in HASS configuration, if I replace frontend: with websocket_api: and restart HASS I get the error described above in my appdaemon log when HASS comes online. Once HASS is online it serves the API to Appdaemon, logging the following every 5 seconds:

2018-05-20 00:37:01 INFO (MainThread) [homeassistant.components.http.view] Serving /api/websocket to 127.0.0.1 (auth: False)

I didn’t change my appdaemon.yaml which contains the HASS plugin.
I am running appdaemon 3.0.1 and homeassistant version 0.70.0.dev0 - but I’ve found the problem on homeassistant 0.62.0 as well.

I’ve attached my appdaemon.yaml file here: appdaemon.yaml (671 Bytes)

auth: False

so it seems that the websocket api does require another way to authenticate.
did you try without using websocket_api as option in HA?

Just tried it now, Appdaemon does not connect at all without websocket_api: or frontend: in configuration.yaml.

I should mention that even with frontend: the auth:False is still present:

2018-05-20 01:00:39 INFO (MainThread) [homeassistant.components.http.view] Serving /api/websocket to 127.0.0.1 (auth: False)
2018-05-20 01:00:39 INFO (MainThread) [homeassistant.components.http.view] Serving /api/config to 127.0.0.1 (auth: True)
2018-05-20 01:00:39 INFO (MainThread) [homeassistant.components.http.view] Serving /api/states to 127.0.0.1 (auth: True)

did you install with docker, venv, hassio?

localhost is in most cases not a preffered connection.
try to use the same url that you can use in any browser on any system to get data from HA.

try to get api info from HA in a browser on another device, then use that url in appdaemon.yaml

I am running hass and appdaemon inside a single docker container each inside their own venv.

I tried replacing localhost with 127.0.0.1, same issue, works with frontend by doesn’t with websocket_api.

I can’t use the public url since the public url in my case is dynamic and is subject to change.

and how do you access a changing url?
the ip can be changing, but the url that you use to access ha public should be a stable one.
the url doesnt need to be an ip, it can also be a named url.

but maybe that @aimc has another idea why it isnt working.

You normally have to add the api: component when you remove the frontend. Have you tried that?

1 Like