matterbridge 3.2.1-dev-20250806-8a31d91 → 3.2.1

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.
Files changed (264) hide show
  1. package/CHANGELOG.md +3 -2
  2. package/dist/cli.d.ts +26 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +91 -2
  5. package/dist/cli.js.map +1 -0
  6. package/dist/cliEmitter.d.ts +34 -0
  7. package/dist/cliEmitter.d.ts.map +1 -0
  8. package/dist/cliEmitter.js +30 -0
  9. package/dist/cliEmitter.js.map +1 -0
  10. package/dist/clusters/export.d.ts +2 -0
  11. package/dist/clusters/export.d.ts.map +1 -0
  12. package/dist/clusters/export.js +2 -0
  13. package/dist/clusters/export.js.map +1 -0
  14. package/dist/defaultConfigSchema.d.ts +28 -0
  15. package/dist/defaultConfigSchema.d.ts.map +1 -0
  16. package/dist/defaultConfigSchema.js +24 -0
  17. package/dist/defaultConfigSchema.js.map +1 -0
  18. package/dist/deviceManager.d.ts +112 -0
  19. package/dist/deviceManager.d.ts.map +1 -0
  20. package/dist/deviceManager.js +94 -1
  21. package/dist/deviceManager.js.map +1 -0
  22. package/dist/devices/batteryStorage.d.ts +48 -0
  23. package/dist/devices/batteryStorage.d.ts.map +1 -0
  24. package/dist/devices/batteryStorage.js +48 -1
  25. package/dist/devices/batteryStorage.js.map +1 -0
  26. package/dist/devices/dishwasher.d.ts +91 -0
  27. package/dist/devices/dishwasher.d.ts.map +1 -0
  28. package/dist/devices/dishwasher.js +78 -3
  29. package/dist/devices/dishwasher.js.map +1 -0
  30. package/dist/devices/evse.d.ts +75 -0
  31. package/dist/devices/evse.d.ts.map +1 -0
  32. package/dist/devices/evse.js +74 -10
  33. package/dist/devices/evse.js.map +1 -0
  34. package/dist/devices/export.d.ts +11 -0
  35. package/dist/devices/export.d.ts.map +1 -0
  36. package/dist/devices/export.js +2 -0
  37. package/dist/devices/export.js.map +1 -0
  38. package/dist/devices/extractorHood.d.ts +46 -0
  39. package/dist/devices/extractorHood.d.ts.map +1 -0
  40. package/dist/devices/extractorHood.js +42 -0
  41. package/dist/devices/extractorHood.js.map +1 -0
  42. package/dist/devices/heatPump.d.ts +47 -0
  43. package/dist/devices/heatPump.d.ts.map +1 -0
  44. package/dist/devices/heatPump.js +50 -2
  45. package/dist/devices/heatPump.js.map +1 -0
  46. package/dist/devices/laundryDryer.d.ts +87 -0
  47. package/dist/devices/laundryDryer.d.ts.map +1 -0
  48. package/dist/devices/laundryDryer.js +83 -6
  49. package/dist/devices/laundryDryer.js.map +1 -0
  50. package/dist/devices/laundryWasher.d.ts +242 -0
  51. package/dist/devices/laundryWasher.d.ts.map +1 -0
  52. package/dist/devices/laundryWasher.js +91 -7
  53. package/dist/devices/laundryWasher.js.map +1 -0
  54. package/dist/devices/roboticVacuumCleaner.d.ts +112 -0
  55. package/dist/devices/roboticVacuumCleaner.d.ts.map +1 -0
  56. package/dist/devices/roboticVacuumCleaner.js +93 -7
  57. package/dist/devices/roboticVacuumCleaner.js.map +1 -0
  58. package/dist/devices/solarPower.d.ts +40 -0
  59. package/dist/devices/solarPower.d.ts.map +1 -0
  60. package/dist/devices/solarPower.js +38 -0
  61. package/dist/devices/solarPower.js.map +1 -0
  62. package/dist/devices/waterHeater.d.ts +111 -0
  63. package/dist/devices/waterHeater.d.ts.map +1 -0
  64. package/dist/devices/waterHeater.js +82 -2
  65. package/dist/devices/waterHeater.js.map +1 -0
  66. package/dist/dgram/coap.d.ts +205 -0
  67. package/dist/dgram/coap.d.ts.map +1 -0
  68. package/dist/dgram/coap.js +126 -13
  69. package/dist/dgram/coap.js.map +1 -0
  70. package/dist/dgram/dgram.d.ts +140 -0
  71. package/dist/dgram/dgram.d.ts.map +1 -0
  72. package/dist/dgram/dgram.js +113 -2
  73. package/dist/dgram/dgram.js.map +1 -0
  74. package/dist/dgram/mb_coap.d.ts +24 -0
  75. package/dist/dgram/mb_coap.d.ts.map +1 -0
  76. package/dist/dgram/mb_coap.js +41 -3
  77. package/dist/dgram/mb_coap.js.map +1 -0
  78. package/dist/dgram/mb_mdns.d.ts +24 -0
  79. package/dist/dgram/mb_mdns.d.ts.map +1 -0
  80. package/dist/dgram/mb_mdns.js +51 -13
  81. package/dist/dgram/mb_mdns.js.map +1 -0
  82. package/dist/dgram/mdns.d.ts +288 -0
  83. package/dist/dgram/mdns.d.ts.map +1 -0
  84. package/dist/dgram/mdns.js +298 -137
  85. package/dist/dgram/mdns.js.map +1 -0
  86. package/dist/dgram/multicast.d.ts +65 -0
  87. package/dist/dgram/multicast.d.ts.map +1 -0
  88. package/dist/dgram/multicast.js +60 -1
  89. package/dist/dgram/multicast.js.map +1 -0
  90. package/dist/dgram/unicast.d.ts +56 -0
  91. package/dist/dgram/unicast.d.ts.map +1 -0
  92. package/dist/dgram/unicast.js +54 -0
  93. package/dist/dgram/unicast.js.map +1 -0
  94. package/dist/frontend.d.ts +313 -0
  95. package/dist/frontend.d.ts.map +1 -0
  96. package/dist/frontend.js +451 -24
  97. package/dist/frontend.js.map +1 -0
  98. package/dist/globalMatterbridge.d.ts +59 -0
  99. package/dist/globalMatterbridge.d.ts.map +1 -0
  100. package/dist/globalMatterbridge.js +47 -0
  101. package/dist/globalMatterbridge.js.map +1 -0
  102. package/dist/helpers.d.ts +48 -0
  103. package/dist/helpers.d.ts.map +1 -0
  104. package/dist/helpers.js +53 -0
  105. package/dist/helpers.js.map +1 -0
  106. package/dist/index.d.ts +33 -0
  107. package/dist/index.d.ts.map +1 -0
  108. package/dist/index.js +30 -1
  109. package/dist/index.js.map +1 -0
  110. package/dist/logger/export.d.ts +2 -0
  111. package/dist/logger/export.d.ts.map +1 -0
  112. package/dist/logger/export.js +1 -0
  113. package/dist/logger/export.js.map +1 -0
  114. package/dist/matter/behaviors.d.ts +2 -0
  115. package/dist/matter/behaviors.d.ts.map +1 -0
  116. package/dist/matter/behaviors.js +2 -0
  117. package/dist/matter/behaviors.js.map +1 -0
  118. package/dist/matter/clusters.d.ts +2 -0
  119. package/dist/matter/clusters.d.ts.map +1 -0
  120. package/dist/matter/clusters.js +2 -0
  121. package/dist/matter/clusters.js.map +1 -0
  122. package/dist/matter/devices.d.ts +2 -0
  123. package/dist/matter/devices.d.ts.map +1 -0
  124. package/dist/matter/devices.js +2 -0
  125. package/dist/matter/devices.js.map +1 -0
  126. package/dist/matter/endpoints.d.ts +2 -0
  127. package/dist/matter/endpoints.d.ts.map +1 -0
  128. package/dist/matter/endpoints.js +2 -0
  129. package/dist/matter/endpoints.js.map +1 -0
  130. package/dist/matter/export.d.ts +5 -0
  131. package/dist/matter/export.d.ts.map +1 -0
  132. package/dist/matter/export.js +3 -0
  133. package/dist/matter/export.js.map +1 -0
  134. package/dist/matter/types.d.ts +3 -0
  135. package/dist/matter/types.d.ts.map +1 -0
  136. package/dist/matter/types.js +3 -0
  137. package/dist/matter/types.js.map +1 -0
  138. package/dist/matterbridge.d.ts +462 -0
  139. package/dist/matterbridge.d.ts.map +1 -0
  140. package/dist/matterbridge.js +789 -50
  141. package/dist/matterbridge.js.map +1 -0
  142. package/dist/matterbridgeAccessoryPlatform.d.ts +42 -0
  143. package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -0
  144. package/dist/matterbridgeAccessoryPlatform.js +36 -0
  145. package/dist/matterbridgeAccessoryPlatform.js.map +1 -0
  146. package/dist/matterbridgeBehaviors.d.ts +1351 -0
  147. package/dist/matterbridgeBehaviors.d.ts.map +1 -0
  148. package/dist/matterbridgeBehaviors.js +65 -5
  149. package/dist/matterbridgeBehaviors.js.map +1 -0
  150. package/dist/matterbridgeDeviceTypes.d.ts +709 -0
  151. package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
  152. package/dist/matterbridgeDeviceTypes.js +579 -15
  153. package/dist/matterbridgeDeviceTypes.js.map +1 -0
  154. package/dist/matterbridgeDynamicPlatform.d.ts +42 -0
  155. package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -0
  156. package/dist/matterbridgeDynamicPlatform.js +36 -0
  157. package/dist/matterbridgeDynamicPlatform.js.map +1 -0
  158. package/dist/matterbridgeEndpoint.d.ts +1354 -0
  159. package/dist/matterbridgeEndpoint.d.ts.map +1 -0
  160. package/dist/matterbridgeEndpoint.js +1220 -54
  161. package/dist/matterbridgeEndpoint.js.map +1 -0
  162. package/dist/matterbridgeEndpointHelpers.d.ts +407 -0
  163. package/dist/matterbridgeEndpointHelpers.d.ts.map +1 -0
  164. package/dist/matterbridgeEndpointHelpers.js +345 -12
  165. package/dist/matterbridgeEndpointHelpers.js.map +1 -0
  166. package/dist/matterbridgePlatform.d.ts +324 -0
  167. package/dist/matterbridgePlatform.d.ts.map +1 -0
  168. package/dist/matterbridgePlatform.js +250 -0
  169. package/dist/matterbridgePlatform.js.map +1 -0
  170. package/dist/matterbridgeTypes.d.ts +198 -0
  171. package/dist/matterbridgeTypes.d.ts.map +1 -0
  172. package/dist/matterbridgeTypes.js +25 -0
  173. package/dist/matterbridgeTypes.js.map +1 -0
  174. package/dist/pluginManager.d.ts +270 -0
  175. package/dist/pluginManager.d.ts.map +1 -0
  176. package/dist/pluginManager.js +249 -3
  177. package/dist/pluginManager.js.map +1 -0
  178. package/dist/shelly.d.ts +174 -0
  179. package/dist/shelly.d.ts.map +1 -0
  180. package/dist/shelly.js +168 -7
  181. package/dist/shelly.js.map +1 -0
  182. package/dist/storage/export.d.ts +2 -0
  183. package/dist/storage/export.d.ts.map +1 -0
  184. package/dist/storage/export.js +1 -0
  185. package/dist/storage/export.js.map +1 -0
  186. package/dist/update.d.ts +75 -0
  187. package/dist/update.d.ts.map +1 -0
  188. package/dist/update.js +69 -0
  189. package/dist/update.js.map +1 -0
  190. package/dist/utils/colorUtils.d.ts +99 -0
  191. package/dist/utils/colorUtils.d.ts.map +1 -0
  192. package/dist/utils/colorUtils.js +97 -2
  193. package/dist/utils/colorUtils.js.map +1 -0
  194. package/dist/utils/commandLine.d.ts +59 -0
  195. package/dist/utils/commandLine.d.ts.map +1 -0
  196. package/dist/utils/commandLine.js +54 -0
  197. package/dist/utils/commandLine.js.map +1 -0
  198. package/dist/utils/copyDirectory.d.ts +33 -0
  199. package/dist/utils/copyDirectory.d.ts.map +1 -0
  200. package/dist/utils/copyDirectory.js +38 -1
  201. package/dist/utils/copyDirectory.js.map +1 -0
  202. package/dist/utils/createDirectory.d.ts +34 -0
  203. package/dist/utils/createDirectory.d.ts.map +1 -0
  204. package/dist/utils/createDirectory.js +33 -0
  205. package/dist/utils/createDirectory.js.map +1 -0
  206. package/dist/utils/createZip.d.ts +39 -0
  207. package/dist/utils/createZip.d.ts.map +1 -0
  208. package/dist/utils/createZip.js +47 -2
  209. package/dist/utils/createZip.js.map +1 -0
  210. package/dist/utils/deepCopy.d.ts +32 -0
  211. package/dist/utils/deepCopy.d.ts.map +1 -0
  212. package/dist/utils/deepCopy.js +39 -0
  213. package/dist/utils/deepCopy.js.map +1 -0
  214. package/dist/utils/deepEqual.d.ts +54 -0
  215. package/dist/utils/deepEqual.d.ts.map +1 -0
  216. package/dist/utils/deepEqual.js +72 -1
  217. package/dist/utils/deepEqual.js.map +1 -0
  218. package/dist/utils/error.d.ts +44 -0
  219. package/dist/utils/error.d.ts.map +1 -0
  220. package/dist/utils/error.js +41 -0
  221. package/dist/utils/error.js.map +1 -0
  222. package/dist/utils/export.d.ts +12 -0
  223. package/dist/utils/export.d.ts.map +1 -0
  224. package/dist/utils/export.js +1 -0
  225. package/dist/utils/export.js.map +1 -0
  226. package/dist/utils/hex.d.ts +89 -0
  227. package/dist/utils/hex.d.ts.map +1 -0
  228. package/dist/utils/hex.js +124 -0
  229. package/dist/utils/hex.js.map +1 -0
  230. package/dist/utils/isvalid.d.ts +103 -0
  231. package/dist/utils/isvalid.d.ts.map +1 -0
  232. package/dist/utils/isvalid.js +101 -0
  233. package/dist/utils/isvalid.js.map +1 -0
  234. package/dist/utils/network.d.ts +84 -0
  235. package/dist/utils/network.d.ts.map +1 -0
  236. package/dist/utils/network.js +91 -5
  237. package/dist/utils/network.js.map +1 -0
  238. package/dist/utils/spawn.d.ts +33 -0
  239. package/dist/utils/spawn.d.ts.map +1 -0
  240. package/dist/utils/spawn.js +40 -0
  241. package/dist/utils/spawn.js.map +1 -0
  242. package/dist/utils/wait.d.ts +54 -0
  243. package/dist/utils/wait.d.ts.map +1 -0
  244. package/dist/utils/wait.js +60 -8
  245. package/dist/utils/wait.js.map +1 -0
  246. package/frontend/build/static/js/main.b4cc32cf.js.map +1 -1
  247. package/npm-shrinkwrap.json +5 -5
  248. package/package.json +2 -2
  249. package/docs/404.html +0 -107
  250. package/docs/HomeAssistant.svg +0 -2
  251. package/docs/README-DEV.md +0 -377
  252. package/docs/README-DOCKER.md +0 -208
  253. package/docs/README-NGINX.md +0 -235
  254. package/docs/README-PODMAN.md +0 -109
  255. package/docs/README-SERVICE.md +0 -212
  256. package/docs/README.md +0 -618
  257. package/docs/Shelly.svg +0 -1
  258. package/docs/Somfy.svg +0 -1
  259. package/docs/Zigbee2MQTT.svg +0 -1
  260. package/docs/_config.yml +0 -86
  261. package/docs/bmc-button.svg +0 -22
  262. package/docs/index.html +0 -774
  263. package/docs/matterbridge.svg +0 -50
  264. package/docs/robots.txt +0 -4
