Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dsmr reader #28701

Merged
merged 12 commits into from Nov 28, 2019
Merged

Dsmr reader #28701

merged 12 commits into from Nov 28, 2019

Conversation

@depl0y
Copy link
Contributor

depl0y commented Nov 11, 2019

Description:

Add support for DSMR Reader to Home Assistant.

Related issue (if applicable): fixes #

Pull request with documentation for home-assistant.io (if applicable): home-assistant/home-assistant.io#11156

Example entry for configuration.yaml (if applicable):

sensor:
  - platform: dsmr_reader

Checklist:

  • The code change is tested and works locally.
  • Local tests pass with tox. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
  • Untested files have been added to .coveragerc.

If the code does not interact with devices:

  • Tests have been added to verify that the new code works.
depl0y added 10 commits Nov 10, 2019
- Added DSMR Reader platform
- Updated codeowners for other components I added earlier
homeassistant/components/dsmr_reader/sensor.py Outdated Show resolved Hide resolved
homeassistant/components/fleetgo/manifest.json Outdated Show resolved Hide resolved
CODEOWNERS Outdated Show resolved Hide resolved
CODEOWNERS Outdated Show resolved Hide resolved
homeassistant/components/dsmr_reader/sensor.py Outdated Show resolved Hide resolved
homeassistant/components/dsmr_reader/sensor.py Outdated Show resolved Hide resolved
homeassistant/components/dsmr_reader/sensor.py Outdated Show resolved Hide resolved
homeassistant/components/dsmr_reader/sensor.py Outdated Show resolved Hide resolved
homeassistant/components/dsmr_reader/sensor.py Outdated Show resolved Hide resolved
Dev automation moved this from Needs review to Review in progress Nov 12, 2019
@depl0y depl0y requested a review from fabaff Nov 12, 2019
@fabaff
fabaff approved these changes Nov 28, 2019
Dev automation moved this from Review in progress to Reviewer approved Nov 28, 2019
@fabaff fabaff merged commit daed314 into home-assistant:dev Nov 28, 2019
11 checks passed
11 checks passed
CI Build #20191112.47 succeeded
Details
CI (FullCheck Mypy) FullCheck Mypy succeeded
Details
CI (FullCheck Pylint) FullCheck Pylint succeeded
Details
CI (Overview CheckFormat) Overview CheckFormat succeeded
Details
CI (Overview Lint) Overview Lint succeeded
Details
CI (Overview Validate) Overview Validate succeeded
Details
CI (Tests PyTest Python36) Tests PyTest Python36 succeeded
Details
CI (Tests PyTest Python37) Tests PyTest Python37 succeeded
Details
cla-bot Everyone involved has signed the CLA
codecov/patch Coverage not affected when comparing 87606bc...062a0ad
Details
codecov/project 94.43% (target 90%)
Details
Dev automation moved this from Reviewer approved to Done Nov 28, 2019
Copy link
Member

MartinHjelmare left a comment

Please address the comments in a new PR. Thanks!

{
"domain": "dsmr_reader",
"name": "DSMR Reader",
"documentation": "https://www.home-assistant.io/components/dsmr_reader",

This comment has been minimized.

Copy link
@MartinHjelmare

MartinHjelmare Nov 29, 2019

Member

Please replace components with integrations in the url.


from .definitions import DEFINITIONS

_LOGGER = logging.getLogger(__name__)

This comment has been minimized.

Copy link
@MartinHjelmare

MartinHjelmare Nov 29, 2019

Member

The logger isn't used.


self._name = self._definition["name"]
self._unit_of_measurement = (
self._definition["unit"] if "unit" in self._definition else ""

This comment has been minimized.

Copy link
@MartinHjelmare

MartinHjelmare Nov 29, 2019

Member

We can replace the ternary operator with dict.get. It's built for this case.

self._unit_of_measurement = self._definition.get("unit")

This comment has been minimized.

Copy link
@MartinHjelmare

MartinHjelmare Nov 29, 2019

Member

We shouldn't use empty string for unit of measurement. If there's no unit, return None as unit of measurement.


self.async_schedule_update_ha_state()

return await mqtt.async_subscribe(self.hass, self._topic, message_received, 1)

This comment has been minimized.

Copy link
@MartinHjelmare

MartinHjelmare Nov 29, 2019

Member

async_added_to_hass shouldn't return anything. Please remove the return and just await here.

@depl0y depl0y deleted the depl0y:dsmr-reader branch Nov 29, 2019
@depl0y depl0y mentioned this pull request Nov 29, 2019
9 of 9 tasks complete
@lock lock bot locked and limited conversation to collaborators Nov 30, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Dev
  
Done
4 participants
You can’t perform that action at this time.