KNXController

From ago control wiki
(Difference between revisions)
Jump to: navigation, search
(Import ETS GA export)
m (Import ETS GA export)
Line 32: Line 32:
 
<pre>
 
<pre>
 
"Arbeitszimmer":{
 
"Arbeitszimmer":{
     "Appliance":{"Steckdose Schreibtisch - Schalten":"2/5/0","Steckdose Schreibtisch - Status":"2/5/1"},
+
     "Appliance":{
 +
        "Steckdose Schreibtisch - Schalten":"2/5/0",
 +
        "Steckdose Schreibtisch - Status":"2/5/1"
 +
    },
 
     "Licht":{
 
     "Licht":{
 
         "Decke - Schalten":"2/0/0",
 
         "Decke - Schalten":"2/0/0",

Revision as of 16:05, 26 September 2015

Contents

ETS Group Addresses

Structure

Logical level addressing on the KNX side works with group addresses (GA). They're usually grouped by main and middle number (separated with '/'). A possible GA could look like this: 4/1/15

A possible tree in ETS could look like this:

ETS-GA-structure.png

In this example we're using the main (first) part of the GA for the room and the second part for identifying the type (lighting, shutters, sensors, ..). This is not mandatory, one can create whatever preferred structure (e.g. using the main part for the building or floor number, and so on).

Mapping to an agocontrol device

So for one light switch in KNX, we usually use two group addresses. One to turn it on and off. The switch will then send the current status to the second GA. Local changes (operating the switch manually) will also trigger telegrams to the status GA.

- 2 Arbeitszimmer
-- 2/0 Licht
--- 2/0/0 Decke - Schalten
--- 2/0/1 Decke - Status

Dimmers have two more GAs. One to set a dimming level, and one to report the dimming level back. Agocontrol needs to know which GAs to use when translating qpid commands to KNX telegrams. Hence the internal device map needs to store the relevant GAs. The internal entry for a dimmer does look like this:

   "5a1b7c2b-6c24-4442-a5bc-b6c077494d03": {
        "devicetype": "dimmer",
        "levelstatus": "4/0/3",
        "onoff": "4/0/0",
        "onoffstatus": "4/0/1",
        "setlevel": "4/0/4"
}

Wizard functionality

The KNX Wizard should allow the following:

Import ETS GA export

User should be able to specify a local ETS XML GA Export file. Wizard will send the file contents as qpid command to the knxcontroller device, command "parseetsexport" with the parameter "etsdata", which hold the XML file contents. The knxcontroller will deliver a map within the reply data, named "groupmap". This will hold the structure from the above picture in JSON format:

"Arbeitszimmer":{
    "Appliance":{
        "Steckdose Schreibtisch - Schalten":"2/5/0",
        "Steckdose Schreibtisch - Status":"2/5/1"
    },
    "Licht":{
        "Decke - Schalten":"2/0/0",
        "Decke - Status":"2/0/1"
    },
    "Rollo":{
        "Rollo - Auf/Ab":"2/1/0",
        "Rollo - Position":"2/1/3",
        "Rollo - Position Status":"2/1/4",
        "Rollo - Richtung Status":"2/1/2",
        "Rollo - Stop":"2/1/1"
    }
},
"Bad":{
    "Heizung":{
        "Handtuchhalter - Schalten":"7/3/0",
        "Handtuchhalter - Status":"7/3/1"
    },
    "Licht":{
        "Decke - Schalten":"7/0/0",
        "Decke - Status":"7/0/1",
        "Spiegel - Schalten":"7/0/2",
        "Spiegel - Status":"7/0/3"
    }
},

KNX Controller examples

Fetch map for a specific device

# /opt/agocontrol/bin/messagesend uuid=40820aa5-7d69-4541-b3eb-dcf0374e8520 command=getdevice device=3b933ba8-22d6-4894-9a02-57711d317e02
Sending message: {command:getdevice, device:3b933ba8-22d6-4894-9a02-57711d317e02, uuid:40820aa5-7d69-4541-b3eb-dcf0374e8520}
Reply: {_newresponse:True, result:{data:{device:3b933ba8-22d6-4894-9a02-57711d317e02, devicemap:{devicetype:switch, onoff:4/5/0, onoffstatus:4/5/1}}, identifier:success}}

create device

# python /tmp/knx-test.py 
{"method":"message","params":{"content":{"command":"adddevice","uuid":"40820aa5-7d69-4541-b3eb-dcf0374e8520","devicemap":{"devicetype":"shutters","onoffga":"6/6/6"}}},"id":2,"jsonrpc":"2.0"}
{"jsonrpc": "2.0", "result": {"data":{"device":"40820aa5-7d69-4541-b3eb-dcf0374e8520"},"identifier":"success"}, "_temp_newstyle_response":true, "id": 2

Delete device

~# /opt/agocontrol/bin/messagesend uuid=40820aa5-7d69-4541-b3eb-dcf0374e8520 command=deldevice device=3b933ba8-22d6-4894-9a02-57711d317e02
Sending message: {command:deldevice, device:3b933ba8-22d6-4894-9a02-57711d317e02, uuid:40820aa5-7d69-4541-b3eb-dcf0374e8520}
Reply: {_newresponse:True, result:{identifier:success}}

Converting ETS group address export

# python knx-test.py 
{"method":"message","params":{"content":{"command":"parseetsexport","uuid":"0e530910-df7d-4efe-9d0b-2bf6a6766dc6","etsdata":"<?xml version='1.0' encoding='utf-8' standalone='yes'?><GroupAddress-Export xmlns='http://knx.org/xml/ga-export/01'>  <GroupRange Name='Zentralfunktionen' RangeStart='1' RangeEnd='2047'>    <GroupRange Name='Licht' RangeStart='1' RangeEnd='255'>      <GroupAddress Name='Alle Lichter - Schalten' Address='0/0/1' />    </GroupRange>    <GroupRange Name='Rollo' RangeStart='256' RangeEnd='511'>      <GroupAddress Name='Alle Rollos - Fahren' Address='0/1/0' />    </GroupRange>    <GroupRange Name='Sensoren' RangeStart='1024' RangeEnd='1279'>      <GroupAddress Name='Leistung Phase 1' Address='0/4/0' />      <GroupAddress Name='Leistung Phase 2' Address='0/4/1' />      <GroupAddress Name='Leistung Phase 3' Address='0/4/2' />      <GroupAddress Name='Bewegungsmelder AXIS' Address='0/4/3' />    </GroupRange>    <GroupRange Name='Appliance' RangeStart='1280' RangeEnd='1535'>      <GroupAddress Name='Tueroeffner' Address='0/5/0' />      <GroupAddress Name='Tueroeffner Status' Address='0/5/1' />      <GroupAddress Name='Sirene - Schalten' Address='0/5/4' />      <GroupAddress Name='Sirene - Status' Address='0/5/5' />    </GroupRange>    <GroupRange Name='System' RangeStart='1536' RangeEnd='1791'>      <GroupAddress Name='TagNacht' Address='0/6/16' />      <GroupAddress Name='Datum' Address='0/6/22' />      <GroupAddress Name='Zeit' Address='0/6/23' />    </GroupRange>    <GroupRange Name='Szenen' RangeStart='1792' RangeEnd='2047'>      <GroupAddress Name='Hauptszene Licht' Address='0/7/0' />    </GroupRange>  </GroupRange>  <GroupRange Name='Vorzimmer' RangeStart='2048' RangeEnd='4095'>    <GroupRange Name='Licht' RangeStart='2048' RangeEnd='2303'>      <GroupAddress Name='Decke 1 - Schalten' Address='1/0/0' />      <GroupAddress Name='Decke 1 - Status' Address='1/0/1' />      <GroupAddress Name='Decke 2 - Schalten' Address='1/0/2' />      <GroupAddress Name='Decke 2 - Status' Address='1/0/3' />      <GroupAddress Name='Alarmstatus' Address='1/0/4' />      <GroupAddress Name='Decke 1 - Dimmen' Address='1/0/5' />      <GroupAddress Name='Decke 1 - Dimmen Status' Address='1/0/6' />      <GroupAddress Name='Decke 1 - Level' Address='1/0/7' />      <GroupAddress Name='Orientierung Flur' Address='1/0/15' />      <GroupAddress Name='Alarmled' Address='1/0/18' />      <GroupAddress Name='Taste2LED' Address='1/0/19' />      <GroupAddress Name='Taste3LED' Address='1/0/20' />      <GroupAddress Name='Taste4LED' Address='1/0/21' />    </GroupRange>    <GroupRange Name='Sensoren' RangeStart='3072' RangeEnd='3327'>      <GroupAddress Name='Tuerkontakt' Address='1/4/0' />      <GroupAddress Name='Tuerkontakt Wert' Address='1/4/1' />      <GroupAddress Name='Tuerkontakt_von_Aussen' Address='1/4/2' />      <GroupAddress Name='TSE Control' Address='1/4/3' />      <GroupAddress Name='Bewegung Flur' Address='1/4/8' />      <GroupAddress Name='Helligkeit Flur' Address='1/4/9' />      <GroupAddress Name='Praesenz Flur' Address='1/4/10' />      <GroupAddress Name='Glastaster Temperatur' Address='1/4/14' />      <GroupAddress Name='Taster Flur 2' Address='1/4/17' />      <GroupAddress Name='Taster Flur Taste 3' Address='1/4/19' />      <GroupAddress Name='Taster Flur Taste 4' Address='1/4/20' />      <GroupAddress Name='Rauchmelder Alarm' Address='1/4/25' />      <GroupAddress Name='Rauchmelder Signalgeber' Address='1/4/26' />      <GroupAddress Name='Rauchmelder Temperatur' Address='1/4/27' />      <GroupAddress Name='Rauchmelder Stoerung' Address='1/4/28' />    </GroupRange>  </GroupRange>  <GroupRange Name='Arbeitszimmer' RangeStart='4096' RangeEnd='6143'>    <GroupRange Name='Licht' RangeStart='4096' RangeEnd='4351'>      <GroupAddress Name='Decke - Schalten' Address='2/0/0' />      <GroupAddress Name='Decke - Status' Address='2/0/1' />    </GroupRange>    <GroupRange Name='Rollo' RangeStart='4352' RangeEnd='4607'>      <GroupAddress Name='Rollo - Auf/Ab' Address='2/1/0' />      <GroupAddress Name='Rollo - Stop' Address='2/1/1' />      <GroupAddress Name='Rollo - Richtung Status' Address='2/1/2' />      <GroupAddress Name='Rollo - Position' Address='2/1/3' />      <GroupAddress Name='Rollo - Position Status' Address='2/1/4' />    </GroupRange>    <GroupRange Name='Appliance' RangeStart='5376' RangeEnd='5631'>      <GroupAddress Name='Steckdose Schreibtisch - Schalten' Address='2/5/0' />      <GroupAddress Name='Steckdose Schreibtisch - Status' Address='2/5/1' />    </GroupRange>  </GroupRange>  <GroupRange Name='Kueche' RangeStart='6144' RangeEnd='8191'>    <GroupRange Name='Licht' RangeStart='6144' RangeEnd='6399'>      <GroupAddress Name='Decke - Schalten' Address='3/0/0' />      <GroupAddress Name='Decke - Status' Address='3/0/1' />    </GroupRange>    <GroupRange Name='Rollo' RangeStart='6400' RangeEnd='6655'>      <GroupAddress Name='Rollo - Auf/Ab' Address='3/1/0' />      <GroupAddress Name='Rollo - Stop' Address='3/1/1' />      <GroupAddress Name='Rollo - Status' Address='3/1/2' />      <GroupAddress Name='Rollo - Position' Address='3/1/3' />      <GroupAddress Name='Rollo - Position Status' Address='3/1/4' />    </GroupRange>  </GroupRange>  <GroupRange Name='Wohnzimmer' RangeStart='8192' RangeEnd='10239'>    <GroupRange Name='Licht' RangeStart='8192' RangeEnd='8447'>      <GroupAddress Name='Decke - Schalten' Address='4/0/0' />      <GroupAddress Name='Decke - Status' Address='4/0/1' />      <GroupAddress Name='Decke - Dimmen' Address='4/0/2' />      <GroupAddress Name='Decke - Dimmen Status' Address='4/0/3' />      <GroupAddress Name='Decke - Level' Address='4/0/4' />      <GroupAddress Name='Esstisch - Schalten' Address='4/0/5' />      <GroupAddress Name='Esstisch - Status' Address='4/0/6' />    </GroupRange>    <GroupRange Name='Rollo' RangeStart='8448' RangeEnd='8703'>      <GroupAddress Name='Rollo Fenster - Auf/Ab' Address='4/1/0' />      <GroupAddress Name='Rollo Fenster - Stop' Address='4/1/1' />      <GroupAddress Name='Rollo Fenster - Richtung Status' Address='4/1/2' />      <GroupAddress Name='Rollo Fenster - Position' Address='4/1/3' />      <GroupAddress Name='Rollo Fenster - Position Status' Address='4/1/4' />      <GroupAddress Name='Rollo Tuere - Auf/Ab' Address='4/1/10' />      <GroupAddress Name='Rollo Tuere - Stop' Address='4/1/11' />      <GroupAddress Name='Rollo Tuere - Richtung Status' Address='4/1/12' />      <GroupAddress Name='Rollo Tuere - Position' Address='4/1/13' />      <GroupAddress Name='Rollo Tuere - Position Status' Address='4/1/14' />    </GroupRange>    <GroupRange Name='Sensoren' RangeStart='9216' RangeEnd='9471'>      <GroupAddress Name='Taster WZ Taste 6' Address='4/4/0' />    </GroupRange>    <GroupRange Name='Appliance' RangeStart='9472' RangeEnd='9727'>      <GroupAddress Name='AV Regal - Schalten' Address='4/5/0' />      <GroupAddress Name='AV Regal - Status' Address='4/5/1' />      <GroupAddress Name='Steckdose Esstisch - Schalten' Address='4/5/2' />      <GroupAddress Name='Steckdose Esstisch - Status' Address='4/5/3' />      <GroupAddress Name='AV Regal 2 - Schalten' Address='4/5/4' />      <GroupAddress Name='AV Regal 2 - Status' Address='4/5/5' />    </GroupRange>  </GroupRange>  <GroupRange Name='Schlafzimmer' RangeStart='10240' RangeEnd='12287'>    <GroupRange Name='Licht' RangeStart='10240' RangeEnd='10495'>      <GroupAddress Name='Decke - Schalten' Address='5/0/0' />      <GroupAddress Name='Decke - Status' Address='5/0/1' />      <GroupAddress Name='Decke - Dimmen' Address='5/0/2' />      <GroupAddress Name='Decke - Dimmen Status' Address='5/0/3' />      <GroupAddress Name='Decke - Level' Address='5/0/4' />    </GroupRange>    <GroupRange Name='Rollo' RangeStart='10496' RangeEnd='10751'>      <GroupAddress Name='Rollo - Auf/Ab' Address='5/1/0' />      <GroupAddress Name='Rollo - Stop' Address='5/1/1' />      <GroupAddress Name='Rollo - Richtung Status' Address='5/1/2' />      <GroupAddress Name='Rollo - Position' Address='5/1/3' />      <GroupAddress Name='Rollo - Position Status' Address='5/1/4' />    </GroupRange>    <GroupRange Name='Sensoren' RangeStart='11264' RangeEnd='11519'>      <GroupAddress Name='Taster SZ Taste 4' Address='5/4/0' />    </GroupRange>  </GroupRange>  <GroupRange Name='Biggizimmer' RangeStart='12288' RangeEnd='14335'>    <GroupRange Name='Licht' RangeStart='12288' RangeEnd='12543'>      <GroupAddress Name='Decke - Schalten' Address='6/0/0' />      <GroupAddress Name='Decke - Status' Address='6/0/1' />    </GroupRange>  </GroupRange>  <GroupRange Name='Bad' RangeStart='14336' RangeEnd='16383'>    <GroupRange Name='Licht' RangeStart='14336' RangeEnd='14591'>      <GroupAddress Name='Decke - Schalten' Address='7/0/0' />      <GroupAddress Name='Decke - Status' Address='7/0/1' />      <GroupAddress Name='Spiegel - Schalten' Address='7/0/2' />      <GroupAddress Name='Spiegel - Status' Address='7/0/3' />    </GroupRange>    <GroupRange Name='Heizung' RangeStart='15104' RangeEnd='15359'>      <GroupAddress Name='Handtuchhalter - Schalten' Address='7/3/0' />      <GroupAddress Name='Handtuchhalter - Status' Address='7/3/1' />    </GroupRange>  </GroupRange>  <GroupRange Name='Toilette' RangeStart='16384' RangeEnd='18431'>    <GroupRange Name='Licht' RangeStart='16384' RangeEnd='16639'>      <GroupAddress Name='Decke - Schalten' Address='8/0/0' />      <GroupAddress Name='Decke - Status' Address='8/0/1' />    </GroupRange>  </GroupRange>  <GroupRange Name='Abstellraum' RangeStart='18432' RangeEnd='20479'>    <GroupRange Name='Licht' RangeStart='18432' RangeEnd='18687'>      <GroupAddress Name='Decke - Schalten' Address='9/0/0' />      <GroupAddress Name='Decke - Status' Address='9/0/1' />    </GroupRange>    <GroupRange Name='Appliance' RangeStart='19712' RangeEnd='19967'>      <GroupAddress Name='Ausgang 1 - Schalten' Address='9/5/0' />      <GroupAddress Name='Ausgang 1 - Status' Address='9/5/1' />      <GroupAddress Name='Ausgang 2 - Schalten' Address='9/5/2' />      <GroupAddress Name='Ausgang 2 - Status' Address='9/5/3' />      <GroupAddress Name='Ausgang 3 - Schalten' Address='9/5/4' />      <GroupAddress Name='Ausgang 3 - Status' Address='9/5/5' />      <GroupAddress Name='Ausgang 4 - Schalten' Address='9/5/6' />      <GroupAddress Name='Ausgang 4 - Status' Address='9/5/7' />    </GroupRange>  </GroupRange></GroupAddress-Export>"}},"id":2,"jsonrpc":"2.0"}
{"jsonrpc": "2.0", "result": {"data":{"groupmap":{"Abstellraum":{"Appliance":{"Ausgang 1 - Schalten":"9/5/0","Ausgang 1 - Status":"9/5/1","Ausgang 2 - Schalten":"9/5/2","Ausgang 2 - Status":"9/5/3","Ausgang 3 - Schalten":"9/5/4","Ausgang 3 - Status":"9/5/5","Ausgang 4 - Schalten":"9/5/6","Ausgang 4 - Status":"9/5/7"},"Licht":{"Decke - Schalten":"9/0/0","Decke - Status":"9/0/1"}},"Arbeitszimmer":{"Appliance":{"Steckdose Schreibtisch - Schalten":"2/5/0","Steckdose Schreibtisch - Status":"2/5/1"},"Licht":{"Decke - Schalten":"2/0/0","Decke - Status":"2/0/1"},"Rollo":{"Rollo - Auf/Ab":"2/1/0","Rollo - Position":"2/1/3","Rollo - Position Status":"2/1/4","Rollo - Richtung Status":"2/1/2","Rollo - Stop":"2/1/1"}},"Bad":{"Heizung":{"Handtuchhalter - Schalten":"7/3/0","Handtuchhalter - Status":"7/3/1"},"Licht":{"Decke - Schalten":"7/0/0","Decke - Status":"7/0/1","Spiegel - Schalten":"7/0/2","Spiegel - Status":"7/0/3"}},"Biggizimmer":{"Licht":{"Decke - Schalten":"6/0/0","Decke - Status":"6/0/1"}},"Kueche":{"Licht":{"Decke - Schalten":"3/0/0","Decke - Status":"3/0/1"},"Rollo":{"Rollo - Auf/Ab":"3/1/0","Rollo - Position":"3/1/3","Rollo - Position Status":"3/1/4","Rollo - Status":"3/1/2","Rollo - Stop":"3/1/1"}},"Schlafzimmer":{"Licht":{"Decke - Dimmen":"5/0/2","Decke - Dimmen Status":"5/0/3","Decke - Level":"5/0/4","Decke - Schalten":"5/0/0","Decke - Status":"5/0/1"},"Rollo":{"Rollo - Auf/Ab":"5/1/0","Rollo - Position":"5/1/3","Rollo - Position Status":"5/1/4","Rollo - Richtung Status":"5/1/2","Rollo - Stop":"5/1/1"},"Sensoren":{"Taster SZ Taste 4":"5/4/0"}},"Toilette":{"Licht":{"Decke - Schalten":"8/0/0","Decke - Status":"8/0/1"}},"Vorzimmer":{"Licht":{"Alarmled":"1/0/18","Alarmstatus":"1/0/4","Decke 1 - Dimmen":"1/0/5","Decke 1 - Dimmen Status":"1/0/6","Decke 1 - Level":"1/0/7","Decke 1 - Schalten":"1/0/0","Decke 1 - Status":"1/0/1","Decke 2 - Schalten":"1/0/2","Decke 2 - Status":"1/0/3","Orientierung Flur":"1/0/15","Taste2LED":"1/0/19","Taste3LED":"1/0/20","Taste4LED":"1/0/21"},"Sensoren":{"Bewegung Flur":"1/4/8","Glastaster Temperatur":"1/4/14","Helligkeit Flur":"1/4/9","Praesenz Flur":"1/4/10","Rauchmelder Alarm":"1/4/25","Rauchmelder Signalgeber":"1/4/26","Rauchmelder Stoerung":"1/4/28","Rauchmelder Temperatur":"1/4/27","TSE Control":"1/4/3","Taster Flur 2":"1/4/17","Taster Flur Taste 3":"1/4/19","Taster Flur Taste 4":"1/4/20","Tuerkontakt":"1/4/0","Tuerkontakt Wert":"1/4/1","Tuerkontakt_von_Aussen":"1/4/2"}},"Wohnzimmer":{"Appliance":{"AV Regal - Schalten":"4/5/0","AV Regal - Status":"4/5/1","AV Regal 2 - Schalten":"4/5/4","AV Regal 2 - Status":"4/5/5","Steckdose Esstisch - Schalten":"4/5/2","Steckdose Esstisch - Status":"4/5/3"},"Licht":{"Decke - Dimmen":"4/0/2","Decke - Dimmen Status":"4/0/3","Decke - Level":"4/0/4","Decke - Schalten":"4/0/0","Decke - Status":"4/0/1","Esstisch - Schalten":"4/0/5","Esstisch - Status":"4/0/6"},"Rollo":{"Rollo Fenster - Auf/Ab":"4/1/0","Rollo Fenster - Position":"4/1/3","Rollo Fenster - Position Status":"4/1/4","Rollo Fenster - Richtung Status":"4/1/2","Rollo Fenster - Stop":"4/1/1","Rollo Tuere - Auf/Ab":"4/1/10","Rollo Tuere - Position":"4/1/13","Rollo Tuere - Position Status":"4/1/14","Rollo Tuere - Richtung Status":"4/1/12","Rollo Tuere - Stop":"4/1/11"},"Sensoren":{"Taster WZ Taste 6":"4/4/0"}},"Zentralfunktionen":{"Appliance":{"Sirene - Schalten":"0/5/4","Sirene - Status":"0/5/5","Tueroeffner":"0/5/0","Tueroeffner Status":"0/5/1"},"Licht":{"Alle Lichter - Schalten":"0/0/1"},"Rollo":{"Alle Rollos - Fahren":"0/1/0"},"Sensoren":{"Bewegungsmelder AXIS":"0/4/3","Leistung Phase 1":"0/4/0","Leistung Phase 2":"0/4/1","Leistung Phase 3":"0/4/2"},"System":{"Datum":"0/6/22","TagNacht":"0/6/16","Zeit":"0/6/23"},"Szenen":{"Hauptszene Licht":"0/7/0"}}}},"identifier":"success"}, "_temp_newstyle_response":true, "id": 2
}

Complete map, for reference

# cat /etc/opt/agocontrol/maps/knx.json | python -m json.tool
{
    "084ecee8-a60c-4ec0-8347-2e7fc3ec15b8": {
        "devicetype": "binarysensor",
        "levelstatus": "4/4/0"
    },
    "0962f27e-99ce-43a4-872b-97d75d61f464": {
        "devicetype": "dimmer",
        "levelstatus": "1/0/6",
        "onoff": "1/0/0",
        "onoffstatus": "1/0/1",
        "setlevel": "1/0/7"
    },
    "0d69e759-d459-4431-87fb-be068bb0cc16": {
        "devicetype": "drapes",
        "levelstatus": "5/1/4",
        "onoff": "5/1/0",
        "setlevel": "5/1/3",
        "stop": "5/1/1"
    },
    "11743e6e-ed1e-4a3b-8a92-ba5873c716b0": {
        "devicetype": "switch",
        "onoff": "1/0/19"
    },
    "17c4f855-7c6a-46d5-acf6-1e5c9ae367e7": {
        "devicetype": "switch",
        "onoff": "6/0/0",
        "onoffstatus": "6/0/1"
    },
    "22bf1714-fb33-4bd6-a79a-736898e4eb82": {
        "devicetype": "switch",
        "onoff": "2/5/0",
        "onoffstatus": "2/5/1"
    },
    "26e1cb96-8585-4f43-aec4-d0935a32c188": {
        "binary": "1/4/2",
        "devicetype": "binarysensor"
    },
    "2db31059-43f2-4687-8730-ca2591892cbd": {
        "devicetype": "temperaturesensor",
        "temperature": "1/4/14"
    },
    "349289c5-b254-4480-af90-4548cbcdda9d": {
        "devicetype": "switch",
        "onoff": "7/0/0",
        "onoffstatus": "7/0/1"
    },
    "3887ac29-8f58-43dd-8c5f-36c0b3507f4e": {
        "devicetype": "switch",
        "onoff": "1/0/15"
    },
    "3b933ba8-22d6-4894-9a02-57711d317e02": {
        "devicetype": "switch",
        "onoff": "4/5/0",
        "onoffstatus": "4/5/1"
    },
    "47ad756e-c5f6-4c9f-acca-cc4d9148e538": {
        "devicetype": "drapes",
        "levelstatus": "3/1/4",
        "onoff": "3/1/0",
        "setlevel": "3/1/3",
        "stop": "3/1/1"
    },
    "4b4a46f6-993f-49b6-868d-0b2b77b1af2a": {
        "devicetype": "switch",
        "onoff": "1/0/20"
    },
    "4fe0477e-0732-4080-8595-a6a4b68a7aa9": {
        "devicetype": "binarysensor",
        "levelstatus": "1/4/17"
    },
    "54539af0-a871-4883-bf8f-eb3fa24d63ab": {
        "devicetype": "binarysensor",
        "levelstatus": "5/4/0"
    },
    "5a1b7c2b-6c24-4442-a5bc-b6c077494d03": {
        "devicetype": "dimmer",
        "levelstatus": "4/0/3",
        "onoff": "4/0/0",
        "onoffstatus": "4/0/1",
        "setlevel": "4/0/4"
    },
    "5bb6e858-aeec-47bb-8144-61293467cfb6": {
        "devicetype": "binarysensor",
        "levelstatus": "1/4/20"
    },
    "5e4c10c2-05ab-46eb-ad9d-4dc39f4d4913": {
        "devicetype": "switch",
        "onoff": "0/5/0",
        "onoffstatus": "0/5/1"
    },
    "5e4c1ac2-55ab-46eb-dd9d-4dc39f4d4914": {
        "devicetype": "switch",
        "onoff": "0/5/4",
        "onoffstatus": "0/5/5"
    },
    "6a46bea3-3325-4ea3-8168-65b357572b5c": {
        "devicetype": "switch",
        "onoff": "9/0/0",
        "onoffstatus": "9/0/1"
    },
    "730dd18b-15f2-4997-a033-e16ed08f40d2": {
        "devicetype": "switch",
        "onoff": "7/0/2",
        "onoffstatus": "7/0/3"
    },
    "76a633b2-0f2b-426b-91a9-860ecb1e5d20": {
        "devicetype": "switch",
        "onoff": "1/0/18"
    },
    "7b51fae3-b872-4f03-82c4-d96f6a27a560": {
        "devicetype": "switch",
        "onoff": "8/0/0",
        "onoffstatus": "8/0/1"
    },
    "86edff75-5e0a-4618-b9e7-294c9b21f7df": {
        "devicetype": "switch",
        "onoff": "1/0/21"
    },
    "88313953-f3e9-4e15-8d1d-e7533ba324df": {
        "binary": "1/4/3",
        "devicetype": "binarysensor"
    },
    "8892b260-0aff-444d-8a80-a2fd42c941ee": {
        "devicetype": "drapes",
        "levelstatus": "4/1/4",
        "onoff": "4/1/0",
        "setlevel": "4/1/3",
        "stop": "4/1/1"
    },
    "8a042031-785b-4336-827c-ab192be8fdff": {
        "devicetype": "powermeter",
        "energy": "0/4/0"
    },
    "99044e96-cce3-4d03-af70-3e0ea7a0c652": {
        "devicetype": "switch",
        "onoff": "2/0/0",
        "onoffstatus": "2/0/1"
    },
    "995104a1-11ba-4116-bd75-957e4dbaf628": {
        "devicetype": "switch",
        "onoff": "1/0/4"
    },
    "a8d8a6da-097d-40f1-a655-9bb917e7d491": {
        "binary": "1/4/0",
        "devicetype": "binarysensor"
    },
    "aa489957-a0dd-4862-9ed5-8d713a24f766": {
        "devicetype": "dimmer",
        "levelstatus": "5/0/3",
        "onoff": "5/0/0",
        "onoffstatus": "5/0/1",
        "setlevel": "5/0/4"
    },
    "b3eec103-ba9f-4ae1-965f-14c1e988b738": {
        "devicetype": "drapes",
        "levelstatus": "2/1/4",
        "onoff": "2/1/0",
        "setlevel": "2/1/3",
        "stop": "2/1/1"
    },
    "becc82e2-2738-4c43-bdaf-d61cc74782d1": {
        "devicetype": "switch",
        "onoff": "4/0/5",
        "onoffstatus": "4/0/6"
    },
    "c29f2099-589b-4ff9-bdea-71ea94c3e9df": {
        "devicetype": "switch",
        "onoff": "3/0/0",
        "onoffstatus": "3/0/1"
    },
    "c81a868e-e3da-418a-9f4e-fbfa30dfdcb9": {
        "devicetype": "switch",
        "onoff": "1/0/2",
        "onoffstatus": "1/0/3"
    },
    "c81e979c-46e6-4b14-ac06-b53f912193c3": {
        "devicetype": "binarysensor",
        "levelstatus": "1/4/19"
    },
    "ce76f3ef-7158-4cd0-b700-b82f91cab0ea": {
        "binary": "1/4/10",
        "devicetype": "binarysensor"
    },
    "d125dd30-2272-442f-9d9a-17d3ef4d8e7c": {
        "brightness": "1/4/9",
        "devicetype": "brightnesssensor"
    },
    "de2db24c-88de-448d-9798-11966c8c1cdc": {
        "devicetype": "drapes",
        "levelstatus": "4/1/14",
        "onoff": "4/1/10",
        "setlevel": "4/1/13",
        "stop": "4/1/11"
    },
    "ef6a6b73-4422-42bc-9e4d-82936ef045fe": {
        "devicetype": "binarysensor",
        "levelstatus": "1/4/19"
    },
    "efe76637-256d-4ca3-acff-0c082518660b": {
        "binary": "1/4/8",
        "devicetype": "binarysensor"
    },
    "f047fdc7-e4ce-4384-ab7d-bfd6447858e0": {
        "binary": "0/4/3",
        "devicetype": "binarysensor"
    },
    "f0b9aa64-bcac-4000-a379-5832a00db81b": {
        "devicetype": "switch",
        "onoff": "7/3/0",
        "onoffstatus": "7/3/1"
    },
    "f8792db5-a046-4bb4-8355-7afc4ad977f2": {
        "devicetype": "switch",
        "onoff": "4/5/4",
        "onoffstatus": "4/5/5"
    },
    "fb21788d-6da3-4fc7-a348-a47508b24b6c": {
        "devicetype": "switch",
        "onoff": "0/6/16"
    }
}
Personal tools