package/docs/README.md DELETED
@@ -1,618 +0,0 @@
1
- # <img src="frontend/public/matterbridge.svg" alt="Matterbridge Logo" width="64px" height="64px">&nbsp;&nbsp;&nbsp;Matterbridge
2
-
3
- [![npm version](https://img.shields.io/npm/v/matterbridge.svg)](https://www.npmjs.com/package/matterbridge)
4
- [![npm downloads](https://img.shields.io/npm/dt/matterbridge.svg)](https://www.npmjs.com/package/matterbridge)
5
- [![Docker Version](https://img.shields.io/docker/v/luligu/matterbridge?label=docker%20version&sort=semver)](https://hub.docker.com/r/luligu/matterbridge)
6
- [![Docker Pulls](https://img.shields.io/docker/pulls/luligu/matterbridge.svg)](https://hub.docker.com/r/luligu/matterbridge)
7
- ![Node.js CI](https://github.com/Luligu/matterbridge/actions/workflows/build.yml/badge.svg)
8
- ![CodeQL](https://github.com/Luligu/matterbridge/actions/workflows/codeql.yml/badge.svg)
9
- [![codecov](https://codecov.io/gh/Luligu/matterbridge/branch/main/graph/badge.svg)](https://codecov.io/gh/Luligu/matterbridge)
10
-
11
- [![power by](https://img.shields.io/badge/powered%20by-matter--history-blue)](https://www.npmjs.com/package/matter-history)
12
- [![power by](https://img.shields.io/badge/powered%20by-node--ansi--logger-blue)](https://www.npmjs.com/package/node-ansi-logger)
13
- [![power by](https://img.shields.io/badge/powered%20by-node--persist--manager-blue)](https://www.npmjs.com/package/node-persist-manager)
14
-
15
- ---
16
-
17
- Matterbridge is a Matter plugin manager.
18
-
19
- It allows you to have all your Matter devices up and running in a couple of minutes without having to deal with the pairing process for each individual device.
20
-
21
- Developers can focus solely on device development by extending the provided classes.
22
-
23
- Simply pair Matterbridge once, and it will load all your registered plugins.
24
-
25
- This project aims to enable porting Homebridge plugins to Matterbridge plugins without having to recode everything ([Development](README-DEV.md)).
26
-
27
- The easiest way to start create a new plugin is to clone the [Matterbridge Plugin Template](https://github.com/Luligu/matterbridge-plugin-template) which has **Dev Container support for instant development environment** and all tools and extensions (like Node.js, npm, TypeScript, ESLint, Prettier, Jest and Vitest) already loaded and configured.
28
-
29
- Matterbridge creates a device that can be paired with any ecosystem, such as Apple Home, Google Home, Amazon Alexa, Home Assistant, or any other platform supporting Matter.
30
-
31
- You don't need a hub or a dedicated new machine.
32
-
33
- No complex setup: just copy paste the installation scripts.
34
-
35
- Matterbridge is lightweight and also runs on slow Linux machines with as little as 512MB of memory.
36
-
37
- It also runs perfectly on macOS and Windows.
38
-
39
- If you like this project and find it useful, please consider giving it a star on GitHub at https://github.com/Luligu/matterbridge and sponsoring it.
40
-
41
- <a href="https://www.buymeacoffee.com/luligugithub">
42
- <img src="bmc-button.svg" alt="Buy me a coffee" width="120">
43
- </a>
44
-
45
- ## Acknowledgements
46
-
47
- The project is build on top of https://github.com/project-chip/matter.js.
48
-
49
- A special thanks to Apollon77 for his incredible work.
50
-
51
- ## Discord
52
-
53
- Join us in the Matterbridge Discord group https://discord.gg/QX58CDe6hd created by Tamer (https://github.com/tammeryousef1006).
54
-
55
- ## Videos
56
-
57
- https://www.youtube.com/watch?v=goNB9Cgh_Fk
58
-
59
- ## Reviews
60
-
61
- https://www.matteralpha.com/how-to/how-to-configure-an-open-source-matter-bridge-at-home
62
-
63
- ## Press
64
-
65
- https://matter-smarthome.de/en/interview/an-alternative-to-the-official-matter-sdk/
66
-
67
- ## Prerequisites
68
-
69
- To run Matterbridge, you need either a [Node.js](https://nodejs.org/en) environment or [Docker](https://docs.docker.com/get-started/get-docker/) installed on your system.
70
-
71
- If you don't have Node.js already install, please use this method to install it on a debian device: https://github.com/nodesource/distributions.
72
- The supported versions of node are 20 and 22. Please install Node.js 22 LTS. Don't use Node.js Current but always the Node.js LTS.
73
- Node.js 23, like all odd-numbered versions, is not supported.
74
- Nvm is not a good choice and should not be used for production.
75
-
76
- If you don't have Docker already install, please use this method to install it on a debian device: https://docs.docker.com/desktop/setup/install/linux/debian/.
77
- After follow the guidelines for the [Docker configurations](README-DOCKER.md).
78
-
79
- I suggest using Docker for its simplicity.
80
-
81
- Since as stated in the Matter specifications "Matter aims to build a universal IPv6-based communication protocol for smart home devices", ipv6 should be enabled in the network.
82
-
83
- Avoid using VLAN and firewall blocking the communications between the controllers and Matterbridge.
84
-
85
- ## Installation
86
-
87
- Follow these steps to install Matterbridge:
88
-
89
- ```bash
90
- npm install -g matterbridge --omit=dev
91
- ```
92
-
93
- on Linux or macOS you may need the necessary permissions:
94
-
95
- ```bash
96
- sudo npm install -g matterbridge --omit=dev
97
- ```
98
-
99
- Test the installation with:
100
-
101
- ```bash
102
- matterbridge
103
- ```
104
-
105
- Now it is possible to open the frontend at the link provided in the log (e.g. http://MATTERBIDGE-IPV4-ADDRESS:8283).
106
-
107
- You can then change the bridge mode and other parameters from the frontend.
108
-
109
- ## Usage
110
-
111
- ### mode bridge
112
-
113
- ```bash
114
- matterbridge -bridge
115
- ```
116
-
117
- This force Matterbridge to load in bridge mode.
118
-
119
- Matterbridge only exposes itself, and you have to pair it scanning the QR code shown in the frontend or in the console.
120
-
121
- ### mode childbridge
122
-
123
- ```bash
124
- matterbridge -childbridge
125
- ```
126
-
127
- This force Matterbridge to load in childbridge mode.
128
-
129
- Matterbridge exposes each registered plugins, and you have to pair each one by scanning the QR code shown in the frontend or in the console.
130
-
131
- ### Use matterbridge -help to see the command line syntax
132
-
133
- ```bash
134
- matterbridge -help
135
- ```
136
-
137
- ## Frontend
138
-
139
- Matterbridge has a frontend available on http://MATTERBIDGE-IPV4-ADDRESS:8283 and http://[MATTERBIDGE-IPV6-ADDRESS]:8283
140
-
141
- You can change the default port by adding the frontend parameter when you run it.
142
-
143
- Here's how to specify a different port number:
144
-
145
- ```bash
146
- matterbridge -frontend [port number]
147
- ```
148
-
149
- To use the frontend with ssl see below.
150
-
151
- From the frontend you can do all operations in an easy way.
152
-
153
- Home page:
154
- ![See the screenshot here](screenshot/Screenshot%20home.jpg)
155
-
156
- Devices page:
157
- [See the screenshot here](screenshot/Screenshot%20devices.jpg)
158
-
159
- Logs page:
160
- [See the screenshot here](screenshot/Screenshot%20logs.jpg)
161
-
162
- Config editor:
163
- [See the screenshot here](screenshot/Screenshot%20config%20editor.jpg)
164
-
165
- ## Advanced configurations
166
-
167
- ### Run matterbridge as a daemon with systemctl (Linux only)
168
-
169
- [Service configurations](README-SERVICE.md)
170
-
171
- ### Run matterbridge with docker and docker compose
172
-
173
- [Docker configurations](README-DOCKER.md)
174
-
175
- ### Run matterbridge with podman
176
-
177
- [Podman configurations](README-PODMAN.md)
178
-
179
- ### Run matterbridge as a service on macOS with mb-service (by [Michael Ahern](https://github.com/michaelahern))
180
-
181
- [Matterbridge Service Command for macOS](https://github.com/michaelahern/mb-service)
182
-
183
- ### Run matterbridge with nginx
184
-
185
- [Nginx configurations](README-NGINX.md)
186
-
187
- ### Run matterbridge as an home assistant add-on with the official add-on
188
-
189
- [Home assistant add-on configurations](https://github.com/Luligu/matterbridge-home-assistant-addon)
190
-
191
- ### Other Home Assistant Community Add-ons
192
-
193
- The other Home Assistant Community Add-ons and plugins are not verified to work with Matterbridge. I strongly advise against using them. If you do use them and encounter an issue (which is likely because some do not meet the Matterbridge guidelines), please do not open an issue in the Matterbridge repository.
194
-
195
- ## Development
196
-
197
- [Development](README-DEV.md)
198
-
199
- ## Plugins
200
-
201
- ### Shelly
202
-
203
- <a href="https://github.com/Luligu/matterbridge-shelly">
204
- <img src="screenshot/Shelly.svg" alt="Shelly plugin logo" width="100" />
205
- </a>
206
-
207
- Matterbridge shelly plugin allows you to expose all Shelly Gen 1, Gen 2, Gen 3 and Gen 4 and BLU devices to Matter.
208
-
209
- Features:
210
-
211
- - Shellies are automatically discovered using mDNS.
212
- - Shelly wifi battery-powered devices are supported.
213
- - Shelly wifi battery-powered devices with sleep_mode are supported.
214
- - Shelly BLU devices are supported through local devices configured as ble gateway.
215
- - Discovered shellies are stored in local storage for quick loading on startup.
216
- - The components exposed are Light (with brightness and RGB color), Switch, Relay, Roller, Cover, PowerMeter, Temperature, Humidity, Illuminance, Thermostat, Button and Input.
217
- - PowerMeters expose the electrical measurements with the electricalSensor device type (suppoerted by Home Assistant and partially by SmartThings), waiting for the controllers to upgrade to the Matter 1.3 specs.
218
- - Shellies are controlled locally, eliminating the need for cloud or MQTT (which can both be disabled).
219
- - Shelly Gen 1 devices are controlled using the CoIoT protocol.
220
- - Shelly Gen 2 and Gen 3 devices are controlled using WebSocket.
221
- - The Matter device takes the name configured in the Shelly device's web page.
222
- - Each device can be blacklisted or whitelisted using its name, id or mac address.
223
- - Device components can be blacklisted globally or on a per-device basis.
224
- - If the device has a firmware update available, a message is displayed.
225
- - If the device's CoIoT protocol is not correctly configured, a message is displayed.
226
- - If the device cover/roller component is not calibrated, a message is displayed.
227
- - If a device changes its ip address on the network, a message is displayed and the new address is stored.
228
- - A 10-minute timer checks if the device has reported within that time frame, and fetch un update.
229
-
230
- ### Zigbee2MQTT
231
-
232
- <a href="https://github.com/Luligu/matterbridge-zigbee2mqtt">
233
- <img src="screenshot/Zigbee2MQTT.svg" alt="Zigbee2MQTT plugin logo" width="100" />
234
- </a>
235
-
236
- Matterbridge zigbee2mqtt is a matterbridge production-level plugin that expose all zigbee2mqtt devices and groups to Matter.
237
-
238
- No hub or dedicated hardware needed.
239
-
240
- ### Somfy tahoma
241
-
242
- <a href="https://github.com/Luligu/matterbridge-somfy-tahoma">
243
- <img src="screenshot/Somfy.svg" alt="Somfy plugin logo" width="100" />
244
- </a>
245
-
246
- Matterbridge Somfy Tahoma is a matterbridge production-level plugin that expose the Somfy Tahoma screen devices to Matter.
247
-
248
- ### Home Assistant
249
-
250
- <a href="https://github.com/Luligu/matterbridge-hass">
251
- <img src="screenshot/HomeAssistant.svg" alt="Hass logo" width="100" />
252
- </a>
253
-
254
- Matterbridge Home Assistant plugin allows you to expose the Home Assistant devices and entities to Matter.
255
-
256
- It is the ideal companion of the official [Matterbridge Home Assistant Add-on](https://github.com/Luligu/matterbridge-home-assistant-addon/blob/main/README.md).
257
-
258
- ### Webhooks
259
-
260
- <a href="https://github.com/Luligu/matterbridge-webhooks">
261
- <img src="frontend/public/matterbridge.svg" alt="Matterbridge logo" width="100" />
262
- </a>
263
-
264
- Matterbridge Webhooks plugin allows you to expose any webhooks to Matter.
265
-
266
- ### BTHome
267
-
268
- <a href="https://github.com/Luligu/matterbridge-webhooks">
269
- <img src="frontend/public/matterbridge.svg" alt="Matterbridge logo" width="100" />
270
- </a>
271
-
272
- Matterbridge BTHome allows you to expose any BTHome device to Matter using the native bluetooth of the host machine.
273
-
274
- Features:
275
-
276
- - The bluetooth works correctly on all platforms and is based on the @stoprocent fork of noble.
277
- - The discovered BTHome devices are stored with all attributes to easily restart the plugin.
278
- - The plugin has also a command line to test and verify the bluetooth adapter and the ble network.
279
-
280
- ### Accessory platform example
281
-
282
- This is an example of an accessory platform plugin.
283
-
284
- It exposes a virtual cover device that continuously moves position and shows how to use the command handlers (you can control the device).
285
-
286
- An Accessory platform plugin only exposes one device.
287
-
288
- [See the plugin homepage here](https://github.com/Luligu/matterbridge-example-accessory-platform)
289
-
290
- ### Dynamic platform example
291
-
292
- This is an example of a dynamic platform plugin.
293
-
294
- It exposes 38 devices:
295
-
296
- - a switch with onOff cluster
297
- - a light with onOff
298
- - a light with onOff and levelControl (dimmer)
299
- - a light with onOff, levelControl and colorControl (with XY, HS and CT) clusters
300
- - a light with onOff, levelControl and colorControl (with HS and CT) clusters
301
- - a light with onOff, levelControl and colorControl (with XY and CT) clusters
302
- - a light with onOff, levelControl and colorControl (with CT only) clusters
303
- - an outlet (plug) with onOff cluster
304
- - a cover with windowCovering cluster
305
- - a lock with doorLock cluster
306
- - a thermo autoMode (i.e. with Auto Heat and Cool features) with thermostat cluster and 3 sub endpoints with flowMeasurement cluster, temperatureMeasurement cluster
307
- and relativeHumidityMeasurement cluster (to show how to create a composed device with sub endpoints)
308
- - a thermo heat only with two external temperature sensors (tagged like Indoor and Outdoor)
309
- - a thermo cool only
310
- - a fan with FanControl cluster
311
- - a rainSensor device
312
- - a waterFreezeDetector device
313
- - a waterLeakDetector device
314
- - a smokeCoAlarm (with smoke and co features) sensor (supported by Apple Home)
315
- - a smokeCoAlarm (with smoke only feature) sensor (supported by Apple Home)
316
- - a smokeCoAlarm (with co only feature) sensor (supported by Apple Home)
317
- - an airConditioner device
318
- - an airPurifier device with temperature and humidity sensor (supported by Apple Home)
319
- - a pumpDevice device
320
- - a waterValve device
321
- - an airQuality device with all concentration measurements clusters (supported by Apple Home only without the concentration measurements)
322
- - a momentary switch
323
- - a latching switch
324
- - a Robot Vacuum Cleaner device (supported by SmartThings, Alexa, Home Assistant and partially by Apple Home). Read also https://github.com/Luligu/matterbridge/discussions/264.
325
- - a onOff Mounted Switch device (supported by SmartThings, Alexa, Home Assistant)
326
- - a dimmer Mounted Switch device (supported by SmartThings, Alexa, Home Assistant)
327
- - a laundry Washer device (supported by SmartThings, Alexa and Home Assistant)
328
- - a laundry Dryer device (supported by SmartThings, Alexa and Home Assistant)
329
- - a dishwasher device (supported by SmartThings, Alexa and Home Assistant)
330
- - a refrigerator device (supported by SmartThings, Alexa and Home Assistant)
331
- - an oven device (supported by SmartThings, Alexa and Home Assistant)
332
- - a microwave Oven device (supported by SmartThings, Alexa and Home Assistant)
333
- - an extractor Hood device (supported by SmartThings, Alexa and Home Assistant)
334
- - a cooktop device (supported by SmartThings, Alexa and Home Assistant)
335
- - a water heater device (supported by SmartThings and Home Assistant)
336
- - a car charger device (supported by Home Assistant)
337
-
338
- All these virtual devices continuously change state and position. The plugin also shows how to use all the command handlers (you can control all the devices).
339
-
340
- A Dynamic platform plugin exposes as many devices as you need (the limit for the Home app is 150 accessories for bridge).
341
-
342
- [See the plugin homepage here](https://github.com/Luligu/matterbridge-example-dynamic-platform)
343
-
344
- ### Example plugins to show the usage of history in matter
345
-
346
- [Door plugin with history](https://github.com/Luligu/matterbridge-eve-door)
347
-
348
- [Motion plugin with history](https://github.com/Luligu/matterbridge-eve-motion)
349
-
350
- [Energy plugin with history](https://github.com/Luligu/matterbridge-eve-energy)
351
-
352
- [Weather plugin with history](https://github.com/Luligu/matterbridge-eve-weather)
353
-
354
- [Room plugin with history](https://github.com/Luligu/matterbridge-eve-room)
355
-
356
- The history works in both bridge and childbridge mode.
357
-
358
- The Eve app only shows the history when the plugins run like an AccessoryPlatform in childbridge mode (this means the plugin is paired directly).
359
-
360
- ## Third-party plugins
361
-
362
- ### [Loxone](https://github.com/andrasg/matterbridge-loxone)
363
-
364
- A matterbridge plugin that allows connecting Loxone devices to Matter.
365
-
366
- ### [Dyson robot](https://github.com/thoukydides/matterbridge-dyson-robot)
367
-
368
- A Matterbridge plugin that connects Dyson robot vacuums and air treatment devices.
369
- to the Matter smart home ecosystem via their local MQTT APIs.
370
-
371
- ### [Aeg robot](https://github.com/thoukydides/matterbridge-aeg-robot)
372
-
373
- AEG RX 9 / Electrolux Pure i9 robot vacuum plugin for Matterbridge.
374
-
375
- ### [Airthings](https://github.com/michaelahern/matterbridge-airthings)
376
-
377
- A Matterbridge plugin for Airthings air quality monitors via the Airthings Consumer API.
378
-
379
- ### [Daikin AC](https://github.com/andrasg/matterbridge-daikin-ac)
380
-
381
- The plugin uses local connection to Daikin Wifi modules. The plugin does not work with Daikin cloud (Onecta) connected devices.
382
-
383
- ### [Roborock](https://github.com/RinDevJunior/matterbridge-roborock-vacuum-plugin)
384
-
385
- Matterbridge Roborock Platform Plugin is a dynamic platform plugin for Matterbridge that integrates Roborock vacuums into the Matter ecosystem, enabling control via Apple Home and other Matter-compatible apps.
386
-
387
- ## How to install and add a plugin with the frontend (best option)
388
-
389
- Just open the frontend on the link provided in the log, select a plugin and click install.
390
-
391
- ## How to install and add a plugin manually from a terminal (from npm)
392
-
393
- To install i.e. https://github.com/Luligu/matterbridge-zigbee2mqtt
394
-
395
- On windows:
396
-
397
- ```powershell
398
- cd $HOME\Matterbridge
399
- npm install -g matterbridge-zigbee2mqtt
400
- matterbridge -add matterbridge-zigbee2mqtt
401
- ```
402
-
403
- On linux or macOS:
404
-
405
- ```bash
406
- cd ~/Matterbridge
407
- sudo npm install -g matterbridge-zigbee2mqtt
408
- matterbridge -add matterbridge-zigbee2mqtt
409
- ```
410
-
411
- ## How to add a plugin to Matterbridge from a terminal
412
-
413
- ```bash
414
- matterbridge -add [plugin path or plugin name]
415
- ```
416
-
417
- ## How to remove a plugin from Matterbridge from a terminal
418
-
419
- ```bash
420
- matterbridge -remove [plugin path or plugin name]
421
- ```
422
-
423
- ## How to disable a registered plugin from a terminal
424
-
425
- ```bash
426
- matterbridge -disable [plugin path or plugin name]
427
- ```
428
-
429
- ## How to enable a registered plugin from a terminal
430
-
431
- ```bash
432
- matterbridge -enable [plugin path or plugin name]
433
- ```
434
-
435
- ## How to remove the commissioning information for Matterbridge so you can pair it again (bridge mode). Shutdown Matterbridge before!
436
-
437
- ```bash
438
- matterbridge -reset
439
- ```
440
-
441
- ## How to remove the commissioning information for a registered plugin so you can pair it again (childbridge mode). Shutdown Matterbridge before!
442
-
443
- ```bash
444
- matterbridge -reset [plugin path or plugin name]
445
- ```
446
-
447
- ## How to factory reset Matterbridge. Shutdown Matterbridge before!
448
-
449
- ```bash
450
- matterbridge -factoryreset
451
- ```
452
-
453
- This will reset the internal storages. All commissioning informations will be lost. All plugins will be unregistered.
454
-
455
- # Frequently asked questions
456
-
457
- ## How to enable HTTPS for the frontend
458
-
459
- ### Provide your own standard certificate, key and ca (optional)
460
-
461
- Place your own certificates in the `.matterbridge/cert` directory:
462
-
463
- - `cert.pem`
464
- - `key.pem`
465
- - `ca.pem` (optional)
466
-
467
- ![image](screenshot/Screenshot%20Certificates.png)
468
-
469
- Matterbridge looks first for .p12 certificate and if it is not found it looks for cert.pem and key.pem.
470
-
471
- ### Provide your own 'PKCS#12' certificate and the passphrase
472
-
473
- Place your own p12 certificate (binary file) and the passphrase (text file) in the `.matterbridge/cert` directory:
474
-
475
- - `cert.p12`
476
- - `cert.pass`
477
-
478
- Matterbridge looks first for .p12 certificate and if it is not found it looks for cert.pem and key.pem.
479
-
480
- ### Change the command line
481
-
482
- Add the **-ssl** parameter to the command line.
483
-
484
- If desired, you can also change the frontend port with **-frontend 443**.
485
-
486
- ```bash
487
- matterbridge -ssl -frontend 443
488
- ```
489
-
490
- Add the **-mtls** parameter to the command line if you want Matterbridge to request the client (your browser) to authenticate itself (this is the most secure connection possible).
491
-
492
- The browser must provide the client certificate: on Windows you need to import it in Current User → Personal → Certificates with certmgr.msc.
493
-
494
- ```bash
495
- matterbridge -ssl -mtls -frontend 443
496
- ```
497
-
498
- ### Restart
499
-
500
- If the certificate are correctly configured, you will be able to connect with https to the frontend.
501
-
502
- ![image](screenshot/Screenshot%20Browser%20Secured.png)
503
-
504
- ## How to send the debug log files
505
-
506
- ### Enable debug and log on file
507
-
508
- In the frontend, go to settings and enable debug mode as shown below:
509
-
510
- ![Debug Matterbridge Settings](screenshot/Screenshot%20Matterbridge%20Logger%20Debug.png)
511
-
512
- ![Debug Matter Settings](screenshot/Screenshot%20Matter%20Logger%20Debug.png)
513
-
514
- ### Restart
515
-
516
- Wait a few minutes to allow the logs to to accumulate.
517
-
518
- Then, from the dots menu in the frontend, download the `matterbridge.log` and `matter.log` files.
519
-
520
- ![image](screenshot/Screenshot%20Debug%20Download%20Logs.png)
521
-
522
- Don't forget to unselect the debug mode when is no more needed. The network traffic and cpu usage is very high in debug mode.
523
-
524
- # Known general issues
525
-
526
- ## Session XYZ does not exist or Cannot find a session for ID XYZ
527
-
528
- This message may appear after Matterbridge restarts, indicating that the controller is still using a session from the previous connection that has since been closed.
529
- After some time, the controller will reconnect.
530
- In this context, the message is not indicative of a problem.
531
-
532
- ## Apple Home
533
-
534
- The HomePods, being a WiFi devices, sometimes pruduce message trasmission errors. The Apple TV with network cable is more reliable (but also more expensive).
535
-
536
- All issues have been solved from the version 17.5 of the HomePod/AppleTV. Now they are stable.
537
-
538
- If you have more then one Apple TV or Home Pod, you can herve better results setting to disabled "Automatic Selection" in "Home Setting", "Home Hubs & Bridges". When "Automatic selection" is disabled, select your Apple Tv if you have one or any of your Home Pod. In this way you should not have anymore more then one session for fabric.
539
-
540
- ### Manufacturer Serial Number and Model
541
-
542
- The Home app forgets about them when you restart the node.
543
-
544
- ### Appliances
545
-
546
- As of version 18.4.x, all Appliances device types are not supported by the Home app. They don't even appear like unsupported accessories.
547
-
548
- ### Robot
549
-
550
- As of version 18.4.x, the Robot is supported by the Home app only as a single, non-bridged device or if it is the only device in the bridge.
551
-
552
- If a Robot is present alongside other devices in the bridge, the entire bridge becomes unstable in the Home app.
553
-
554
- A workaround has been released in Matterbridge 3.1.1. Ask the plugin authors to update the code.
555
-
556
- ## Home Assistant
557
-
558
- So far is the only controller supporting all Matter 1.2, 1.3 and 1.4 device type.
559
-
560
- ## Home Assistant issues
561
-
562
- - If HA doesn't show all devices, reload the Matter Server Integration or reboot HA
563
- - Home Assistant doesn't seem to always react when a device is removed from the bridge: they remain in HA unavailable forever...
564
- - Use Apple Home when you have to choose the controller type even if you pair Matterbridge directly with HA.
565
-
566
- ## Google Home
567
-
568
- If you face a problem pairing to Google Home from Ios app the solution is there https://github.com/Luligu/matterbridge/issues/61.
569
-
570
- If you face a problem changing the brightness check this for the explanation: https://github.com/Luligu/matterbridge-zigbee2mqtt/issues/80
571
-
572
- No other issues reported so far.
573
-
574
- ## Alexa
575
-
576
- Tested by Tamer Salah
577
-
578
- Alexa needs the standard port 5540 to pair (from matter.js readme).
579
-
580
- There is no support for these Matter device types:
581
-
582
- - pressure sensor
583
- - flow sensor
584
-
585
- In the zigbee2mqtt and shelly plugins select the option to expose the switch devices like light or outlet cause they don't show up like switch
586
- (Matterbridge uses a switch device type without client cluster).
587
-
588
- ## SmartThings
589
-
590
- Tested by Tamer Salah
591
-
592
- No issues reported so far.
593
-
594
- ## eWeLink
595
-
596
- Tested by Tamer Salah
597
-
598
- eWeLink needs the standard port 5540 for commissioning.
599
-
600
- ## Tuya/Smart Life
601
-
602
- Check the matter.js readme.
603
-
604
- ## Code of Conduct
605
-
606
- We believe in a welcoming and respectful community for all. Please make sure to follow our [Code of Conduct](LINK_TO_CODE_OF_CONDUCT) in all your interactions with the project.
607
-
608
- ## Support
609
-
610
- If you find this project helpful and you wish to support the ongoing development, you can do so by buying me a coffee.
611
- On my side I sponsor the packages that I use in this project. It would be nice to have sponsors too.
612
- Click on the badge below to get started:
613
-
614
- <a href="https://www.buymeacoffee.com/luligugithub">
615
- <img src="bmc-button.svg" alt="Buy me a coffee" width="120">
616
- </a>
617
-
618
- Thank you for your support!
package/docs/Shelly.svg DELETED
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" fill="none" width="1024" viewBox="0.7 0 86.6 24"><path fill="#4594D1" d="m82 15.5 2.4-6.6h-4.6l-2.3 6.6h-2.6l2.4-6.6h-4.7L70.4 15v.5h-3.7l4.8-13.3H67l-4.7 13.3h-4L63 2.2h-4.5l-4.7 13.3h-7.1c-1.1 0-1.7-.3-1.7-1l.1-.4 1-3H49l-1.7 4.5s3.3-1.3 4.4-1.8c1-.5 1.3-1.4 1.3-2.3 0-.8-.6-1.5-1.7-2-.8-.3-1.7-.4-2.8-.4h-1.8c-1.7 0-3 .4-4.3 1.1-1.3 1-2 2.1-2 3.7 0 .6.1 1.2.4 1.7h-4.3l1.4-4c.2-.5.4-1.1.4-1.5 0-.8-.8-1-1.7-1-1.2 0-2.3.4-3.3 1.2l-3.4 2.8 3.8-10.6H29l-5.4 15h2.6c.6 0 1.3-.2 1.8-.7L33 13l-1 2.7-.1 1c0 .6.5 1 1.4 1h27.3a4 4 0 0 0 1.9-.6c.3.4.8.5 1.6.5h5a4 4 0 0 0 1.9-.5c.3.4.8.5 1.4.5h1c-.6.4-1 .9-1.2 1.5a4.7 4.7 0 0 0-.5 2c0 .8.3 1.5.8 2 .6.7 1.4 1 2.4 1 1.7 0 3.1-.7 4.3-2 .8-1 1.6-2.5 2.3-4.5h3.1c1.4 0 2.3-.6 2.8-2h-5.2ZM75.2 22c-.5-.4-.7-.8-.7-1.4 0-.6.2-1.2.7-1.9.5-.6 1-1 1.6-1L75 22.2ZM22 5l1.5-2.9h-2.8c-1.2 0-1.9.5-1.9 1.6 0 .5.4 1.8 1.1 3.6A13 13 0 0 1 21 12c0 2.2-1.3 4-3.8 5a16 16 0 0 1-6.6 1.3 18 18 0 0 1-6.2-1C2 16.5.7 15 .7 13.3.7 10.3 3 9 7.7 9h6c-.2.6-.6 1.1-1.2 1.5-.6.3-1.2.5-2 .5h-1c-.9 0-1.7.1-2.4.5-.9.4-1.3 1-1.3 1.8 0 1 .6 1.7 1.8 2.3 1 .4 2 .6 3.1.6 1.4 0 2.6-.3 3.5-1 1-.6 1.6-1.6 1.6-3 0-.9-.4-2.1-1-3.8-.7-1.7-1-3-1-4C13.7 1.7 16.1.2 21 0h2c1.2 0 2.2.2 3.1.5 1.2.5 1.8 1.2 1.9 2.2 0 1-.5 1.8-1.5 2.5H22Z"/></svg>
package/docs/Somfy.svg DELETED
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="1024" height="278" viewBox="-1.2 -1.2 151.1 41"><path d="M130.8 28c.2.4.3 1 .3 1.4 0 2.7-1.4 3.8-2.1 4.4-1.8 1.5-4.4 1.4-4.4 1.4h-1.4c-.9 0-1.9.7-1.9 1.7 0 1.1.8 1.8 2 1.8h1.3s1.8 0 3.7-.5c2-.7 4.6-2.1 6.5-5.5l7-15.6 2-4.7c.2-.3.2-.6.1-.9 0-.3-.3-.5-.6-.7-.5-.3-1.3-.3-2 0-.8.2-1.5.7-1.7 1.3l-3.4 7.3c-.6 1.2-1.3 2-2 2-.8 0-1.3-.2-2.4-2.1l-4.1-7.2a3 3 0 0 0-1.8-1.3 3 3 0 0 0-2.2 0c-.4.2-.6.5-.7.8v1l7.8 15.4m-19.5-8.8c0-1.2 1-2.2 2.3-2.2h3a3 3 0 0 0 2.2-.8c.8-.9.9-2.1.9-2.3a3 3 0 0 0-.8-2.2 3 3 0 0 0-2.3-.8h-3c-2 0-2-.5-2-1.7 0 0 0-2.5 2-3.2.7-.2 1.4-.3 2.2-.3h3.5a2.9 2.9 0 0 0 2.9-2.9c0-1.5-1.3-2.8-2.9-2.8H116a15 15 0 0 0-5.8 1.2 8.8 8.8 0 0 0-5.5 7.1c-.2 1.7-.6 2.6-2.2 2.6-.8 0-1.4.2-1.9.7-.8.9-.7 2.2-.7 2.2 0 2.7 2.5 3.2 2.6 3.2 1.2.1 2 1.1 2 2.3v9.3c0 1.1.4 2 1 2.6.7.8 1.7.8 1.8.8h1.3c.1 0 .9 0 1.6-.5.5-.4 1.2-1.2 1.2-2.9M63.2 13.3s-.2-2.7 2.7-2.7c1.6 0 2.6 1.5 4.5 1.5 2.4 0 3-1.5 6.4-1.5 3.8 0 4 1.5 6.3 1.5 2.5 0 2.9-1.5 7.2-1.5 2.3 0 4.9 1.4 4.9 4.2v14.5a2.7 2.7 0 0 1-5.4 0V17.4c0-1.3 0-4-2.3-4 0 0-5.6-.7-5.6 9.1v6.8c0 1.4-1.2 2.7-2.7 2.7a2.7 2.7 0 0 1-2.7-2.7V17.4c0-.8.1-4-2.4-4-4.8 0-5.5 5-5.5 9v6.9c0 1.4-1.3 2.7-2.7 2.7a2.7 2.7 0 0 1-2.7-2.7M41.3 4.6a16.6 16.6 0 1 0 0 33.2 16.6 16.6 0 0 0 0-33.2m0 22.5a6 6 0 0 1 0-11.8 6 6 0 0 1 0 11.8m-35.7-5 2.6 1 4 1.6a2 2 0 0 1 1.2 2.4c-.4 1.3-1.9 2.5-5.2 2C7 29 4 28.3 4 28.3c-.1 0-2-.7-3 0-.5.2-.7.5-.8 1-.5 1.7 1.3 2.3 1.3 2.3l1.9.5.5.1s4 1 7.1.9c2 0 7.1-.5 9.1-4.1.3-.5.7-2.4.5-3.6-.2-1.3-.7-2.7-3-4.2a29 29 0 0 0-4.1-1.6 38 38 0 0 1-2.2-.7c-2.9-1.2-3.4-2.3-3.4-2.8 0-.3 0-1 .6-1.6.7-.8 1.8-1.2 3.4-1.2 2.4 0 3.3.3 4.3.6l.6.2c.7.2 1.3.1 1.8-.1.5-.3.6-.9.6-1 0-.4.1-1.5-1.6-2.2-.1 0-3.7-1.4-9.3-.6-.8 0-2.3.4-3.8 1.2a5.6 5.6 0 0 0-3.2 5.2c0 1.6.8 3 2.2 4.2 1.1.8 2.1 1.2 2.2 1.2M145.6 31.8a3 3 0 0 1-3.1-3.1 3 3 0 0 1 3.1-3.2c1.9 0 3.2 1.4 3.2 3.2 0 1.8-1.4 3.1-3.2 3.1m0-5.6c-1.3 0-2.3 1-2.3 2.5 0 1.3 1 2.4 2.3 2.4 1.4 0 2.3-1 2.3-2.4s-1-2.5-2.3-2.5m.6 4-.8-1.2h-.1v1.2h-.7V27h1c.7 0 1.1.4 1.1.9s-.4.8-.7.9c.2 0 .6.7 1 1.4h-.8zm-.8-2.6h-.1v.8c.4 0 .7-.1.7-.4 0-.3-.2-.4-.6-.4" style="fill:#ffb514;fill-opacity:1;fill-rule:nonzero;stroke:none"/></svg>
@@ -1 +0,0 @@
1
- <svg width="5000" height="5000" viewBox="0 0 1322.9 1322.9" xmlns="http://www.w3.org/2000/svg"><path style="fill:#000;stroke-width:.264583" d="m-1991.2 571.2-173.9-174.4v-493l173.9-174.4 173.9-174.4h491.4l173.9 174.4 173.8 174.4V397L-1152 571.2l-173.7 174.3H-1817.4z" transform="matrix(.99986 0 0 .99986 2232.8 511.2)"/><path style="fill:#fdbe36;stroke-width:.264583" d="m-1982 558.6-169-169V-89l169-169.2 169.2-169.1h478.4l169 169.1L-996.1-89V389.3l-169.1 169.2-169.1 169.1H-1813.1z" transform="matrix(.99986 0 0 .99986 2232.8 511.2)"/><path style="fill:#000;stroke-width:.264583" d="M-1788.7-42.8c-4-.1-13-.9-17.2-1.4-39-4.9-64.7-20.5-74.5-45.2-2-4.8-2.5-7.4-2.5-12 0-2.9.2-4 .7-6 5-19.1 31.7-36.4 81.5-53 28-9.4 57.3-17 124.5-32.5 27.9-6.4 43-10.1 54.3-13.3l3.9-1 1-2.4a68.5 68.5 0 0 1 9.1-16.1l1.3-1.2-1.1-3.4a56.7 56.7 0 0 1 .9-39 52.2 52.2 0 0 1 25.9-28.2l-13.8-48-18.1-.7c-23.2-.9-22.7-.8-23.5-1.6-1.3-1.2-.7-3.6 1-4 1-.3 42.9 1.4 43.5 1.7.4.2 1.3 1.8 2.4 4.1l11.8 24.1 10 20.4h12.3l11.7-24c8-16.2 12-24.2 12.4-24.5.4-.3 4.3-.5 20.6-1.1 25.2-1 23-1 24 0s.9 2.9-.4 3.7c-.4.2-6 .5-20.8 1l-20.5 1c-.1.2-13.7 47.4-13.7 47.8a52.2 52.2 0 0 1 24 24c4 8.2 5.7 15.7 5.7 25.1 0 7.3-1 13.6-3.3 19.4l-.8 2.2 1.3 1.2c1.7 1.5 4.7 6.3 8 13.1l2.7 5 17.8 4.6c9 2.3 20 4.9 41.7 9.8 61.9 14.3 91.5 22 119.4 31.3 50 16.6 76.6 34 81.6 53.1a31.5 31.5 0 0 1-3.5 21.6 64.5 64.5 0 0 1-30.3 29.5 85 85 0 0 1-13.5 5.6c-10.9 3.7-21.8 5.9-36.2 7.3-6 .5-24.8.8-31.7.4-27.4-1.6-53.5-7.2-68.2-14.5-4-2-5-2.7-10.3-7.1a709.4 709.4 0 0 1-72.1-66.8l-1.6 3.3-1.8 3.7c-.6.7-13.6 3-22.8 4a270.2 270.2 0 0 1-69.7-1.4c-3.8-.6-4.6-.8-5-1.3-.3-.3-1.4-2.4-2.5-4.6-2-3.9-2-4-2.5-3.6l-3.7 4.2a667.6 667.6 0 0 1-76 69c-11.4 6.8-34.5 13-58.6 15.4-11.8 1.2-24.1 1.7-34.8 1.3z" transform="matrix(.99986 0 0 .99986 2232.8 511.2)"/><path style="fill:#000;stroke-width:.264583" d="M-1567.8-18.5a234.3 234.3 0 0 1-60.3-10.1l-4.1-1.4v-.9a176.5 176.5 0 0 1 5-30 271.4 271.4 0 0 0 86.1 8.6 227.2 227.2 0 0 0 45.8-7 159.8 159.8 0 0 1 5 30.6c.1.5-.1.7-1.8 1.3a180 180 0 0 1-45.5 8.5c-6.3.5-24.2.7-30.2.4zM-1567.4 90.2c-3.9-.5-8-1.9-12-3.9-2.7-1.3-11.3-7.2-15.5-10.5a135.8 135.8 0 0 1-15.3-15 108 108 0 0 1-8.7-12.6c-.4-.5-.3-.5 2.9.3a274.4 274.4 0 0 0 105.3 2.4l3.3-.6a106.8 106.8 0 0 1-39.2 36.5c-3 1.4-5.9 2.3-9 3-2.5.5-9.3.8-11.8.4zM-1509 354c-3-.6-4.8-2.4-5.3-5.6-.2-2-3.5-185.2-3.3-187.7.3-3 1.6-5 3.9-5.8 1.5-.6 9.2-.9 26.7-1h12.6l1.3.6c.7.3 1.5 1 1.9 1.5 1.5 2 1.3-3.8 3 91.1 1.8 102.2 1.8 100.8 1.2 102.4-.8 2.4-2.7 3.6-5.9 4l-14.7.4-16.3.2-5-.1zM-1636.3 356.2c-3.5-.8-4.8-2.5-5.2-6.7-.2-1.4-1-44-1.8-94.6-1.8-100-1.7-93.6-.2-95.9.9-1.4 2.5-2 5.4-2.4 3.6-.4 34-.8 35.8-.5 4 .8 5.2 2.7 5.4 8.7l1.7 94.1c1.4 82.3 1.5 90.7 1.2 92-.6 2.1-1.5 3.3-3.3 4.1-1.4.7-1.7.7-8.6.9a914 914 0 0 1-30.4.3zM-1352.5 600.7a4.9 4.9 0 0 1-3-2.6l-.6-1-.1-51v-51l-16.3-.1c-15.8-.1-16.2-.1-17.4-.7a5 5 0 0 1-2.8-3c-.4-1-.5-2.6-.6-14.1 0-8.3 0-13.7.2-15 .4-2.7 1.2-4.1 2.7-5l1.2-.7H-1276.5l1.3.8c2.7 1.7 2.9 2.5 2.7 19.4 0 13.3 0 13.7-.6 14.9a5.2 5.2 0 0 1-2.9 2.8c-1 .5-2.3.5-17.2.6h-16.2v50.5c0 55.7 0 52.3-1.7 54-1.7 1.7-1.2 1.6-21.7 1.6-14.9 0-18.8 0-19.7-.4zM-1484.7 600.7a4.7 4.7 0 0 1-3-2.6l-.7-1.3-.1-51V495h-15.6c-9.6 0-16 0-16.7-.3-1.7-.3-3.1-1.3-3.8-2.6l-.6-1.2v-14.8c-.2-16.4-.2-16.4 1.5-18 1.8-1.8-2-1.7 58.7-1.7 36.1 0 55.5 0 56.1.3 1.5.4 2.7 1.3 3.4 2.7l.7 1.3V490.4l-.8 1.5c-.6 1.3-.9 1.6-2.2 2.3l-1.5.7h-16.2l-16.2.1-.1 51.2v51l-.7 1.2c-.4.7-1.1 1.5-1.9 1.9l-1.2.7h-19c-15.9.1-19.2 0-20.1-.3zM-1832.1 600.7a4.7 4.7 0 0 1-3-2.6l-.7-1.3-.1-67.2c0-46.5 0-67.7.2-68.6a5.6 5.6 0 0 1 2.7-3.9l1.1-.6h18.7c20.6-.1 20.3-.1 22.5 1.6.7.4 1.6 1.4 2.1 2.1.5.7 5.3 9.1 10.6 18.7s10 18 10.6 18.6l1 1.1h4l1-1c.5-.7 5.2-8.9 10.3-18.3a912 912 0 0 1 10.3-18.6c.6-.8 1.6-2 2.3-2.5 2.4-1.9 1.8-1.8 22.8-1.7h18.8l1 .6c1.5.8 2.2 1.7 2.7 3.4.3 1.1.4 9.5.4 68.3 0 58.7 0 67.1-.4 68.3a4.9 4.9 0 0 1-2.6 3.3l-1.1.6h-18.1c-20.1.1-19.8.2-21.4-1.6-1.7-1.7-1.7.2-1.7-39.7 0-21 0-36.4-.2-36.4l-6.5 11.7a65.8 65.8 0 0 1-8 13.4 8.8 8.8 0 0 1-3.1 2.2c-1.6.6-1.8.7-8.9.7-8.2 0-9-.2-11.3-2-1.8-1.4-2.6-2.7-9.3-15.2l-6-11-.1 36.7-.1 36.7-.8 1.5c-.6 1.2-1 1.7-2 2.3l-1.2.7h-17.7a137 137 0 0 1-18.8-.3zM-1622.8 619a5.3 5.3 0 0 1-3.5-2.5l-.8-1.2v-7.1c-.1-7-.1-7-.7-7.2l-4.7-.9a52 52 0 0 1-21.6-8.5 35 35 0 0 1-12-20.9l-.7-2.8v-39.8c0-37.5 0-40 .5-42.6a31 31 0 0 1 18.8-25c10.9-5.2 27-7.7 46.9-7.2 13 .3 21.7 1.4 29.9 3.8 18.4 5.2 26.8 14.9 28.4 32.4.4 4.2.4 73.5 0 77.4-1.4 14-6.9 22.3-18.8 28.3a58.6 58.6 0 0 1-20.3 5.8c-.5.1-.5.2-.6 7 0 6.8-.1 7-.7 8.3-.7 1.4-2 2.4-3.8 2.8-1.5.3-34.9.3-36.3 0z" transform="matrix(.99986 0 0 .99986 2232.8 511.2)"/><path style="fill:#fdbe36;fill-opacity:1;stroke-width:.264583" d="m-1165.3 558.7 169.1-169.1V-89l-169.1-169.2-169.1-169.1H-1813.1l-169.1 169.1L-2151.3-89V389.3l169.2 169.3 169.3 169.3h478.4z" transform="matrix(.99986 0 0 .99986 2232.8 511.2)"/><path style="fill:#fff;stroke:#fff;stroke-width:.264583" d="M-1541-69.2a191 191 0 0 0 40.8-6.6 186.2 186.2 0 0 0-12-30.4c0-.2-.8-.1-1.8 0a265.4 265.4 0 0 1-66.4 4.6 302 302 0 0 1-31.5-3.2c-1.2 1-11.2 27-10.7 27.5.4.4 11.4 3 17.5 4.1a283.6 283.6 0 0 0 64 4z" transform="matrix(.99986 0 0 .99986 2232.8 511.2)"/><path style="fill:#fff;stroke-width:.264583" d="M-1536.7 34.8c15.3-1.1 27.7-3.2 38-6.5l3.4-1 .8-2.9a127.5 127.5 0 0 0 5.1-30v-1.2l-3 .9c-38.8 11.3-94.8 10.4-136.6-2l-3.6-1 .2 3.3c.4 8 1.7 16.6 3.6 24.4 1.6 6.4 1 5.7 5.9 7.2a239.7 239.7 0 0 0 86.2 8.8z" transform="matrix(.99986 0 0 .99986 2232.8 511.2)"/><path style="fill:#000;stroke-width:.264583" d="M-1767.4-42.9c14.6-.9 27.6-2.6 39.4-5.2 17.6-3.9 29-8.2 36.4-13.9 10.2-8 33-27.8 47.3-41a604.3 604.3 0 0 0 28.2-28.8l1-1 2.2 4.4 2.2 4.4 1.6.4a268.8 268.8 0 0 0 75.8 1.6 130 130 0 0 0 20.5-3.8l3.1-6.8 2.6 2.7c15.3 16.9 37 37 65.8 61a55.8 55.8 0 0 0 16 11.1c19.9 8.8 54 14.4 83.7 13.8 41.1-1 71.5-12 87.5-32.1 3.6-4.6 7-10.6 9-16 1.7-4.5 2-5.7 1.9-10.6 0-4 0-4.6-.7-6.7a34.3 34.3 0 0 0-7.4-13c-14.5-17-45.9-32-99.4-47.4-21.2-6.2-51-13.6-92.5-23a1011 1011 0 0 1-61.3-15.1l-2.4-4.8a56.6 56.6 0 0 0-8-13l-1.3-1.2 1-2.8c3.6-10.4 4.1-22 1.4-33a52.7 52.7 0 0 0-26.1-33.8l-2-1 6.8-24 7-24 20-.7c13.5-.5 20.4-.8 20.9-1 .3-.2.9-.8 1.1-1.3l.6-1-.6-1c-.3-.7-.8-1-1.4-1.3a1132.4 1132.4 0 0 0-42.8 1.4c-.4 0-1 .4-1.4.7-.3.3-5.8 11.3-12.2 24.4l-11.6 23.8-2-.1a74.6 74.6 0 0 0-8.2 0l-1.8.1-11.7-23.9c-6.4-13.1-11.9-24.1-12.2-24.4-.7-.8 1-.6-23.6-1.6-21.2-.7-20.9-.8-21.8.6-.7 1-.6 2 .3 3 1 1-1.6.7 23 1.7l18.7.7 6.7 23.1a2321 2321 0 0 1 6.8 24c.2.8.1.9-1.6 1.8a52.7 52.7 0 0 0-27.9 48.3 53 53 0 0 0 3.1 18.5l1 2.8-1.4 1.3c-2 1.8-6 8.8-8.9 15.5l-1.2 2.8-3.3.9c-13.7 3.8-27.3 7-55.8 13.6-48 11-73.3 17.3-95 23.5-54.8 15.6-87.6 31-102.4 48.1-3.8 4.3-6 8.4-7.4 13.1-1 3.2-1.2 8.5-.6 11.9a56 56 0 0 0 15.4 26.7c15.9 15.8 42 25 76.3 26.7 4 .2 19.7.2 23.6 0z" transform="matrix(.99986 0 0 .99986 2232.8 511.2)"/><path style="fill:#000;stroke-width:.264583" d="M-1539.5-18.7c17.6-1.1 31.5-3.5 45-7.8 3.4-1 4.3-1.5 4.3-1.8a203.9 203.9 0 0 0-4.9-31.1l-3 .6a267.2 267.2 0 0 1-126.3-1.7 13 13 0 0 0-3-.7 205.8 205.8 0 0 0-5.1 31c0 .7 15.7 5.2 24.7 7 10.9 2.2 28 4.3 39 4.8 6.9.2 23.9.1 29.3-.3zM-1555.8 90c7-1.4 13-4.6 23.2-12.2a109.3 109.3 0 0 0 25.4-27.7l-1.7.3c-4.3 1-13.6 2.4-20.7 3.2a281 281 0 0 1-89.6-5.9l1.4 2.6c6.4 10.2 14.5 19.1 24 26.6 4.4 3.3 11.9 8.3 14.7 9.7 3 1.5 7.1 3 10 3.5 3.2.5 10 .5 13.3-.1zM-1477.3 353.8c5.2-.2 6-.3 7.2-.8 2.3-1 3.4-2.8 3.7-5.9.2-2.8-3-185.7-3.4-187.6-.5-3.7-2.2-5.3-5.9-5.8l-18.9.2c-18.8.3-18.9.3-20.8 1.8-1.3 1-2 2.5-2.2 4.6-.3 2.5 3 188 3.3 189.1a7 7 0 0 0 2.4 3.6c2 1.3 2.2 1.3 16 1.1 7 0 15.4-.2 18.6-.3zM-1612.3 356.1c7-.1 13.2-.3 13.8-.5a6.4 6.4 0 0 0 4-3c.7-1.3.8-1.7.8-5.5 0-2.2-.6-44.9-1.5-94.7-1.8-101-1.4-92.5-3.5-94.6a5.7 5.7 0 0 0-2.7-1.6c-1.5-.4-2.7-.4-19.5-.1-19 .3-19.7.3-21.5 1.6-.5.4-1.3 1.2-1.7 2-.7 1.2-.7 1.5-.8 5.4a15469 15469 0 0 0 3.5 186.6c.9 3 2.6 4.3 5.8 4.6 1.7.2 2.8.2 23.3-.2zM-1312.5 600.6a5.5 5.5 0 0 0 3-4.4c.2-1 .3-20 .3-51.4V495h15.8c9.8 0 16.2 0 16.8-.2a5.6 5.6 0 0 0 3.4-2.7l.7-1.2v-14.6c.1-16 0-16.6-1.4-18.2-.4-.4-1.2-1-2-1.3l-1.1-.5h-55.7c-45.8 0-55.9 0-56.7.3a5.8 5.8 0 0 0-3.2 2.8c-.6 1-.6 1.1-.6 16.2v15l.7 1.4a5 5 0 0 0 2 2.1l1.2.8h16.4l16.3.1.1 50.8v50.7l.8 1.5c.8 1.8 2 2.7 4.3 3.2l19 .1h18.6l1.3-.7zM-1444.9 600.7c.7-.3 1.5-1 2-1.4 1.5-2 1.4 1.2 1.4-54V495h15.8c9.8 0 16.2 0 16.8-.2a5.6 5.6 0 0 0 3.4-2.7l.7-1.2v-30.4l-.7-1.3c-.6-1.1-1-1.5-2.2-2.1l-1.6-.8h-55.7c-60.6 0-56.8-.1-58.6 1.5-1.9 1.6-1.9 1.5-1.9 18 0 16.4 0 15.8 1.8 17.6 1.5 1.6 1.8 1.6 19.2 1.6h15.7v49.3c0 30.3 0 50 .2 51.3.5 3.2 1.9 4.9 4.6 5.5.5.2 9.2.2 19.4.2 18.2 0 18.5 0 19.7-.6zM-1795 600.8a5.6 5.6 0 0 0 2.8-2.7l.6-1v-36.9l.2-36.8 6.2 11.5c9 16.6 8.8 16.4 18.7 16.7 7.9.2 10.6-.3 13.2-2.5 1.6-1.3 2.3-2.4 9-14.6l5.8-11 .2 36.6c0 34.6.1 36.7.6 37.7a5.3 5.3 0 0 0 3 3c1.2.4 2.7.5 19.4.5h18.1l1.3-.7a5 5 0 0 0 2.2-2l.7-1.3V460.2l-.7-1.2c-.5-1-1-1.4-2.2-2l-1.6-.7h-37.5l-1.5.6c-1.7.7-3.9 2.8-5.1 4.9l-10 18.1c-5 9.3-9.5 17.2-10 17.7-.8.8-1 .9-2.7.9-2.1 0-2.6-.3-3.6-1.8-.3-.4-4.7-8.2-9.7-17.4-5-9.2-9.7-17.5-10.4-18.5-1.3-2-2.6-3-4.5-4l-1.3-.5h-37.5l-1.6.7c-1.1.6-1.6 1-2.2 2l-.7 1.2v68.6c0 66 0 68.5.5 69.4.8 1.6 2 2.4 4 3l18 .1c15.9 0 17.2 0 18.2-.5z" transform="matrix(.99986 0 0 .99986 2232.8 511.2)"/><path style="fill:#000;stroke-width:.999999" d="M-6054.5 1713.1c-6.6 0-13.5 0-20.9.2-49.5.7-75.6 3.4-106.7 11.2-60.6 15.1-96 42.7-110 85.5a189 189 0 0 0-8 41.5c-1.3 16.4-1.3 274 0 287.6 4.5 45.3 23.6 81.3 53.6 101.4 19.6 13.1 50.3 23.9 85.6 30l9.6 1.7.4 25.6.3 25.7 2.8 5.7c3.5 7.1 8.7 10.5 17.9 11.7 3.5.5 34.7.8 69.3.7 57.8-.2 63.4-.4 67.7-2 5.6-2.1 11.2-8 12.9-13.3.7-2.3 1.4-14.1 1.7-29 .2-14 .8-25.3 1.2-25.3l12.5-2c72.2-12.6 115.3-43.9 130-94.3 6.3-22 6-11.7 6.3-174.2.2-101.3 0-150.7-.8-156.5-3.3-26.3-9.3-45-19.3-60.4-18.9-29-50.5-48.4-97.7-60.1-32.2-8-62.2-11.2-108.4-11.4zm-6 149.3c11.9 0 23 .5 27.7 1.4 19.8 3.7 30.1 12.8 32.8 28.9 1.2 7.4 1.2 208.6 0 217-1.1 7.7-4 13.8-9.4 19.3-4.8 5-9.5 7.3-19.3 9.5-5 1.2-13.5 1.7-31.4 2-26.5.4-36.5-.6-47.5-4.6a33.2 33.2 0 0 1-18.4-18.3c-2-5.7-2-6-2-116.1 0-108.6 0-110.5 2-115.9 4.2-11.3 13-18 28.4-21.4 5.7-1.2 22-1.9 37.2-1.8z" transform="matrix(.26455 0 0 .26455 2232.8 511.2)"/></svg>