Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
4840 commits
Select commit Hold shift + click to select a range
a32f51c
smartmeter: fix type hinting for Python 3.9, minor fixes, add require…
Morg42 Dec 2, 2024
99a8600
smartmeter: add DLMS autodiscovery (untested)
Morg42 Dec 2, 2024
20b4f1b
smartmeter: implement sml protocol, fix testing for both protocols
Morg42 Dec 3, 2024
d5d85e2
smartmeter: fix requirements
Morg42 Dec 3, 2024
b06198f
uzsu: implement once for series, part 1
onkelandy Dec 3, 2024
e71299b
uzsu: make once work with series
onkelandy Dec 3, 2024
31ac401
uzsu: bump version to 2.1.0
onkelandy Dec 3, 2024
8cdf0e6
uzsu: fix scheduling for series once
onkelandy Dec 3, 2024
e095c3c
smartmeter: fix typing for Python 3.9
Morg42 Dec 4, 2024
45bc390
uzsu: fix once for series
onkelandy Dec 4, 2024
0229005
uzsu: update webif and docu
onkelandy Dec 4, 2024
efb036c
smartmeter: fix and refactor code, improve error handling
Morg42 Dec 5, 2024
92d1358
smartmeter: further aligned dlms and sml value/property return
Morg42 Dec 6, 2024
873c609
smartmeter: refactor code for asyncio implementation
Morg42 Dec 7, 2024
70b67b9
smartmeter: streamline SML/DLMS returned data, remove old code, cleanup
Morg42 Dec 7, 2024
a460a1e
uzsu: fix series interval calculation. Actually, now end of series is…
onkelandy Dec 7, 2024
b60eb57
uzsu: implement activeToday for smartvisu, fix once for series
onkelandy Dec 8, 2024
75550cf
Merge pull request #975 from sisamiwe/dev-sonos
Morg42 Dec 8, 2024
f98132f
smartmeter: remove special handling no longer necessary
Morg42 Dec 8, 2024
d07c7f3
added description for alexa-item-properties
Andrek01 Dec 8, 2024
388cec8
Merge pull request #984 from Andrek01/develop-alexa4p3
Morg42 Dec 8, 2024
a4d18b5
smartmeter: cleanup item handling
Morg42 Dec 9, 2024
6c581a2
smartmeter: refactor for webif api access
Morg42 Dec 9, 2024
062c56f
Merge pull request #972 from sisamiwe/dev-dbaddon2
onkelandy Dec 10, 2024
b24c881
stateengine: logging update
onkelandy Dec 10, 2024
6cc4019
stateengine: add empty icon for visu to make all entries the same hei…
onkelandy Dec 10, 2024
5464d19
stateengine: highly improve visu overlapping and white space, some ad…
onkelandy Dec 10, 2024
1afe7a4
stateengine: minor code improvement
onkelandy Dec 10, 2024
11a39c0
smartmeter: initial web interface
Morg42 Dec 12, 2024
8b1ee10
openweathermap: move beaufort calculation from struct to plugin
onkelandy Dec 13, 2024
5cafb5d
uzsu: fix comparison of new and old dictionary
onkelandy Dec 13, 2024
355303f
smartmeter: add asyncio feature for SML
Morg42 Dec 13, 2024
9789b19
smartmeter: update parameters, item updates only every x seconds
Morg42 Dec 13, 2024
16a8f6f
russound: fix lib.network response handling
Morg42 Dec 13, 2024
b2d1a34
uzsu: update handling of once for series. might work now? ;)
onkelandy Dec 14, 2024
918cd93
smartmeter: fix discovery, improve locking
Morg42 Dec 14, 2024
be62379
Moves SMbus to run
SergeoLacruz Dec 15, 2024
e837349
Remove bullshit
SergeoLacruz Dec 15, 2024
8a26897
Addre needed things again
SergeoLacruz Dec 15, 2024
9b90c04
smartmeter: update webif
Morg42 Dec 15, 2024
ba7dc56
Add suspend variable
SergeoLacruz Dec 15, 2024
b900aac
smartmeter: add DLMS asyncio, fix webif (note: DLMS asyncio needs tes…
Morg42 Dec 16, 2024
a2d9dcc
uzsu: fix once handling .. again
onkelandy Dec 16, 2024
5d18ad0
smartmeter: create items file
Morg42 Dec 16, 2024
a619790
smartmeter: fix standalone operations
Morg42 Dec 16, 2024
1bb135c
smartmeter: fix standalone...again
Morg42 Dec 16, 2024
f6905c1
smartmeter: error handling for item creation
Morg42 Dec 16, 2024
19defb9
Added update script
SergeoLacruz Dec 16, 2024
46b876a
Rename v_batt to u_batt
SergeoLacruz Dec 17, 2024
40517bd
smartmeter: don't create empty items file
Morg42 Dec 17, 2024
ad2d812
smartmeter: improve item generation
Morg42 Dec 17, 2024
e5a4ea6
Update plugin.yaml
Andrek01 Dec 18, 2024
c820c20
uzsu: adjust struct
onkelandy Dec 18, 2024
c4adb7e
uzsu: introduce "perday" interpolation feature
onkelandy Dec 18, 2024
119f935
uzsu: minimize/optimize dict writing to item
onkelandy Dec 18, 2024
64eeadd
uzsu: improve web interface
onkelandy Dec 19, 2024
95f386b
uzsu: update docu
onkelandy Dec 19, 2024
b937684
Tasmota:
sisamiwe Dec 20, 2024
cad42b6
Merge pull request #987 from Andrek01/develop-alexa4p3
Morg42 Dec 20, 2024
e321dc1
Merge pull request #985 from onkelandy/openweather
Morg42 Dec 20, 2024
d0155d8
uzsu: fix extra-long debug messages
onkelandy Dec 20, 2024
38a188f
uzsu: code improvements, fix lastvalue handling, update activeToday o…
onkelandy Dec 20, 2024
972ac52
uzsu: further lastvalue improvements/fixes
onkelandy Dec 21, 2024
e4109af
uzsu: improve documentation, add info on once feature
onkelandy Dec 21, 2024
11ce478
uzsu: fix evaluation of upcoming setting when once feature is used
onkelandy Dec 21, 2024
22ec0f1
uzsu: global once deactivates uzsu on first setting, no matter if it …
onkelandy Dec 21, 2024
5553a3e
uzsu: introduce set_activetoday plugin function
onkelandy Dec 21, 2024
4089b11
uzsu: introduce ignore_once_entries parameter for (not) using once se…
onkelandy Dec 21, 2024
f2c5ee5
uzsu: fix and improve perday interpolation
onkelandy Dec 21, 2024
486b350
uzsu: avoid wrong value when 2 entries set a value at the same time a…
onkelandy Dec 21, 2024
81478c5
uzsu: update docu
onkelandy Dec 21, 2024
61878e5
uzsu: fix wrong logger entry
onkelandy Dec 22, 2024
2b12069
uzsu: improve item writing, fix issue when uzsu has no active entries
onkelandy Dec 22, 2024
4b114ee
smartmeter: update webif
Morg42 Dec 22, 2024
5fcca3a
smartmeter: adjust metadata
Morg42 Dec 22, 2024
81e5859
githubplugin: fix detection of clean/ahead/behind
Morg42 Dec 22, 2024
0fac7fa
Merge pull request #988 from Morg42/githubplugin
Morg42 Dec 22, 2024
c3c1348
uzsu: avoid cycle of schedule and item update
onkelandy Dec 22, 2024
b46fb04
githubplugin: rework path and naming schemes, add error handling
Morg42 Dec 22, 2024
d867e12
lms: improve/fix database scan commands
onkelandy Dec 22, 2024
7ced3e8
lms: fix alarm circle of death
onkelandy Dec 22, 2024
a998134
lms: fix syncgroup commands/items
onkelandy Dec 22, 2024
fb18e1a
lms: fix/improve alarm commands
onkelandy Dec 22, 2024
b38b93d
lms: fix mute and volume commands
onkelandy Dec 22, 2024
9470e97
smartmeter: updated webif
Morg42 Dec 23, 2024
de05c22
smartmeter: fix hex string decoding
Morg42 Dec 23, 2024
1a51ab7
smartmeter: fix hex string conversion again
Morg42 Dec 23, 2024
7763090
lms: update commands, min SDP 1.0.4, bump version
onkelandy Dec 23, 2024
f42c505
denon: update commands for sdp 1.0.4, bump versin to 1.1.0
onkelandy Dec 23, 2024
7e5d3e4
lms: further commands updates
onkelandy Dec 23, 2024
3f2ec6b
lms: trigger syncgroups query when syncing two players, update syncgr…
onkelandy Dec 23, 2024
2e003f9
lms: query power at startup
onkelandy Dec 23, 2024
68171b3
lms: query shuffle and repeat at start
onkelandy Dec 23, 2024
8761e92
lms: adjust clear command, however should still not be used (might de…
onkelandy Dec 23, 2024
5b68c8d
Merge pull request #989 from onkelandy/lms
onkelandy Dec 23, 2024
6b1a2de
Merge pull request #983 from onkelandy/uzsu
onkelandy Dec 23, 2024
707549d
Merge pull request #979 from onkelandy/stateengine
Morg42 Dec 24, 2024
db3faa4
githubplugin: show commits, improve type hinting
Morg42 Dec 25, 2024
36a7637
smartmeter: disable scaler calculations
Morg42 Dec 26, 2024
76c6ee8
hue2: Modified requirements.txt
msinn Dec 31, 2024
aa82a40
mqtt: Added item attribute mqtt_topic_prefix; bumped version to 2.0.6
msinn Dec 31, 2024
9131e6c
panasonic_ac: Update to use released package pcomfortcloud from pypi
msinn Dec 31, 2024
8b8e720
lms: update commands, introduce automatic lookups for players and pla…
onkelandy Jan 1, 2025
0ea52a4
lms: query players on start
onkelandy Jan 2, 2025
f518998
lms: commands update
onkelandy Jan 2, 2025
20fa474
lms: update lookups
onkelandy Jan 2, 2025
a31926a
Create piusv.html
wvhn Jan 2, 2025
334c192
Merge pull request #1 from wvhn/patch-1
SergeoLacruz Jan 3, 2025
5cb115a
lms: update commands and lookup handling
onkelandy Jan 3, 2025
9b1e2a4
Merge pull request #990 from Morg42/githubplugin
Morg42 Jan 4, 2025
2f4bafd
smartmeter: disabled DLMS asyncio
Morg42 Jan 4, 2025
6ec05c0
Merge pull request #982 from Morg42/ehz
Morg42 Jan 4, 2025
5a9a997
lms: update and improve further commands
onkelandy Jan 4, 2025
93267d1
Tasmota:
sisamiwe Jan 5, 2025
df2b62f
SONOS: Bugfix
sisamiwe Jan 5, 2025
da32d13
Merge pull request #992 from sisamiwe/dev-sonos
aschwith Jan 5, 2025
3578e30
lms: change players command handling
onkelandy Jan 7, 2025
adad68e
lms: reorganized some commands
onkelandy Jan 9, 2025
22acf9b
stateengine: extend docu
onkelandy Jan 9, 2025
d59d67c
Tasmota:
sisamiwe Jan 10, 2025
8b39992
LMS: many command updates, subscribe to playlist changes now on startup
onkelandy Jan 10, 2025
581368a
lms: fix lookups and commands
onkelandy Jan 12, 2025
11cc70e
lms: restructure and update plugin commands (trackstat, customskip3)
onkelandy Jan 12, 2025
7aac02b
executor: fix example
Morg42 Jan 13, 2025
850341c
Merge pull request #981 from SergeoLacruz/develop
Morg42 Jan 13, 2025
56a368f
Merge pull request #991 from sisamiwe/dev_tasmota
Morg42 Jan 13, 2025
8691ede
lms: update method code in init using type hint
onkelandy Jan 14, 2025
6801719
lms: fix transform received data (keep %20 for spaces)
onkelandy Jan 14, 2025
b15cf4d
lms: update, fix and improve commands, rename some correctly
onkelandy Jan 14, 2025
71244f8
lms: update and restructure commands and structs. bump version to 2.0.0
onkelandy Jan 15, 2025
e93a87b
lms: update docu
onkelandy Jan 15, 2025
64593fb
lms: rename command playsong to playitem
onkelandy Jan 15, 2025
f81bdde
lms: fix reading commands when getting new title info
onkelandy Jan 16, 2025
57baabf
lms: add newclient command so players lookup gets correctly updated w…
onkelandy Jan 16, 2025
65f4e5a
lms: update plugin.yaml struct
onkelandy Jan 16, 2025
f86a30a
lms: update playlists.available command
onkelandy Jan 16, 2025
36a82e3
lms: put older version 1.5.2 as backup in folder
onkelandy Jan 18, 2025
db9f920
Merge pull request #994 from onkelandy/lms
onkelandy Jan 19, 2025
962ab8c
Merge pull request #995 from onkelandy/stateengine
onkelandy Jan 20, 2025
0cd908c
lms: update newclient command so it also rereads the players when a c…
onkelandy Jan 24, 2025
3c74366
lms: rename conflicting commands/items: id, path, remove and custom_s…
onkelandy Jan 24, 2025
39d147a
lms: re-read players on new client and player (dis)connect as well as…
onkelandy Jan 24, 2025
ea38eb0
lms: minor command improvements
onkelandy Jan 24, 2025
514f733
Merge pull request #996 from onkelandy/lms
onkelandy Jan 24, 2025
c5d911c
denon: update commands
onkelandy Jan 31, 2025
0037013
denon: fix custom inputname handling using new dynamic lookup feature
onkelandy Jan 31, 2025
2846498
denon: bump version to 1.2.0
onkelandy Jan 31, 2025
22077d4
denon: fix send_retries parameter
onkelandy Feb 1, 2025
c87aaf2
denon: update custom_inputnames
onkelandy Feb 1, 2025
0687ae9
sdp plugins: fix send_retries_cycle parameter
onkelandy Feb 1, 2025
1c70330
Merge pull request #998 from onkelandy/sdp
onkelandy Feb 1, 2025
bc7746c
denon: minor command updates
onkelandy Feb 2, 2025
1d51707
lms: breaking change rename prefix "sqb_" to "lms_"
onkelandy Feb 2, 2025
c96a79a
Merge pull request #999 from onkelandy/lms
onkelandy Feb 2, 2025
af5a4c1
denon: improve and extend custom_inputname handling for lookups
onkelandy Feb 2, 2025
d9089be
AVM: Bugfix
sisamiwe Feb 4, 2025
4692641
AVM: Bugfix
sisamiwe Feb 4, 2025
51a8492
AVM: Bugfix
sisamiwe Feb 4, 2025
e942fc5
AVM: Bugfix
sisamiwe Feb 4, 2025
8f205bf
denon: improve input lookup table handling
onkelandy Feb 4, 2025
93c644a
denon: minor command updates and extensions
onkelandy Feb 4, 2025
26eda14
denon: correctly distinguish between AVR6300 European and American mo…
onkelandy Feb 4, 2025
69e61aa
denon: improve videoinput command for zone 1, add some lookup items
onkelandy Feb 4, 2025
8d23c9f
denon: poll input signal information via cycle (5s hardcoded for now)
onkelandy Feb 8, 2025
4500953
database: remove forced debug logging
Morg42 Feb 9, 2025
dd17ce9
ETA_PU: Updated initialisation of Plugin to get_parameter_value logic…
psilo909 Feb 9, 2025
c9f7b83
ETA_PU: Bumped versions
psilo909 Feb 9, 2025
65fd099
denon: improve command for tuner frequency
onkelandy Feb 11, 2025
8a98006
denon: caching some command values
onkelandy Feb 11, 2025
fc73820
denon: trigge settings read when zone is turned on
onkelandy Feb 12, 2025
a99f366
denon: commands updates and extensions
onkelandy Feb 12, 2025
8926155
Merge pull request #997 from onkelandy/denon
onkelandy Feb 13, 2025
7af9c06
unifi: improve item naming
onkelandy Feb 14, 2025
414f9df
unifi: introduce option to also work on Unifi hardware like Unifi Exp…
onkelandy Feb 14, 2025
6fe7364
unifi: minor code improvement, bump version to 1.6.4
onkelandy Feb 14, 2025
3296da8
pioneer: update and fix some commands and data handling
onkelandy Feb 15, 2025
8f8f7ac
pioneer: add hdmi out for hdzone to properly use the HD ZONE function…
onkelandy Feb 15, 2025
093d591
Merge pull request #1000 from sisamiwe/avm_update
aschwith Feb 17, 2025
61b8ad4
Merge pull request #1002 from onkelandy/pioneer
onkelandy Feb 17, 2025
f687805
modbus_tcp plugin: fix a named parameter and refactored with better e…
bmxp Feb 23, 2025
e72cb7e
Merge pull request #1001 from onkelandy/unifi
onkelandy Feb 28, 2025
c0095f7
database: check if database config is set to no or false -> don't wri…
onkelandy Mar 6, 2025
e97fc7e
Merge pull request #1003 from onkelandy/database
onkelandy Mar 6, 2025
df60b1d
owm, sma, withings: switch deprecated utcnow to shtime variant
Morg42 Mar 16, 2025
3992cfe
Merge pull request #1005 from Morg42/develop
Morg42 Mar 18, 2025
889716d
githubplugin: fix docu
Morg42 Mar 29, 2025
57ef796
Merge pull request #1006 from Morg42/develop
Morg42 Mar 29, 2025
4ecf943
Set repo version to 1.11.0-master
msinn Mar 30, 2025
c7af423
Set repo version to post 1.11.0 release
msinn Mar 30, 2025
00749f6
sonos: revert required minimum python version back to 3.8; upgraded S…
aschwith Mar 31, 2025
cbbb5bd
vicare: minor fix for online status after plugin restart; added speci…
aschwith Mar 31, 2025
b042560
Nuki Plugin:
psilo909 Apr 7, 2025
a582c68
GPIO Plugin: put v 1.5.4 in "archive"
onkelandy May 22, 2025
fa01e52
GPIO Plugin: complete overhaul using lgpio and gpiozero modules to wo…
onkelandy May 22, 2025
ff6c4e3
hue3: Added support for outdoor motion sensor; bumepd version to 3.0.2
msinn May 28, 2025
000568f
Updated unittests to newer Ubuntu version
msinn May 28, 2025
a3e1a65
Updated build scripts for documentation to newer Ubuntu version
msinn May 28, 2025
792d62c
hue2: Changed requirement for zeroconf to resolve conflict
msinn May 28, 2025
3224d5c
hue2: Revoked changed requirement for zeroconf to resolve conflict; x…
msinn May 28, 2025
55c7891
xiaomi_vac: Changed requirement for zeroconf to resolve conflict
msinn May 28, 2025
718c190
Updated workflows to build documentation to use a newer version of Ub…
msinn May 28, 2025
1aaf629
enocean: completed decoding of EEP A5_08_01 and added decoding for A5…
aschwith Jun 5, 2025
17f59a5
vicare: minor typo fixes
aschwith Jun 5, 2025
c76cd63
philips_tv: minor webif fix
aschwith Jun 5, 2025
faadf38
sma_mb plugin: update read methods for pymodbus and add crontab as po…
bmxp Jun 9, 2025
5b3adfd
Enocean: temporary fix for unwanted plugin retrigger in combination w…
aschwith Jun 12, 2025
e5ed8d8
Merge branch 'develop' of https://github.com/smarthomeNG/plugins into…
aschwith Jun 12, 2025
eb7b843
avdevice: Moved to plugin archive
msinn Jul 6, 2025
359c3cf
rtr2: Added comments to widgets
msinn Jul 6, 2025
6d3c0e1
avm_smarthome: Moved plugin to plugin archive
msinn Jul 6, 2025
9f5bcbb
uzsu plugin: fix issue when calculated sun event is on next day (due …
onkelandy Jul 10, 2025
9afc171
Merge pull request #1009 from onkelandy/gpio
onkelandy Jul 10, 2025
11a6ff9
Merge pull request #1008 from onkelandy/uzsu
onkelandy Jul 10, 2025
699e110
unittests: Added Python 3.13
msinn Jul 28, 2025
3157063
avm, sonos, yamaha: For testing set lxml requirement to lxml 5.x unde…
msinn Aug 2, 2025
aed40b1
gpio: Set max Python version to 3.12 because package lgpio does not w…
msinn Aug 3, 2025
16ab46f
plugin piusv - create requirements.txt
wvhn Aug 12, 2025
dedc956
Merge pull request #1010 from wvhn/patch-1
msinn Aug 13, 2025
a95b3f5
vicare: connected to new Vissmann API. Old one is deprecated.
aschwith Aug 17, 2025
7fa87ab
datalog: Moved plugin to plugin archive
msinn Sep 2, 2025
3227ca8
Merge remote-tracking branch 'origin/develop' into develop
msinn Sep 2, 2025
58088be
husky: Moved plugin to plugin archive
msinn Sep 2, 2025
a21c723
Syncing two installations
msinn Sep 2, 2025
18adb3d
visu_smartvisu: Moved plugin to plugin archive
msinn Sep 2, 2025
b9286c7
Merge remote-tracking branch 'origin/develop' into develop
msinn Sep 2, 2025
311ccab
visu_websocket: Moved plugin to plugin archive
msinn Sep 2, 2025
8ebd963
Update knxproj.py
CaeruleusAqua Sep 16, 2025
452511f
Update knxproj.py
CaeruleusAqua Sep 16, 2025
4d4b114
Update requirements.txt of modbus_tcp
CaeruleusAqua Sep 18, 2025
0284574
smartvisu: Added item attribute 'sv_page_in_navi' control if a genera…
msinn Oct 4, 2025
89e7bcf
smartvisu: Implemented top-navigation for room pages. Added item attr…
msinn Oct 7, 2025
0aa5101
smartvisu: Bugfix for 5th button of top-navigation
msinn Oct 7, 2025
160c713
smartvisu: Added item attribute 'sv_display_name'; Implemented text b…
msinn Oct 11, 2025
5097f15
smartvisu: Bumped version to 1.9.0
msinn Oct 11, 2025
ee85891
Merge pull request #1011 from CaeruleusAqua/parse_knx_proj_error
bmxp Oct 11, 2025
0aef0e7
Tankerkoenig:
sisamiwe Oct 12, 2025
06af1a4
db_addon:
sisamiwe Oct 12, 2025
92dcaa7
Merge pull request #1016 from sisamiwe/dbaddon_dev
Morg42 Oct 12, 2025
561bd66
smartvisu: Added top navigation for category pages; Bumped version to…
msinn Oct 13, 2025
4f80bd2
Merge pull request #1015 from sisamiwe/tankerkoenig_dev
Morg42 Oct 15, 2025
11f6425
Merge pull request #1013 from CaeruleusAqua/patch-2
Morg42 Oct 16, 2025
47e344e
plugins: fix some modbus dependencies
Morg42 Oct 16, 2025
ee4a9b3
Merge pull request #1017 from Morg42/pymodbus
Morg42 Oct 16, 2025
1463731
hue3: Changed some logentries from notice to info
msinn Oct 24, 2025
a630118
modbus_tcp: added modBusDirection: write
bmxp Nov 22, 2025
483954e
rrd plugin: include changes from PR# 1018 and add webinterface
bmxp Dec 6, 2025
06c1507
Change runner to Ubuntu 24.04 and update Python versions
bmxp Dec 6, 2025
5445cf5
requests moved to core, adapt several requirements.txt to avoid depe…
bmxp Dec 6, 2025
60458af
Install libglib2.0 in unittests workflow
psilo909 Dec 23, 2025
e91229b
vicare: switched to new Vissmann API version v2.
aschwith Dec 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
75 changes: 75 additions & 0 deletions .github/workflows/builddevdoc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: "Build doc from develop/plugins"
#on: [workflow_dispatch, push]
on:
workflow_dispatch:
push:
branches:
- 'develop'

jobs:
build:
runs-on: ubuntu-22.04 #latest
strategy:
fail-fast: false
matrix:
python-version: [ '3.9' ]
name: Python ${{ matrix.python-version }}
steps:
- name: update OS (Ubuntu)
run: sudo apt-get update
- run: sudo apt-get install libudev-dev
- run: sudo apt-get install librrd-dev libpython3-dev
- run: sudo apt-get install gcc --only-upgrade
- run: sudo locale-gen de_DE.UTF-8
- run: locale -a
- uses: actions/checkout@v2
- name: Checkout SmartHomeNG DEVELOP Branch
uses: actions/checkout@v2
with:
repository: smarthomeNG/smarthome
ref: develop
path: smarthomeng
- name: Checkout SmartHomeNG/plugins DEVELOP Branch
uses: actions/checkout@v2
with:
repository: smarthomeNG/plugins
ref: develop
path: smarthomeng/plugins
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- name: Print Python Version
run: python --version
- run: python3 -m pip install --upgrade pip #==19.3.1
#- run: pip install tox-travis virtualenv>=20.0.8 --upgrade
#- run: pip install sphinx sphinx_rtd_theme recommonmark ruamel.yaml pytest
- name: Install requirements for documentation build
run: pip install -r smarthomeng/doc/requirements.txt

- name: Build Requirements for SmartHomeNG
run: python3 smarthomeng/tools/build_requirements.py
- name: Install SmartHomeNG base requirements
# base requirements are needed for building of documentation
run: pip install -r smarthomeng/requirements/base.txt
- name: List installed packages
run: pip list

- name: Build documentation
working-directory: ./smarthomeng/doc
run: bash ./build_doc_local.sh

#- name: Deploy documentation
# uses: JamesIves/github-pages-deploy-action@v4.3.3
# with:
# branch: develop_doc # The branch the action should deploy to.
# folder: ./smarthomeng/doc/user/build/html # The folder the action should deploy.

- name: Deploy documentation to seperate repo dev_doc
uses: JamesIves/github-pages-deploy-action@v4.3.3
with:
branch: gh-pages # The branch the action should deploy to.
folder: ./smarthomeng/doc/user/build/html # The folder the action should deploy.
repository-name: 'smarthomeNG/dev_doc'
token: ${{ secrets.PAT_TOKEN }}
72 changes: 72 additions & 0 deletions .github/workflows/buildreleasedoc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: "Build doc from master"
#on: [workflow_dispatch, push]
on:
workflow_dispatch:
push:
branches:
- 'master'
env:
DEP_PATH: smarthomeng/requirements/all.txt
jobs:
build:
runs-on: ubuntu-22.04 #latest
strategy:
fail-fast: false
matrix:
python-version: [ '3.9' ]
name: Python ${{ matrix.python-version }}
steps:
- name: update OS (Ubuntu)
run: sudo apt-get update
- run: sudo apt-get install libudev-dev
- run: sudo apt-get install librrd-dev libpython3-dev
- run: sudo apt-get install gcc --only-upgrade
- run: sudo locale-gen de_DE.UTF-8
- run: locale -a
- uses: actions/checkout@v2
- name: Checkout SmartHomeNG DEVELOP Branch
uses: actions/checkout@v2
with:
repository: smarthomeNG/smarthome
ref: master
path: smarthomeng
- name: Checkout SmartHomeNG/plugins DEVELOP Branch
uses: actions/checkout@v2
with:
repository: smarthomeNG/plugins
ref: master
path: smarthomeng/plugins
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- name: Print Python Version
run: python --version
- run: python3 -m pip install --upgrade pip #==19.3.1
#- run: pip install tox-travis virtualenv>=20.0.8 --upgrade

- name: Install requirements for documentation build
run: pip install -r smarthomeng/doc/requirements.txt
- run: pip install attrs # install seperatly until requirements in master branch are updated

- name: List installed packages
run: pip list

- name: Build documentation
working-directory: ./smarthomeng/doc
run: bash ./build_doc_local.sh

#- name: Deploy documentation
# uses: JamesIves/github-pages-deploy-action@v4.3.3
# with:
# branch: release_doc # The branch the action should deploy to.
# folder: ./smarthomeng/doc/user/build/html # The folder the action should deploy.

- name: Deploy documentation to seperate repo smarthome
uses: JamesIves/github-pages-deploy-action@v4.3.3
with:
branch: release_doc # The branch the action should deploy to.
folder: ./smarthomeng/doc/user/build/html # The folder the action should deploy.
repository-name: 'smarthomeNG/smarthome'
token: ${{ secrets.PAT_TOKEN }}
23 changes: 23 additions & 0 deletions .github/workflows/comment_pr_to_wrong_branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: "Comment if PR goes to wrong branch"

on:
pull_request:
types: [opened]
branches:
- '*'
- '!develop'

jobs:
comment_pr:
runs-on: ubuntu-latest
name: Comment on wrong branch
steps:
- name: Comment PR
uses: thollander/actions-comment-pull-request@v1
with:
message: 'Pull requests should only be placed against the develop branch. This pull request cannot be accepted!'
reactions: '-1'
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set exitcode to signal error
run: exit 1

67 changes: 67 additions & 0 deletions .github/workflows/pr_unittests.yml.off
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: "Unittests Plugins for PRs (disabled)"
#on: [workflow_dispatch, push]
on:
workflow_dispatch:
pull_request:
branches:
- '!develop'

jobs:
build:
runs-on: ubuntu-20.04 #latest
strategy:
fail-fast: false
matrix:
python-version: [ '3.7', '3.8', '3.9', '3.10', '3.11' ]
name: Python ${{ matrix.python-version }}
steps:
- name: Setup OS (Ubuntu)
run: |
sudo apt-get update
sudo apt-get install libudev-dev
sudo apt-get install librrd-dev libpython3-dev
sudo apt-get install gcc --only-upgrade

- name: Get branch name
run: |
echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
echo ${GITHUB_REF#refs/heads/}
id: extract_branch

- name: Checkout core from develop branch
uses: actions/checkout@v3
with:
repository: smarthomeNG/smarthome
ref: develop

- name: Checkout plugins from ${{steps.extract_branch.outputs.branch}} branch
uses: actions/checkout@v3
with:
repository: smarthomeNG/plugins
ref: ${{steps.extract_branch.outputs.branch}}
path: plugins

- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- run: python3 -m pip install --upgrade pip

- name: Install requirements for unit testing
run: pip install -r tests/requirements.txt
- name: Build Requirements for SmartHomeNG
run: python3 tools/build_requirements.py
- name: Install SmartHomeNG base requirements
# base requirements are needed for pytest to run
run: pip install -r requirements/base.txt

# --- up to here, the workflow is identical for CORE and PLUGINS ---

- name: Install SmartHomeNG all requirements
# all requirements are needed for pytest to run plugin tests
run: pip install -r requirements/all.txt

- name: '>>> Run Python Unittests for PLUGINS <<<'
working-directory: ./plugins
run: pytest
22 changes: 22 additions & 0 deletions .github/workflows/test_dispatch_workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: "SmartHomeNG Unittest Workflow"
on:
# push:
# branches:
# - develop
# pull_request:
# types: [opened]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-20.04 #latest
steps:
- name: Extract branch name
shell: bash
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
id: extract_branch
- name: Dispatch to Unit Tests
run: |
curl -XPOST \
-H "Authorization: Bearer ${{secrets.PAT_TOKEN}}" -H "Accept:application/vnd.github.v3+json" \
-H "Content-Type:application/json" https://api.github.com/repos/smarthomeNG/tests/actions/workflows/unittests.yml/dispatches \
--data '{"ref": "main", "inputs": { "branch":"${{steps.extract_branch.outputs.branch}}" }}'
96 changes: 96 additions & 0 deletions .github/workflows/unittests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: "Unittests Plugins"
#on: [workflow_dispatch, push]
on:
workflow_dispatch:
push:
branches:
- '*'
- '!release_doc'
pull_request:
branches:
- 'develop'
jobs:
build:
runs-on: ubuntu-24.04 #latest
strategy:
fail-fast: false
matrix:
python-version: [ '3.10', '3.11', '3.12', '3.13' ]
name: Python ${{ matrix.python-version }}
steps:
- name: Setup OS (Ubuntu)
run: |
sudo apt-get update
sudo apt-get install libudev-dev
sudo apt-get install librrd-dev libpython3-dev
sudo apt-get install gcc --only-upgrade
sudo apt-get install libglib2.0

- name: Get branch name
run: echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >>$GITHUB_OUTPUT
id: extract_branch

- name: Workflow Information
run: |
echo github.event_name '${{ github.event_name }}'
echo github.workflow '${{ github.workflow }}'
echo github.action_repository '${{ github.action_repository }}'
echo github.actor '${{ github.actor }}'
echo github.ref_name '${{ github.ref_name }}'
echo github.ref '${{ github.ref }}'
echo github.base_ref '${{ github.base_ref }}'
echo github.head_ref '${{ github.head_ref }}'
echo github.pull_request.base.ref '${{ github.pull_request.base.ref }}'
echo steps.extract_branch.outputs.branch '${{ steps.extract_branch.outputs.branch }}'

- name: Check if branch '${{ steps.extract_branch.outputs.branch }}' exists in smarthomeNG/smarthome
run: echo "code=$(git ls-remote --exit-code --heads https://github.com/smarthomeNG/smarthome ${{ steps.extract_branch.outputs.branch }} > /dev/null; echo $? )" >>$GITHUB_OUTPUT
id: shng_branch_check

- name: Checkout core from branch '${{ steps.extract_branch.outputs.branch }}' (for push on known smarthomeNG/smarthome branch)
if: github.event_name != 'pull_request' && steps.shng_branch_check.outputs.code == '0'
uses: actions/checkout@v3
with:
repository: smarthomeNG/smarthome
ref: ${{ steps.extract_branch.outputs.branch }}

- name: Checkout core from branch 'develop' (for pull request or push on unknown smarthomeNG/smarthome branch)
if: github.event_name == 'pull_request' || steps.shng_branch_check.outputs.code == '2'
uses: actions/checkout@v3
with:
repository: smarthomeNG/smarthome
ref: develop

- name: Checkout plugins from branch '${{steps.extract_branch.outputs.branch}}'
uses: actions/checkout@v3
with:
repository: ${{ github.repository_owner }}/plugins
ref: ${{steps.extract_branch.outputs.branch}}
path: plugins

- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- run: python3 -m pip install --upgrade pip

- name: Install setuptools (needed for Python 3.12)
run: pip install setuptools
- name: Install requirements for unit testing
run: pip install -r tests/requirements.txt
- name: Build Requirements for SmartHomeNG
run: python3 tools/build_requirements.py
- name: Install SmartHomeNG base requirements
# base requirements are needed for pytest to run
run: pip install -r requirements/base.txt

# --- up to here, the workflow is identical for CORE and PLUGINS ---

- name: Install SmartHomeNG all requirements
# all requirements are needed for pytest to run plugin tests
run: pip install -r requirements/all.txt

- name: '>>> Run Python Unittests for PLUGINS <<<'
working-directory: ./plugins
run: pytest
9 changes: 8 additions & 1 deletion .gitignore
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,15 @@ nosetests.xml
ehthumbs.db
Thumbs.db

# don't upload private plugins
# don't upload private plugins or symlinked dirs
/priv_*

# don't upload plugins loaded from develop to a release installation
/*_dev/

# Pycharm settings
/.idea
/.vs

# VSCode settings
.vscode/settings.json
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "roombapysh/roombapy"]
path = roombapysh/roombapy
url = https://github.com/Pacifica15/roombapy.git
Loading