Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[homekit] add dimmer item support for slat characteristics #9682

Closed
wants to merge 177 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
177 commits
Select commit Hold shift + click to select a range
801f382
add dimmer item support for tilt characteristics
Jan 3, 2021
4f1e915
[lcn] Refactor and fix null warnings (#9675)
fwolter Jan 4, 2021
a63acf0
[remoteopenhab] Consider the remote item pattern formatter (#9657)
lolodomo Jan 4, 2021
91dc804
[icalendar] Fixed issues with moved events and wrong displayed events…
daMihe Jan 4, 2021
9ff37fb
[openhabcloud] APT Installation path update for openHAB 3 (#9679)
ItIsFelix Jan 4, 2021
1f3b0e2
[nikobus] open connection on refresh even if no modules exist (#9603)
gitwouter Jan 4, 2021
359c512
[hue] Fixed German translations for motion sensor (#9687)
cweitkamp Jan 4, 2021
ceb119b
[hue] Fixed configuration update for parameter 'ledindication' (#9685)
cweitkamp Jan 4, 2021
25947bf
[js] Added 'ConfigOptionProvider' to provide filenames ending with '.…
cweitkamp Jan 4, 2021
944ff33
[homekit] Improve documentation (#9683)
Confectrician Jan 4, 2021
e2c9656
[lcn] Set advanced flags more reasonably (#9676)
fwolter Jan 4, 2021
7e06da2
[remoteopenhab] Catch exception when parsing item state (#9690)
lolodomo Jan 4, 2021
8da4d4d
[icalendar] Change migration of last_update to use ThingHandlerCallba…
daMihe Jan 5, 2021
f3baad8
[lgwebos] Remove outdated statement from README.md (#9697)
sprehn Jan 5, 2021
8f84646
[groovyscripting] Update Groovy to 3.0.7 and add more docs (#9708)
wborn Jan 6, 2021
0816045
Update Mockito, JUnit and use MockitoExtensions in itests (#9702)
wborn Jan 6, 2021
4077a27
[tr064] improve documentation (#9667)
J-N-K Jan 6, 2021
a27c164
[logreader] Correct example for telegram binding (#9663)
soerenbe Jan 6, 2021
7c51fa9
[nikobus] Refresh impacted modules on simulated button press (#9716)
crnjan Jan 6, 2021
813ac27
[WiFi LED] Expanded example (#9627)
banzaay Jan 6, 2021
911cd01
[remoteopenhab] Fix Remote openHAB Readme typos and introduce non-bre…
stefan-muc Jan 6, 2021
7edcdef
[xmppclient] Update examples rules for OH3 usage (#9643)
s0-er-eN Jan 6, 2021
cb5d659
[Daikinmadoka] New channels and fixes (#9368)
blafois Jan 6, 2021
1480c41
[http] enable UoM for number channels (#9601)
J-N-K Jan 6, 2021
4e1d49c
[modbus] itests: Fix testRefreshOnData (#9668)
ssalonen Jan 6, 2021
1cbc06f
[tibber] Fix typos in README.md (#9721)
Taxifahrer Jan 6, 2021
6c648c4
[openweathermap] Added more supported languages (#9717)
cweitkamp Jan 6, 2021
ae7eb26
[draytonwiser] Expose Smart Plug Power Metering, Improve null handlin…
jamesmelville Jan 6, 2021
93824b5
[icalendar] Update Items configuration in README (#9714)
hirschberg Jan 7, 2021
d87c94d
[tr064] Normalize numbers in phonebook entries (#9733)
maniac103 Jan 7, 2021
d7d4fda
[openwebnet] Improvements for ZigBee USB and Dimmers (#9662)
mvalla Jan 8, 2021
fcb774c
[homekit] add support for QR code based pairing (#9475)
yfre Jan 8, 2021
3557094
[innogysmarthome] NullPointerException fixed which could occur when n…
Novanic Jan 8, 2021
3f0c0eb
[dsmr] Fix handling problem reading gasmeter (#9736)
Hilbrand Jan 8, 2021
9368f44
[homekit] use item name as accessory serial (#9748)
yfre Jan 8, 2021
8864566
[epsonprojector] Fix keycode channel to allow non-numeric characters …
mlobstein Jan 8, 2021
673535a
[tr064] Fixed parameter patterns (#9749)
J-N-K Jan 9, 2021
43a0439
[tr064] Merge duplicate phone book entries (#9739)
t2000 Jan 9, 2021
ef87af3
[tr064] reduce network load and improve XML handling (#9693)
J-N-K Jan 9, 2021
382ce10
[deconz] Added channel to enable / disable motion sensor (#9686)
cweitkamp Jan 9, 2021
2549870
Fixes #9673 (#9762)
morph166955 Jan 9, 2021
79b94e3
[homekit] fix pairing after update (#9769)
yfre Jan 10, 2021
b6eea71
[mqtt] Only unsubscribe if we subscribed before (#9758)
jochen314 Jan 10, 2021
d223696
[smartmeter] Fix flooding logs with warnings if serial port is not ac…
t2000 Jan 11, 2021
795189d
[pidcontroller] Remove limits, make Ki dependent from the loop time, …
fwolter Jan 12, 2021
0f118c6
Update bnd to 5.2.0 (#9785)
wborn Jan 12, 2021
79dfb43
[lcn] Fix displaying of "not enough licenses" message (#9761)
fwolter Jan 12, 2021
ac3f907
Normalized thread names (#9581)
Hilbrand Jan 12, 2021
706af08
[homematic] Fix for two (re)connection problems (#9692)
MHerbst Jan 12, 2021
c4887f3
[neato] Fix npe in discovery service. (#9561) (#9564)
jjlauterbach Jan 12, 2021
e3ae01d
[kostalinverter] Fixed package structure (#9559)
Hilbrand Jan 12, 2021
36e7366
[linky] Set channel to UNDEF when data not yet available (#9774)
lolodomo Jan 12, 2021
0dd50f2
[nanoleaf] Fixed color temperature setting (#9786)
kaikreuzer Jan 13, 2021
db8dc5d
[openhabcloud] Updated the openhab-cloud readme for OH3 (#9633)
Stefan300381 Jan 13, 2021
e9b1e35
[draytonwiser] MDNS Fixes (#9806)
jamesmelville Jan 13, 2021
2a00ac5
[tplinksmarthome] Add support for KP115 plug (#9800)
evan-a-a Jan 13, 2021
3e7014d
[tado] added representation property (#9801)
andrewfg Jan 13, 2021
4e73b05
[teleinfo] Fix memory leak (#9724)
olivierkeke Jan 13, 2021
cdbf10e
[miio] add support for chungmiplug 212a01 (#9795)
marcelrv Jan 13, 2021
eea5750
[tesla] Correctly handle floating point numbers (#9802)
kaikreuzer Jan 13, 2021
a46d9cb
[miio] update readme maker (#9797)
marcelrv Jan 13, 2021
41f8ae6
[jablotron] fixed programmable gates channels are not visible in the …
octa22 Jan 13, 2021
18d06bb
[siemensrds] Hide already instantiated Things in the InBox (#9808)
andrewfg Jan 13, 2021
0a9c5a0
[powermax] Refactor state objects (#9684)
ronisaacson Jan 13, 2021
ec1a91c
[ipcamera] Fix for Instar and HLS. (#9766)
Skinah Jan 13, 2021
8616c72
[satel] Thing discovery fix (#9718)
druciak Jan 13, 2021
b4705eb
[velux] Fixed a couple of bugs if the Bridge contains one or more Sce…
andrewfg Jan 13, 2021
04d87f3
[jdbc] Bump mysql-connector-java to version 8.0.22 (#9810)
cweitkamp Jan 13, 2021
e651aa6
[amazonechocontrol] refactor arrays to modern types (#9476)
J-N-K Jan 13, 2021
7e28fbb
[avmfritz] Added warning if temperature command cannot be converted t…
cweitkamp Jan 13, 2021
43b5e79
[avmfritz] Fixed channel update for DECT440 rocker (#9753)
cweitkamp Jan 13, 2021
7e5e0e2
[amazonechocontrol] fix thermostat handler (#9812)
J-N-K Jan 14, 2021
3f85b32
[tibber] Enhancement, added channel and channel corrections due to AP…
kjoglum Jan 14, 2021
b53c61b
[nanoleaf] Removed dependency on org.apache.commons (#9811)
cweitkamp Jan 14, 2021
3a0561b
[velux] Remove jar from prior PR (#9822)
andrewfg Jan 14, 2021
c7210dc
[influxdb] Added path of the configuration file (#9819)
hutdev Jan 14, 2021
d95fc92
[mqtt-homeassistant] added JOSNPath and JINJA as requirements (#9572)
fundef1 Jan 14, 2021
acc5eb9
[satel] Removed dependency on 'org.apache.commons.lang' (#9805)
druciak Jan 15, 2021
f3f957e
[epsonprojector] reset ready flag on disconnect (#9770)
matthiaswe Jan 15, 2021
afb9ea1
[miio] add support for viomi.waterheater.e1 (#9798)
marcelrv Jan 15, 2021
59dffd0
Resolve itests for BOM changes (#9828)
wborn Jan 15, 2021
6cf488f
[one wire][fix absolute humidity channel type (#9833)
J-N-K Jan 15, 2021
cc70f56
[digitalstrom] fix concurrency issue (#9834)
J-N-K Jan 15, 2021
c426d6d
[miio] Improve Airpurifiers (#9756)
marcelrv Jan 16, 2021
de3cacc
[tesla] Removed dependency on org.apache.commons (#9815)
cweitkamp Jan 16, 2021
675de38
[icalendar] Ensure DecimalType will be used if no unit given (#9849)
chris922 Jan 17, 2021
2afb069
remove dependency on o.a.c.l (#9835)
J-N-K Jan 17, 2021
2a5bdf3
[boschshc] Initial contribution - Bindings for Bosch Smart Home devic…
coeing Jan 17, 2021
3c27aeb
[avmfritz] Added initial refresh of Call Monitor channels and improve…
cweitkamp Jan 17, 2021
c341c50
[buienradar] Avoid to much log noise (#9804)
bjoernbrings Jan 18, 2021
fe32f91
[miio] improve Mi Water Purifier 600G yunmi.waterpuri.lx8. (#9752)
marcelrv Jan 18, 2021
155e3b7
[miio] fix printed zone clean command (#9865)
marcelrv Jan 18, 2021
247afd4
[miio] readme update (#9858)
marcelrv Jan 18, 2021
9fe47f8
[miio] add support for dreame vacuum d9 (#9859)
marcelrv Jan 18, 2021
583d13e
[miio] add support for nwt.derh.wdh318efw1 Internet Dehumidifier (#9787)
marcelrv Jan 18, 2021
05c16b0
Fix links and NOTICE files (#9860)
wborn Jan 18, 2021
08833c7
[roku] binding - initial implementation (#9571)
mlobstein Jan 18, 2021
ce6954a
[miio] add support for Mijia Smart Pet Water Dispensers (#9861)
marcelrv Jan 18, 2021
d8e5a57
[WlanThermo] Add support for new ESP32-powered devices [V3.x] (#9579)
CSchlipp Jan 18, 2021
1a64f10
[hue] Use system default channel types for lights (#9856)
cweitkamp Jan 19, 2021
b5b7879
[pidcontroller] Fix for handling trigger input in action (#9842)
Hilbrand Jan 19, 2021
c81e0c0
[modbus] update verbose logging guide in README (#9871)
ssalonen Jan 19, 2021
25434a7
[tr064] Update documentation for textual config (#9876)
gordongeissler Jan 19, 2021
63b8179
[omnilink] Initial contribution (#8922)
ecdye Jan 19, 2021
c0dd8be
[tellstick] Fixes NoClassDefFoundError (#9634)
kalleboll Jan 20, 2021
b23e57f
[tr064] Update docs: Manual scan (#9879)
nowaterman Jan 20, 2021
bcedab8
[tr064] Improve PHONEBOOK profile documentation (#9854)
t2000 Jan 20, 2021
a693a4e
[androiddebugbridge] Initial contribution (#9259)
GiviMAD Jan 21, 2021
0fc60d8
[dsmr] Fix test after openhab-core change #2126 (#9900)
Hilbrand Jan 21, 2021
de126f6
[miio] reorganise the device list (#9887)
marcelrv Jan 22, 2021
23fd13c
[miio] fix channels with invalid names (#9888)
marcelrv Jan 22, 2021
ca6d62d
[miio] Fix double stratus update (#9901)
marcelrv Jan 22, 2021
8889762
Removal of reference to PaperUI (#9905)
Hilbrand Jan 22, 2021
37bc57f
Do not define bundel related versions in OH feature file (#9904)
cweitkamp Jan 22, 2021
ab290c5
[haywardomnilogic] Replacement for Hayward Omnilogic Pool Automation …
matchews Jan 22, 2021
86efd73
[miio] add support for zhimi airpurifier 3C (mb4) (#9885)
marcelrv Jan 22, 2021
6bddad1
[deconz] fix loglevel (#9915)
J-N-K Jan 23, 2021
f2ed984
[mqtt.generic] Fix default values in switch/contact channels (#9760)
jochen314 Jan 23, 2021
f461e5a
Fix trigger channel definition (#9927)
J-N-K Jan 23, 2021
9203603
[http] add note on escaping URLs (#9924)
J-N-K Jan 23, 2021
3c2960e
[hue] Fix rule example (#9928)
75ohm Jan 24, 2021
5682292
Bump Apache Commons Net to 3.7.2 (#9921)
t2000 Jan 24, 2021
b0a15b4
Merge pull request from GHSA-r2hc-pmr7-4c9r
kaikreuzer Jan 24, 2021
6ddf5ec
[openweathermap] Fixed UV-Index Channel Group Creation (#9832)
cweitkamp Jan 24, 2021
ac3e4e3
[tradfri] Use system default channel types for lights (#9864)
cweitkamp Jan 24, 2021
5af916a
[mqtt.generic] Update README.md (#9881)
jsprenkle Jan 24, 2021
5a2b604
[map] Update README.md (#9886)
xi1I Jan 24, 2021
3f13392
[sonos] Add support for Sonos Arc/Arc SL + new controls for sub/surro…
lolodomo Jan 24, 2021
1c0da83
[deconz] add ontime feature (#9914)
J-N-K Jan 24, 2021
4276f5c
made Enigma2 binding compile again after merge of private branch
kaikreuzer Jan 24, 2021
7df9290
made roku binding compile again after merge of private branch
kaikreuzer Jan 24, 2021
506d21f
[neeo] fix forwardActionServlet and code improvements (#9929)
J-N-K Jan 24, 2021
4fba096
[fronius] fix invalid json error on meter data (#9912)
jimtng Jan 24, 2021
5fe2f9c
[icalendar] Use cache folder to store calendar file (#9911)
cweitkamp Jan 24, 2021
f5ee685
Fixed errrornous urls from merged private branch
kaikreuzer Jan 24, 2021
239e33a
[bluetooth.govee] Govee Bluetooth Binding initial contribution (#8610)
cpmeister Jan 25, 2021
f926cd8
Add POM and feature dependencies for commons-net (#9940)
wborn Jan 25, 2021
163806e
[sonos] Add bass/treble/loudness controls (#9918)
lolodomo Jan 25, 2021
5f68221
[serial] Correct config examples (#9949)
MikeJMajor Jan 25, 2021
b4a181a
Add issue template config (#9882)
mueller-ma Jan 25, 2021
c489eef
fix wrong unit in TotalBytes (#9954)
J-N-K Jan 25, 2021
27b8de4
[sonos] Add sub/surround controls to Beam, Playbar and Playbase (#9952)
lolodomo Jan 25, 2021
781a824
fix missing re-connect if first request timed out (#9955)
J-N-K Jan 25, 2021
5dd30ea
[HEOS] Update pause/stop handling (#9941)
martinvw Jan 25, 2021
c77d3b9
[samsungtv] WebSocket TVs stay UNKNOWN until first power-on #9764 (#9…
morph166955 Jan 25, 2021
cc00fd7
[miio] allow all quantitytypes and units (#9959)
marcelrv Jan 26, 2021
c9dbc46
[miio] use json db to drive temperature channel definitions (#9960)
marcelrv Jan 26, 2021
e4b9593
[irobot] Add command "cleanRegions" to clean specific regions only (#…
rimago Jan 26, 2021
89f5538
[ihc] Fixed extensible channel names (#9956)
paulianttila Jan 26, 2021
a49b348
[tivo] fix bugs with standby mode and channel parsing (#9964)
mlobstein Jan 26, 2021
e8ba8ec
[OmniLink] Use for each loop in getChildThing() (#9963)
ecdye Jan 26, 2021
7ce7228
[sonos] Fix sub/surround controls (#9961)
lolodomo Jan 26, 2021
7141a09
[hue] Added support for different color temperature capabilities and …
cweitkamp Jan 26, 2021
3ec5243
[sonos] Add support for Sonos Move (#9962)
lolodomo Jan 27, 2021
5a7be93
[openthermgateway] fix automatic reconnect after connection attempt f…
ArjenKorevaar Jan 27, 2021
e4ac982
[miio] add support for zhimi.humidifier.cb2 Smartmi Evaporative Humid…
marcelrv Jan 27, 2021
6473935
[OpenUV] Marked the SafeExposure channel as extensible so user can ad…
clinique Jan 27, 2021
2127ac2
[heos] Fix runtime error; Support for new Denon "Home" speaker added…
Wire82 Jan 28, 2021
8494a0e
[http] Fix duplicate commands on PlayerItemConverter (#9981)
J-N-K Jan 29, 2021
db3e2b6
[miio] remove unit from color temperature (#9970)
marcelrv Jan 29, 2021
429183b
[amazonechocontrol] fix api url (#9982)
J-N-K Jan 29, 2021
80c52f4
[homematic] Use .equals() to compare two Integers instead of == (code…
pavog Jan 29, 2021
b2bb917
[espmilighthub] Initial contribution (#9218)
Skinah Jan 29, 2021
7a867c4
[influxdb] Update README.md (#9989)
neutmute Jan 30, 2021
f58df8f
[miio] validate response id matching command id (#9966)
marcelrv Jan 30, 2021
f1aec07
[amazondashbutton] fix representation property (#9988)
J-N-K Jan 30, 2021
fd1caea
[pidcontroller] Reset command Item; Fix read-only states of config pa…
fwolter Jan 31, 2021
024b36a
[sonos] Add new channels for battery (Sonos Move) (#9998)
lolodomo Jan 31, 2021
4c7f9ef
[remoteopenhab] Prefer StringContentProvider (#10001)
lolodomo Jan 31, 2021
f2ea947
[smartmeter] Fix NPE while trying to get ChannelType (#10007)
t2000 Jan 31, 2021
0f8f72d
[sonos] Add new channel for microphone (Arc, Beam, Move, One) (#9999)
lolodomo Jan 31, 2021
d5e83e3
[modbus] Replace apache commons lang usage with plain java (#10002)
ssalonen Feb 1, 2021
3a2c996
[lcn] Fix several bugs in measurement processing with firmware before…
fwolter Feb 1, 2021
ff3ff93
[linky] One unique method to update daily and weekly data channels (#…
lolodomo Feb 1, 2021
da130da
add dimmer item support for tilt characteristics
Jan 3, 2021
408533c
implement mapping logic
Feb 1, 2021
8cf0565
rebase
Feb 1, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
@@ -1,5 +1,5 @@
---
name: "\U0001F41B Bug report"
name: "🐛 Bug report"
about: Something isn't working correctly with an add-on. This is the wrong place for user-interfaces or openHAB Core issues.
labels: bug

Expand Down
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,11 @@
blank_issues_enabled: true
contact_links:
- name: 🤔 Support/Usage Question
url: https://community.openhab.org
about: Feel free to ask anything
- name: 📖 Documentation
url: https://openhab.org/addons
about: Official documentation
- name: 📚 Translation feedback
url: https://crowdin.com/project/openhab2-addons
about: Share feedback on translations
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/documentation_issue.md
@@ -1,5 +1,5 @@
---
name: "Documentation issue"
name: "📖 Documentation issue"
about: Some information within the add-on documentation is wrong or missing
labels: documentation

Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.md
@@ -1,5 +1,5 @@
---
name: "Feature request"
name: "Feature request"
about: You think that your favorite add-on should gain another feature
labels: enhancement

Expand Down
10 changes: 0 additions & 10 deletions .github/ISSUE_TEMPLATE/usage_question.md

This file was deleted.

9 changes: 8 additions & 1 deletion CODEOWNERS
Validating CODEOWNERS rules …
Expand Up @@ -16,6 +16,7 @@
/bundles/org.openhab.binding.amazondashbutton/ @OLibutzki
/bundles/org.openhab.binding.amazonechocontrol/ @mgeramb
/bundles/org.openhab.binding.ambientweather/ @mhilbush
/bundles/org.openhab.binding.androiddebugbridge/ @GiviMAD
/bundles/org.openhab.binding.astro/ @gerrieg
/bundles/org.openhab.binding.atlona/ @tmrobert8
/bundles/org.openhab.binding.autelis/ @digitaldan
Expand All @@ -31,9 +32,11 @@
/bundles/org.openhab.binding.bluetooth.daikinmadoka/ @blafois
/bundles/org.openhab.binding.bluetooth.enoceanble/ @pfink
/bundles/org.openhab.binding.bluetooth.generic/ @cpmeister
/bundles/org.openhab.binding.bluetooth.govee/ @cpmeister
/bundles/org.openhab.binding.bluetooth.roaming/ @cpmeister
/bundles/org.openhab.binding.bluetooth.ruuvitag/ @ssalonen
/bundles/org.openhab.binding.boschindego/ @jofleck
/bundles/org.openhab.binding.boschshc/ @stefan-kaestle @coeing @GerdZanker
/bundles/org.openhab.binding.bosesoundtouch/ @marvkis @tratho
/bundles/org.openhab.binding.bsblan/ @hypetsch
/bundles/org.openhab.binding.bticinosmarther/ @MrRonfo
Expand Down Expand Up @@ -89,6 +92,7 @@
/bundles/org.openhab.binding.gree/ @markus7017
/bundles/org.openhab.binding.groheondus/ @FlorianSW
/bundles/org.openhab.binding.harmonyhub/ @digitaldan
/bundles/org.openhab.binding.haywardomnilogic/ @matchews
/bundles/org.openhab.binding.hdanywhere/ @kgoderis
/bundles/org.openhab.binding.hdpowerview/ @beowulfe
/bundles/org.openhab.binding.helios/ @kgoderis
Expand Down Expand Up @@ -160,6 +164,7 @@
/bundles/org.openhab.binding.monopriceaudio/ @mlobstein
/bundles/org.openhab.binding.mpd/ @stefanroellin
/bundles/org.openhab.binding.mqtt/ @davidgraeff
/bundles/org.openhab.binding.mqtt.espmilighthub/ @Skinah
/bundles/org.openhab.binding.mqtt.generic/ @davidgraeff
/bundles/org.openhab.binding.mqtt.homeassistant/ @davidgraeff
/bundles/org.openhab.binding.mqtt.homie/ @davidgraeff
Expand All @@ -184,6 +189,7 @@
/bundles/org.openhab.binding.oceanic/ @kgoderis
/bundles/org.openhab.binding.ojelectronics/ @EvilPingu
/bundles/org.openhab.binding.omnikinverter/ @hansbogert
/bundles/org.openhab.binding.omnilink/ @ecdye
/bundles/org.openhab.binding.onebusaway/ @sdwilsh
/bundles/org.openhab.binding.onewire/ @J-N-K
/bundles/org.openhab.binding.onewiregpio/ @aogorek
Expand Down Expand Up @@ -216,6 +222,7 @@
/bundles/org.openhab.binding.rfxcom/ @martinvw @paulianttila
/bundles/org.openhab.binding.rme/ @kgoderis
/bundles/org.openhab.binding.robonect/ @reyem
/bundles/org.openhab.binding.roku/ @mlobstein
/bundles/org.openhab.binding.rotel/ @lolodomo
/bundles/org.openhab.binding.russound/ @tmrobert8
/bundles/org.openhab.binding.sagercaster/ @clinique
Expand Down Expand Up @@ -253,7 +260,7 @@
/bundles/org.openhab.binding.tankerkoenig/ @dolic @JueBag
/bundles/org.openhab.binding.telegram/ @ZzetT
/bundles/org.openhab.binding.teleinfo/ @Nokyyz
/bundles/org.openhab.binding.tellstick/ @jarlebh
/bundles/org.openhab.binding.tellstick/ @openhab/add-ons-maintainers
/bundles/org.openhab.binding.tesla/ @kgoderis
/bundles/org.openhab.binding.tibber/ @kjoglum
/bundles/org.openhab.binding.tivo/ @mlobstein
Expand Down
35 changes: 35 additions & 0 deletions bom/openhab-addons/pom.xml
Expand Up @@ -71,6 +71,11 @@
<artifactId>org.openhab.binding.ambientweather</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.androiddebugbridge</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.astro</artifactId>
Expand Down Expand Up @@ -141,6 +146,11 @@
<artifactId>org.openhab.binding.bluetooth.generic</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.bluetooth.govee</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.bluetooth.roaming</artifactId>
Expand All @@ -156,6 +166,11 @@
<artifactId>org.openhab.binding.boschindego</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.boschshc</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.bosesoundtouch</artifactId>
Expand Down Expand Up @@ -431,6 +446,11 @@
<artifactId>org.openhab.binding.harmonyhub</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.haywardomnilogic</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.hdanywhere</artifactId>
Expand Down Expand Up @@ -786,6 +806,11 @@
<artifactId>org.openhab.binding.mqtt</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.mqtt.espmilighthub</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.mqtt.generic</artifactId>
Expand Down Expand Up @@ -906,6 +931,11 @@
<artifactId>org.openhab.binding.omnikinverter</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.omnilink</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.onebusaway</artifactId>
Expand Down Expand Up @@ -1066,6 +1096,11 @@
<artifactId>org.openhab.binding.robonect</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.roku</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.openhab.addons.bundles</groupId>
<artifactId>org.openhab.binding.rotel</artifactId>
Expand Down
42 changes: 41 additions & 1 deletion bundles/org.openhab.automation.groovyscripting/README.md
@@ -1,3 +1,43 @@
# Groovy Scripting

This add-on provides support for [Groovy](https://groovy-lang.org/) 3.x scripts in openHAB.
This add-on provides support for [Groovy](https://groovy-lang.org/) 3.0.7 that can be used as a scripting language within automation rules and which eliminates the need to manually install Groovy.

## Creating Groovy Scripts

When this add-on is installed, you can select Groovy as a scripting language when creating a script action within the rule editor of the UI.

Alternatively, you can create scripts in the `automation/jsr223` configuration directory.
If you create an empty file called `test.groovy`, you will see a log line with information similar to:

```text
... [INFO ] [.a.m.s.r.i.l.ScriptFileWatcher:150 ] - Loading script 'test.groovy'
```

To enable debug logging, use the [console logging]({{base}}/administration/logging.html) commands to enable debug logging for the automation functionality:

```text
log:set DEBUG org.openhab.core.automation
```

For more information on the available APIs in scripts see the [JSR223 Scripting]({{base}}/configuration/jsr223.html) documentation.

## Script Examples

Groovy scripts provide access to almost all the functionality in an openHAB runtime environment.
As a simple example, the following script logs "Hello, World!".
Note that `System.out.println` will usually not work since the output has no terminal to display the text.
The openHAB server uses the [SLF4J](https://www.slf4j.org/) library for logging.

```groovy
import org.slf4j.LoggerFactory

LoggerFactory.getLogger("org.openhab.core.automation.examples").info("Hello world!")
```

Depending on the openHAB logging configuration, you may need to prefix logger names with `org.openhab.core.automation` for them to show up in the log file (or you modify the logging configuration).

The script uses the [LoggerFactory](https://www.slf4j.org/apidocs/org/slf4j/Logger.html) to obtain a named logger and then logs a message like:

```text
... [INFO ] [.openhab.core.automation.examples:-2 ] - Hello world!
```
2 changes: 1 addition & 1 deletion bundles/org.openhab.automation.groovyscripting/pom.xml
Expand Up @@ -16,7 +16,7 @@

<properties>
<bnd.importpackage>com.ibm.icu.*;resolution:=optional,groovy.runtime.metaclass;resolution:=optional,groovyjarjarantlr4.stringtemplate;resolution:=optional,org.abego.treelayout.*;resolution:=optional,org.apache.ivy.*;resolution:=optional,org.stringtemplate.v4.*;resolution:=optional</bnd.importpackage>
<groovy.version>3.0.6</groovy.version>
<groovy.version>3.0.7</groovy.version>
</properties>

<dependencies>
Expand Down
29 changes: 13 additions & 16 deletions bundles/org.openhab.automation.pidcontroller/README.md
Expand Up @@ -22,20 +22,17 @@ This module triggers whenever the `input` or the `setpoint` changes or the `loop
Every trigger calculates the P, the I and the D part and sums them up to form the `output` value.
This is then transferred to the action module.

| Name | Type | Description | Required |
|--------------------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------|----------|
| `input` | Item | Name of the input [Item](https://www.openhab.org/docs/configuration/items.html) (e.g. temperature sensor value) | Y |
| `setpoint` | Item | Name of the setpoint Item (e.g. desired room temperature) | Y |
| `kp` | Decimal | P: [Proportional Gain](#proportional-p-gain-parameter) Parameter | Y |
| `ki` | Decimal | I: [Integral Gain](#integral-i-gain-parameter) Parameter | Y |
| `kd` | Decimal | D: [Derivative Gain](#derivative-d-gain-parameter) Parameter | Y |
| `kdTimeConstant` | Decimal | D-T1: [Derivative Gain Time Constant](#derivative-time-constant-d-t1-parameter) in sec. | Y |
| `outputLowerLimit` | Decimal | The output of the PID controller will be max this value | Y |
| `outputUpperLimit` | Decimal | The output of the PID controller will be min this value | Y |
| `loopTime` | Decimal | The interval the output value will be updated in milliseconds. Note: the output will also be updated when the input value or the setpoint changes. | Y |

The purpose of the limit parameters are to keep the output value and the integral value in a reasonable range, if the regulation cannot meet its setpoint.
E.g. the window is open and the heater doesn't manage to heat up the room.
| Name | Type | Description | Required |
|------------------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------|----------|
| `input` | Item | Name of the input [Item](https://www.openhab.org/docs/configuration/items.html) (e.g. temperature sensor value) | Y |
| `setpoint` | Item | Name of the setpoint Item (e.g. desired room temperature) | Y |
| `kp` | Decimal | P: [Proportional Gain](#proportional-p-gain-parameter) Parameter | Y |
| `ki` | Decimal | I: [Integral Gain](#integral-i-gain-parameter) Parameter | Y |
| `kd` | Decimal | D: [Derivative Gain](#derivative-d-gain-parameter) Parameter | Y |
| `kdTimeConstant` | Decimal | D-T1: [Derivative Gain Time Constant](#derivative-time-constant-d-t1-parameter) in sec. | Y |
| `commandItem` | String | Send a String "RESET" to this item to reset the I and the D part to 0. | N |
| `loopTime` | Decimal | The interval the output value will be updated in milliseconds. Note: the output will also be updated when the input value or the setpoint changes. | Y |


The `loopTime` should be max a tenth of the system response.
E.g. the heating needs 10 min to heat up the room, the loop time should be max 1 min.
Expand Down Expand Up @@ -76,8 +73,8 @@ The bigger this parameter, the faster the drifting.

A value of 0 disables the I part.

A value of 1 adds the current setpoint deviation (error) to the output each second.
E.g. the setpoint is 25°C and the measured value is 20°C, the output will be set to 5 after 1 sec.
A value of 1 adds the current setpoint deviation (error) to the output each `loopTime` (in milliseconds).
E.g. (`loopTimeMs=1000`) the setpoint is 25°C and the measured value is 20°C, the output will be set to 5 after 1 sec.
After 2 sec the output will be 10.
If the output is the opening of a valve in %, you might want to set this parameter to a lower value (`ki=0.1` would result in 30% after 60 sec: 5\*0.1\*60=30).

Expand Down
Expand Up @@ -26,8 +26,7 @@ public class PIDControllerConstants {
public static final String AUTOMATION_NAME = "pidcontroller";
public static final String CONFIG_INPUT_ITEM = "input";
public static final String CONFIG_SETPOINT_ITEM = "setpoint";
public static final String CONFIG_OUTPUT_LOWER_LIMIT = "outputLowerLimit";
public static final String CONFIG_OUTPUT_UPPER_LIMIT = "outputUpperLimit";
public static final String CONFIG_COMMAND_ITEM = "commandItem";
public static final String CONFIG_LOOP_TIME = "loopTime";
public static final String CONFIG_KP_GAIN = "kp";
public static final String CONFIG_KI_GAIN = "ki";
Expand Down
Expand Up @@ -25,9 +25,6 @@
*/
@NonNullByDefault
class PIDController {
private final double outputLowerLimit;
private final double outputUpperLimit;

private double integralResult;
private double derivativeResult;
private double previousError;
Expand All @@ -38,17 +35,14 @@ class PIDController {
private double kd;
private double derivativeTimeConstantSec;

public PIDController(double outputLowerLimit, double outputUpperLimit, double kpAdjuster, double kiAdjuster,
double kdAdjuster, double derivativeTimeConstantSec) {
this.outputLowerLimit = outputLowerLimit;
this.outputUpperLimit = outputUpperLimit;
public PIDController(double kpAdjuster, double kiAdjuster, double kdAdjuster, double derivativeTimeConstantSec) {
this.kp = kpAdjuster;
this.ki = kiAdjuster;
this.kd = kdAdjuster;
this.derivativeTimeConstantSec = derivativeTimeConstantSec;
}

public PIDOutputDTO calculate(double input, double setpoint, long lastInvocationMs) {
public PIDOutputDTO calculate(double input, double setpoint, long lastInvocationMs, int loopTimeMs) {
final double lastInvocationSec = lastInvocationMs / 1000d;
final double error = setpoint - input;

Expand All @@ -60,23 +54,22 @@ public PIDOutputDTO calculate(double input, double setpoint, long lastInvocation
}

// integral calculation
integralResult += error * lastInvocationSec;
// limit to output limits
if (ki != 0) {
final double maxIntegral = outputUpperLimit / ki;
final double minIntegral = outputLowerLimit / ki;
integralResult = Math.min(maxIntegral, Math.max(minIntegral, integralResult));
}
integralResult += error * lastInvocationMs / loopTimeMs;

// calculate parts
final double proportionalPart = kp * error;
final double integralPart = ki * integralResult;
final double derivativePart = kd * derivativeResult;
output = proportionalPart + integralPart + derivativePart;

// limit output value
output = Math.min(outputUpperLimit, Math.max(outputLowerLimit, output));

return new PIDOutputDTO(output, proportionalPart, integralPart, derivativePart, error);
}

public void setIntegralResult(double integralResult) {
this.integralResult = integralResult;
}

public void setDerivativeResult(double derivativeResult) {
this.derivativeResult = derivativeResult;
}
}