diff --git a/package.json b/package.json
index bacefdc5..c7361948 100644
--- a/package.json
+++ b/package.json
@@ -18,6 +18,9 @@
"type": "git",
"url": "https://github.com/ioBroker/ioBroker.matter"
},
+ "optionalDependencies": {
+ "@project-chip/matter-node-ble.js": "0.7.1-alpha.0-20231123-a7b3779"
+ },
"dependencies": {
"@iobroker/adapter-core": "^3.0.4",
"@project-chip/matter-node.js": "0.7.1-alpha.0-20231123-a7b3779",
diff --git a/src-admin/src/Tabs/Controller.js b/src-admin/src/Tabs/Controller.js
index be2b83ea..0d9f7627 100644
--- a/src-admin/src/Tabs/Controller.js
+++ b/src-admin/src/Tabs/Controller.js
@@ -8,7 +8,7 @@ import {
DialogActions, DialogContent, DialogTitle, IconButton,
Switch, Table, TableBody,
TableCell, TableHead, TableRow, TextField,
- LinearProgress, Select, MenuItem,
+ LinearProgress, Select, MenuItem, FormControlLabel, Checkbox,
} from '@mui/material';
import {
Add, Close, KeyboardArrowDown, KeyboardArrowUp,
@@ -480,6 +480,75 @@ class Controller extends React.Component {
/>
{I18n.t('On')}
+ {this.props.matter.controller.enabled ?
+ {
+ const matter = JSON.parse(JSON.stringify(this.props.matter));
+ matter.controller.ble = e.target.checked;
+ this.props.updateConfig(matter);
+ }}
+ />}
+ label={I18n.t('Bluetooth')}
+ />
+
: null}
+ {this.props.matter.controller.enabled && this.props.matter.controller.ble ?
+ {
+ const matter = JSON.parse(JSON.stringify(this.props.matter));
+ matter.controller.wifiSSID = e.target.value;
+ this.props.updateConfig(matter);
+ }}
+ />
+
: null}
+ {this.props.matter.controller.enabled && this.props.matter.controller.ble ?
+ {
+ const matter = JSON.parse(JSON.stringify(this.props.matter));
+ matter.controller.wifiPasword = e.target.value;
+ this.props.updateConfig(matter);
+ }}
+ />
+
: null}
+ {this.props.matter.controller.enabled && this.props.matter.controller.ble ?
+ {
+ const matter = JSON.parse(JSON.stringify(this.props.matter));
+ matter.controller.threadNetworkname = e.target.value;
+ this.props.updateConfig(matter);
+ }}
+ />
+
: null}
+ {this.props.matter.controller.enabled && this.props.matter.controller.ble ?
+ {
+ const matter = JSON.parse(JSON.stringify(this.props.matter));
+ matter.controller.threadOperationalDataSet = e.target.value;
+ this.props.updateConfig(matter);
+ }}
+ />
+
: null}
{this.props.matter.controller.enabled && this.props.alive ?