Code Monkey home page Code Monkey logo

iobroker.nanoleaf-lightpanels's Introduction

Logo

ioBroker.nanoleaf-lightpanels Adapter

=================

NPM version Downloads Test and Release

NPM

This is an ioBroker adapter to control nanoleaf devices which support OpenAPI.

Suported models

  • Light Panels
  • Canvas
  • Shapes
  • Elements
  • Lines

Connection to the nanoleaf controller:

  1. In the adapter settings you have to set the IP address or hostname and port of the nanoleaf controller. You can use the search function to discover all nanoleaf devices, which are supported, in your network.
  2. The nanoleaf OpenAPI needs an authorization token to grant access to the OpenAPI. If you have already one, you can enter the token here and skip the next step.
  3. If you don't have an authorization token, you need to request it from the nanoleaf OpenAPI. To do this, set the nanoleaf controller into pairing mode by pressing and holding the power button at the device for 5-7 seconds until the LEDs flash alternately. Then click on the button 'Obtain authorization token' within 30 seconds (pairing mode stops after 30 seconds). The adapter must be running! If it was successful, the authorization token should be seen in the field 'Authentication token'. If an error occurred you get a pop up with the error message (details you can see in the log).
  4. Save the settings.
  5. Have fun!

Direct Status update via Server Sent Events (SSE)

Since Light Panels firmware version > 3.1.0 and Canvas firmware version > 1.1.0 Server Sent Events (SSE) can be used for direct status updates. For Canvas, Shapes and Element devices touch events are supported.

Please note: to detect if a nanoleaf device is still alive, SSDP notify messages were sent from nanoleaf device every 60 seconds. Please ensure that you can receive UDP multicast messages on port 1900 (check firewall and routing). Otherwise you will get error messages in the adapter that connection was lost. If you have problems with keep alive, please set the correct adapter interface in admin settings for the nanoleaf adapter. For searching devices please ensure you can receive traffic on UDP port 5000. I noticed that some nanoleaf devices suddenly stop sending the SSDP notify messages so connection will not be detected anymore. This is an issue with the nanoleaf device itself. People having this problem, can enable the usage of the keep alive polling mechanism instead of SSDP notify messages in the additional adapter settings.

The setting for the status update polling interval only affects devices with lower firmware versions, where polling is used for status updates or if the SSE function is disabled in the additional adapter settings.

Alexa

You can control the nanoleaf devices with Alexa via ioBroker (Cloud-Adapter). Power on/off, brightness, color and color temperature is supported. You have to set up the data points

  • state (for power on/off)
  • hue (for color)
  • saturation (for color)
  • brightness (for color)
  • colorTemp (for color temperature)

in Cloud adapter under the same smartname.

ioBroker Visualization

The nanoleaf devices can be controlled in ioBroker Visualization by using basic widgets as "Radiobuttons on/off" or sliders for controlling the power sate, the brightness, hue, saturation and color temperature states.

For effects you can use the "Select ValueList" widget to use it as a drop down list and then map the effectsList state to the value and text property of the widget (type: "{nanoleaf-lightpanels.0.LightPanels.effectsList}" -> the curly braces are important!)

To control and visualize the color you have to install the color picker style Widgets. You can map the RGB ID to the colorRGB state or use the three HSV states as well.

You can use the nanoleaf vis demo project found in the /vis subfolder on github.

Changelog

1.5. (2024-04-21)

  • (daniel_2k) new: added Skylight device
  • (daniel_2k) changes: use keep alive for HTTP connections to avoid SNAT port exhaustion (e.g. Docker environments)

1.4.0 (2023-07-16)

  • (daniel_2k) changed: use adapter-core for js-controller 5 compatibility

1.3.1 (2021-12-05)

  • (daniel_2k) changed: write acknowledge to states directly after receiving success state from API
  • (daniel_2k) changed: ip address workaround also for device search to detect nanoleaf devices with missing host info through firmware bug
  • (daniel_2k) changed: optimized device detection and device keep alive detection

