matterbridge-ha-roborock 3.1.0 โ 3.4.4
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 +79 -0
- package/FEATURE_SUMMARY_v3.2.0.md +293 -0
- package/PROGRESS_FEATURE.md +494 -0
- package/README.md +109 -4
- package/RELEASE_CHECKLIST.md +7 -0
- package/WEB_UI_GUIDE.md +228 -0
- package/config.example.json +47 -0
- package/config.json +24 -0
- package/deploy-to-server.sh +129 -0
- package/dist/src/ha-vacuum-controller.d.ts +43 -1
- package/dist/src/ha-vacuum-controller.js +227 -1
- package/dist/src/ha-vacuum-controller.js.map +1 -1
- package/dist/src/platform-config.d.ts +47 -0
- package/dist/src/platform-config.js +18 -0
- package/dist/src/platform-config.js.map +1 -1
- package/dist/src/platform.d.ts +15 -0
- package/dist/src/platform.js +736 -57
- package/dist/src/platform.js.map +1 -1
- package/matterbridge-daemon.sh +136 -0
- package/matterbridge-service.sh +122 -0
- package/package.json +143 -1
- package/publish.sh +54 -63
- package/view-clean-logs.sh +26 -0
- package/dist/test/test-connection.d.ts +0 -1
- package/dist/test/test-connection.js +0 -43
- package/dist/test/test-connection.js.map +0 -1
package/publish.sh
CHANGED
|
@@ -1,84 +1,75 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
# Matterbridge HA Roborock ๆไปถๅๅธ่ๆฌ
|
|
4
|
+
|
|
5
|
+
set -e
|
|
6
|
+
|
|
7
|
+
echo "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"
|
|
8
|
+
echo "โ ๐ฆ ๅๅธ Matterbridge HA Roborock v3.4.2 โ"
|
|
9
|
+
echo "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"
|
|
4
10
|
echo ""
|
|
5
11
|
|
|
6
|
-
#
|
|
7
|
-
echo "
|
|
8
|
-
if
|
|
9
|
-
|
|
10
|
-
echo "
|
|
12
|
+
# ๆฃๆฅๆฏๅฆๅทฒ็ปๅฝ
|
|
13
|
+
echo "๐ ๆฃๆฅ npm ็ปๅฝ็ถๆ..."
|
|
14
|
+
if npm whoami > /dev/null 2>&1; then
|
|
15
|
+
NPM_USER=$(npm whoami)
|
|
16
|
+
echo "โ
ๅทฒ็ปๅฝไธบ: $NPM_USER"
|
|
17
|
+
echo ""
|
|
18
|
+
else
|
|
19
|
+
echo "โ ๏ธ ๆช็ปๅฝ npm"
|
|
20
|
+
echo ""
|
|
21
|
+
echo "่ฏทๅ
็ปๅฝ npm๏ผ"
|
|
22
|
+
echo " npm login"
|
|
23
|
+
echo ""
|
|
24
|
+
echo "็ปๅฝๅๅๆฌก่ฟ่กๆญค่ๆฌ"
|
|
11
25
|
exit 1
|
|
12
26
|
fi
|
|
13
27
|
|
|
14
|
-
|
|
15
|
-
echo "
|
|
28
|
+
# ็กฎ่ฎค็ๆฌ
|
|
29
|
+
echo "๐ ๅฝๅ็ๆฌ: 3.4.2"
|
|
16
30
|
echo ""
|
|
17
31
|
|
|
18
|
-
#
|
|
19
|
-
|
|
20
|
-
|
|
32
|
+
# ๆฃๆฅ็ผ่ฏ
|
|
33
|
+
if [ ! -d "dist" ]; then
|
|
34
|
+
echo "โ ๏ธ ๆชๆพๅฐ dist ็ฎๅฝ๏ผๆญฃๅจ็ผ่ฏ..."
|
|
35
|
+
npm run build
|
|
36
|
+
echo ""
|
|
37
|
+
fi
|
|
38
|
+
|
|
39
|
+
# ๆพ็คบๅฐ่ฆๅๅธ็ๆไปถ
|
|
40
|
+
echo "๐ฆ ๅฐ่ฆๅๅธ็ๆไปถ๏ผ"
|
|
41
|
+
npm pack --dry-run 2>&1 | grep -E "npm notice|Tarball|package size" | head -20
|
|
21
42
|
echo ""
|
|
22
43
|
|
|
23
|
-
|
|
24
|
-
npm
|
|
25
|
-
|
|
26
|
-
|
|
44
|
+
# ็กฎ่ฎคๅๅธ
|
|
45
|
+
read -p "โ ็กฎ่ฎคๅๅธๅฐ npm๏ผ[y/N] " -n 1 -r
|
|
46
|
+
echo ""
|
|
47
|
+
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
|
48
|
+
echo "โ ๅๆถๅๅธ"
|
|
27
49
|
exit 1
|
|
28
50
|
fi
|
|
29
|
-
echo "โ
ๆๅปบๆๅ"
|
|
30
|
-
echo ""
|
|
31
51
|
|
|
32
|
-
#
|
|
33
|
-
echo "๐งช 4/5 ่ฟ่กๆต่ฏ..."
|
|
34
|
-
# npm test # ๅๆถๆณจ้ไปฅ่ฟ่กๆต่ฏ
|
|
35
|
-
echo "โ
ๆต่ฏ้่ฟ"
|
|
52
|
+
# ๅๅธ
|
|
36
53
|
echo ""
|
|
54
|
+
echo "๐ค ๆญฃๅจๅๅธ..."
|
|
55
|
+
npm publish --access public
|
|
37
56
|
|
|
38
|
-
# ๅๅธๅฐ npm
|
|
39
|
-
echo "๐ฆ 5/5 ๅๅธๅฐ npm..."
|
|
40
57
|
echo ""
|
|
41
|
-
echo "
|
|
42
|
-
echo "
|
|
43
|
-
echo "
|
|
44
|
-
echo "
|
|
58
|
+
echo "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"
|
|
59
|
+
echo "โ โ
ๅๅธๆๅ๏ผ โ"
|
|
60
|
+
echo "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"
|
|
61
|
+
echo ""
|
|
62
|
+
echo "๐ฆ ๅ
ๅ็งฐ: matterbridge-ha-roborock"
|
|
63
|
+
echo "๐ ็ๆฌ: 3.4.2"
|
|
64
|
+
echo "๐ ๆฅ็: https://www.npmjs.com/package/matterbridge-ha-roborock"
|
|
45
65
|
echo ""
|
|
46
|
-
|
|
66
|
+
echo "๐ฅ ็จๆทๅฏไปฅ้่ฟไปฅไธๅฝไปคๅฎ่ฃ
๏ผ"
|
|
67
|
+
echo " npm install -g matterbridge-ha-roborock"
|
|
47
68
|
echo ""
|
|
48
69
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
echo "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"
|
|
55
|
-
echo "โ
ๅๅธๆๅ๏ผ"
|
|
56
|
-
echo "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"
|
|
57
|
-
echo ""
|
|
58
|
-
echo "๐ฆ ๅ
ไฟกๆฏ:"
|
|
59
|
-
echo " https://www.npmjs.com/package/matterbridge-ha-roborock"
|
|
60
|
-
echo ""
|
|
61
|
-
echo "๐ฅ ๅฎ่ฃ
ๅฝไปค:"
|
|
62
|
-
echo " npm install -g matterbridge-ha-roborock"
|
|
63
|
-
echo ""
|
|
64
|
-
echo "๐ ไธไธๆญฅ:"
|
|
65
|
-
echo " 1. ๅจ GitHub ๅๅปบ v3.1.0 release"
|
|
66
|
-
echo " 2. ๆดๆฐๆๆกฃ"
|
|
67
|
-
echo " 3. ้็ฅ็จๆทๆดๆฐ"
|
|
68
|
-
echo ""
|
|
69
|
-
echo "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"
|
|
70
|
-
else
|
|
71
|
-
echo ""
|
|
72
|
-
echo "โ ๅๅธๅคฑ่ดฅ"
|
|
73
|
-
echo ""
|
|
74
|
-
echo "ๅธธ่ง้ฎ้ข:"
|
|
75
|
-
echo " 1. ็ๆฌๅทๅทฒๅญๅจ โ ๆดๆฐ package.json ไธญ็็ๆฌๅท"
|
|
76
|
-
echo " 2. ๆ้ไธ่ถณ โ ๆฃๆฅ npm ่ดฆๅทๆ้"
|
|
77
|
-
echo " 3. ็ฝ็ป้ฎ้ข โ ๆฃๆฅ็ฝ็ป่ฟๆฅ"
|
|
78
|
-
exit 1
|
|
79
|
-
fi
|
|
80
|
-
else
|
|
81
|
-
echo "โ ๅๆถๅๅธ"
|
|
82
|
-
exit 0
|
|
83
|
-
fi
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
84
75
|
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# ๆธ
ๆฐๆฅๅฟๆฅ็่ๆฌ
|
|
4
|
+
# ๅชๆพ็คบ้่ฆ็ใๆ่ฏป็ๆฅๅฟไฟกๆฏ
|
|
5
|
+
|
|
6
|
+
LOG_FILE="/tmp/matterbridge.log"
|
|
7
|
+
|
|
8
|
+
echo "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"
|
|
9
|
+
echo "๐ Matterbridge ๆธ
ๆฐๆฅๅฟ (่ฟๆปคๆๆฏ็ป่)"
|
|
10
|
+
echo "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ"
|
|
11
|
+
echo ""
|
|
12
|
+
|
|
13
|
+
if [ ! -f "$LOG_FILE" ]; then
|
|
14
|
+
echo "โ ๆฅๅฟๆไปถไธๅญๅจ: $LOG_FILE"
|
|
15
|
+
exit 1
|
|
16
|
+
fi
|
|
17
|
+
|
|
18
|
+
# ่ฟๆปคๆๆๆฏ็ป่๏ผๅชๆพ็คบๆ็จไฟกๆฏ
|
|
19
|
+
tail -f "$LOG_FILE" | grep --line-buffered -E "๐|โ
|โ|โ ๏ธ|๐|๐|๐|๐ |๐งน|โฑ๏ธ|๐ฑ|๐|ๆซๅฐๆบ|vacuum|cleaning|docked|returning|error|Error|ๅฏๅจ|ๅๆญข|้
ๅฏน|Progress.*ๆฐ็ป|้ข่ฎกๅฎๆๆถ้ด|ๅฝๅๆฟ้ด" | grep -v "Set endpoint" | grep -v "Transaction" | grep -v "waiting on"
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { HomeAssistantClient } from '../src/homeassistant-client.js';
|
|
2
|
-
import { HAVacuumController } from '../src/ha-vacuum-controller.js';
|
|
3
|
-
async function test() {
|
|
4
|
-
console.log('=== Testing HA Connection ===\n');
|
|
5
|
-
const HA_URL = process.env.HA_URL || 'http://homeassistant.local:8123';
|
|
6
|
-
const HA_TOKEN = process.env.HA_TOKEN || '';
|
|
7
|
-
if (!HA_TOKEN) {
|
|
8
|
-
console.error('โ Set HA_TOKEN: export HA_TOKEN="your-token"');
|
|
9
|
-
process.exit(1);
|
|
10
|
-
}
|
|
11
|
-
try {
|
|
12
|
-
console.log('1. Creating client...');
|
|
13
|
-
const client = new HomeAssistantClient(HA_URL, HA_TOKEN);
|
|
14
|
-
console.log('2. Testing connection...');
|
|
15
|
-
await client.testConnection();
|
|
16
|
-
console.log('3. Getting vacuums...');
|
|
17
|
-
const vacuums = await client.getVacuumEntities();
|
|
18
|
-
console.log(` Found ${vacuums.length} vacuum(s)`);
|
|
19
|
-
for (const v of vacuums) {
|
|
20
|
-
console.log(` - ${v.entity_id} (${v.state}, ${v.attributes.battery_level}%)`);
|
|
21
|
-
}
|
|
22
|
-
if (vacuums.length > 0) {
|
|
23
|
-
console.log('\n4. Testing controller...');
|
|
24
|
-
const ctrl = new HAVacuumController(client, vacuums[0].entity_id);
|
|
25
|
-
await ctrl.initialize();
|
|
26
|
-
console.log(' โ
Controller OK');
|
|
27
|
-
console.log('\n5. Testing WebSocket...');
|
|
28
|
-
await client.connectWebSocket();
|
|
29
|
-
console.log(' โ
WebSocket OK');
|
|
30
|
-
console.log('\n6. Cleanup...');
|
|
31
|
-
ctrl.destroy();
|
|
32
|
-
client.disconnect();
|
|
33
|
-
}
|
|
34
|
-
console.log('\nโ
All tests passed!');
|
|
35
|
-
process.exit(0);
|
|
36
|
-
}
|
|
37
|
-
catch (error) {
|
|
38
|
-
console.error('\nโ Test failed:', error);
|
|
39
|
-
process.exit(1);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
test();
|
|
43
|
-
//# sourceMappingURL=test-connection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test-connection.js","sourceRoot":"","sources":["../../test/test-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,iCAAiC,CAAC;IACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;IAE5C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEzD,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;QAE9B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC;QAEpD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAElC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACzC,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAEjC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC"}
|