Skip to main content

Python Wrapper to communicate with a Meteobridge Weather Data Logger

Project description

Python Wrapper for Meteobridge Datalogger

Latest PyPI version Supported Python

This module communicates with a Meteobridge Datalogger using their Template Script.

The module is primarily written for the purpose of being used in Home Assistant for the Custom Integration called meteobridge but might be used for other purposes also.

Install

pymeteobridgedata is avaible on PyPi:

pip install pymeteobridgedata

Usage

This library is primarily designed to be used in an async context.

The main interface for the library is the pymeteobridgedata.MeteobridgeApiClient. This interface takes 6 options:

  • username: (required) The username to login to your Meteobridge device. Default this meteobridge.
  • password: (required) The password for your meteobridge device.
  • ip_address: (required) IP Address of the Meteobridge device.
  • units: (optional) Valid options here are metric or imperial. Metebridge devices always deliver data in metric units, so conversion will only take place if if metric is not selected. Default value is metric
  • extra_sensors: (optional) Number of extra sensors attached to the Meteobridge Logger (Default is 0, max is 7)
  • homeassistant: (optional) Valid options are True or False. If set to True, there will be some unit types that will not be converted, as Home Assistant will take care of that. Default value is True

Example Python script

import asyncio
import logging
import time

from pymeteobridgedata import MeteobridgeApiClient, Invalid, NotAuthorized, BadRequest
from pymeteobridgedata.data import DataLoggerDescription, ObservationDescription

_LOGGER = logging.getLogger(__name__)

async def main() -> None:
    logging.basicConfig(level=logging.DEBUG)
    start = time.time()

    meteobridge = MeteobridgeApiClient(USERNAME, PASSWORD, IP_ADDRESS, homeassistant=False, units="imperial", extra_sensors=0)
    try:
        await meteobridge.initialize()

    except Invalid as err:
        _LOGGER.debug(err)
    except NotAuthorized as err:
        _LOGGER.debug(err)
    except BadRequest as err:
        _LOGGER.debug(err)

    data: DataLoggerDescription = meteobridge.device_data
    if data is not None:
        for field in data.__dataclass_fields__:
            value = getattr(data, field)
            print(field,"-", value)

    data: ObservationDescription = await meteobridge.update_observations()
    if data is not None:
        for field in data.__dataclass_fields__:
            value = getattr(data, field)
            print(field,"-", value)


    end = time.time()

    await meteobridge.req.close()

    _LOGGER.info("Execution time: %s seconds", end - start)

asyncio.run(main())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymeteobridgedata-0.1.23.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pymeteobridgedata-0.1.23-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file pymeteobridgedata-0.1.23.tar.gz.

File metadata

  • Download URL: pymeteobridgedata-0.1.23.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pymeteobridgedata-0.1.23.tar.gz
Algorithm Hash digest
SHA256 296965b3c0ace3cc9b21bce294d6ca0cfe03e4b35e2ac841ae19f6186f877b0a
MD5 c8c6bb3f257bb43598675f4879ddaf63
BLAKE2b-256 fa6622e791cf5bcdb1cfdcb516795fcf0f3a69602435eabf1df0a397835c0bed

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymeteobridgedata-0.1.23.tar.gz:

Publisher: release.yml on iu1jvo/pymeteobridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pymeteobridgedata-0.1.23-py3-none-any.whl.

File metadata

File hashes

Hashes for pymeteobridgedata-0.1.23-py3-none-any.whl
Algorithm Hash digest
SHA256 efc18c44fae409f1d6b0e39f327692b06f328c043d2b8237c3e1630889f223b8
MD5 c62c1b0b11f6cdb952acfa51749415e7
BLAKE2b-256 d1f6dd9e5846331abc9c91fed323fd6ecf585225c6b9535c1e54feeec23fb585

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymeteobridgedata-0.1.23-py3-none-any.whl:

Publisher: release.yml on iu1jvo/pymeteobridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page