- Linux (e.g. Raspberry Pi) / OSX / Windows
- NodeJS >= 6.x
- Trådfri gateway
- Install this adapter over the iobroker admin GUI or via
npm install iobroker.tradfri --production
- In the ioBroker GUI, add an adapter instance.
- Configure the instance by entering the IP/hostname of your gateway and the security code that can be found on the label at the bottom.
Make sure you install the most recent released version. If there are compilation errors, you might have to install build-essential:
apt-get -y install build-essential
If you are running on older NodeJS versions (< 10), the installation may fail with the following error somewhere in the log:
Can't find Python executable "python", you can set the PYTHON env variable.
To solve it, open an administrative shell:
- Press the ⊞ Windows key
- Enter
cmd
, press Ctrl + Shift + Enter - Confirm the UAC prompt and run the following command:
npm install --add-python-to-path --global windows-build-tools
This may take a while... afterwards the installation should succeed.
You can send custom CoAP packets from other adapters by using sendTo
. Example from JavaScript:
sendTo("tradfri.0", "request", options, (ret) => {
// do something with the result
});
The options
object looks as follows:
{
path: string,
method?: "get" | "post" | "put" | "delete", // optional, default = "get"
payload?: object // optional, should be a JSON object
}
The result object ret
looks as follows:
{
error: string | null,
result: {
code: string, // see https://tools.ietf.org/html/rfc7252#section-12.1.2
payload: object | Buffer
}
}
- Bugfix: Changed the role of RGB states to
level.color.rgb
- Bugfix: The unhandled error handler should now correctly log the error even if
adapter
is not defined
- Bugfix: Blinds would not always be stopped
- Support stopping blinds at their current position
- Fix: Suppress log warnings for Symfonisk remotes
- Made it possible to operate plugs using virtual groups
- Allow more device types in virtual groups
- Fixed small display issues with 3rd party bulbs
- Group states for blinds are now synchronized correctly
- Fix: Suppress log warnings for motion sensors
- Fix: Suppress log warnings for slave remotes and signal repeaters
- Fix: Operate blinds when states are changed
- Fix: Also create objects for blinds
- Add support for blinds
- The gateway can now be discovered automatically
- Expose the battery percentage for devices with a battery
- When
node-aead-crypto
is not installed, display instructions on how to fix it - Optimizations and fixes under the hood
- Support for compact mode
- Support for Admin v3 and material design
- BREAKING: Dropped support for Admin v2
- Fix handling of decimal digits in the adapter settings. This fixes rounding of group states.
- Reworked installation procedure to fix problems with
node-aead-crypto
- Added experimental support for smart plugs
- The names of state objects no longer get overwritten
- Reduce logging of "updated scenes for group..."
- Made rounding of numeric values configurable
- Stability improvements
- Use the native encryption methods of NodeJS 10 instead of
node-aead-crypto
- Add support for NodeJS 10
- Improved automatic reconnection
- Fixed group states not always updating the lightbulbs when changed
- Ignore minimum brightness reports when lights are turned off
- Fixed activation of scenes when the scene is already selected
- Fixes for RGB support
- Support for floating point values
- Update
node-tradfri-client
version for better RGB support and floating point values
- Attempt to fix
TypeError: generator already running
- Added an option to preserve the transition duration for single lightbulbs
- Fixed an error loading virtual groups
- Update
node-tradfri-client
version
- Removed error in log on adapter startup
- Change brightness role for better compatibility with the cloud adapter
- Removed warning caused by Gateway v1.3.14
- Updated
node-tradfri-client
version - Load objects on adapter start so they don't get overwritten (#35)
- New attempt at automatically restarting the adapter on connection loss
- Update
node-tradfri-client
dependency to support receiving blockwise messages
- This is stable enough for a 1.x version
- Improved browser compatiblity of the admin UI
- Moved tradfri-related code into its own library
- Changed authentication procedure to comply with IKEA's request
- Restored compatibility to Gateway version 1.2.42
- Brightness is now expressed in 0..100%
- Fixed parsing RGB colors
- Fixed transition duration for groups
- Added icons for devices
- Support virtual groups
- Validate hex colors on input
- RGB and connection fixes.
- Experimental support for RGB and lightbulbs with fixed color
- Disabled automatic restart on connection loss.
- Eliminated potential sources of infinite loops
- Fixed an error resulting from the upgrade to ES2015 output
- Update CoAP library to fix a bug
- official release of the previous changes
- added transition duration and brightness change for groups
- monitor connection state and update info.connection
- fix connection attempts to unavailable endpoints
- Support changing the transition duration
- Fixed group and scene deletion
- Update CoAP and DTLS library for the next features
- Offloaded concurrency handling to CoAP lib
- Selection of scenes from the admin UI is now possible
- Add support for groups (renaming, switching)
- Partial support for scenes (switching when id is known)
- Send custom CoAP packets by using sendTo
- Changed internal handling of objects to prepare the next updates
- Sync io-package and package version
- Remove git dependency, publish on npm
- Ensure only whole numbers are sent (fixes #6)
- Fix connection to the gateway using the hostname
- Switched to TypeScript
- Reboot of the adapter without 3rd party libraries.
- Color temperature of lightbulbs is now expressed in terms of 0 (cold) - 100% (warm).
- Added support for NodeJS 4.X and building the dependencies on Windows systems
- initial release.
- Functionality limited to controlling lightbulbs.
- not ready yet!
The MIT License (MIT)
Copyright (c) 2017-2020 AlCalzone d.griesel@gmx.net
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.