Skip to content

Commit

Permalink
corr group from exclude dialogue
Browse files Browse the repository at this point in the history
  • Loading branch information
arteck committed Nov 26, 2023
1 parent 3f65dfd commit 31a2dd7
Show file tree
Hide file tree
Showing 9 changed files with 102 additions and 75 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ You can thank the authors by these links:

## Changelog
### next
* (arteck) corr group from exclude dialog
* (arteck) legacy mode off

### 1.8.24 (2023-09-05)
Expand Down
3 changes: 3 additions & 0 deletions admin/admin.js
Original file line number Diff line number Diff line change
Expand Up @@ -2595,6 +2595,9 @@ function prepareExcludeDialog(excludeObj) {
}
return device.common.type;
} else {
if (device.common.type == 'group') {
return null;
}
return device.common.type;
}
},
Expand Down
12 changes: 6 additions & 6 deletions admin/index_m.html
Original file line number Diff line number Diff line change
Expand Up @@ -976,7 +976,7 @@ <h5 id="devActResult" class="card-title"></h5>
<div class="modal-content">
<h3 class="translate">Config device</h3>
<div class="row">
<div class="co1l">
<div class="col1">
<div class="input-field">
<input id="d_name" type="text" class="value validate">
<label for="d_name" class="translate">Name</label>
Expand All @@ -992,7 +992,7 @@ <h3 class="translate">Config device</h3>
<div class="col1">
<div class="input-field groups">
<select id="d_groups_ep0" class="materialSelect" multiple>
<option value="1">value</option>
<option value="1">select</option>
</select>
<label for="d_groups_ep0" class="translate">Groups</label>
</div>
Expand All @@ -1007,7 +1007,7 @@ <h3 class="translate">Config device</h3>
<div class="col">
<div class="input-field groups">
<select id="d_groups_ep1" class="materialSelect" multiple>
<option value="1">value</option>
<option value="1">select</option>
</select>
<label for="d_groups_ep1" class="translate">Groups</label>
</div>
Expand All @@ -1022,7 +1022,7 @@ <h3 class="translate">Config device</h3>
<div class="col">
<div class="input-field groups">
<select id="d_groups_ep2" class="materialSelect" multiple>
<option value="1">value</option>
<option value="1">select</option>
</select>
<label for="d_groups_ep2" class="translate">Groups</label>
</div>
Expand All @@ -1037,7 +1037,7 @@ <h3 class="translate">Config device</h3>
<div class="col">
<div class="input-field groups">
<select id="d_groups_ep3" class="materialSelect" multiple>
<option value="1">value</option>
<option value="1">select</option>
</select>
<label for="d_groups_ep3" class="translate">Groups</label>
</div>
Expand Down Expand Up @@ -1076,7 +1076,7 @@ <h3 class="translate">Edit Group</h3>
<div class="input-field members">
<label for="g_members" class="translate">Members</label>
<select id="g_members" class="materialSelect" multiple>
<option value="1">Значение</option>
<option value="1">value</option>
</select>
</div>
</div>
Expand Down
120 changes: 64 additions & 56 deletions admin/tab_m.html
Original file line number Diff line number Diff line change
Expand Up @@ -672,67 +672,75 @@ <h6>Others</h6>
<div class="materialize-dialogs m">
<div id="modaledit" class="modal">
<div class="modal-content">
<h3 class="translate">Config device</h3>
<div class="row">
<div class="col">
<div class="input-field">
<input id="d_name" type="text" class="value validate">
<label for="d_name" class="translate">Name</label>
</div>
</div>
</div>
<div class="row epid0">
<div class="col">
<div class=endpointid>
<p class="translate device_with_endpoint">Main Endpoint</p>
</div>
</div>
<div class="col1">
<div class="input-field groups">
<select id="d_groups_ep0" class="materialSelect" multiple><option value="1">value</option></select>
<label for="d_groups_ep0" class="translate">Groups</label>
</div>
</div>
</div>
<div class="row epid1">
<div class="col epid">
<div class=endpointid>
<p class="translate device_with_endpoint">Sub Endpoint 1</p>
</div>
</div>
<div class="col">
<div class="input-field groups">
<select id="d_groups_ep1" class="materialSelect" multiple><option value="1">value</option></select>
<label for="d_groups_ep1" class="translate">Groups</label>
</div>
<h3 class="translate">Config device</h3>
<div class="row">
<div class="col1">
<div class="input-field">
<input id="d_name" type="text" class="value validate">
<label for="d_name" class="translate">Name</label>
</div>
</div>
</div>
</div>
<div class="row epid2">
<div class="col epid">
<div class=endpointid>
<p class="translate device_with_endpoint">Sub Endpoint 2</p>
</div>
<div class="row epid0">
<div class="col">
<div class=endpointid>
<p class="translate device_with_endpoint">Main Endpoint</p>
</div>
</div>
<div class="col1">
<div class="input-field groups">
<select id="d_groups_ep0" class="materialSelect" multiple>
<option value="1">select</option>
</select>
<label for="d_groups_ep0" class="translate">Groups</label>
</div>
</div>
</div>
<div class="col">
<div class="input-field groups">
<select id="d_groups_ep2" class="materialSelect" multiple><option value="1">value</option></select>
<label for="d_groups_ep2" class="translate">Groups</label>
</div>
<div class="row epid1">
<div class="col epid">
<div class=endpointid>
<p class="translate device_with_endpoint">Sub Endpoint 1</p>
</div>
</div>
<div class="col">
<div class="input-field groups">
<select id="d_groups_ep1" class="materialSelect" multiple>
<option value="1">select</option>
</select>
<label for="d_groups_ep1" class="translate">Groups</label>
</div>
</div>
</div>
</div>
<div class="row epid3">
<div class="col epid">
<div class=endpointid>
<p class="translate device_with_endpoint">Sub Endpoint 3</p>
</div>
<div class="row epid2">
<div class="col epid">
<div class=endpointid>
<p class="translate device_with_endpoint">Sub Endpoint 2</p>
</div>
</div>
<div class="col">
<div class="input-field groups">
<select id="d_groups_ep2" class="materialSelect" multiple>
<option value="1">select</option>
</select>
<label for="d_groups_ep2" class="translate">Groups</label>
</div>
</div>
</div>
<div class="col">
<div class="input-field groups">
<select id="d_groups_ep3" class="materialSelect" multiple><option value="1">value</option></select>
<label for="d_groups_ep3" class="translate">Groups</label>
</div>
<div class="row epid3">
<div class="col epid">
<div class=endpointid>
<p class="translate device_with_endpoint">Sub Endpoint 3</p>
</div>
</div>
<div class="col">
<div class="input-field groups">
<select id="d_groups_ep3" class="materialSelect" multiple>
<option value="1">select</option>
</select>
<label for="d_groups_ep3" class="translate">Groups</label>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<a name="save" href="#!" class="modal-action modal-close waves-effect waves-green btn green translate">Save</a>
Expand Down
2 changes: 1 addition & 1 deletion lib/statescontroller.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const fs = require('fs');
const request = require('request');

