Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/home-assistant/core.git. Pull mirroring updated .
  1. Aug 06, 2017
  2. Aug 05, 2017
    • Jeroen ter Heerdt's avatar
      Egardia (#8389) · f41ef5d7
      Jeroen ter Heerdt authored
      * Added support for Egardia / Woonveilig alarm control panel
      
      * Added support for Egardia / Woonveilig alarm control panel
      
      * Added support for Egardia / Woonveilig alarms
      
      * Updating egardia support with exception handling and other fixes
      
      * Egardia platform, requirements file updated
      
      * Fixing state checking
      
      * Adding exception handling
      
      * Removing unnecessary logging
      
      * Removing unnecessary logging
      
      * Updating to egardiadevice component 1.0.10
      
      * Improving exception handling
      
      * Adding implementation of egardiaserver for alarm triggered status
      
      * Clean-up
      
      * Fix my previous change
      f41ef5d7
    • Eugenio Panadero's avatar
      Update xiaomi vacuum tests and include in coverage (#8845) · a221b106
      Eugenio Panadero authored
      * Fix tests for Demo vacuum platform (and increase coverage)
      
      * increase coverage of xiaomi vacuum tests and include in coverage
      
      Also little fixes
      
      * remove print statement
      a221b106
    • Greg Laabs's avatar
      History query and schema optimizations for huge performance boost (#8748) · 6e178517
      Greg Laabs authored
      * Add DEBUG-level log for db row to native object conversion
      
      This is now the bottleneck (by a large margin) for big history queries, so I'm leaving this log feature in to help diagnose users with a slow history page
      
      * Rewrite of the "first synthetic datapoint" query for multiple entities
      
      The old method was written in a manner that prevented an index from being used in the inner-most GROUP BY statement, causing massive performance issues especially when querying for a large time period.
      
      The new query does have one material change that will cause it to return different results than before: instead of using max(state_id) to get the latest entry, we now get the max(last_updated). This is more appropriate (primary key should not be assumed to be in order of event firing) and allows an index to be used on the inner-most query. I added another JOIN layer to account for cases where there are two entries on the exact same `last_created` for a given entity. In this case we do use `state_id` as a tiebreaker.
      
      For performance reasons the domain filters were also moved to the outermost query, as it's way more efficient to do it there than on the innermost query as before (due to indexing with GROUP BY problems)
      
      The result is a query that only needs to do a filesort on the final result set, which will only be as many rows as there are entities.
      
      * Remove the ORDER BY entity_id when fetching states, and add logging
      
      Having this ORDER BY in the query prevents it from using an index due to the range filter, so it has been removed.
      
      We already do a `groupby` in the `states_to_json` method which accomplishes exactly what the ORDER BY in the query was trying to do anyway, so this change causes no functional difference.
      
      Also added DEBUG-level logging to allow diagnosing a user's slow history page.
      
      * Add DEBUG-level logging for the synthetic-first-datapoint query
      
      For diagnosing a user's slow history page
      
      * Missed a couple instances of `created` that should be `last_updated`
      
      * Remove `entity_id` sorting from state_changes; match significant_update
      
      This is the same change as 09b3498f410106881fc5e095c49a8d527fa89644 , but applied to the `state_changes_during_period` method which I missed before. This should give the same performance boost to the history sensor component!
      
      * Bugfix in History query used for History Sensor
      
      The date filter was using a different column for the upper and lower bounds. It would work, but it would be slow!
      
      * Update Recorder purge script to use more appropriate columns
      
      Two reasons: 1. the `created` column's meaning is fairly arbitrary and does not represent when an event or state change actually ocurred. It seems more correct to purge based on the event date than the time the database row was written.
      2. The new columns are indexed, which will speed up this purge script by orders of magnitude
      
      * Updating db model to match new query optimizations
      
      A few things here: 1. New schema version with a new index and several removed indexes
      2. A new method in the migration script to drop old indexes
      3. Added an INFO-level log message when a new index will be added, as this can take quite some time on a Raspberry Pi
      6e178517
    • Fabian Affolter's avatar
      Upgrade aiohttp to 2.2.5 (#8828) · 52cff832
      Fabian Affolter authored
      52cff832
    • Paulus Schoutsen's avatar
      Block dependencies that depend on enum34 (#8698) · e49b9706
      Paulus Schoutsen authored
      * Block dependencies that depend on enum34
      
      * Remove uninstalling enum34
      
      * Update validation script
      
      * Add constraints to tox.ini
      
      * Upgrade yeelight to version that uses enum-compat
      
      * Disable sensor.skybeacon
      
      * Lint
      e49b9706
    • Paulus Schoutsen's avatar
      Update frontend 2 · a0530d8b
      Paulus Schoutsen authored
      a0530d8b
    • Paulus Schoutsen's avatar
      Update frontend · 99d4021f
      Paulus Schoutsen authored
      99d4021f
  3. Aug 04, 2017
    • Charles Blonde's avatar
      Fix Dyson sensors if devices are configured without standby monitoring. Fixes #8569 (#8826) · 7f0d0607
      Charles Blonde authored
      Upgrade libpurecoolink libraries without unused enum34 dependency
      7f0d0607
    • Hellowlol's avatar
      Make HA discover sabnzbd and add it to the Configurator (#8634) · cf298c24
      Hellowlol authored
      * Init discover sab.
      
      * Fix hound errors
      
      Nobody likes being hound at :(
      
      * sabnzbd discovery says if ssl is active.
      
      * Fixups after codereview.
      cf298c24
    • Boyi C's avatar
      Update yweather.py (#8820) · 77cdc833
      Boyi C authored
      Fix missing weather unit support.
      Move some weather code to their correct classes.
      77cdc833
    • Eugenio Panadero's avatar
      Xiaomi vacuum as platform of new `vacuum` component derived from ToggleEntity, and services (#8623) · 96f8c37d
      Eugenio Panadero authored
      * Xiaomi vacuum as component with switch, sensors and services
      
      - Conversion from switch platform to async component.
      - Add services proposed in #8416 to the new component, with shorter names.
      - Add sensors for the vacuum robot as a selectable list from `battery`, `state`, `error`, `fanspeed`, `clean_time` and `clean_area` (the state attributes of the switch). The sensors don't poll, but listen to a signal to update the state, the switch fires this signal when updating.
      - Assign default icons to sensors and the switch (`mdi:google-circles-group` looks like the robot!)
      
      * path change in requirements_all (from switch platform to component)
      
      * copy pasting is a bad habit
      
      * services to the components services.yaml, modify .coveragerc
      
      * review: use with multiple hosts, fix calls to async_add_devices, fix ranges for services
      
      * `icon_for_battery_level` util method
      
      * Xiaomi vacuum as platform of new component vacuum
      
      - Created new component `vacuum` from a ToggleEntity.
      - Add services `turn_on`, `turn_off`, `cleaning_play_pause`, `stop`, `return_to_base`, `locate`, `set_fanspeed` and `send_command`.
      - Remove the main switch for the xiaomi vacuum (the toggable main entity is the switch).
      - Add `support flags` for the common services
      - Assign default icons to sensors and the switch (`mdi:google-circles-group` looks like the robot!)
      - Move services descriptions to a yaml file for the new component.
      - Update requirements_all.
      - Update coveragerc.
      
      * fix coveragerc
      
      * fix battery icon helper to use more icons
      
      * remove sensors, create properties and support flags for custom UI
      
      * cleaning
      
      * updated state_attrs for filtering in UI, renamed platform to simply `xiaomi`
      
      * fix platform rename
      
      * change fanspeed and expose `fanspeed_list` to use speed steps
      
      * minor fixes
      
      - Rename service `start_pause`
      - Add 'Error' attribute only if `got_error`.
      - Minor changes
      
      * rename state attrs
      
      * rename state attrs
      
      * review changes: cut fan__speed, style changes, remove logging, and more
      
      * add ATTR_COMMAND = 'command' to const
      
      * pop entity_id from service data
      
      * remove property accessor for vacuum object
      
      * lint fix
      
      * fix extra attrs names
      
      * module level functions for calling the services
      
      * params as optional keyword for `send_command`
      
      * params as optional keyword for `send_command`, remove debug logs
      
      * explicit parameters for `set_fan_speed` and `send_command`
      
      * Demo platform for the vacuum component
      
      * vacuum tests for the Demo platform
      
      * some fixes
      
      * don't omit vacuum
      
      * vacuum tests for the Xiaomi platform
      
      * fix test
      
      * fix
      
      * fix xiaomi test
      
      * fix coveragerc
      
      * test send command
      
      * fix coveragerc
      
      * fix string formatting
      
      * The coverage is to low. It need 93% or more
      96f8c37d
    • Julian Kahnert's avatar
      geizhals sensor component (#8458) · 5b4e30cd
      Julian Kahnert authored
      * initial create of the geizhals component
      
      * only .coveragerc, geizhals.py, and requirements_all.txt included
      5b4e30cd
    • Paulus Schoutsen's avatar
      Polymer 2 (#8815) · d4dfb4d8
      Paulus Schoutsen authored
      * Update build for Polymer 2
      
      * Update webcomponents polyfills/helpers
      
      * Load ES5 class adapter when not in dev mode
      
      * Update frontend
      d4dfb4d8
  4. Aug 03, 2017
    • Andrey's avatar
      c895f1f1
    • Haim Gelfenbeyn's avatar
      InfluxDB component improvements (#8633) · 944af9cd
      Haim Gelfenbeyn authored
      * Allow reporting some state attributes as tags to InfluxDB
      
      Some state attributes should really be tags in InfluxDB. E.g.
      it is helpful to be able to group by friendly_name, or add a custom
      attribute like "location" and group by that. Graphs in Grafana are much
      easier to read when friendly names are used, and not node ids.
      
      This commit adds an optional setting to InfluxDB config:
      'tags_attributes'. Any attribute on this list will be reported as tag
      and not as field to InfluxDB.
      
      * Allow overriding InfluxDB measurement for each reported item separately
      
      Bundling all items with the same "unit of measurement" together does not
      always makes sense. For example, both "relatively humidity" and "battery
      level" are reported as "%", but I'd rather see them as separate
      measurements in InfluxDB. This commit allows for 'influxdb_measurement'
      attribute. When set on node, it will take precedence over the global
      'override_measurement' and component-specific 'unit_of_measurement'.
      
      * Minor updates to InfluxDB component improvements, as suggested by
      @MartinHjelmare.
      
      * Moved per-component config from 'customize' into 'influxdb'
      configuration section. The following three sub-sections were added:
      'component_config', 'component_config_domain' and
      'component_config_glob'. The sole supported per-component attribute
      at this point is 'override_measurement'.
      
      * Lint
      
      * Fixed mocked entity_ids in InfluxDB tests to be in domain.entity_id
      format, to satisfy EntityValues requirements.
      
      * Added tests for new InfluxDB configuration parameters
      
      * Fixes to some docstrings
      944af9cd
Loading