@homebridge-plugins/homebridge-ecovacs 7.1.0 → 7.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,19 @@
2
2
 
3
3
  All notable changes to homebridge-ecovacs will be documented in this file.
4
4
 
5
+ ## v7.2.0 (2025-07-13)
6
+
7
+ ### Notable Changes
8
+
9
+ - fix custom plugin config modal styles in ui 5
10
+ - fix custom characteristics for hb 2
11
+
12
+ ### Other Changes
13
+
14
+ - add `lint` step to build workflow
15
+ - add permissions to workflows
16
+ - improvements to the deprecate workflow
17
+
5
18
  ## v7.1.0 (2025-07-12)
6
19
 
7
20
  ### Notable Changes
@@ -1,3 +1,39 @@
1
+ <style>
2
+ .dark-mode {
3
+ background-color: #242424;
4
+ color: lightgrey;
5
+
6
+ .form-control {
7
+ background-color: #333333 !important;
8
+ border: none !important;
9
+ color: #eeeeee !important;
10
+ }
11
+
12
+ thead, tbody, tr {
13
+ border-style: hidden;
14
+ }
15
+
16
+ th {
17
+ color: #eeeeee !important;
18
+ font-weight: 500 !important;
19
+ }
20
+ }
21
+ select {
22
+ background-image:
23
+ linear-gradient(45deg, transparent 50%, gray 50%),
24
+ linear-gradient(135deg, gray 50%, transparent 50%),
25
+ linear-gradient(to right, #ccc, #ccc);
26
+ background-position:
27
+ calc(100% - 20px) calc(1em + 2px),
28
+ calc(100% - 15px) calc(1em + 2px),
29
+ calc(100% - 2.5em) 0.5em;
30
+ background-size:
31
+ 5px 5px,
32
+ 5px 5px,
33
+ 1px 1.5em;
34
+ background-repeat: no-repeat;
35
+ }
36
+ </style>
1
37
  <p class="text-center">
2
38
  <img
3
39
  src="https://user-images.githubusercontent.com/43026681/101321841-f0eb5280-385d-11eb-8dd4-f57113f6e078.png"
@@ -28,7 +64,7 @@
28
64
  <select class="form-control" id="deviceSelect"></select>
29
65
  </div>
30
66
  </form>
31
- <table class="table w-100" id="deviceTable" style="display: none;">
67
+ <table class="table w-100 mt-3" id="deviceTable" style="display: none;">
32
68
  <thead>
33
69
  <tr class="table-active">
34
70
  <th scope="col" style="width: 40%;">Device Name</th>
@@ -1,50 +1,51 @@
1
- import { inherits } from 'node:util'
2
-
3
1
  export default class {
4
2
  constructor(api) {
5
- this.hapChar = api.hap.Characteristic
6
3
  this.uuids = {
7
4
  maxSpeed: 'E963F001-079E-48FF-8F27-9C2605A29F52',
8
5
  predefinedArea: 'E963F002-079E-48FF-8F27-9C2605A29F52',
9
6
  trueDetect: 'E963F003-079E-48FF-8F27-9C2605A29F52',
10
7
  }
11
- const self = this
12
- this.MaxSpeed = function MaxSpeed() {
13
- self.hapChar.call(this, 'Max Speed', self.uuids.maxSpeed)
14
- this.setProps({
15
- format: api.hap.Formats.BOOL,
16
- perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.PAIRED_WRITE, api.hap.Perms.NOTIFY],
17
- })
18
- this.value = this.getDefaultValue()
8
+ const uuids = this.uuids
9
+
10
+ this.MaxSpeed = class extends api.hap.Characteristic {
11
+ constructor() {
12
+ super('Max Speed', uuids.maxSpeed)
13
+ this.setProps({
14
+ format: api.hap.Formats.BOOL,
15
+ perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.PAIRED_WRITE, api.hap.Perms.NOTIFY],
16
+ })
17
+ this.value = this.getDefaultValue()
18
+ }
19
19
  }
20
20
 
21
- this.PredefinedArea = function PredefinedArea() {
22
- self.hapChar.call(this, 'Predefined Area', self.uuids.predefinedArea)
23
- this.setProps({
24
- format: api.hap.Formats.UINT8,
25
- perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.PAIRED_WRITE, api.hap.Perms.NOTIFY],
26
- minValue: 0,
27
- maxValue: 15,
28
- minStep: 1,
29
- validValues: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
30
- })
31
- this.value = this.getDefaultValue()
21
+ this.PredefinedArea = class extends api.hap.Characteristic {
22
+ constructor() {
23
+ super('Predefined Area', uuids.predefinedArea)
24
+ this.setProps({
25
+ format: api.hap.Formats.UINT8,
26
+ perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.PAIRED_WRITE, api.hap.Perms.NOTIFY],
27
+ minValue: 0,
28
+ maxValue: 15,
29
+ minStep: 1,
30
+ validValues: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
31
+ })
32
+ this.value = this.getDefaultValue()
33
+ }
32
34
  }
33
35
 
34
- this.TrueDetect = function TrueDetect() {
35
- self.hapChar.call(this, 'TrueDetect', self.uuids.trueDetect)
36
- this.setProps({
37
- format: api.hap.Formats.BOOL,
38
- perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.PAIRED_WRITE, api.hap.Perms.NOTIFY],
39
- })
40
- this.value = this.getDefaultValue()
36
+ this.TrueDetect = class extends api.hap.Characteristic {
37
+ constructor() {
38
+ super('TrueDetect', uuids.trueDetect)
39
+ this.setProps({
40
+ format: api.hap.Formats.BOOL,
41
+ perms: [api.hap.Perms.PAIRED_READ, api.hap.Perms.PAIRED_WRITE, api.hap.Perms.NOTIFY],
42
+ })
43
+ this.value = this.getDefaultValue()
44
+ }
41
45
  }
42
46
 
43
- inherits(this.MaxSpeed, this.hapChar)
44
- inherits(this.PredefinedArea, this.hapChar)
45
- inherits(this.TrueDetect, this.hapChar)
46
- this.MaxSpeed.UUID = this.uuids.maxSpeed
47
47
  this.PredefinedArea.UUID = this.uuids.predefinedArea
48
48
  this.TrueDetect.UUID = this.uuids.trueDetect
49
+ this.MaxSpeed.UUID = this.uuids.maxSpeed
49
50
  }
50
51
  }
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "displayName": "Homebridge Ecovacs",
4
4
  "alias": "Deebot",
5
5
  "type": "module",
6
- "version": "7.1.0",
6
+ "version": "7.2.0",
7
7
  "description": "Homebridge plugin to integrate Ecovacs Deebot devices into HomeKit.",
8
8
  "author": {
9
9
  "name": "bwp91",