* [snmp] Upgrades and enhancements
- bug: improve test stability
- enhancement: add support for UoM
- bug: fix misleading error message
- bug: fix initialization exceptions
- enhancement: Add support for SNMPv3
- enhancement: add opaque value handling
Signed-off-by: Jan N. Klug <github@klug.nrw>
* [jsscriptingnashorn] JavaScript Scripting Nashorn Automation
This add-on allows you to use your older JavaScript (ECMAScript 5.1) rules on newer Java versions until they are migrated to JavaScript (ECMAScript 2021+).
The add-on uses a standalone [Nashorn Engine](https://github.com/openjdk/nashorn) which was part of Java until it was removed in Java 15.
* Update parent to 3.4.0-SNAPSHOT and nashorn-core to 15.4
For the Nashorn changelog, see:
https://github.com/openjdk/nashorn/blob/main/CHANGELOG.md
* Update parent to 4.0.0-SNAPSHOT
* Remove removeUnsupportedNashornArgs
* Update scriptTypes
* Add CODEOWNERS entry
* Recycle ScriptScopeOSGiTest.java
It got removed in openhab/openhab-core#2994
* Remove redundant new line from pom.xml
Signed-off-by: Wouter Born <github@maindrain.net>
* First commit on newly created branch, taking code from c8b8e210dfd23f98526763782eadbca49509baf9
* [bondhome] update snapshot version, and some typos
* [bondhome] Address (most) comments from prior review from #7260
* [bondhome] simplify channels
* lastUpdate is unnecessary; turn on persistence or add a rule on update if
you care to keep track of it
* use a single string command channel for all shoot-and-forget commands, instead
of multiple switch channels
* use a rollershutter channel for shades (accepting UP, DOWN, STOP, 0%, and 100%)
* on all dimmer channels, accept ON and OFF, as well as 0% to imply OFF, instead
of having to write rules to control ON/OFF state separately.
* if the dimmer channel exists, prune the corresponding power channel, since
the dimmer channel is now a pure superset of its functionality
* overload fan#speed to be ceiling fan or a fireplace's fan, depending on the
device type
* [bondhome] add bundle to the BOM pom
* [bondhome] clean up BondDeviceHandler a bit
* there's no need to delay initialization; ThingManager won't
even attempt to initialize a child thing until its bridge is online
* Remove some extra initialization checks that can never be false
* slightly refactor some methods to return early, rather than
nest a giant `else`
* remove some info logging that will get triggered in normal usage
* [bondhome] fix bridge discovery
* Bridge property and config serial number need to be the same name
* Don't arbitrarily delay the BPUPListener
* Automatically update the IP if the BPUPListener finds it
* Provide the new bridge with its discovered IP to avoid an additional
DNS query
* Don't get the bridge version after every keep-alive response
* [bondhome] trigger end-device discovery as soon as the bridge comes online
* [bondhome] remove internal binding version
* [bondhome] change addr property to string
Certain values seen in the wild when interpreted as a long are too big for that
storage. Also, the Bond API documentation describes the addr property on a
device to be a string.
OpenHAB already has infrastructure to have things update their
channel definitions when a binding is updated.
* [bondhome] ignore any device that starts with _
In v3 of their API, Bond added a new special entry of __. Because no valid
device id would start with an underscore, ignore everything that starts with an
underscore to fix v3 and maybe futureproof.
* address review comments
mostly adding i18n to error states, and cleaning up error handling of
HTTP requests.
* use builtin translation services
instead of plumbing our own provider through
* use System.nanoTime instead of currentTimeMillis
so that it will be a monotonic clock, not (as) susceptible to the clock
changing
* [bondhome] ignore BPUP messasges that aren't state
In recent firmware, bond is now sending action messages via BPUP as well as state.
This change ignores all messages that aren't state.
* [bondhome] Improve error handling, and remove dummy constants
Just use a single BondException class to communicate any sort of
error from within bond, and avoid throwing, catching, and re-throwing
the same (or slightly modified) exception.
Also remove dummy constants that might give the wrong impression
of the details of your Bond device. Then implement proper null checks,
especially setting a configuration error if key config properties
aren't set on the thing.
* [bondhome] avoid setting device status when bridge just went offline
* address static analysis tool problems
Also-by: Sara Damiano <sdamiano@stroudcenter.org>
Also-by: Keith T. Garner <kgarner@kgarner.com>
Signed-off-by: Cody Cutrer <cody@cutrer.us>
* [unifi] Fix PoE port mode for 24V
The value UniFi expects is actually pasv24. Tested with different UniFi controller versions.
* [unifi] Added Hilbrand as codeowner to UniFi binding
Signed-off-by: Hilbrand Bouwkamp <hilbrand@h72.nl>
* [ecowatt] Initial contribution
This binding uses the Ecowatt API to expose clear signals to adopt the right gestures and to ensure a good supply of electricity for all in France.
Close#13351
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
* Update bundles/org.openhab.binding.ecowatt/src/main/resources/OH-INF/thing/thing-types.xml
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
* [mimictts] Initial contribution
Add a voice service for Mimic (version 3) TTS from Mycroft AI.
Signed-off-by: Gwendal Roulleau <gwendal.roulleau@gmail.com>
* [wundergroundupdatereceiver] Initial implementation
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Code review
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Fix some description formatting
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Add some more channel types per request
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Add more headers to response
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
Based on the observed headers from actual traffic to wunderground.com.
* [wundergroundupdatereceiver] Discovery service
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Upgrade to 3.2, fix group name constants
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Add a list of channel types
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Add dateutc as synthetic DateTime channel
Also add som emore constants
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Do more programmatic configuration
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] More readme
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Update copyright year
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Handle multiple instance request parameters
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
Ie. those that can have an index number in the name, fx. temp1f, temp2f
* [wundergroundupdatereceiver] Add unmapped but mappable channels
To support multiple devices any new parameters that are submitted cause a new channel to be created
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Don't pass superfluous config to channels
Also documentation additions
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Add generated i18n file
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Re-case test method names
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
* [wundergroundupdatereceiver] Re-word thing file section of README
Signed-off-by: Daniel Demus <daniel-github@demus.dk>
Co-authored-by: Daniel Demus <dde@nine.dk>
- Initial version added (copied and renamed from the innogysmarthome binding)
- The local API is now used, authorization, bridge initialization and discovery is already working
- Potential NullPointerExceptions fixed
- Adding battery-low-Channel support for ISC2
- More optimizations and local API changes in the ReadMe
- The key button counter channels are now updated correctly. The according trigger channels should now also work fine.
- Bug fixes regarding button pressed event. The pressed event is now executed along with short and long press events, so if someone want to react on a button press (short or long), the PRESSED trigger event can get checked. And the pressed event isn't senseless executed on a binding restart anymore.
- Error messages improved
- Deprecation-Notice
- New deprecation warning integrated in the innogysmarthome binding
- Livisi renamed to LIVISI
- SHC channels are now initialized correctly
- New "status" channel for the SHC with the values ACTIVE, INITIALIZING and SHUTTINGDOWN
- Code and documentation optimizations
- Fix for PT-PSS action
- Support for SHC classic - The websocket is hosted on another port.
- Update for Temperature-Channel-Definitions and Translations (de)
- Update for Power-Channel-Definitions
- Further translations (de) for devices and channels
- Refactoring branch integrated (some tests added and a lot of code optimizations for example smaller methods, better method names, more simple flows without continue and return in void methods, improved NULL handling, etc.)
- Code optimization (special handling for VariableActuator removed which seems to be not required anymore)
- The thing status is now set to offline when the device is not reachable (even on binding start up)
- The thing status is now set to online again when the device is reachable again
- Clearer description of the invert switch of the RollerShutter (ISR2)
- Copyright notices corrected
- Imports optimized
- Changed handling of pointTemperature (QuantityType instead of DecimalType)
- Code optimization (device status listeners are now registered with device id, so it isn't necessary anymore to call all listeners to find the right matching listener for the device event).
- Code optimization (not working mDNS bridge discovery removed).
- Explicit idle timeout removed (seems not to be required anymore for the local API and may cause problems with SHC 1, there occur EOFExceptions)
- Code optimizations (Debug code removed which isn't required anymore)
- Warn message added which is logged when the temperature to set is not between min and max temperature (this can happen when the user uses the REST-API instead of MainUI or probably also when set via a rule).
- Code optimizations (stronger/consequent use of QuantityType instead of DecimalType)
- Temperature values outside the possible range of 6 - 30 °C are now set to 6 / 30 °C. Therefore a temperature channel can get set to 0 °C for example by a rule and this is automatically changed to 6 °C (and causes a debug message).
- Code optimizations
- Bug fixes regarding UnitsOfMeasurements (Number:Power)
- Tests repaired
- The local API returns "[]" for empty objects which should only get used for arrays... This is now handled by the binding with replacing "[]" by "null". This error occurred with SHC 1, it isn't known if SHC 2 is also affected.
- Number:Dimensionless (percent) introduced for humidity and luminance
- Button events are now supported for SHC 1 (Classic), but without information about short or long press (isn't available for this SHC model).
- Button events are now supported for SHC 1 (Classic), but without information about short or long press (isn't available for this SHC model).
- The configVersion is now also available for SHC 1 bridges.
- More changes to Descriptions, Translations, Icons, Channel-Order, Channel-Config
- Trace logging of responses added to increase the traceability
- The SHC channels should now also get filled for SHC classic
- cpu, memory and disc channels are now defined as percentage (Number:Dimensionless)
- Jetty-HttpClient replaced by simple UrlConnection, because Jetty-HttpClient has problems with high frequency execution of requests. There were EOFExceptions with SHC classic when 2 or more requests were executed within the same second...
- Readme updated
- Copyright notices corrected
- Additions in ReadMe for RST2 / WRT
- The bridge channels (cpu, memory, disc and operation state) are now updated every minute for SHC 1 / classic (because there are no such events for SHC 1 / classic)
- Bug-fix for SHC 1 / classic: Device attributes are now updated correctly for SHC 1 / classic (there is another response structure, which caused that some attributes were not found / update). This should have affected battery low and reachable (thing status) information.
- There are also raw events which report changes regarding the bridge channels (cpu, memory, disc and operation status). There are now processed.
- Token request JSON changed to lower-case (to be compatible with the new SHC firmware update and this should enable to use the standard logics)
- SHC 2 can now get authenticated with the OAuth 2.0 standard logics of OpenHAB (with x-www-form-urlencoded instead of json). The old special json logic is still there to support SHC 1 (but SHC 1 will also get updated soon).
- SHC 1 supports now short and long button pressed events
- Outdated custom login logics removed. SHC 2 and SHC 1 / classic supports now OAuth 2.0 login requests, therefore the default login logics of OpenHAB can now get used.
- README updated for the required software version of SHC 1 / classic
- Code review findings fixed
- Code review findings fixed (Channel Ids renamed to lowerCamelCase)
- Unused code removed
- Code review findings fixed (Device status messages localized)
- Code review findings fixed (label of BooleanStateActuator renamed)
- Code review findings fixed (hard-coded units resolved)
- Code review findings fixed (unit of measurements changed form Power to Energy when it is unit Wh instead of W)
- Code review findings fixed (thing status BRIDGE_OFFLINE changed to COMMUNICATION_ERROR, because BRIDGE_OFFLINE is intended for sub/child devices, not for the bridge thing)
- Code review findings fixed ("initialize" is now returned faster and all requests are executed asynchronously)
- Code review findings fixed ("initialize" is now returned faster and all requests are executed asynchronously)
- Compiler warnings fixed
- Code review findings fixed
- Code review findings fixed (channel ids renamed)
- Code review findings fixed (tags for temperature and humidity added)
- Code review findings fixed (properties renamed to lowerCamelCase like the default properties)
- Code review findings fixed (non-null warnings fixed, performance increased by reducing requests)
- Code review findings fixed (non-null warnings fixed)
- Code review findings fixed (non-null warnings fixed in tests)
- Copyright notices updated
- Unnecessary log line removed
- Code review findings fixed (non-null warnings fixed in tests)
- Test fixed (WebSocketClient can't get mocked completely which caused an Exception)
- Code review findings fixed (various code optimizations)
- Code review findings fixed (channel-type-ids renamed to lowerCamelCase)
- Code review findings fixed (translation simplified)
- Code review findings fixed (temperature point handling converted in UoM)
- Code review findings fixed (Exception handling improved)
- Code review findings fixed (offline state precised when the bridge isn't found/configured)
- Code review findings fixed (exception logs deactivated within tests to reduce to console output when running the tests)
- Code review findings fixed (thing status is now checked instead of bridge status)
- Code review findings fixed (DeviceStructureManager can now be marked as NonNull because it is initialized within the initialize method)
- Code review findings fixed (LivisiClient can now be marked as NonNull because it is initialized within the initialize method)
- Code review findings fixed (OAuthService can now be marked as NonNull because it is initialized within the initialize method)
- Code review findings fixed (unnecessary type check removed)
- Code review findings fixed (warning messages within tests reduced)
- Code review findings fixed (more when the bridge connection state changes)
- Code review findings fixed (reconnect job changed from scheduleAtFixedRate to scheduleWithFixedDelay - recommended by the SAT warnings).
- Code review findings fixed (unused method removed).
- Representation property introduced to auto-ignore textual defined things at discovery/scan
- Code review findings fixed (more detailed error message for SHC not reachable added).
- Fix ChannelTypeID in Readme.md sample
- Code review findings fixed ("/event/ControllerConnectivityChanged" doesn't change the bridge thing to offline anymore, because it isn't important for the local API anymore).
- Code review findings fixed (point temperature commands with DecimalType instead of QuantityType can now also get handled).
- Tests added regarding handleCommand
- Code optimization (constant for the "invert" channel parameter added)
- Code optimization (log messages within tests avoided)
Signed-off-by: Sven Strohschein <sven.strohschein@gmail.com>
Co-authored-by: RalphSester <ralph.sester@sester-edv.de>
* [fineoffsetweatherstation] initial commit
* [fineoffsetweatherstation] add missing measure type for air quality
* [fineoffsetweatherstation] add names to sensors
* [fineoffsetweatherstation] add missing channel types for lightning and water leak
* [fineoffsetweatherstation] adjust label names and replaced images + pdf so there are no copyright issues
* [fineoffsetweatherstation] remove wrong semantic tags
* [fineoffsetweatherstation] add missing measurands for WH45 (CO2) and WH35 (Leaf wetness)
* [fineoffsetweatherstation] fix typos
* [fineoffsetweatherstation] improve error handling for unstable connections
* [fineoffsetweatherstation] set online status after successful discovery
* [fineoffsetweatherstation] adjustments after review
* [fineoffsetweatherstation] adjustments after review
* Fix typo
* use `system.wind-speed` where applicable
* fix naming of channel type constants
Signed-off-by: Andreas Berger <andreas@berger-freelancer.com>
* First alpha version of the awattar binding
Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Corrected typos
Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* More typos
Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Improved time handling to consider time zone.
Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Corrected logical time problem, start adding nextprice thing
Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Added support for Austria
Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Use List instead of Set
Signed-off-by: wolfii <wolfgang.klimt@consol.de>
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Minor corrections
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Removed unneeded handler, corrected fetching of prices
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Added i18n, updated documentation
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Corrected pom.xml after rebase
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Updated version to 3.3.0-SNAPSHOT
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Corrected findings of Code analysis tool
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Updated copyright notice
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Updates to get rid of compiler warnings
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Worked on review comments from @fwolter
Obeyed most of the review comments. Exceptions:
* binding is already added to bom/openhab-addons/pom.xml (at least I found it there and there was a commit notice in git log)
* mvn license:format brought back 2021, so I manually set everything to 2022. Should I try to rebase my whole branch?
* In two places the binding needs to adjust to minute boundaries, hence scheduleWithFixedDelay will not work.
* I removed empty trailing lines, but mvn spotless:apply brought them back
* The OhInfXmlUsageCheck seems to be wrong.
* The ConstantNameCheck in AwattarUtil seems to be mislead by the fact that all members of the class are static, including the logger. From my point of view it is not a real "constant".
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Updated Readme to match code changes
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Further work on review comments from @fwolter
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Corrected config definition
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Changed Copyright to 2022
Signed-off-by: Wolfgang Klimt <github@klimt.de>
* Review comments from @fwolter. Improved timezone handling
Signed-off-by: Wolfgang Klimt <github@klimt.de>
Co-authored-by: wolfii <wolfgang.klimt@consol.de>