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

sorted-bits
Copy link
Contributor

@sorted-bits sorted-bits 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.

homeassistant/components/dsmr_reader/sensor.py Outdated Show resolved Hide resolved
homeassistant/components/openhardwaremonitor/manifest.json 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
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
Dev automation moved this from Reviewer approved to Done Nov 28, 2019
Copy link
Member

@MartinHjelmare MartinHjelmare left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please address the comments in a new PR. Thanks!

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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please replace components with integrations in the url.


from .definitions import DEFINITIONS

_LOGGER = logging.getLogger(__name__)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The logger isn't used.


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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

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

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@sorted-bits sorted-bits deleted the dsmr-reader branch November 29, 2019 05:32
@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
Development

Successfully merging this pull request may close these issues.

None yet

4 participants