Hi,
I have a KNX-based setup in my home, including a eibport device used as KNX interface.
The KNX setup was pre-installed when I bought the house and I don’t have the admin password for the EibPort device. The company which installed the setup no longer exists, so I can’t get the password from them.
I could probably just factory reset the EibPort and start from scratch, but I would prefer not having to do that at this time.
Instead, I’d like to integrate my KNX devices into HA. The only problem is that I don’t have a list of all of the group adresses assigned to the various KNX devices.
Using ETS I was able to connect to the KNX bus through my EibPort and monitor the traffic there. This way, I could pretty easily figure out the adresses assigned to simple devices such as lights.
However, this approach doens’t seem viable for the more advanced devices such as climate controls and blinds, as these have multiple adresses associated.
The next approach I tried was having a look at the traffic sent from the built-in web interface of the EibPort. This way I was able to find json payloads representing the various devices and corresponding states. The following is an example of a json object representing a light:
{
"id": 34958,
"type": "switch",
"title": "Korridoren",
"dashboard_category": 2,
"fav_status": 0,
"fav_rank": 1,
"ga_switch": [
2309
],
"ga_fb_switch": [
22789
],
"ga_dim": [],
"ga_fb_dim": [],
"ga_consumption": [],
"icon": "light",
"dimming_telegram_count": 2,
"datatype_consumption": 100140000,
"format_consumption": "0 W",
"factor_consumption": 1,
"offset_consumption": 0,
"dimming_type": "none"
}
My assumption is that the ga_switch element is a decimal representation of the group adress corresponding to this light.
By monitoring the trafic on the KNX bus I confirmed that this particular light has the group adress 1/1/5.
If I could figure out how to convert the decimal group adress back to the normal ‘x/y/z’ form, I could easily write a script to parse the topology representation and extract the adresses. So far I’ve not been able to figure out how do that, though.
Does anybody here happen to know how to go about this? Any advice would be greatly appriceated