update:
so today we are at that stage
{
"nikobus_button": [
{
"description": "BT_GF_Living_Sofa_Wall_Light_Up",
"address": "004E2C",
"impacted_module": [
{
"address": "0E6C",
"group": "1"
}
],
"discovered_info": [
{
"type": "IR Button with 4 Operation Points",
"model": "05-348",
"address": "0D1C80",
"channels": 4,
"key": "1C"
}
]
},
The idea is now to go for
{
"nikobus_button": [
{
"description": "BT_GF_Living_Sofa_Wall_Light_Up",
"address": "004E2C",
"impacted_module": [
{
"address": "0E6C",
"group": "1"
}
],
"discovered_info": [
{
"type": "IR Button with 4 Operation Points",
"model": "05-348",
"address": "0D1C80",
"channels": 4,
"key": "1C"
}
"discovered_link": [
{
"impacted_module": "0E6C",
"output": 7,
"timer": null,
"mode": "M01 On/Off"
}
]
},
So I will be adding “discovered_link” that will report the impacted_module of the button, the module output, its mode ‘on/off’ / push button / etc and associated timer if any.
BUT I will always rely on the user provided data, this section :
{
"description": "BT_GF_Living_Sofa_Wall_Light_Up",
"address": "004E2C",
"impacted_module": [
{
"address": "0E6C",
"group": "1"
}
],
and if and only if, 1- the button is not existing or 2- the user has applied no customization then I will failback to the discovered data.
So no impact to your current setup and ways of working, data is enriched only if you decide to run the discovery service, it’s a manual process that only a user can trigger.
a. You could keep asis and decide not to run the discovery.
b. You could run discovery with you current data and setup without impact (you can then read the button file to search for discrenpencies, etc…) No more manual updating of the file might you update your Nikobus config, just run discovery again.
c. One could setup nikobus without any user input, if that’s the wish. fully relying on discovery vs user inputs.
As was not far from completion, then I tried the discovery on dimmer modules. I could never imagine someone would code a protocol to extract data from modules that is almost different by module type… anyway, I know how to reverse engineer them, will just need more time…
eg,
one inventory item from a switch or shutter module
$0510$2E055B300477C95802200573EE8002310677C9264710
on from a dimmer
$0522$1E6C0E5F1550000300B4FF452CA9
Do not ask why they are not using the same form of payload for same purpose back to the drawing board.