1.3.0 (2021-11-28)

  • (daniel_2k) new: nanoleaf Lines supported
  • (daniel_2k) new: nanoleaf Elements supported
  • (daniel_2k) new: added state for writing custom effects and reading effects
  • (daniel_2k) changed: due to firmware errors in canvas and shapes, IP address from packet header is used instead of location (because it's empty) for SSDP MSEARCH and NOTIFY
  • (daniel_2k) fixed: devices were not deleted completely on device identification change

1.2.1 (2021-06-20)

  • (daniel_2k) fixed: get a new authorization token is not possible when the current token is already invalid
  • (daniel_2k) fixed: device search in admin settings fixed
  • (daniel_2k) changed: obtaining an authorization token is also possible when field is already filled

1.2.0 (2021-01-03)

  • (daniel_2k) new: possibility to use polling for keep alive detection instead of SSDP notify messages (for nanoleaf devices which stop sending SSDP notify packages)
  • (daniel_2k) changed: small internal adjustments

1.1.1 (2020-12-27)

  • (daniel_2k) fixed: error in device detection

1.1.0 (2020-12-27)

  • (daniel_2k) new: support nanoleaf Shapes

1.0.6 (2020-09-14)

  • (daniel_2k) changed: force status update for Canvas touch events
  • (daniel_2k) new: added debug logging of received data via SSE

1.0.5 (2020-09-13)

  • (daniel_2k) fixed: touch channel was not created for nanoleaf devices (bug since 1.0.3)

1.0.4 (2020-09-06)

  • (daniel_2k) new: adapter address can be choosen in adapter settings for interfacing binding issues
  • (daniel_2k) changed: use fixed port 5000 for MSEARCH replies for easy setup in firewall

1.0.3 (2020-08-30)

  • (daniel_2k) fixed: search nanoleaf devices does not work on clean install of adapter
  • (daniel_2k) new: added update of effectsList via SSE
  • (daniel_2k) new: ability to disable of using SSE (for nanoleaf devices that stops sending ssdp:alive messages)
  • (daniel_2k) changed: display nanoleaf device name in admin search result list
  • (daniel_2k) changed: using forked "node-upnp-ssdp" for fixing interface binding

1.0.2 (2020-07-06)

  • (daniel_2k) fixed: detection of ssdp:alive notify message for Canvas (fix disconnect/connect issue)
  • (daniel_2k) fixed: sending correct service type for discovery of Canvas devices (fixes no devices found for Canvas devices)
  • (daniel_2k) changed: if unknown nanoleaf device is detected Canvas will be used as fallback and warning will be logged
  • (daniel_2k) fixed: setting rhythmMode was not working

1.0.1 (2020-07-05)

  • (daniel_2k) fixed: detection of firmware version for Canvas for enabling SSE (Canvas firmware > 1.1.0 required)

1.0.0 (2020-06-18)

  • (daniel_2k) new: using server sent events (SSE) for getting updates instead of polling (firmware > 3.1.0 required)
  • (daniel_2k) new: support touch events for Canvas
  • (daniel_2k) new: searching devices in Admin is now possible
  • (daniel_2k) changed: moved duration for brightness state to separate state (please note: duration of in native part of brightness state will no longer work)
  • (daniel_2k) changed: some minor internal adjustments
  • (daniel_2k) changed: removed Admin2 configuration page

0.8.2 (2019-08-02)

  • (daniel_2k) fixed: effects with special characters (german umlauts) can now be set (fixes HTTP error code 422)
  • (daniel_2k) changed: removed fixed effects Solid and Dynamic for all devices (works also no longer with Light Panels since firmware update)

0.8.1 (2019-01-31)

  • (daniel_2k) new: rhythm module mode (microphone/AUX input) can be changed
  • (daniel_2k) changed: removed fixed effects Solid and Dynamic for Canvas because not supported
  • (daniel_2k) fixed: Rhythm module information depending of connect state

0.8.0 (2019-01-27)

  • (daniel_2k) changed: adapter has own nanoleaf-api lib (no dependency), because the nanoleaf-aurora-client module does not implement the nanoleaf API correctly (will be changed until this is fixed in the module)
  • (daniel_2k) fixed: should now work properly with Canvas
  • (daniel_2k) new: duration for brightness changes added (can be set in native part of brightness state)
  • (daniel_2k) new: added compact mode
  • (daniel_2k) changed: handling of device states
  • (daniel_2k) fixed: command queue will not process when states are written which cannot be processed
  • (daniel_2k) changed: some small code adjustments

0.7.0 (2019-01-20)

  • (daniel_2k) new: compatible with nanoleaf Canvas
  • (daniel_2k) changed: Rhythm module information is now obtained depended if it is connected or not (only Light Panels)
  • (daniel_2k) changed: some small adjustments

0.6.1 (2018-10-13)

  • (daniel_2k) fixed: command processing stopping when invalid RGB value is written to 'colorRGB'
  • (daniel_2k) changed: more error logging of invalid values send to controller
  • (daniel_2k) changed: adjusted types and roles

0.6.0 (2018-09-02)

  • (daniel_2k) changed: processing commands in sequence (FIFO) ensuring that all commands are executed and avoiding hanging of the nanoleaf-controller sometimes

0.5.0 (2018-08-10)

  • (daniel_2k) changed: automatically reconnect attemps will be done in any case of connection failures (fixes no reconnect when device hung and was restarted)
  • (daniel_2k) new: default minimum values for polling intervals in adapter
  • (daniel_2k) new: static effects 'Solid' and 'Dynamic' added to effect states
  • (daniel_2k) changed: save settings in admin is only possible when all fields filled
  • (daniel_2k) changed: optimized debug logging

0.4.1 (2018-07-13)

  • (daniel_2k) added automatic testing via Travis and Appveyor
  • (daniel_2k) preparations for official repository

0.4.0 (2018-06-11)

  • (daniel_2k) changed: Authorization token will be obtained now in the adapter settings (not on adapter start)
  • (daniel_2k) fixed: some texts in the old adapter settings (Admin2)
  • (daniel_2k) new: State 'effect' now contains all possible states (auto updated)
  • (daniel_2k) changed: updated AuroraAPI version to 1.2.2

0.3.0 (2018-05-12)

  • (daniel_2k) new: state "ColorRGB" for controlling color with hex RGB values
  • (daniel_2k) changed: updating states from API only when value changed
  • (daniel_2k) changed: state effectsList will now be written as a semicolon seperated list to use it with "Select ValueList" widget in ioBroker visualization
  • (daniel_2k) new: debug logging
  • (daniel_2k) changed: set units for states "saturation" and "hue"

0.2.0 (2018-05-03)

  • (daniel_2k) adjusted types and roles of states according API JSON response data types
  • (daniel_2k) compatible with node.js 4.x

0.1.0 (2018-04-23)

  • (daniel_2k) initial release

License

The MIT License (MIT) Copyright (c) 2023 daniel_2k [email protected] (MIT) Copyright (c) 2021 daniel_2k [email protected]

iobroker.nanoleaf-lightpanels's People

Contributors

daniel-2k avatar dependabot[bot] avatar fernetmenta avatar germanbluefox avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

iobroker.nanoleaf-lightpanels's Issues

Please consider fixing errors reported by adapter checker

Please consider fixing the errors reported by adapzter checker (https://www.iobroker.dev/adapter-check)

[E154] common.dependencies must contain [{"js-controller": ">=2.0.0"}] or later - recommended: [{"js-controller": ">=3.3.22"}]
[E506] More non translated in german or russian words found in admin/words.js. You can use https://translator.iobroker.in/ for translations
[E518] "@alcalzone/release-script" is used, but ".releaseconfig.json" not found
[E605] No actual year found in copyright. Please add "Copyright (c) 2023 daniel_2k [email protected]" at the end of README.md
[E701] No actual year found in LICENSE. Please add "Copyright (c) 2023 daniel_2k [email protected]" at the start of LICENSE
[W171] "common.title" is deprecated in io-package.json
[W105] "common.titleLang" should be translated into all supported languages (en, de, ru, pt, nl, fr, it, es, pl, uk, zh-cn)
[W109] "common.desc" should be translated into all supported languages (en, de, ru, pt, nl, fr, it, es, pl, uk, zh-cn)
[W156] Adapter should support admin 5 UI (jsonConfig) if you do not use a React based UI
[W145] Each "common.news" should be translated into all supported languages (en, de, ru, pt, nl, fr, it, es, pl, uk, zh-cn)
[W513] "gulpfile.js" found in repo! Think about migrating to @iobroker/adapter-dev package
 

Support für js-controller 5

Hallo!

Der Adapter funktioniert leider nicht mehr unter der 5er Version des js-controllers. Beim Start versucht iob zwar einen Rebuild, der scheitert aber an der Abhängigkeit einer bestimmten Version des Admin-Adapters...

Compatibility check to js-controller 4.0

Dear Adapter developer,

with js-controller 4.0 object definitions are now also checked that min/max in only provided for number/mixed objects and that the type of the default value matches to the object type.

If something is not correct this is logged as 'warning' or 'info' log.

Please also make sure to update to the lastest @iobroker/testing dependency 2.5.4 or to accept the PR from Apollon77 for legacy testing!

Please spent some time to verify your adapter by ideally starting with a fresh instance and do some actions and verify the log. If you see a warn or info log there from these checks please adjust the adapter and fix the relevant cases.

For questions please refer to ioBroker/ioBroker.js-controller#1749

Please close the issue after you checked it.

Thank you very much for your support to get the best experience for the growing numbers of ioBroker users!

Unable to get API token if IP and Port are correct

Hi,

I've reset my Lightpanels and had troubles getting the API Token.

The reason is that if the IP and Port are correct, then the Adapter won't start and just shut down cause of a 401 error. I don't even have a chance to click the Button to get the API token.

nanoleaf-lightpanels.0 | 2021-06-08 00:34:46.777 | info | Terminated (NO_ERROR): Without reason
nanoleaf-lightpanels.0 | 2021-06-08 00:34:46.776 | info | terminating
nanoleaf-lightpanels.0 | 2021-06-08 00:34:46.706 | info | Shutting down Nanoleaf adapter 'nanoleaf-lightpanels.0'...
nanoleaf-lightpanels.0 | 2021-06-08 00:34:46.704 | error | Connection to 'xxx:16021' failed with HTTP status 401 (Unauthorized). Permission denied, please check authorization token! Stopping...
nanoleaf-lightpanels.0 | 2021-06-08 00:34:46.666 | info | Connecting to 'xxx:16021'...
nanoleaf-lightpanels.0 | 2021-06-08 00:34:46.659 | info | Nanoleaf adapter 'nanoleaf-lightpanels.0' started.
nanoleaf-lightpanels.0 | 2021-06-08 00:34:46.631 | info | starting. Version 1.2.0 in /opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels, node: v12.21.0, js-controller: 3.3.11

As a workaround I had to change the IP to an IP that is not valid, restart the adapter, change the IP back and then click on the API token button.

Compatibility check and testing for Node.js 14 and 16

Dear Adapter developer,

Node.js 14 is now available for a year and Node.js 16 was release just some days ago and will become LTS by October 2021. We plan to update the ioBroker Node.js recommendation (currently 12.x) to 14.x later this year.

Please check your adapter with Node.js 14 especially, and ideally also directly with Node.js 16

Please add both versions to the adapter testing which is executed on commits.

If your adapter requires a certain minimum version of Node.js please set the 'engine' setting in package.json accordingly! Please also do this if the adapter is not able to work in certain Node.js versions, so that ioBroker can prevent users from installing te adapter if not compatible!

On questions please talk to us at ioBroker/ioBroker.js-controller#1138

Please close the issue after you checked it.

Thank you very much for your support!

Error: No ssdp:alive detected. Try to reconnect... since 1.0.1 version

I am a big fan of your iobroker.nanoleaf-lightpanels adapter and it worked really fine, until I updated to version 1.0.1.
Every 2 minutes approx., a warning entry „Error: No ssdp:alive detected. Try to reconnect...“ is added tot he iobroker log file. In the meantime, the canvas lightpanels switch correctly to „Power State: true“ when presence detection state is true.
My Canvas are correctly installed with firmware 1.6.2.
I really appreciate your help.
Thanks so far.
2020-07-06 10_22_28-logs - ioBroker

Verify Compact mode for your adapter

We have detected that your adapter supports the compact mode. Please use the latest js-controller 2.0 and verify that everything works.

Some more information what is important to check can be found at ioBroker/ioBroker.js-controller#512

On questions please answer to the linked issue. Please close this issue after your test and add the version number that you have tested please as a comment.

Thank you for your support.

Update stable version in repo to 0.8.2

Think about update stable version to 0.8.2

Version: stable=0.8.1 (398 days old) => latest=0.8.2 (215 days old)
Installs: stable=144 (58.78%), latest=95 (38.78%), total=245
Click to edit

Think about to fix the issues found by adapter checker

I am an automatic service that looks for possible errors in ioBroker and creates an issue for it. The link below leads directly to the test:

https://adapter-check.iobroker.in/?q=https://raw.githubusercontent.com/daniel-2k/ioBroker.nanoleaf-lightpanels

  • [E154] common.dependencies must contain{"js-controller": ">=2.0.0"} or {"js-controller": ">=3.0.0"}
  • [E506] More non translated in german or russian words found in admin/words.js. You can use https://translator.iobroker.in/ for translations
  • [E605] No actual year found in copyright. Please add "Copyright (c) 2022 daniel_2k [email protected]" at the end of README.md
  • [E701] No actual year found in LICENSE. Please add "Copyright (c) 2022 daniel_2k [email protected]" at the start of LICENSE

Thanks,
your automatic adapter checker.

P.S.: There is a community in Github, which supports the maintenance and further development of adapters. There you will find many experienced developers who are always ready to assist anyone. New developers are always welcome there. For more informations visit: https://github.com/iobroker-community-adapters/info

Recconect loop

thank you very much for this wonderful work I use version 1.20 as I use Nanolef shapes everything works fine but the connection is lost for a few moments look at the logs
2021-01-21 07:23:30.537 - info: nanoleaf-lightpanels.1 (30958) Reconnected to '192.1'

2021-01-21 07:23:38.680 - info: nanoleaf-lightpanels.0 (1903) Reconnected to '192.161'
2021-01-21 07:24:45.575 - warn: nanoleaf-lightpanels.1 (30958) Connection to '192.168 lost, Error: No ssdp:alive detected. Try to reconnect...
2021-01-21 07:24:53.715 - warn: nanoleaf-lightpanels.0 (1903) Connection to '192.161' lost, Error: No ssdp:alive detected. Try to reconnect...
2021-01-21 07:25:45.609 - info: nanoleaf-lightpanels.1 (30958) Reconnected to '192.16021'
2021-01-21 07:25:53.748 - info: nanoleaf-lightpanels.0 (1903) Reconnected to '192.:16021'
2021-01-21 07:27:00.712 - warn: nanoleaf-lightpanels.1 (30958) Connection to '192.:16021' lost, Error: No ssdp:alive detected. Try to reconnect...
2021-01-21 07:27:08.949 - warn: nanoleaf-lightpanels.0 (1903) Connection to '192.16021' lost, Error: No ssdp:alive detected. Try to reconnect...
2021-01-21 07:28:00.731 - info: nanoleaf-lightpanels.1 (30958) Reconnected to '192.13:16021'
2021-01-21 07:28:08.972 - info: nanoleaf-lightpanels.0 (1903) Reconnected to '192.12:16021'
2021-01-21 07:29:15.769 - warn: nanoleaf-lightpanels.1 (30958) Connection to '192.21' lost, Error: No ssdp:alive detected. Try to reconnect...
2021-01-21 07:29:24.011 - warn: nanoleaf-lightpanels.0 (1903) Connection to '192.1:16021' lost, Error: No ssdp:alive detected. Try to reconnect...
2021-01-21 07:30:15.792 - info: nanoleaf-lightpanels.1 (30958) Reconnected to '192:16021'
2021-01-21 07:30:24.032 - info: nanoleaf-lightpanels.0 (1903) Reconnected to '192.:16021'
2021-01-21 07:31:30.900 - warn: nanoleaf-lightpanels.1 (30958) Connection to '192.121' lost, Error: No ssdp:alive detected. Try to reconnect...
2021-01-21 07:31:39.221 - warn: nanoleaf-lightpanels.0 (1903) Connection to '192.121' lost, Error: No ssdp:alive detected. Try to reconnect...
2021-01-21 07:32:30.920 - info: nanoleaf-lightpanels.1 (30958) Reconnected to '192.116021'
2021-01-21 07:32:39.313 - info: nanoleaf-lightpanels.0 (1903) Reconnected to '192.16021'
2

Compatibility check to js-controller 3.3 and Admin5 React UI

Dear Adapter developer,

with js-controller 3.2 and js-controller 3.3 some additional checks were added to make sure that created objects match to the specifications and also written state values match to the object definition.

If something is not correct this is logged as 'warning' or 'info' log.

Please take the time to verify your adapter by ideally starting with a fresh instance and do some actions and verify the log. If you see a warn log there from these checks please adjust the adapter and fix the relevant cases.

For questions please refer to ioBroker/ioBroker.js-controller#1301

Additionally we are preparing Admin 5 which will have a completely rewritten UI. Please install Admin 5, activate that new UI and verify that the configuration of you adapter works as expected also there.

More informations on Admin 5 can be found in Forum https://forum.iobroker.net/topic/44282/test-adapter-admin-5-0-x-alpha-der-neuen-ui

Please close the issue after you checked it.

Thank you very much for your support!

Think about to fix the issues found by adapter checker

I am an automatic service that looks for possible errors in ioBroker and creates an issue for it. The link below leads directly to the test:

https://adapter-check.iobroker.in/?q=https://raw.githubusercontent.com/daniel-2k/ioBroker.nanoleaf-lightpanels

  • [E201] Bluefox was not found in the collaborators on NPM!. Please execute in adapter directory: "npm owner add bluefox iobroker.nanoleaf-lightpanels"

Thanks,
your automatic adapter checker.

P.S.: There is a community in Github, which supports the maintenance and further development of adapters. There you will find many experienced developers who are always ready to assist anyone. New developers are always welcome there. For more informations visit: https://github.com/iobroker-community-adapters/info

Adapter geht nicht mehr mit JS Controller 5.x und NodeJS 18.x

Seit dem Update auf besagten Controller als auch Node JS geht der Adapter nicht mehr. Anbei der Log aus IObroker:

  • 2023-07-16 13:48:17.068 - �[32minfo�[39m: host.IOBroker-Neu instance system.adapter.nanoleaf-lightpanels.0 started with pid 32183
    2023-07-16 13:48:17.294 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: node:internal/modules/cjs/loader:1080
    2023-07-16 13:48:17.294 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: throw err;
    2023-07-16 13:48:17.294 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: ^
    2023-07-16 13:48:17.294 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js'
    2023-07-16 13:48:17.294 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: Require stack:
    2023-07-16 13:48:17.294 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: - /opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels/lib/utils.js
    2023-07-16 13:48:17.294 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: - /opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels/main.js
    2023-07-16 13:48:17.294 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
    2023-07-16 13:48:17.294 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at Module._load (node:internal/modules/cjs/loader:922:27)
    2023-07-16 13:48:17.294 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at Module.require (node:internal/modules/cjs/loader:1143:19)
    2023-07-16 13:48:17.294 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at require (node:internal/modules/cjs/helpers:110:18)
    2023-07-16 13:48:17.294 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at Object. (/opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels/lib/utils.js:63:25)
    2023-07-16 13:48:17.295 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at Module._compile (node:internal/modules/cjs/loader:1256:14)
    2023-07-16 13:48:17.295 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    2023-07-16 13:48:17.295 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at Module.load (node:internal/modules/cjs/loader:1119:32)
    2023-07-16 13:48:17.295 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at Module._load (node:internal/modules/cjs/loader:960:12)
    2023-07-16 13:48:17.295 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at Module.require (node:internal/modules/cjs/loader:1143:19) {
    2023-07-16 13:48:17.295 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: code: 'MODULE_NOT_FOUND',
    2023-07-16 13:48:17.295 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: requireStack: [
    2023-07-16 13:48:17.295 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: '/opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels/lib/utils.js',
    2023-07-16 13:48:17.295 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: '/opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels/main.js'
    2023-07-16 13:48:17.295 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: ]
    2023-07-16 13:48:17.295 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: }
    2023-07-16 13:48:17.295 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: Node.js v18.16.1
    2023-07-16 13:48:17.295 - �[31merror�[39m: host.IOBroker-Neu instance system.adapter.nanoleaf-lightpanels.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
    2023-07-16 13:48:17.295 - �[32minfo�[39m: host.IOBroker-Neu Rebuild for adapter system.adapter.nanoleaf-lightpanels.0 not successful in 3 tries. Adapter will not be restarted again. Please execute "npm install --production" in adapter directory manually.
    2023-07-16 13:48:18.940 - �[32minfo�[39m: host.IOBroker-Neu instance system.adapter.nanoleaf-lightpanels.1 started with pid 32190
    2023-07-16 13:48:19.146 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: node:internal/modules/cjs/loader:1080
    2023-07-16 13:48:19.146 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: throw err;
    2023-07-16 13:48:19.146 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: ^
    2023-07-16 13:48:19.146 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js'
    2023-07-16 13:48:19.146 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: Require stack:
    2023-07-16 13:48:19.146 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: - /opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels/lib/utils.js
    2023-07-16 13:48:19.146 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: - /opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels/main.js
    2023-07-16 13:48:19.146 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
    2023-07-16 13:48:19.146 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at Module._load (node:internal/modules/cjs/loader:922:27)
    2023-07-16 13:48:19.146 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at Module.require (node:internal/modules/cjs/loader:1143:19)
    2023-07-16 13:48:19.147 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at require (node:internal/modules/cjs/helpers:110:18)
    2023-07-16 13:48:19.147 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at Object. (/opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels/lib/utils.js:63:25)
    2023-07-16 13:48:19.147 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at Module._compile (node:internal/modules/cjs/loader:1256:14)
    2023-07-16 13:48:19.147 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    2023-07-16 13:48:19.147 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at Module.load (node:internal/modules/cjs/loader:1119:32)
    2023-07-16 13:48:19.147 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at Module._load (node:internal/modules/cjs/loader:960:12)
    2023-07-16 13:48:19.147 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: at Module.require (node:internal/modules/cjs/loader:1143:19) {
    2023-07-16 13:48:19.147 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: code: 'MODULE_NOT_FOUND',
    2023-07-16 13:48:19.147 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: requireStack: [
    2023-07-16 13:48:19.147 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: '/opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels/lib/utils.js',
    2023-07-16 13:48:19.147 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: '/opt/iobroker/node_modules/iobroker.nanoleaf-lightpanels/main.js'
    2023-07-16 13:48:19.147 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: ]
    2023-07-16 13:48:19.147 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: }
    2023-07-16 13:48:19.147 - �[31merror�[39m: host.IOBroker-Neu Caught by controller[0]: Node.js v18.16.1
    2023-07-16 13:48:19.147 - �[31merror�[39m: host.IOBroker-Neu instance system.adapter.nanoleaf-lightpanels.1 terminated with code 1 (JS_CONTROLLER_STOPPED)
    2023-07-16 13:48:19.147 - �[32minfo�[39m: host.IOBroker-Neu Rebuild for adapter system.adapter.nanoleaf-lightpanels.1 not successful in 3 tries. Adapter will not be restarted again. Please execute "npm install --production" in adapter directory manually.
    2023-07-16 13:49:00.012 - �[32minfo�[39m: hm-rpc.1 (32124) Scheduled restart.

Think about to fix the issues found by adapter checker

I am an automatic service that looks for possible errors in ioBroker and creates an issue for it. The link below leads directly to the test:

https://adapter-check.iobroker.in/?q=https://raw.githubusercontent.com/daniel-2k/ioBroker.nanoleaf-lightpanels

  • [E154] common.dependencies must contain{"js-controller": ">=2.0.0"} or {"js-controller": ">=3.0.0"}
  • [E506] More non translated in german or russian words found in admin/words.js. You can use https://translator.iobroker.in/ for translations
  • [E605] No actual year found in copyright. Please add "Copyright (c) 2022 daniel_2k [email protected]" at the end of README.md
  • [E701] No actual year found in LICENSE. Please add "Copyright (c) 2022 daniel_2k [email protected]" at the start of LICENSE

Thanks,
your automatic adapter checker.

P.S.: There is a community in Github, which supports the maintenance and further development of adapters. There you will find many experienced developers who are always ready to assist anyone. New developers are always welcome there. For more informations visit: https://github.com/iobroker-community-adapters/info

Unable to change Nanoleaf data points via ioBroker

Dear @daniel-2k ,
I'd like to utilize a Zigbee switch (Aqara) to switch a set of Nanoleaf Light Panels on and off via ioBroker.
When monitoring the data point "Power State" in ioBroker whilst clicking the switch, the value of the data point correctly switches from "False" to "True" - but unfortunately after 2 seconds it automatically switches back to "False".
Moreover, it's behaving the same when I try to change Nanoleaf data points in the Objects of ioBroker directly: After the change they turn into red color and shortly after they switch back to the original state.
Only the Nanoleaf App on my Smartphone allows me to control them correctly.
Do you have any ideas what the reason for this could be and how to fix it?
Many thanks!
Tom

Feature request: time of last touch event

First off, thank you for this adapter!

Is it possible to add to the gesture and PanelID a field with the latest touch event time? Trying to build an automation, but I'm not sure how to detect if the same panel is pressed the same way, i.e. ID is the same and the gesture is the same.

Thank you!

Nanoleaf Shapes stop being controlled by adapter after roughly a day

Describe the bug
After starting the adapter everything works perfectly fine but after roughly half a day to a day the adapter is not able to control my Nanoleaf Shapes Device anymore. It still correctly updates what happens to the device (eg., when I power it off the adapter shows its state is false), but I am not able to control it anymore via the adapter. I can still control it with the Nanoleaf iOS App or Apple Home.

Versions:

  • Adapter version: 1.4.0
  • JS-Controller version: 5.0.17
  • Node version: 16.20.2
  • Operating system: debian 4.19.289

Think about to fix the issues found by adapter checker

I am an automatic service that looks for possible errors in ioBroker and creates an issue for it. The link below leads directly to the test:

https://adapter-check.iobroker.in/?q=https://raw.githubusercontent.com/daniel-2k/ioBroker.nanoleaf-lightpanels

  • [E201] Bluefox was not found in the collaborators on NPM!. Please execute in adapter directory: "npm owner add bluefox iobroker.nanoleaf-lightpanels"

Thanks,
your automatic adapter checker.

P.S.: There is a community in Github, which supports the maintenance and further development of adapters. There you will find many experienced developers who are always ready to assist anyone. New developers are always welcome there. For more informations visit: https://github.com/iobroker-community-adapters/info

Tune roles

Your roles are very well. But I found a couple of places where they can be better.

https://github.com/daniel-2k/ioBroker.nanoleaf-lightpanels/blob/master/io-package.json#L229 => switch.light

Every time you want to use the role indicator, you should ask yourself : is it state what I want to see like small icon on device or is it state what I want to see like text. Indicators are icons.

https://github.com/daniel-2k/ioBroker.nanoleaf-lightpanels/blob/master/io-package.json#L206

Do you have predefined strings for that?
https://github.com/daniel-2k/ioBroker.nanoleaf-lightpanels/blob/master/io-package.json#L305

If yes, please define them all as states. Or can I really write any string there?

Same question for effects.

Here you must convert the Boolean into number in adapter. https://github.com/daniel-2k/ioBroker.nanoleaf-lightpanels/blob/master/io-package.json#L354
Button is always Boolean.

Please add your adapter to ioBroker.discovery

I am an automatic service from ioBroker that searches adapters and makes suggestions.

I noticed that your adapter is not integrated in the ioBroker.discovery. Using the Discovery adapter, ioBroker can automatically find devices or suggest services to the user for installation. If possible I would live to see your adapter added there.

Some adapters have already been added and you can use them as blueprints. See: https://github.com/ioBroker/ioBroker.discovery You need to fork this project and then create a PR for your adapter to be added.

Basically the plugins can do HTTP calls, UDP discovery, MDNS, UPNP and will iterate over all devices found by IP scan and check local serial ports. If you want you can also add new discovery methods but please try to do that with at least dependencies as possible.

Then create one file under lib/adapters for your adapter to implement the detection and proposal of an instance to the user.

On questions, the other developers will support in the forum or via GitHub issues too.

If no detection is possible, simply close this issue and I won't bother you again. ;-)

Thanks,
your automatic adapter checker.

P.S.: There is a community in Github, which supports the maintenance and further development of adapters. There you will find many experienced developers who are always ready to assist anyone. New developers are always welcome there. For more informations visit: https://github.com/iobroker-community-adapters/info

Please check ioBroker.nanoleaf-lightpanels with js-controller 2.0

Hi,

the new js-controller 2.0 will come into latest repository in the next days and we want to make sure that all adapters are working well. We already did a 2 weeks Beta test and so some adapter were aleady checked and some needed slight adjustments.

You can find more information in ioBroker/ioBroker.js-controller#482 and in the ioBroker Forum. If you have more technical questions please write in the referenced issue or in the Developer thread please. General questions are best in the genral thread.

Please update your systems to js-controller 2.0 and check your adapter.

Please close this issue once you have checked your adapter or received successfull reports from users.

Thank you very much for your support. Please contact us in the other Threads or Forum on any question.

Fehler Adapter 1.0.2

Hallo Daniel2k, leider gibt es immer noch Probleme bei dem Adapter. Version 1.0.2
Hier die Log Meldung. Adapter wechselt mehrmals von Grün auf Gelb zurück auf Grün und wieder Gelb.

nanoleaf-lightpanels.0 2020-07-09 10:00:53.690 warn (20634) Connection to '10.10.10.16:16021' lost, Error: No ssdp:alive detected. Try to reconnect...

Nanoleaf Skylight?

Hello,

thx for the plugin.

Question:

are also the Nanoleaf Skylights supported, or will be?

Best regards

Update stable version in repo from 1.4.0 to 1.5.0

Think about update stable version to 1.5.0

Version: stable=1.4.0 (295 days old) => latest=1.5.0 (15 days old)
Installs: stable=549 (71.58%), latest=64 (8.34%), total=767

Click to use developer portal
Click to edit

Do not close this issue manually as a new issue will be created if condition for update still exists.

Please drop a comment if any reason exists which blocks updating to version 1.5.0 at this time.

Note: This is an automatically generated message and not personally authored by bluefox!
@mcm1957 for evidence

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.