core/homeassistant/components
Johan Bloemberg 64cfc4ff02 DSMR sensor ()
* Initial implemenation of DSMR component.

* Fix linting

* Remove protocol V2.2 support until merged upstream.

* Generate requirements using script.

* Use updated dsmr-parser with protocol 2.2 support.

* Add tests.

* Isort and input validation.

* Add entities for gas and actual meter reading. Error handling. Use Throttle.

* Implement non-blocking serial reader.

* Improve logging.

* Merge entities into one, add icons, fix tests for asyncio.

* Add error logging for serial reader.

* Refactoring and documentation.

- refactor asyncio reader task to make sure it stops with HA
- document general principle of this component
- refactor entity reading to be more clear
- remove cruft from split entity implementation

* Use `port` configuration key.

* DSMR V2.2 seems to conflict in explaining which tariff is high and low.

http://www.netbeheernederland.nl/themas/hotspot/hotspot-documenten/?dossierid=11010056&title=Slimme%20meter&onderdeel=Documenten
> DSMR v2.2 Final P1
>> 6.1: table vs table note

    Meter Reading electricity delivered to client normal tariff) in 0,01 kWh - 1-0:1.8.1.255
    Meter Reading electricity delivered to client (low tariff) in 0,01 kWh - 1-0:1.8.2.255

    Note: Tariff code 1 is used for low tariff and tariff code 2 is used for normal tariff.

* Refactor to use asyncio.Protocol instead of loop+queue.

* Fix requirements

* Close transport when HA stops.

* Cleanup.

* Include as dependency for testing (until merged upstream.)

* Fix style.

