Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
36261d5
add callback-property
flexxor Aug 4, 2022
c54beaf
get version info and chip id from module
henningkerstan Aug 27, 2022
fab299b
return None for chip id if version info is None
henningkerstan Aug 27, 2022
f93bc9d
add enum with the used EnOcean common command codes
henningkerstan Aug 27, 2022
b3e37c3
Update EEP.xml
yusufcanb Nov 12, 2022
82865f9
Continue on error
lolplusultra Feb 22, 2023
2a16ea3
Adds EEP A5-07-03
topic2k Aug 26, 2024
db1be6e
Adds EEP D2-01-0F
topic2k Aug 26, 2024
d6946ca
group multiple if's to if/elif
topic2k Aug 26, 2024
532629f
update SUPPORTED_PROFILES.md
topic2k Aug 26, 2024
e391acb
Use lxml for parsing EEP.xml and remove Python 2.x compatibility code…
topic2k Aug 29, 2024
31972ea
add constants for COMMON COMMANDS
topic2k Aug 31, 2024
5a8a122
optimize imports
topic2k Aug 31, 2024
4abd456
Update setup.py
topic2k Aug 31, 2024
469226c
setup.py -> pyproject.toml
topic2k Aug 31, 2024
61ec71a
setup.py -> pyproject.toml
topic2k Aug 31, 2024
616e51d
fix publish action
topic2k Aug 31, 2024
b07033d
fix publish action (2nd try)
topic2k Aug 31, 2024
37862cc
fix publish action (3rd try)
topic2k Aug 31, 2024
86a0c76
version test
topic2k Aug 31, 2024
414eff0
version test
topic2k Aug 31, 2024
9bb87a8
small changes to README.md and SUPPORTED_PROFILES.md
topic2k Sep 1, 2024
74c4509
first start with using simple type annotations
topic2k Sep 1, 2024
d402825
update version
topic2k Sep 1, 2024
a6730bc
fix f-string quotation marks
topic2k Sep 1, 2024
2ea8148
fix TypeErrors
topic2k Sep 1, 2024
5e8764e
fix TypeErrors
topic2k Sep 1, 2024
163233d
Merge pull request #1 from lolplusultra/patch-1
topic2k Sep 1, 2024
91f837a
Merge pull request #2 from yusufcanb/master
topic2k Sep 1, 2024
85791fc
Merge pull request #3 from flexxor/add_callback_property
topic2k Sep 1, 2024
b6e4d28
fix EEP.xml
topic2k Sep 1, 2024
a9e5924
prepare release
topic2k Sep 2, 2024
86897ac
rename branches
topic2k Sep 2, 2024
35afb6e
prepare release
topic2k Sep 2, 2024
2975f28
rename workflow environment
topic2k Sep 2, 2024
2cc16fb
add verbosity to pypi upload
topic2k Sep 2, 2024
f90ed61
upload to testpypi
topic2k Sep 2, 2024
157511a
try again to upload to pypi
topic2k Sep 2, 2024
64f1e3f
Update badges in README.md
topic2k Sep 2, 2024
2fadc6c
Added some EEPs and changed/added some logging (#4)
topic2k Sep 22, 2024
021351b
Merge branch 'main' into read-version-info
henningkerstan Oct 9, 2025
be468dc
fix missing import/wrong name
henningkerstan Oct 9, 2025
a6d397f
fix LOGGER
henningkerstan Oct 9, 2025
dec54b2
fix unneccessary warnings when getting chip_id / base_id
henningkerstan Oct 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,33 +1,34 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Python package
name: Linting and testing

on:
push:
branches: [ master ]
branches: [ main ]
pull_request:
branches: [ master ]
branches: [ main ]

jobs:
test:

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.5', '3.6', '3.7', '3.8', '3.9']
python-version: ['3.9', '3.10','3.11', '3.12', '3.13.0-rc.1']

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 nose coverage
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
python -m pip install flake8 nose2 coverage
python -m pip install .
- name: Lint with flake8
run: |
# stop the test if there are Python syntax errors or undefined names
Expand All @@ -36,7 +37,7 @@ jobs:
flake8 enocean --count --exit-zero --max-complexity=15 --max-line-length=127 --statistics
- name: Test with nose
run: |
nosetests -s -q --with-coverage --cover-package=enocean
python -m nose2 -s . --quiet --log-level 100 --with-coverage
- name: Coveralls
uses: AndreMiras/coveralls-python-action@develop
with:
Expand Down
43 changes: 24 additions & 19 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,29 @@ on:
types: [created]

jobs:
deploy:

testpypi-publish:
name: Upload release to PyPI
# name: Upload release to TestPyPI
runs-on: ubuntu-latest

environment:
name: pypi
url: https://pypi.org/p/enocean4ha
# name: testpypi
# url: https://test.pypi.org/p/enocean4ha
permissions:
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel twine
- name: Build and publish
env:
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: |
python setup.py sdist bdist_wheel
twine upload dist/*
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install setuptools wheel twine build
- name: Build
run: |
python -m build
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
# with:
# verbose: true
# repository-url: https://test.pypi.org/legacy/
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@ dist
pip-selfcheck.json

.vscode/
.idea/
18 changes: 14 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,20 @@
# Python EnOcean #

[![Build Status](https://travis-ci.org/kipe/enocean.svg?branch=master)](https://travis-ci.org/kipe/enocean)
[![Coverage Status](https://coveralls.io/repos/github/kipe/enocean/badge.svg?branch=master)](https://coveralls.io/github/kipe/enocean?branch=master)
[![Linting And Testing Status](https://github.com/topic2k/enocean4ha/actions/workflows/lint_and_test.yml/badge.svg?branch=main)](https://github.com/topic2k/enocean4ha/actions/workflows/lint_and_test.yml)
[![Coverage Status](https://coveralls.io/repos/github/topic2k/enocean4ha/badge.svg?branch=main)](https://coveralls.io/github/topic2k/enocean4ha?branch=main)
[![PyPi](https://img.shields.io/pypi/v/enocean4ha?logo=pypi&logoColor=959DA5)](https://pypi.org/project/enocean4ha/)


A Python library for reading and controlling [EnOcean](http://www.enocean.com/) devices.

Started as a part of [Forget Me Not](http://www.element14.com/community/community/design-challenges/forget-me-not)
It started as a part of the [Forget Me Not](http://www.element14.com/community/community/design-challenges/forget-me-not)
design challenge @ [element14](http://www.element14.com/).

<sub>This fork was created, because the [original repo](https://github.com/kipe/enocean) seems to be inactive, and i needed
to add EEPs to make some devices usable in [Home Assistant](https://www.home-assistant.io/).</sub>



## Install ##

If not installed already, install [pip](https://pypi.python.org/pypi/pip) by running
Expand All @@ -16,7 +23,7 @@ If not installed already, install [pip](https://pypi.python.org/pypi/pip) by run

After pip is installed, install the module by running

`sudo pip install enocean` (or `sudo pip install git+https://github.com/kipe/enocean.git` if you want the "bleeding edge").
`sudo pip install enocean4ha` (or `sudo pip install git+https://github.com/topic2k/enocean4ha.git` if you want the "bleeding edge").

After this, it's just a matter of running `enocean_example.py` and pressing the
learn button on magnetic contact or temperature switch or pressing the rocker switch.
Expand All @@ -25,3 +32,6 @@ You should be displayed with a log of the presses, as well as parsed values
(assuming the sensors are the ones provided in the [EnOcean Starter Kit](https://www.enocean.com/en/enocean_modules/esk-300)).

The example script can be stopped by pressing `CTRL+C`

---

Loading