let savedDeviceNames = {};
let knownUndefinedDevices = {};
const knownUndefinedDevices = {};

class StatesController extends EventEmitter {
constructor(adapter) {
Expand Down
6 changes: 3 additions & 3 deletions lib/zbDeviceConfigure.js
Original file line number Diff line number Diff line change
Expand Up @@ -130,11 +130,11 @@ class DeviceConfigure extends BaseExtension {
}

async doConfigure(device, mappedDevice) {
this.info(`Configuring ${device.ieeeAddr} ${device.modelID}`);
const coordinatorEndpoint = await this.zigbee.getDevicesByType('Coordinator')[0].endpoints[0];
try {
if (this.mappedDevice !== null && this.mappedDevice !== undefined) {
await this.mappedDevice.configure(device, coordinatorEndpoint, this);
if (mappedDevice !== undefined) {
this.info(`Configuring ${device.ieeeAddr} ${device.modelID}`);
await mappedDevice.configure(device, coordinatorEndpoint, this);
device.meta.configured = zigbeeHerdsmanConverters.getConfigureKey(mappedDevice);
device.save();
this.info(`DeviceConfigure successful ${device.ieeeAddr} ${device.modelID}`);
Expand Down
26 changes: 23 additions & 3 deletions lib/zigbeecontroller.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,32 @@
const pathLib = require('path');
const ZigbeeHerdsman = require('zigbee-herdsman');
const zigbeeHerdsmanConverters = require('zigbee-herdsman-converters');
const zigbeeHerdsmanConvertersPhilips = require('zigbee-herdsman-converters/lib/philips');
const EventEmitter = require('events').EventEmitter;
const safeJsonStringify = require('./json');
const DeviceAvailabilityExt = require('./zbDeviceAvailability');
const DeviceConfigureExt = require('./zbDeviceConfigure');
const DeviceEventExt = require('./zbDeviceEvent');
const DelayedActionExt = require('./zbDelayedAction');
const utils = require('./utils');

const groupConverters = [
zigbeeHerdsmanConverters.toZigbeeConverters.light_onoff_brightness,
zigbeeHerdsmanConverters.toZigbeeConverters.light_color_colortemp,
zigbeeHerdsmanConvertersPhilips.tz.effect, // Support Hue effects for groups
zigbeeHerdsmanConverters.toZigbeeConverters.ignore_transition,
zigbeeHerdsmanConverters.toZigbeeConverters.cover_position_tilt,
zigbeeHerdsmanConverters.toZigbeeConverters.thermostat_occupied_heating_setpoint,
zigbeeHerdsmanConverters.toZigbeeConverters.tint_scene,
zigbeeHerdsmanConverters.toZigbeeConverters.light_brightness_move,
zigbeeHerdsmanConverters.toZigbeeConverters.light_brightness_step,
zigbeeHerdsmanConverters.toZigbeeConverters.light_colortemp_step,
zigbeeHerdsmanConverters.toZigbeeConverters.light_colortemp_move,
zigbeeHerdsmanConverters.toZigbeeConverters.light_hue_saturation_move,
zigbeeHerdsmanConverters.toZigbeeConverters.light_hue_saturation_step


/* zigbeeHerdsmanConverters.toZigbeeConverters.light_onoff_brightness,
zigbeeHerdsmanConverters.toZigbeeConverters.light_colortemp,
zigbeeHerdsmanConverters.toZigbeeConverters.light_color,
zigbeeHerdsmanConverters.toZigbeeConverters.light_alert,
Expand All @@ -20,7 +37,8 @@ const groupConverters = [
zigbeeHerdsmanConverters.toZigbeeConverters.light_brightness_step,
zigbeeHerdsmanConverters.toZigbeeConverters.light_colortemp_move,
zigbeeHerdsmanConverters.toZigbeeConverters.light_colortemp_step,
zigbeeHerdsmanConverters.toZigbeeConverters.light_colortemp_startup
zigbeeHerdsmanConverters.toZigbeeConverters.light_colortemp_startup*/

];

function isFunction(functionToCheck) {
Expand Down Expand Up @@ -70,6 +88,8 @@ class ZigbeeController extends EventEmitter {
adapter: {
forceStartWithInconsistentAdapterConfiguration: options.startWithInconsistent
},
legacy : false,

};
// https://github.com/ioBroker/ioBroker.zigbee/issues/668
if (!options.extPanIdFix) {
Expand Down Expand Up @@ -818,7 +838,7 @@ class ZigbeeController extends EventEmitter {
this.debug(`addDevFromGroup - entity: ${utils.getEntityInfo(entity)}`);
// generate group debug info and display it
const members = await this.getGroupMembersFromController(groupId);
let memberIDs = [];
const memberIDs = [];
for (const member of members) {
memberIDs.push(member.ieee);
}
Expand Down Expand Up @@ -868,7 +888,7 @@ class ZigbeeController extends EventEmitter {
const group = await this.resolveEntity(groupId);

const members = await this.getGroupMembersFromController(groupId);
let memberIDs = [];
const memberIDs = [];
for (const member of members) {
memberIDs.push(member.ieee);
}
Expand Down
1 change: 1 addition & 0 deletions main.js
Original file line number Diff line number Diff line change
Expand Up @@ -965,6 +965,7 @@ class Zigbee extends utils.Adapter {
disableBackup: this.config.disableBackup,
extPanIdFix: extPanIdFix,
startWithInconsistent: this.config.startWithInconsistent || false,
legacy: false,
};
}

Expand Down
6 changes: 0 additions & 6 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 31a2dd7

Please sign in to comment.