Skip to content
This repository has been archived by the owner on Mar 13, 2021. It is now read-only.

Commit

Permalink
Merge PR #83
Browse files Browse the repository at this point in the history
* central scene command class for channel naming
* network layout improvements: better overview and colors based on hops from controller
* preinstall: add -u option to unzip for Mac and add missing ldconfig call
* Version increase
  • Loading branch information
cburghardt authored and AlCalzone committed Sep 24, 2019
1 parent 510343a commit 9a9f32c
Show file tree
Hide file tree
Showing 6 changed files with 118 additions and 142 deletions.
57 changes: 45 additions & 12 deletions admin/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -334,26 +334,51 @@
function loadMap(map) {
var n = [];
var e = [];
// calculate hops
var hops = {};
for (var i in map) {
const item = map[i];
for (var x in item.neighbors) {
if (!hops[item.nodeID]) {
if (item.nodeID == 1) {
hops[item.nodeID] = 0;
} else if (hops[item.neighbors[x]]) {
hops[item.nodeID] = hops[item.neighbors[x]] + 1;
} else {
hops[item.nodeID] = 1;
}
}
if (!hops[item.neighbors[x]]) {
hops[item.neighbors[x]] = hops[item.nodeID] + 1;
}
}
}
for (var i in map) {
const item = map[i];
var shape = item.nodeID == 1 ? "star" : "box";
var background = item.nodeID == 1 ? "#615d5d" : "white";
var border;
if (hops[item.nodeID] == 1) {
border = "#19d156";
} else if (hops[item.nodeID] == 2) {
border = "#e0dd12";
} else if (hops[item.nodeID] == 3) {
border = "#e39c22";
} else {
border = "#615d5d";
}
var node = {
"id": item.nodeID,
"label": item.label,
"color": { background: 'white', border: 'black' },
"shape": 'box'
}
if (item.nodeID == 1) {
node['color'] = { border:'#c28927' };
node['shape'] = 'star';
"color": { "background": background, "border": border },
"shape": shape
}
n.push(node);
for (var x in item.neighbors) {
var edge = {
"from": item.nodeID,
"to": item.neighbors[x]
}
if (item.nodeID == 1) {
edge['color']= { color:'#19d156' };
"to": item.neighbors[x],
"color": { "color": '#615d5d' }
}
e.push(edge);
}
Expand All @@ -375,11 +400,19 @@
}
},
physics: {
enabled: false
enabled: false,
"forceAtlas2Based": {
"gravitationalConstant": -168,
"centralGravity": 0.1,
"springLength": 85,
"springConstant": 0.795,
"avoidOverlap": 0.75
},
"solver": "forceAtlas2Based"
}
};
var network = new vis.Network(container, data, options);
network.stabilize(100);
network.stabilize();
}

