/ha-narodmon

Component to integrate Narodmon cloud into Home Assistant

Primary LanguagePythonOtherNOASSERTION

Please ⭐ this repo if you find it useful

NarodMon Cloud Integration Component for Home Assistant

GitHub Release GitHub Activity License

hacs Project Maintenance Support me on Patreon

Community Forum

Component to integrate with Narodmon cloud and automatic search for the nearest sensors of the required type.

NarodMon Logo

Known Limitations and Issues

  • At the moment, configuring the component is only possible through configuration.yaml. Support for configuration via Home Assistant UI will be added in the future.
  • The Narodmon service has limits on the amount of data returned per request and on the frequency of sending requests. Therefore, if you configure several sensors, at first some of them may be in the Unavailable state. As data is received from the server, all sensors will receive their values.

Breaking changes

  • Since version 2.0.0 the field apikey is no longer required and is not recommended. Fill it out only if you already have your own API key with special limits. Otherwise, remove this field from your configuration.
  • Since version 2.1.0, the ability to specify the radius of the sensors search zone has been added. The default radius is set to 10 km.

Installation

Install via HACS (recommended)

  1. Have HACS installed, this will allow you to easily manage and track updates.
  2. Search for "Narodmon".
  3. Click Install below the found integration.
  4. If you want to configure component via Home Assistant UI...
    in the HA UI go to "Configuration" > "Integrations" click "+" and search for "Narodmon".
  5. If you want to configure component via configuration.yaml...
    follow instructions below, then restart Home Assistant.

Manual installation

  1. Using the tool of choice open the directory (folder) for your HA configuration (where you find configuration.yaml).
  2. If you do not have a custom_components directory (folder) there, you need to create it.
  3. In the custom_components directory (folder) create a new folder called narodmon.
  4. Download file narodmon.zip from the latest release section in this repository.
  5. Extract all files from this archive you downloaded in the directory (folder) you created.
  6. Restart Home Assistant
  7. If you want to configure component via Home Assistant UI...
    in the HA UI go to "Configuration" > "Integrations" click "+" and search for "Narodmon".
  8. If you want to configure component via configuration.yaml...
    follow instructions below, then restart Home Assistant.

Configuration Examples

# Example configuration.yaml entry
narodmon:
  devices:
    - name: "Narodmon"
      sensors:
        - temperature
        - humidity
        - pressure

* * *

I put a lot of work into making this repo and component available and updated to inspire and help others! I will be glad to receive thanks from you — it will give me new strength and add enthusiasm:


Patreon
or support via Bitcoin or Etherium:
Bitcoin
16yfCfz9dZ8y8yuSwBFVfiAa3CNYdMh7Ts

Configuration Variables

apikey:
(string) (Optional)
The API key is a unique identifier that authenticates requests associated with your project.

Note:
This field is no longer required and is not recommended. Fill it out only if you already have your own API key with special limits.

To obtain a key, you need to register on narodmon.com, then open the menu item Profile > My applications > New key and create an API key. You can give any name to the key at your discretion.

devices:
(list) (Required)
List of virtual devices with uniform settings. See details below.

verify_ssl:
(boolean) (Optional) (Default value: True)
Verify SSL/TLS certificate for HTTPS request.

timeout:
(number) (Optional) (Default value: 10)
Timeout for the connection in seconds.

Device configuration variables

Each virtual device in a list have the following settings:

name:
(template) (Required)
Name of the device.

latitude:
(float) (Optional) (Default value: Your home zone latitude defined in your configuration)
Latitude of the center point of the sensor search area. The sensor closest to this point is always selected.

longitude:
(float) (Optional) (Default value: Your home zone longitude defined in your configuration)
Longitude of the center point of the sensor search area. The sensor closest to this point is always selected.

search_area_radius:
(float) (Optional) (Default value: 10 km)
Maximum allowed distance from described location to sensor location.

scan_interval:
(number) (Optional) (Default value: 3 minutes)
Minimum time interval between updates. Supported formats: scan_interval: 'HH:MM:SS', scan_interval: 'HH:MM' and Time period dictionary.

Note:
Since the service has data update limits, if you configure several sensors, the actual data update period may be proportionally longer than the one specified in this field.

Updates more than once a minute are prohibited by Narodmon and can lead to permanent blocking of your account.

sensors:
(list) (Optional) (Default value: all listed here sensor types)
Types of sensors to be created. Available types: temperature, humidity, pressure, wind_speed, wind_bearing, precipitation, illuminance, radiation, uv, pm

Track updates

You can automatically track new versions of this component and update it by HACS.

Troubleshooting

To enable debug logs use this configuration:

# Example configuration.yaml entry
logger:
  default: info
  logs:
    custom_component.narodmon: debug

... then restart HA.

Contributions are welcome!

This is an active open-source project. We are always open to people who want to use the code or contribute to it.

We have set up a separate document containing our contribution guidelines.

Thank you for being involved! 😍

Authors & contributors

The original setup of this component is by Andrey "Limych" Khrolenok.

For a full list of all authors and contributors, check the contributor's page.

This Home Assistant custom component was created and is updated using the HA-Blueprint template. You can use this template to maintain your own Home Assistant custom components.

License

creative commons Attribution-NonCommercial-ShareAlike 4.0 International License

See separate license file for full text.