clone of nymea from github https://github.com/nymea/
 
 
 
 
 
 
Go to file
Michael Zanetti 573a2c061a Don't call thingRemoved() on the plugin in case of reconfiguring
Reasoning:

a) Currently, the API behaves inconsistently. While reconfiguring
a "justAdd" thing, it did call thingRemoved, however, reconfiguring a thing
that uses pairing did not.

b) The old implementation did not consider childs. Reconfiguring a
justAdd thing which has childs was calling thingRemoved on the parent only
but not its childs.

c) If we'd fix this by calling thingRemoved() for all flows and childs
we'd end up in hells kitchen as we can't know about the new state of childs
after the reconfiguration, so we can't just automatically add all the childs
back ourselves, the plugin needs to do that. This in turn would mean that
childs would get new ids which then breaks rules and stuff.

So the conclusion has been to just re-run the setup and the plugin implementation
is in charge for then checking the existing childs and calling autoThingDisappeared()
as needed.

WARNING: This also implies that we need to fix some plugins which currently rely
on thingRemoved to be called for reconfiguration and might create duplicate
connections or similar now.
2020-09-01 13:45:14 +02:00
.github Create pull request template 2019-10-08 15:55:37 +02:00
data Update company name 2019-12-27 00:29:58 +01:00
debian Jenkins release build 0.23.0 2020-08-14 13:09:38 +02:00
doc Update company name 2019-12-27 00:29:58 +01:00
icons rename logo 2019-04-08 13:55:15 +02:00
libnymea Merge PR #320: Rework garage door interfaces 2020-08-14 13:09:34 +02:00
libnymea-core Don't call thingRemoved() on the plugin in case of reconfiguring 2020-09-01 13:45:14 +02:00
plugins Merge PR #314: Fix conversion of values 2020-08-14 13:09:34 +02:00
server Add nymea logging categories as opposed to just Qt ones 2020-06-17 14:32:35 +02:00
tests Merge PR #323: Fix cleanig up tags that are not needed any more 2020-08-14 13:09:34 +02:00
tools Make the duplicate UUID check more strict 2020-04-08 13:57:31 +02:00
translations Translated using Weblate (German) 2020-07-13 13:26:56 +02:00
.gitignore Remove build artefacts from gitignore. 2019-09-02 00:08:14 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2019-04-02 01:02:45 +02:00
LICENSE.GPL3 Update copyright 2020-01-23 20:07:26 +01:00
LICENSE.LGPL3 Update copyright 2020-01-23 20:07:26 +01:00
README.md Update README.md 2020-06-16 18:11:26 +02:00
icons.qrc rename logo 2019-04-08 13:55:15 +02:00
nymea.pri Merge PR #247: Generate a version.h file 2020-01-22 23:47:15 +01:00
nymea.pro Bump lib version as we're breaking the ABI! 2020-05-01 14:43:28 +02:00
version.h.in Fix license header in version.h.in 2020-05-20 11:31:34 +02:00

README.md

nymea - open source IoT edge server


nymea (/[n'aiːmea:]/ - is an open source IoT edge server. The plug-in based architecture allows to integrate protocols and APIs. With the build-in rule engine you are able to interconnect devices or services available in the system and create individual scenes and behaviours for your environment.

Quick start

Install nymea on a Raspberry Pi

We have created an image for your Raspberry Pi (all models) that comes with an array of plugins for different smart devices! Download

Get nymea:app here:

iOS Badge

Android Badge

macOS Badge

Snap Badge

Windows Badge

A detailed description how to install and getting started with nymea can be found in the nymea | user documentation.

Getting help

If you want to present your project or want to share your newest developments you can share it in Our Forum

If you are facing any troubles, don't hesitate to reach out for us or the community members, we will be pleased to help you: Chat with us on Telegram or Discord

Developing with nymea

A detailed documentation on how to develop with nymea is available on the nymea | developer documentation.

License


nymea is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2 of the License.