// the function loadSettings has to exist ...
Expand Down
174 changes: 50 additions & 124 deletions admin/js/comClasses.js
Original file line number Diff line number Diff line change
@@ -1,127 +1,4 @@
var comclasses = {
/*
#define BASIC_TYPE_CONTROLLER 0x01
#define BASIC_TYPE_STATIC_CONTROLLER 0x02
#define BASIC_TYPE_SLAVE 0x03
#define BASIC_TYPE_ROUTING_SLAVE 0x04
#define GENERIC_TYPE_GENERIC_CONTROLLER 0x01
#define GENERIC_TYPE_STATIC_CONTROLLER 0x02
#define GENERIC_TYPE_AV_CONTROL_POINT 0x03
#define GENERIC_TYPE_DISPLAY 0x06
#define GENERIC_TYPE_GARAGE_DOOR 0x07
#define GENERIC_TYPE_THERMOSTAT 0x08
#define GENERIC_TYPE_WINDOW_COVERING 0x09
#define GENERIC_TYPE_REPEATER_SLAVE 0x0F
#define GENERIC_TYPE_SWITCH_BINARY 0x10
#define GENERIC_TYPE_SWITCH_MULTILEVEL 0x11
#define SPECIFIC_TYPE_NOT_USED 0x00
#define SPECIFIC_TYPE_POWER_SWITCH_MULTILEVEL 0x01
#define SPECIFIC_TYPE_MOTOR_MULTIPOSITION 0x03
#define SPECIFIC_TYPE_SCENE_SWITCH_MULTILEVEL 0x04
#define SPECIFIC_TYPE_CLASS_A_MOTOR_CONTROL 0x05
#define SPECIFIC_TYPE_CLASS_B_MOTOR_CONTROL 0x06
#define SPECIFIC_TYPE_CLASS_C_MOTOR_CONTROL 0x07
#define GENERIC_TYPE_SWITCH_REMOTE 0x12
#define GENERIC_TYPE_SWITCH_TOGGLE 0x13
#define GENERIC_TYPE_SENSOR_BINARY 0x20
#define GENERIC_TYPE_SENSOR_MULTILEVEL 0x21
#define GENERIC_TYPE_SENSOR_ALARM 0xa1
#define GENERIC_TYPE_WATER_CONTROL 0x22
#define GENERIC_TYPE_METER_PULSE 0x30
#define GENERIC_TYPE_ENTRY_CONTROL 0x40
#define GENERIC_TYPE_SEMI_INTEROPERABLE 0x50
#define GENERIC_TYPE_NON_INTEROPERABLE 0xFF
#define SPECIFIC_TYPE_ADV_ZENSOR_NET_SMOKE_SENSOR 0x0a
#define SPECIFIC_TYPE_BASIC_ROUTING_SMOKE_SENSOR 0x06
#define SPECIFIC_TYPE_BASIC_ZENSOR_NET_SMOKE_SENSOR 0x08
#define SPECIFIC_TYPE_ROUTING_SMOKE_SENSOR 0x07
#define SPECIFIC_TYPE_ZENSOR_NET_SMOKE_SENSOR 0x09
#define COMMAND_CLASS_MARK 0xef
#define COMMAND_CLASS_BASIC 0x20
#define COMMAND_CLASS_VERSION 0x86
#define COMMAND_CLASS_BATTERY 0x80
#define COMMAND_CLASS_WAKE_UP 0x84
#define COMMAND_CLASS_CONTROLLER_REPLICATION 0x21
#define COMMAND_CLASS_SWITCH_MULTILEVEL 0x26
#define COMMAND_CLASS_SWITCH_ALL 0x27
#define COMMAND_CLASS_SENSOR_BINARY 0x30
#define COMMAND_CLASS_SENSOR_MULTILEVEL 0x31
#define COMMAND_CLASS_SENSOR_ALARM 0x9c
#define COMMAND_CLASS_ALARM 0x71
#define COMMAND_CLASS_MULTI_CMD 0x8F
#define COMMAND_CLASS_CLIMATE_CONTROL_SCHEDULE 0x46
#define COMMAND_CLASS_CLOCK 0x81
#define COMMAND_CLASS_ASSOCIATION 0x85
#define COMMAND_CLASS_CONFIGURATION 0x70
#define COMMAND_CLASS_MANUFACTURER_SPECIFIC 0x72
#define COMMAND_CLASS_APPLICATION_STATUS 0x22
#define COMMAND_CLASS_ASSOCIATION_COMMAND_CONFIGURATION 0x9B
#define COMMAND_CLASS_AV_CONTENT_DIRECTORY_MD 0x95
#define COMMAND_CLASS_AV_CONTENT_SEARCH_MD 0x97
#define COMMAND_CLASS_AV_RENDERER_STATUS 0x96
#define COMMAND_CLASS_AV_TAGGING_MD 0x99
#define COMMAND_CLASS_BASIC_WINDOW_COVERING 0x50
#define COMMAND_CLASS_CHIMNEY_FAN 0x2A
#define COMMAND_CLASS_COMPOSITE 0x8D
#define COMMAND_CLASS_DOOR_LOCK 0x62
#define COMMAND_CLASS_ENERGY_PRODUCTION 0x90
#define COMMAND_CLASS_FIRMWARE_UPDATE_MD 0x7a
#define COMMAND_CLASS_GEOGRAPHIC_LOCATION 0x8C
#define COMMAND_CLASS_GROUPING_NAME 0x7B
#define COMMAND_CLASS_HAIL 0x82
#define COMMAND_CLASS_INDICATOR 0x87
#define COMMAND_CLASS_IP_CONFIGURATION 0x9A
#define COMMAND_CLASS_LANGUAGE 0x89
#define COMMAND_CLASS_LOCK 0x76
#define COMMAND_CLASS_MANUFACTURER_PROPRIETARY 0x91
#define COMMAND_CLASS_METER_PULSE 0x35
#define COMMAND_CLASS_METER 0x32
#define COMMAND_CLASS_MTP_WINDOW_COVERING 0x51
#define COMMAND_CLASS_MULTI_INSTANCE_ASSOCIATION 0x8E
#define COMMAND_CLASS_MULTI_INSTANCE 0x60
#define COMMAND_CLASS_NO_OPERATION 0x00
#define COMMAND_CLASS_NODE_NAMING 0x77
#define COMMAND_CLASS_NON_INTEROPERABLE 0xf0
#define COMMAND_CLASS_POWERLEVEL 0x73
#define COMMAND_CLASS_PROPRIETARY 0x88
#define COMMAND_CLASS_PROTECTION 0x75
#define COMMAND_CLASS_REMOTE_ASSOCIATION_ACTIVATE 0x7c
#define COMMAND_CLASS_REMOTE_ASSOCIATION 0x7d
#define COMMAND_CLASS_SCENE_ACTIVATION 0x2b
#define COMMAND_CLASS_SCENE_ACTUATOR_CONF 0x2C
#define COMMAND_CLASS_SCENE_CONTROLLER_CONF 0x2D
#define COMMAND_CLASS_SCREEN_ATTRIBUTES 0x93
#define COMMAND_CLASS_SCREEN_MD 0x92
#define COMMAND_CLASS_SECURITY 0x98
#define COMMAND_CLASS_SENSOR_CONFIGURATION 0x9E
#define COMMAND_CLASS_SILENCE_ALARM 0x9d
#define COMMAND_CLASS_SIMPLE_AV_CONTROL 0x94
#define COMMAND_CLASS_SWITCH_BINARY 0x25
#define COMMAND_CLASS_SWITCH_TOGGLE_BINARY 0x28
#define COMMAND_CLASS_SWITCH_TOGGLE_MULTILEVEL 0x29
#define COMMAND_CLASS_THERMOSTAT_FAN_MODE 0x44
#define COMMAND_CLASS_THERMOSTAT_FAN_STATE 0x45
#define COMMAND_CLASS_THERMOSTAT_HEATING 0x38
#define COMMAND_CLASS_THERMOSTAT_MODE 0x40
#define COMMAND_CLASS_THERMOSTAT_OPERATING_STATE 0x42
#define COMMAND_CLASS_THERMOSTAT_SETBACK 0x47
#define COMMAND_CLASS_THERMOSTAT_SETPOINT 0x43
#define COMMAND_CLASS_TIME_PARAMETERS 0x8B
#define COMMAND_CLASS_TIME 0x8a
#define COMMAND_CLASS_USER_CODE 0x63
#define COMMAND_CLASS_ZIP_ADV_CLIENT 0x34
#define COMMAND_CLASS_ZIP_ADV_SERVER 0x33
#define COMMAND_CLASS_ZIP_ADV_SERVICES 0x2F
#define COMMAND_CLASS_ZIP_CLIENT 0x2e
#define COMMAND_CLASS_ZIP_SERVER 0x24
#define COMMAND_CLASS_ZIP_SERVICES 0x23
*/

0x20: {
name: 'BASIC',
role: 'switch',
Expand Down Expand Up @@ -217,7 +94,56 @@ var comclasses = {
0x2F: {name: 'ZIP_ADV_SERVICES', role: ''},
0x2e: {name: 'ZIP_CLIENT', role: ''},
0x24: {name: 'ZIP_SERVER', role: ''},
0x23: {name: 'ZIP_SERVICES', role: ''}
0x23: {name: 'ZIP_SERVICES', role: ''},
0x5B: {name: 'CENTRAL_SCENE', role: ''},
0x5D: {name: 'ANTI_THEFT', role: ''},
0x57: {name: 'APPLICATION_CAPABILITY', role: ''},
0x59: {name: 'ASSOCIATION_GROUP_INFORMATION', role: ''},
0x66: {name: 'BARRIER_OPERATOR', role: ''},
0x36: {name: 'BASIC_TARIFF_INFORMATION', role: ''},
0x56: {name: 'CRC_16_ENCAPSULATION', role: ''},
0x3A: {name: 'DEMAND_CONTROL_PLAN_CONFIGURATION', role: ''},
0x3B: {name: 'DEMAND_CONTROL_PLAN_MONITOR', role: ''},
0x5A: {name: 'DEVICE_RESET_LOCALLY', role: ''},
0x4C: {name: 'DOOR_LOCK_LOGGING', role: ''},
0x6F: {name: 'ENTRY_CONTROL', role: ''},
0x37: {name: 'HRV_STATUS', role: ''},
0x39: {name: 'HRV_CONTROL', role: ''},
0x6D: {name: 'HUMIDITY_CONTROL_MODE', role: ''},
0x6E: {name: 'HUMIDITY_CONTROL_OPERATING_STATE', role: ''},
0x64: {name: 'HUMIDITY_CONTROL_SETPOINT', role: ''},
0x74: {name: 'INCLUSION_CONTROLLER', role: ''},
0x5C: {name: 'IP_ASSOCIATION', role: ''},
0x6B: {name: 'IRRIGATION', role: ''},
0x69: {name: 'MAILBOX', role: ''},
0xEF: {name: 'SUPPORT_MARK', role: ''},
0x3C: {name: 'METER_TABLE_CONFIGURATION', role: ''},
0x3D: {name: 'METER_TABLE_MONITOR', role: ''},
0x3C: {name: 'METER_TABLE_PUSH_CONFIG', role: ''},
0x4D: {name: 'NETWORK_MGMT_BASIC', role: ''},
0x67: {name: 'NETWORK_MGMT_INSTALLATION', role: ''},
0x54: {name: 'NETWORK_MGMT_PRIMARY', role: ''},
0x52: {name: 'NETWORK_MGMT_PROXY', role: ''},
0x78: {name: 'NODE_PROVISIONING', role: ''},
0x3F: {name: 'PREPAYMENT', role: ''},
0x41: {name: 'PREPAYMENT_ENCAP', role: ''},
0x48: {name: 'RATE_TABLE_CONFIGURATION', role: ''},
0x49: {name: 'RATE_TABLE_MONITOR', role: ''},
0x53: {name: 'SCHEDULE', role: ''},
0x4E: {name: 'SCHEDULE_ENTRY_LOCK', role: ''},
0x9F: {name: 'SECURITY2', role: ''},
0x79: {name: 'SOUND_SWITCH', role: ''},
0x6C: {name: 'SUPERVISION', role: ''},
0x4A: {name: 'TARIFF_TABLE_CONFIGURATION', role: ''},
0x4B: {name: 'TARIFF_TABLE_MONITOR', role: ''},
0x55: {name: 'TRANSPORT_SERVICE', role: ''},
0x6A: {name: 'WINDOW_COVERING', role: ''},
0x4F: {name: 'ZIP_6LOWPAN', role: ''},
0x5F: {name: 'ZIP_GATEWAY', role: ''},
0x68: {name: 'ZIP_NAMING', role: ''},
0x58: {name: 'ZIP_ND', role: ''},
0x61: {name: 'ZIP_PORTAL', role: ''},
0x5E: {name: 'ZWAVE_PLUS_INFO', role: ''}
};
if (typeof module !== 'undefined' && module.parent) {
module.exports = comclasses;
Expand Down
Loading

0 comments on commit 9a9f32c

Please sign in to comment.