daniel-2k / iobroker.nanoleaf-lightpanels Goto Github PK
View Code? Open in Web Editor NEWioBroker Adapter for nanoleaf Light Panels / Canvas
License: MIT License
ioBroker Adapter for nanoleaf Light Panels / Canvas
License: MIT License
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.
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... |
---|
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.
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.
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
The Idea of role="indicator" is that this is boolean state (read=true, write=false) that indicates something predefined.
indicator can specify its role like "indicator.battery" or "indicator.reachable".
Your states are mostly strings and in this case they are just a role="state".
https://github.com/ioBroker/ioBroker/blob/master/doc/SCHEMA.md#state-commonrole
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!
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
Please consider including node 20 tests into your workflow as more and more users are using node 20.
Seit dem Update auf besagten Controller als auch Node JS geht der Adapter nicht mehr. Anbei der Log aus 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
I have 2 instances for nanoleafs shapes. On both I observe many connection issues, see log
My iobroker runs in a container, means I can't use SSDP.
Maybe adding a keepAlive agent for the http get method can resolve this issue. https://nodejs.org/api/http.html#http_new_agent_options
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!
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!
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:
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
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:
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
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
Hello,
thx for the plugin.
Question:
are also the Nanoleaf Skylights supported, or will be?
Best regards
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:
Version: stable=1.3.1 (602 days old) => latest=1.4.0 (15 days old)
Installs: stable=663 (85%), latest=60 (7.69%), total=780
Click to edit
Your adapter fails standard github testing ans will fail with future js-controller versions.
Please update
As a suggestion only (not mandatory):
Consider adding dependabot automerger workflow. This will reduce your work to manually merge PRs for patch releases and for development updates.
If you need any help, please feel free to ask.
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
Version: stable=1.2.0 (308 days old) => latest=1.2.1 (15 days old)
Installs: stable=399 (75%), latest=65 (12.22%), total=532
Click to edit
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:
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
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!
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
Some states (like active or connected) have type "string". Is it possible to convert it to boolean?
Can you provide the example of JSON answer?
Version: stable=1.0.6 (127 days old) => latest=1.2.0 (15 days old)
Installs: stable=240 (60.15%), latest=73 (18.3%), total=399
Click to edit
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...
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.
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.
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:
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
The upcoming version 2.0.0 of js-controller will support a new mode for low memory devices. For this, a few minor adjustments to the adapter must be made. Please follow these instructions: https://forum.iobroker.net/viewtopic.php?f=24&t=20387#p213466
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.