* Update setup.cfg
2016-11-22 23:03:39 -08:00
..
alarm_control_panel Add keypress & output control services to Envisalink component () 2016-11-17 22:13:22 -08:00
automation Upgrade linter () 2016-11-18 21:47:59 -08:00
binary_sensor Migrate binary_sensor to async () 2016-11-22 22:47:43 -08:00
calendar Google Calendar round 2 () 2016-11-18 22:29:20 -08:00
camera Use hass aiohttp connector for ssl connection () 2016-11-12 16:00:31 -08:00
climate Entity and climate: do not convert temperature unnecessary () 2016-11-22 17:38:04 -08:00
cover switch base cover did not appear () 2016-11-19 12:33:08 +01:00
device_tracker Added GPSLogger API () 2016-11-22 22:19:57 -08:00
fan Make services yield () 2016-11-03 18:32:14 -07:00
frontend Add .hound.yml 2016-11-13 11:34:09 -08:00
light Change Osram to use Github lightify dep () 2016-11-22 22:10:45 -08:00
lock Make services yield () 2016-11-03 18:32:14 -07:00
media_player Try to register a Chromecast anyway, even if it could not be detected by get_chromecasts(), since it might be on a other network. Fixes . () 2016-11-22 22:16:01 -08:00
mqtt Upgrade linter () 2016-11-18 21:47:59 -08:00
notify Upgrade freesms to 0.1.1 () 2016-11-21 17:32:05 +01:00
recorder Upgrade sqlalchemy to 1.1.4 () 2016-11-21 17:29:06 +01:00
scene Use port instead of url and fix PEP257 issues () 2016-11-03 18:43:42 -07:00
sensor DSMR sensor () 2016-11-22 23:03:39 -08:00
switch Refactor tellstick code () 2016-11-22 21:48:22 -08:00
weather Entity and climate: do not convert temperature unnecessary () 2016-11-22 17:38:04 -08:00
zwave Fixes () 2016-11-21 19:35:36 -08:00
__init__.py Async gather wait () 2016-11-06 09:26:40 -08:00
alexa.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
apcupsd.py 0.27.2 () 2016-09-03 15:59:20 -07:00
api.py async HTTP component () 2016-10-23 23:48:01 -07:00
arduino.py Upgrade PyMata to 2.13 () 2016-09-13 22:52:11 -07:00
bloomsky.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
browser.py
configurator.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
conversation.py Upgrade fuzzywuzzy to 0.14.0 () 2016-11-06 07:36:03 -08:00
demo.py Google Calendar round 2 () 2016-11-18 22:29:20 -08:00
device_sun_light_trigger.py More async tests () 2016-11-05 16:36:20 -07:00
digital_ocean.py Upgrade python-digitalocean to 1.10.1 () 2016-11-06 23:49:25 -08:00
discovery.py Bump netdisco () 2016-11-22 18:36:10 -08:00
downloader.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
dweet.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
ecobee.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
emoncms_history.py Maintenance 2nd () 2016-10-30 09:58:34 +01:00
emulated_hue.py http: reimplement X-Forwarded-For parsing () 2016-11-12 16:14:39 -08:00
enocean.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
envisalink.py Add keypress & output control services to Envisalink component () 2016-11-17 22:13:22 -08:00
feedreader.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
ffmpeg.py Update ha-ffmpeg to version 0.15 () 2016-10-29 00:12:53 +02:00
foursquare.py async HTTP component () 2016-10-23 23:48:01 -07:00
google.py Google Calendar round 2 () 2016-11-18 22:29:20 -08:00
graphite.py
group.py Async gather wait () 2016-11-06 09:26:40 -08:00
hdmi_cec.py 0.28 () 2016-09-10 18:22:58 -07:00
history.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
homematic.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
http.py Upgrade linter () 2016-11-18 21:47:59 -08:00
ifttt.py 0.28 () 2016-09-10 18:22:58 -07:00
influxdb.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
input_boolean.py Async gather wait () 2016-11-06 09:26:40 -08:00
input_select.py Async gather wait () 2016-11-06 09:26:40 -08:00
input_slider.py Upgrade linter () 2016-11-18 21:47:59 -08:00
insteon_hub.py Disable insteon hub () 2016-11-04 23:38:27 -07:00
introduction.py Check that no configuration is provided () 2016-09-29 19:02:22 -07:00
ios.py iOS links () 2016-11-08 00:07:24 +01:00
isy994.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
joaoapps_join.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
keyboard.py Comment out pyuserinput in requirements_all () 2016-09-11 21:59:48 -07:00
keyboard_remote.py Recieve signals from a keyboard and use keyboard as a remote control () 2016-09-17 23:31:27 -07:00
knx.py Fix KNX async I/O () 2016-11-08 21:00:33 -08:00
lirc.py Update python-lirc to 1.2.3 () 2016-10-10 23:44:41 -07:00
litejet.py Use port instead of url and fix PEP257 issues () 2016-11-03 18:43:42 -07:00
logbook.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
logentries.py
logger.py Remove globally disabled pylint warnings () 2016-11-03 18:40:43 -07:00
mochad.py Add mochad component () 2016-10-24 21:49:49 -07:00
modbus.py Modbus component refactoring - sensors and switches () 2016-09-13 22:47:44 +02:00
mqtt_eventstream.py
mysensors.py Fix mysensors overwriting gateway in GATEWAYS () 2016-11-06 10:49:43 -08:00
neato.py Neato Fixes () 2016-11-21 19:36:44 -08:00
nest.py Refactory nest component/platforms () 2016-11-04 20:22:47 -04:00
netatmo.py Add timeout for Netatmo binary sensor () 2016-11-10 23:04:11 -08:00
nuimo_controller.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
octoprint.py Stop Octoprint from logging errors during startup () 2016-11-05 07:55:59 -07:00
openalpr.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
panel_custom.py
panel_iframe.py
persistent_notification.py Async cleanup part 3 () 2016-11-07 22:31:40 -08:00
pilight.py Remove globally disabled pylint warnings () 2016-11-03 18:40:43 -07:00
proximity.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
qwikswitch.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
rfxtrx.py Upgrade linter () 2016-11-18 21:47:59 -08:00
rpi_gpio.py Use voluptuous for RPi GPIO () 2016-09-17 23:28:37 -07:00
script.py Convert script component to async () 2016-11-17 21:50:01 -08:00
scsgate.py Use voluptuous for SCSGate () 2016-09-13 07:23:53 +02:00
services.yaml Add service to change visibility of a group () 2016-10-29 16:54:26 -07:00
shell_command.py Optimize template 2 () 2016-09-27 21:29:55 -07:00
sleepiq.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
splunk.py
statsd.py Fixed statsd stopping if state is not numeric or only attributes changed () 2016-10-21 23:18:13 -07:00
sun.py Upgrade astral to 1.3.2 () 2016-11-21 17:27:48 +01:00
tellduslive.py Don't fail if component name is None. Fixes () 2016-11-12 14:16:27 -08:00
tellstick.py Refactor tellstick code () 2016-11-22 21:48:22 -08:00
thingspeak.py Maintenance 2nd () 2016-10-30 09:58:34 +01:00
updater.py Upgrade distro to 1.0.1 () 2016-11-06 14:00:41 +02:00
upnp.py Check that no configuration is provided () 2016-09-29 19:02:22 -07:00
vera.py Bump pyvera to 0.2.21 2016-11-21 06:06:17 -05:00
verisure.py Disable too-many-* () 2016-10-30 22:18:53 +01:00
weblink.py Fix issue weblink () 2016-09-17 23:21:24 -07:00
wemo.py Bump pywemo version - changes port order for faster startup. () 2016-10-01 22:53:24 -07:00
wink.py Revert "Catch AttributeError on Wink PubNub update" () 2016-11-06 20:05:42 -08:00
zeroconf.py Check that no configuration is provided () 2016-09-29 19:02:22 -07:00
zigbee.py Remove ThreadPool with async executor () 2016-11-05 09:27:55 -07:00
zone.py Async migration device_tracker () 2016-11-18 23:35:08 +01:00
zoneminder.py Maintenance zoneminder () 2016-10-29 13:10:42 -07:00