Skip to main content

Pushing data of ISKRA MT175 smart meter to openhab

Project description

smart-meter-to-openhab

Pushing data of ISKRA MT175 smart meter to openhab. For a connection to the Smart meter you need a USB infrared adapter. There are several adapters on the market (e.g. https://weidmann-elektronik.de/Produkt_IR-Kopf.html) that just need to be pluged in. They are usually detected as a casual serial port (/dev/ttyUSB0)

Installation

The python package can be downloaded from the github releases (e.g. smart_meter_to_openhab-0.1.4.tar.gz) It as advisable to use the same python version as specfied in the pyproject.toml. Follow the process in install-poetry.sh

  1. Navigate to the folder where the virtual environment shall be created (e.g. your home dir):
cd ~
  1. Create virtual environment (this will create a new folder smart_meter_py_env):
python3 -m venv smart_meter_py_env
  1. Activate the virtual environment
source smart_meter_py_env/bin/activate
  1. Upgrade pip and setuptools
python3 -m pip install --upgrade pip setuptools
  1. Install smart_meter_to_openhab
pip install smart_meter_to_openhab-0.1.4.tar.gz
  1. Provide needed environment variables. You can e.g. pass a .env file to smart_meter_to_openhab via the option --dotenv_path. Or provide them by any other means (e.g. in your ~/.profile).
# Hostname or ip (https is not supported at the moment)
OH_HOST='<http://your_ip:your_port'
#openhab user (or token) for login (optional)
OH_USER=''
#openhab password for login (optional)
OH_PASSWD=''
#openhab item names
PHASE_1_CONSUMPTION_OH_ITEM='smart_meter_phase_1_consumption'
PHASE_2_CONSUMPTION_OH_ITEM='smart_meter_phase_2_consumption'
PHASE_3_CONSUMPTION_OH_ITEM='smart_meter_phase_3_consumption'
OVERALL_CONSUMPTION_OH_ITEM='smart_meter_overall_consumption'
ELECTRICITY_METER_OH_ITEM='smart_meter_electricity_meter'
  1. Run smart_meter_to_openhab with e.g.
nohup smart_meter_to_openhab --logfile ~/smart_meter.log --verbose &

Autostart after reboot

Create a systemd service by opening the file /etc/systemd/system/smart_meter_to_openhab.service and copy paste the following contents. Replace User/Group/ExecStart accordingly.

[Unit]
Description=smart_meter_to_openhab
Documentation=https://github.com/die-bauerei/smart-meter-to-openhab
After=network-online.target

[Service]
Type=simple
User=openhab
Group=openhab
UMask=002
ExecStart=/usr/bin/bash -lc "/home/openhab/smart_meter_py_env/bin/smart_meter_to_openhab --logfile /home/openhab/smart_meter.log --verbose"

[Install]
WantedBy=multi-user.target

Now execute the following commands to enable autostart:

sudo systemctl --system daemon-reload
sudo systemctl enable smart_meter_to_openhab.service

It is now possible to start, stop, restart and check the status of smart_meter_to_openhab with:

sudo systemctl start smart_meter_to_openhab.service
sudo systemctl stop smart_meter_to_openhab.service
sudo systemctl restart smart_meter_to_openhab.service
sudo systemctl status smart_meter_to_openhab.service

Development

Development is done in wsl2 on ubuntu 20.4. Setting up the development environment on Windows is not supported. But in principal it could be setup as well since no OS specific functionalities are used.

Setup

The project is using poetry for managing packaging and resolve dependencies. To install poetry call install-poetry.sh. This will install poetry itself as well as python and the required packages as a virtual environment in .venv. Example settings for development in VS Code are provided in vscode-settings. (Copy them to .vscode folder) Follow these instructions to enable proper linting and type checking.

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

smart_meter_to_openhab-0.1.4.tar.gz (9.0 kB view hashes)

Uploaded Source

Built Distribution

smart_meter_to_openhab-0.1.4-py3-none-any.whl (10.6 kB view hashes)

Uploaded Python 3

Supported by

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