* Restore states through a JSON store
* Accept entity_id directly in restore state helper
* Keep states stored between runs for a limited time
* Remove warning
* Fix false log message on CAPsMAN only devices
False debug log message appeared on CAPsMAN only devices without physichal wireless interfaces. This fix eliminates them.
* Fixed indentation to pass flake8 test
* Update mikrotik.py
* Update mikrotik.py
* Added basic api_ssl support
Added preliminary support to use api_ssl instead of api. It don't check the validity of the certificate need it.
At Home Assistant side add ssl = true to your sensor configuration, and don't forget to change the port too (to 8729 by default):
device_tracker:
- platform: mikrotik
host: 192.168.88.1
port: 8729
ssl: true
username: homeassistant
password: TopSecret
At MikroTik side you have to add or generate a certificate, and configure api_ssl to use it. Here is an example:
/certificate add common-name="Self signed demo certificate for API" days-valid=3650 name="Self signed demo certificate for API" key-usage=digital-signature,key-encipherment,tls-server,key-cert-sign,crl-sign
/certificate sign "Self signed demo certificate for API"
/ip service set api-ssl certificate="Self signed demo certificate for API"
/ip service enable api-ssl
/ip service disable api
/user group add name=homeassistant policy=read,api,!local,!telnet,!ssh,!ftp,!reboot,!write,!policy,!test,!winbox,!password,!web,!sniff,!sensitive,!romon,!dude,!tikapp
/user add group=homeassistant name=homeassistant
/user set password="TopSecret" homeassistant
* Fixed import missind ssl lib
* SSL support code cleanup, use ssl-api port by default if ssl enabled
* Restored accidentalli deleted method parameter
* Fixed Python 3.5.3 compilation errors
Fixed Python 3.5.3 compilation errors reported by Travis CI
* Removed duplicated MTK_DEFAULT_API_PORT
* Adds upload and download sensors for asuswrt and makes it a component.
* Rebase
* removes warnings
* Fixing review issues
* More robust connection phase
* Generate dependencies
* Not needed try catch
* Rename sensors
* Revorked tests so they can be turned on again
* Using component setup
* Test through correct setup
* Forgot we dont need to worry about older py
* Split out geofency with a component and platform
* Make geofency component/device_tracker more async
* Move geofency tests to new package
* Remove coroutine in geofency callback
* Lint
* Fix coroutine in geofency callback
* Fix incorrect patch
* Add attributes of ARP table
This adds the device attributes available in the ARP table and a few more. Implementation is inspired by the nmap scanner.
* lint spaces
* Add support for Google Home device tracking.
* Use dict[key] for options.
* Delete googlehome.py.save
* Change stylling of name, and attr mac_address to btle_mac_address, removed unesssesarry attributes copying.
* Refactor mysensors message handling
* Add handler module and register handlers per message type or message
sub-type. This will allow easier extension of message handling in the
future.
* Move some common functions to a helpers module.
* Add node handler and signal
* Fix inconsistent return
* Upgrade pymysensors to 0.18.0
* Fix bug in message modification.
* Upgrade to asuswrt 1.1.1 to better handle mac addresses with letters in them
Signed-off-by: Gavin Mogan <git@gavinmogan.com>
* Update requirements_all as well
Signed-off-by: Gavin Mogan <git@gavinmogan.com>
This prevents the following traceback that will otherwise occur.
Traceback (most recent call last):
File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.6/site-packages/homeassistant/components/device_tracker/bluetooth_le_tracker.py", line 107, in update_ble
see_device(address, devs[address], new_device=True)
File "/usr/local/lib/python3.6/site-packages/homeassistant/components/device_tracker/bluetooth_le_tracker.py", line 47, in see_device
see(mac=BLE_PREFIX + address, host_name=name.strip("\x00"),
AttributeError: 'NoneType' object has no attribute 'strip'
* Google Maps supports battery level and charging.
With 3.0.2 locationsharinglib now the battery level and the charging attributes are available.
* Update google_maps.py
fix too long line error
* Update google_maps.py
Fix multi line import, and line length limit
* Update gen_requirements_all.py
Add locationsharinglib to gen_requirements_all
* update requirements_all
* Last try to fix requirements_all...
* Add configurable host for bbox routers
Add configurable host for bbox router running on non-default IP addresses.
* Fix unused import
Fix unused import which also resolves "line too long"
* Fix wrong import order
* Update validation
The last_seen attribute was a datetime in the local timezone but with
no tzinfo (i.e., a "naive" datetime.) When state changes occurred it
would be printed incorrectly in homeassistant.log because
homeassistant.util.dt.as_local assumes any datetime without tzinfo is
UTC. Also most, if not all, datetime attributes are timezone aware in
UTC. So use homeassistant.util.dt.as_utc (which assumes a naive
datetime is local) to convert last_seen to a timezone aware datetime
in UTC.
* Add device_tracker.bluetooth_update service
Will immediately scan for Bluetooth devices outside of the interval timer. Allows for less frequent scanning, with scanning on demand via automation.
* remove excess whitespace per bot comments
* Refactored update_bluetooth to call new function update_bluetooth_once
* Change service name to bluetooth_tracker_update to reflect platform name
* Reformat for line length
* Linting fix, pydoc, first line should end with a period
* Fixed a method call, and removed some more unsused parameters
* Fix 'Error setting up platform tplink' error when a scanner fails even if another scanner would succeed
* Try to fix tox errors
* Adjust code based on PR comments
* Fix bt_home_hub_5 device tracker
Updated BT Home Hub 5 device tracker component to get it working again. The old parsing method of the DNS table has been broken for a while causing the component to fail to get connected devices. A new parsing method has been implemened and fixes all previous issues.
* Moved part of code to a published PyPi library
* Fixed Violations
* Fixed bugs in device tracker
* Moved API Specific Code to PyPi Repository
* Updated to fit requested changes, removed test as it is no longer valid and updated requirement_all.txt
* Update to fit style requirements and remove redundant code
* Removed Unnecessary Comment
* Fixed NDMS for latest firmware.
Now using telnet instead of Web Interface
* Using external library for NDMS interactions
* updated requirements_all
* renamed `mac` to `device` back
* Using generators for name and attributes fetching
## Description:
More fixes flagged by pylint 2 that don't hurt to have before the actual pylint 2 upgrade (which I'll submit soon).
## Checklist:
- [ ] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
* Support latest tplink Archer D9 Firmware version / Device Scanner
* tplink integration on pypi package
* initialize the client only once
* remove unnecessary instance attributes
* Add python 3.7 to travis and tox
* Use pyyaml from github
* Don't version constraints
* Fix version tag
* Change to new pyyaml release
* Python 3.7 requires xenial
* Fix namespace detection
* Use correct RegEx type
* Update pexpect to 4.6
* Use correct validation for dictionaries
* Disable Py37 incompatible packages
* Upgrade all pexpect to 4.6
* Add explicit None as default param
* Add a device tracker for Freebox routers
* Automatic setup of Freebox device tracker based on discovery
* Make the Freebox device tracker asynchronous
* Improving icloud device tracker
* Adding config validations for new values
* Adding config validations for new values
* Moving icloud specific setup to platform schema. Setting default in platform schema.
I have a Hitron modem provided by Shaw communications rather than from Rogers as the Docs specify for this device_tracker but it seems like the api/code is all the same except that the login failed due to the password being passed as "pws" instead of "pwd". Making that one character change allowed HASS to read the connected device details from my Hitron modem. If this difference is actually one that stands between the Rogers-provided Hitron modems and the Shaw-provided variant, I am happy to create another device-tracker file for the Shaw modem. I just figured I would go with the simplest solution first.
* Initial commit
* Add error handling to config flow
Change unique identifyer to name
Clean up hound comments
* Ensure hass home zone is created with correct entity id
Fix failing tests
* Fix rest of tests
* Move zone tests to zone folder
Create config flow tests
* Add possibility to unload entry
* Use hass.data instead of globas
* Don't calculate configures zones every loop iteration
* No need to know about home zone during setup of entry
* Only use name as title
* Don't cache hass home zone
* Add new tests for setup and setup entry
* Break out functionality from init to zone.py
* Make hass home zone be created directly
* Make sure that config flow doesn't override hass home zone
* A newline was missing in const
* Configured zones shall not be imported
Removed config flow import functionality
Improved tests
When an OpenWrt device monitored via ubus is offline, this causes the
log to be flooded with several exceptions. Avoid this by catching
requests.exceptions.ConnectionError in addition to
requests.exceptions.Timeout.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* implemented services for bmw remote services
* added vin to attributes of tracker
* moved component to new package
* added service description
* fixed static analysis warnings
* implemented first set of code reviews
* removed locking related services
* fixed static analysis warnings
* removed excess blank lines
* refactoring of setup() to resolve warning
"Cell variable bimmer defined in loop (cell-var-from-loop)"
* added missing docstring
* added service to update all vehicles from the server
* implemented changes requested in code review
* added check if invalid vin is entered
* Start of development
* Add extra attributes from unifi scanner
* Store IP of the device in the state attributes with nmap
* Allow not defining get_extra_attributes method in derived classes
* fix asuswrt ap mode failure
When using ap mode, asuswrt device_tracker does dont work properly as ip can not be retrieved from wl command. This version fixed the issue.
* save 1 line code
* another 2 lines saved
* typo correction
* Added support for requesting RSSI values from Bluetooth devices
* Moved Bluetooth RSSI code to separate library and imported it
* Cleaned up tuple issues
* Changed concatination of mac addresses
* Changed string formatting to use new style
* Ran gen_requirements_all.py
* Google Maps location sharing device tracker.
* Use ConfigType and change debug logging to _LOGGER.debug()
* Update to locationsharinglib 0.3.0
* Remove unneeded lines.
* Use hass.config.path for config file location.
* Fixed remarks
* Return boolean in setup_scanner
* if tracking is disabled, the position is not set in the device tracker.
This fixes an issue with a toggling vehicle state.
* removed useless attributes
* updated to new "b2vapi" of bimmer_connected
* updated requirements_all.txt
* updated 2 more vehicle names after rebase
* cleanup of import statements
* found one more broken name...
* removed unused constant
* cleanup of import statements 2
* Add consider_home and source_type to device_tracker.see service
* Use schema instead of manual validation
* Extend schema to validate all keys
* Fix style
* Set battery level to int
* first working version of BMW connected drive sensor
* extended coveragerc
* fixed blank line
* fixed pylint
* major refactoring after major refactoring in bimmer_connected
* Update are now triggered from BMWConnectedDriveVehicle.
* removed polling from sensor and device_tracker
* backend URL is not detected automatically based on current country
* vehicles are discovered automatically
* updates are async now
resolves:
* https://github.com/ChristianKuehnel/bimmer_connected/issues/3
* https://github.com/ChristianKuehnel/bimmer_connected/issues/5
* improved exception handing
* fixed static analysis findings
* fixed review comments from @MartinHjelmare
* improved startup, data is updated right after sensors were created.
* fixed pylint issue
* updated to latest release of the bimmer_connected library
* updated requirements-all.txt
* fixed comments from @MartinHjelmare
* calling self.update from async_add_job
* removed unused attribute "account"
* nmap_tracker: don't scan on setup
A scan takes about 6 seconds so it delays HA from booting. Since
another scan is done by the device_tracker base component during setup,
there is no need to do two scans on boot.
* simplify setup
* Upgrade pylint to 1.8.1
* Fix no-else-return
* Fix bad-whitespace
* Fix too-many-nested-blocks
* Fix raising-format-tuple
See https://github.com/PyCQA/pylint/blob/master/doc/whatsnew/1.8.rst
* Fix len-as-condition
* Fix logging-not-lazy
Not sure about that TEMP_CELSIUS though, but internally it's probably just like if you concatenated any other (variable) string
* Fix stop-iteration-return
* Fix useless-super-delegation
* Fix trailing-comma-tuple
Both of these seem to simply be bugs:
* Nest: The value of self._humidity never seems to be used anywhere
* Dovado: The called API method seems to expect a "normal" number
* Fix redefined-argument-from-local
* Fix consider-using-enumerate
* Fix wrong-import-order
* Fix arguments-differ
* Fix missed no-else-return
* Fix no-member and related
* Fix signatures-differ
* Revert "Upgrade pylint to 1.8.1"
This reverts commit af78aa00f125a7d34add97b9d50c14db48412211.
* Fix arguments-differ
* except for device_tracker
* Cleanup
* Fix test using positional argument
* Fix line too long
I forgot to run flake8 - shame on me... 🙃
* Fix bad-option-value for 1.6.5
* Fix arguments-differ for device_tracker
* Upgrade pylint to 1.8.2
* 👕 Fix missed no-member
* Add Mercedes me component
* pump api version to 0.1.2
* Add Mercedes me component
* pump api version to 0.1.2
* clean up code
* Code cleanup
* Remove unneeded return statement
* Return statements added again
* Implement requested changes
* Rework component, move data load to component
* lint
* remove debug logging
* Change RainCloud comments, change from track_utc_time to track_time_interval
* Final cleanup for version 1
* Use bluetooth_le source_type, if location was changed by beacon
* No reason to do nested ifs
* Added tests for source_type on owntracks
* Fixed The Hound
* Added test and fixed bug surfaced by test
* New features for Owntracks device_tracker
- Supporting a mapping of region names in OT to zones in HA, allowing
separate namespaces in both applications. This is especially helpful
if using one OT instance to update geofences for multiple homes.
- Creating a setting to ignore all location updates, allowing users to
rely completely on enter and leave events. I have personally always
used OT integrations with home automation this way and find it the
most reliable.
- Allowing the OT topic to be overridden in configuration
* Fixing configuration of MQTT topic, related tests
* Tests for Owntracks events_only feature
* Tests for customizing mqtt topic, region mapping
* Fixing _parse and http for owntracks custom topic
* Making tests more thorough and cleaning up lint
* Lazy loading of service descriptions
* Fix tests
* Load YAML in executor
* Return a copy of available services to allow mutations
* Remove lint
* Add zha/services.yaml
* Only cache descriptions for known services
* Remove lint
* Remove description loading during service registration
* Remove description parameter from async_register
* Test async_get_all_descriptions
* Remove lint
* Fix typos from multi-edit
* Remove unused arguments
* Remove unused import os
* Remove unused import os, part 2
* Remove unneeded coroutine decorator
* Only use executor for loading files
* Cleanups suggested in review
* Increase test coverage
* Fix races in existing tests
* Device tracker for meraki AP
* styles fix
* fix again
* again
* and again :)
* fix hide if away
* docs and optimization
* tests and fixes
* styles
* styles
* styles
* styles
* styles fix. Hope last
* clear track new
* changes
* fix accuracy error and requested changes
* remove meraki from .coveragerc
* tests and minor changes
* remove location
* Support presence detection using Hitron Coda router
* at least 2 spaces before inline comment
* Update hitron_coda.py
* rewrote authentication code, it actually works now
* make line slightly shorter to comply with hound
* Removed hardcoded IP address
* Fix string formatting, add timeout, and use generator
* Update hitron_coda.py
* Update hitron_coda.py
* Update hitron_coda.py
* typo
* update .coveragerc
* Update stale URL
* Improve handling and logging of unsupported owntracks message types
Added generic handlers for message types that are valid but not
supported by the HA component (lwt, beacon, etc.) and for
message types which are invalid. Valid but not supported
messages will now be logged as DEBUG. Invalid messages will
be logged as WARNING.
Supporting single "waypoint" messages in addition to the
roll-up "waypoints" messages.
Added tests around these features.
* Style fixes