1import { K as withCtx, P as openBlock, R as resolveComponent, g as createVNode, h as createTextVNode, m as createStaticVNode, s as createBaseVNode, u as createElementBlock } from "./runtime-core.esm-bundler-D6Jmich1.js"; 2import { t as _plugin_vue_export_helper_default } from "./app-DRb3XOJL.js"; 3import "./zzh-CJjSKfl8.js"; 4//#endregion 5//#region docs/guide/getting-started/README.md 6var _pageData = JSON.parse("{\"path\":\"/guide/getting-started/\",\"title\":\"Getting started\",\"lang\":\"en-US\",\"frontmatter\":{\"pageClass\":\"content-page\",\"sidebarDepth\":1,\"next\":\"../usage/\",\"redirectFrom\":\"/getting_started/what_do_i_need.md\"},\"git\":{\"updatedTime\":1787366709000,\"contributors\":[{\"name\":\"Christoph Wiechert\",\"username\":\"\",\"email\":\"[email protected]\",\"commits\":3},{\"name\":\"Koen Kanters\",\"username\":\"\",\"email\":\"[email protected]\",\"commits\":12},{\"name\":\"github-actions[bot]\",\"username\":\"github-actions[bot]\",\"email\":\"41898282+github-actions[bot]@users.noreply.github.com\",\"commits\":2,\"url\":\"https://github.com/github-actions[bot]\"},{\"name\":\"Robin Kolk\",\"username\":\"\",\"email\":\"[email protected]\",\"commits\":1},{\"name\":\"Burkhard Kneiseler\",\"username\":\"\",\"email\":\"[email protected]\",\"commits\":1},{\"name\":\"Aleks\",\"username\":\"Aleks\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/Aleks\"},{\"name\":\"danieledwardgeorgehitchcock\",\"username\":\"danieledwardgeorgehitchcock\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/danieledwardgeorgehitchcock\"},{\"name\":\"Dirk van Donkelaar\",\"username\":\"\",\"email\":\"[email protected]\",\"commits\":1},{\"name\":\"rodriguezst\",\"username\":\"rodriguezst\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/rodriguezst\"},{\"name\":\"Daniel Greco\",\"username\":\"\",\"email\":\"[email protected]\",\"commits\":1},{\"name\":\"Teameh\",\"username\":\"Teameh\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/Teameh\"},{\"name\":\"Tieme van Veen\",\"username\":\"\",\"email\":\"[email protected]\",\"commits\":1},{\"name\":\"shkarlsson\",\"username\":\"shkarlsson\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/shkarlsson\"},{\"name\":\"Michal Dziekonski\",\"username\":\"\",\"email\":\"[email protected]\",\"commits\":1},{\"name\":\"Maxopoly\",\"username\":\"Maxopoly\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/Maxopoly\"},{\"name\":\"Rene Tode\",\"username\":\"\",\"email\":\"[email protected]\",\"commits\":1},{\"name\":\"Impact\",\"username\":\"Impact\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/Impact\"},{\"name\":\"Tarik2142\",\"username\":\"Tarik2142\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/Tarik2142\"},{\"name\":\"sergge1\",\"username\":\"sergge1\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/sergge1\"},{\"name\":\"Nerivec\",\"username\":\"Nerivec\",\"email\":\"[email protected]\",\"commits\":5,\"url\":\"https://github.com/Nerivec\"},{\"name\":\"anonymousaga\",\"username\":\"anonymousaga\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/anonymousaga\"},{\"name\":\"cdalexndr\",\"username\":\"cdalexndr\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/cdalexndr\"},{\"name\":\"Dan Danache\",\"username\":\"\",\"email\":\"[email protected]\",\"commits\":1},{\"name\":\"jmincier\",\"username\":\"jmincier\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/jmincier\"},{\"name\":\"dosdroid\",\"username\":\"dosdroid\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/dosdroid\"},{\"name\":\"smartboxchannel\",\"username\":\"smartboxchannel\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/smartboxchannel\"},{\"name\":\"guslma\",\"username\":\"guslma\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/guslma\"},{\"name\":\"aalijag97\",\"username\":\"aalijag97\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/aalijag97\"},{\"name\":\"3reality-support\",\"username\":\"3reality-support\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/3reality-support\"},{\"name\":\"jintj\",\"username\":\"jintj\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/jintj\"},{\"name\":\"Ilya Kirov\",\"username\":\"\",\"email\":\"[email protected]\",\"commits\":1},{\"name\":\"shsurury\",\"username\":\"shsurury\",\"email\":\"[email protected]\",\"commits\":1,\"url\":\"https://github.com/shsurury\"},{\"name\":\"Niracler Li\",\"username\":\"\",\"email\":\"[email protected]\",\"commits\":1}
6],\"changelog\":[{\"hash\":\"36f344142e646f663eb71a1e8a1acc1b5af581d4\",\"time\":1787366709000,\"email\":\"[email protected]\",\"author\":\"Nerivec\",\"message\":\"feat: add gfm alert support (#5428)\"},{\"hash\":\"aa4299706eb2a81313ccdf59057ab009d858dd7c\",\"time\":1779131202000,\"email\":\"[email protected]\",\"author\":\"Nerivec\",\"message\":\"feat: add redirect plugin (#5130)\"},{\"hash\":\"b70d88afc284367ce9ed2f0fb5555d1dee7bf2e8\",\"time\":1749751826000,\"email\":\"[email protected]\",\"author\":\"Koen Kanters\",\"message\":\"Lint\"},{\"hash\":\"7957f3a843917bc655f85f5072608371e5f0a228\",\"time\":1749751149000,\"email\":\"[email protected]\",\"author\":\"Koen Kanters\",\"message\":\"Fix details wrapper\"},{\"hash\":\"af41bcccc323f96d87bf7087e373a02297dde169\",\"time\":1742761500000,\"email\":\"[email protected]\",\"author\":\"Nerivec\",\"message\":\"fix: default for Z2M_ONBOARD_URL (#3626)\"},{\"hash\":\"3081156342fcd5e984d7a3c07536fbaf6d660458\",\"time\":1742589060000,\"email\":\"[email protected]\",\"author\":\"Nerivec\",\"message\":\"Onboarding docs (#3603)\",\"coAuthors\":[{\"name\":\"Koen Kanters\",\"email\":\"[email protected]\"},{\"name\":\"Abhijeet\",\"email\":\"[email protected]\"},{\"name\":\"cdalexndr\",\"email\":\"[email protected]\"},{\"name\":\"Dan Danache\",\"email\":\"[email protected]\"},{\"name\":\"jmincier\",\"email\":\"[email protected]\"},{\"name\":\"dosdroid\",\"email\":\"[email protected]\"},{\"name\":\"Andrew Lamchenko\",\"email\":\"[email protected]\"},{\"name\":\"Gustavo Lima\",\"email\":\"[email protected]\"},{\"name\":\"aalijag97\",\"email\":\"[email protected]\"},{\"name\":\"support\",\"email\":\"[email protected]\"},{\"name\":\"jintj\",\"email\":\"[email protected]\"},{\"name\":\"Ilya Kirov\",\"email\":\"[email protected]\"},{\"name\":\"shsurury\",\"email\":\"[email protected]\"},{\"name\":\"Niracler Li\",\"email\":\"[email protected]\"}]},{\"hash\":\"a5a499c2f90445169bfdbb9dbb84791a409f78e3\",\"time\":1736451393000,\"email\":\"[email protected]\",\"author\":\"Nerivec\",\"message\":\"feat: Configurator to generate basic <code>configuration.yaml</code> (#3413)\",\"coAuthors\":[{\"name\":\"github-actions[bot]\",\"email\":\"41898282+github-actions[bot]@users.noreply.github.com\"}]},{\"hash\":\"9206d99fdedbcad4f91c18b172ecee5ae69560b9\",\"time\":1733245245000,\"email\":\"[email protected]\",\"author\":\"Koen Kanters\",\"message\":\"Lint\"},{\"hash\":\"f89e65dec7c1cbf82a5a0e1587e849cc98530e94\",\"time\":1722278811000,\"email\":\"[email protected]\",\"author\":\"Koen Kanters\",\"message\":\"Implement prettier (automatic changes)\"},{\"hash\":\"b081c3100deb2ea5f8c3685df9be0a665eb637c4\",\"time\":1683382159000,\"email\":\"[email protected]\",\"author\":\"Koen Kanters\",\"message\":\"Improvements for cf2d04cf68dff95ab1f7576881d868323ec95069\"},{\"hash\":\"cf2d04cf68dff95ab1f7576881d868323ec95069\",\"time\":1683381374000,\"email\":\"[email protected]\",\"author\":\"Taras\",\"message\":\"Update adapter-settings, add ZB-OTA info (#2028)\",\"coAuthors\":[{\"name\":\"sergge1\",\"email\":\"[email protected]\"}]},{\"hash\":\"6fbae30e995b136f4cda5271f52b18e6d3d02fa7\",\"time\":1674289102000,\"email\":\"[email protected]\",\"author\":\"Impact\",\"message\":\"Replace docker-compose with docker compose (#1834)\"},{\"hash\":\"e44d3f2ea7e75cbb3f3cd0b965656d9f41e4615f\",\"time\":1663774242000,\"email\":\"[email protected]\",\"author\":\"Rene Tode\",\"message\":\"change extention cable tip (#1592)\"},{\"hash\":\"5d1d9331eb7dbbd5b5a2f78507f94cbcc798e598\",\"time\":1651599120000,\"email\":\"[email protected]\",\"author\":\"Maxopoly\",\"message\":\"Fix typo (#1360)\"},{\"hash\":\"a67e062ef1f2d543ef262946ff87a0959eb80d0d\",\"time\":1649691735000,\"email\":\"[email protected]\",\"author\":\"Michal Dziekonski\",\"message\"
6:\"Adapters config notes (#1326)\"},{\"hash\":\"135e5ba052f86ef76576e50d8a3d48921206e22f\",\"time\":1638706759000,\"email\":\"[email protected]\",\"author\":\"shkarlsson\",\"message\":\"Update README.md (#1049)\"},{\"hash\":\"d8e5392a36f96df74cc0b5ae672b12a406795fa4\",\"time\":1638555404000,\"email\":\"[email protected]\",\"author\":\"Teameh\",\"message\":\"Add MQTT broker requirement in getting started guide (#1045)\",\"coAuthors\":[{\"name\":\"Tieme van Veen\",\"email\":\"[email protected]\"}]},{\"hash\":\"33f844a6b653bb1a9e2b7e857ca89f8b7f2ebe38\",\"time\":1636969041000,\"email\":\"[email protected]\",\"author\":\"Daniel Greco\",\"message\":\"Fix configuration.yaml in getting started (#1020)\"},{\"hash\":\"05cf3942d17ba73f2cd01bd6a7f87f6dfe1bf9f2\",\"time\":1636137985000,\"email\":\"[email protected]\",\"author\":\"Christoph Wiechert\",\"message\":\"Rework docker installation guide (#997)\"},{\"hash\":\"4ed536efe3bdf3804806146fb173a8761fae6b30\",\"time\":1636137337000,\"email\":\"[email protected]\",\"author\":\"Koen Kanters\",\"message\":\"WebUI -> Frontend. https://github.com/Koenkk/zigbee2mqtt.io/pull/991\"},{\"hash\":\"0643d2a3dcf1107b6079feb69ae654582b83fba0\",\"time\":1636128160000,\"email\":\"[email protected]\",\"author\":\"Christoph Wiechert\",\"message\":\"Fix docker-compose in quickstart (#996)\"},{\"hash\":\"c3fafb1b87af23c45ea2c4339f548c6c4549586c\",\"time\":1635878593000,\"email\":\"[email protected]\",\"author\":\"Koen Kanters\",\"message\":\"Refactor supported adapters page (#977)\"},{\"hash\":\"00c0af2cc2a86ed9d271dc530265e0e9d8dc327a\",\"time\":1635697046000,\"email\":\"[email protected]\",\"author\":\"Christoph Wiechert\",\"message\":\"Newww Docu ð (#967)\",\"coAuthors\":[{\"name\":\"Koen Kanters\",\"email\":\"[email protected]\"},{\"name\":\"Koen Kanters\",\"email\":\"[email protected]\"},{\"name\":\"github-actions[bot]\",\"email\":\"41898282+github-actions[bot]@users.noreply.github.com\"},{\"name\":\"Koen Kanters\",\"email\":\"[email protected]\"},{\"name\":\"Robin Kolk\",\"email\":\"[email protected]\"},{\"name\":\"Koen Kanters\",\"email\":\"[email protected]\"},{\"name\":\"Burkhard Kneiseler\",\"email\":\"[email protected]\"},{\"name\":\"Aleks\",\"email\":\"[email protected]\"},{\"name\":\"danieledwardgeorgehitchcock\",\"email\":\"[email protected]\"},{\"name\":\"Dirk van Donkelaar\",\"email\":\"[email protected]\"},{\"name\":\"rodriguezst\",\"email\":\"[email protected]\"}]}]},\"filePathRelative\":\"guide/getting-started/README.md\"}"); 7var _sfc_main = { name: "README.md" }; 8var _hoisted_1 = { class: "hint-container tip" }; 9function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { 10 const _component_RouteLink = resolveComponent("RouteLink"); 11 return openBlock(), createElementBlock("div", null, [ 12 _cache[37] || (_cache[37] = createBaseVNode("h1", { 13 id: "getting-started", 14 tabindex: "-1" 15 }, [createBaseVNode("a", { 16 class: "header-anchor", 17 href: "#getting-started" 18 }, [createBaseVNode("span", null, "Getting started")])], -1)), 19 _cache[38] || (_cache[38] = createBaseVNode("h2", { 20 id: "prerequisites", 21 tabindex: "-1" 22 }, [createBaseVNode("a", { 23 class: "header-anchor", 24 href: "#prerequisites" 25 }, [createBaseVNode("span", null, "Prerequisites")])], -1)), 26 _cache[39] || (_cache[39] = createBaseVNode("p", null, "In order to use Zigbee2MQTT we need the following hardware:", -1)), 27 createBaseVNode("ol", null, [createBaseVNode("li", null, [createBaseVNode("p", null, [ 28 _cache[3] || (_cache[3] = createBaseVNode("img", { 29 src: "/assets/zzh-Dpol2FtF.jpg", 30 title: "ZZH", 31 class: "float-left" 32 }, null, -1)), 33 _cache[4] || (_cache[4] = createTextVNode()), 34 _cache[5] || (_cache[5] = createBaseVNode("strong", null, "A Zigbee adapter", -1)), 35 _cache[6] || (_cache[6] = createTextVNode(" which is the interface between the host system where you run Zigbee2MQTT and the Zigbee radio communication. Zigbee2MQTT supports a variety of adapters with different kind of connections like USB, GPIO or remote via WIFI or Ethernet. Recommended adapters are ", -1)), 36 createVNode(_component_RouteLink, { to: "/guide/adapters/zstack.html" }, { 37 default: withCtx(() => [..._cache[0] || (_cache[0] = [createTextVNode("zStack", -1)])]), 38 _: 1 39 }), 40 _cache[7] || (_cache[7] = createTextVNode(" and ", -1)), 41 createVNode(_component_RouteLink, { to: "/guide/adapters/emberznet.html" }, { 42 default: withCtx(() => [..._cache[1] || (_cache[1] = [createTextVNode("EmberZNet", -1)])]), 43 _: 1 44 }), 45 _cache[8] || (_cache[8] = createTextVNode(". See ", -1)), 46 createVNode(_component_RouteLink, { to: "/guide/adapters/" }, { 47 default: withCtx(() => [..._cache[2] || (_cache[2] = [createTextVNode("Supported Adapters", -1)])]), 48 _: 1 49 }), 50 _cache[9] || (_cache[9] = createTextVNode(" for all supported adapters. It's recommended to check out your adapter's recommendation details before the installation process, to find out whether it needs any additional configuration parameters. ", -1)), 51 _cache[10] || (_cache[10] = createBaseVNode("br", { class: "clear" }, null, -1)) 52 ])]), _cache[11] || (_cache[11] = createStaticVNode("<li><p><img src=\"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAYABgAAD/4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAABgAAAAAQAAAGAAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAAGSgAwAEAAAAAQAAAEYAAAAA/+0AOFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAAOEJJTQQlAAAAAAAQ1B2M2Y8AsgTpgAmY7PhCfv/bAEMABgQEBQQEBgUFBQYGBgcJDgkJCAgJEg0NCg4VEhYWFRIUFBcaIRwXGB8ZFBQdJx0fIiMlJSUWHCksKCQrISQlJP/bAEMBBgYGCQgJEQkJESQYFBgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJP/AABEIAEYAZAMBIgACE
52QEDEQH/xAAcAAEAAgMBAQEAAAAAAAAAAAAABgcBAgUIBAP/xAAxEAABAwMDAgQGAgEFAAAAAAABAgMRAAQFBiExElEHEyJBFDJCYXGBFZEjFqLR4fD/xAAYAQEBAQEBAAAAAAAAAAAAAAAAAQIDBP/EACgRAAICAQMCBAcAAAAAAAAAAAABAhEDEiExBFETMnHwI0FhobHB0f/aAAwDAQACEQMRAD8A9URFKRWRQClYpFAZFIrEUoBWZr4czfuYzFXV4yyHnGGlLQ2VdIWQNhPtVHas1xrfMX4sbQtWVsOpTi23ggdIMe/I3EyRUbo0o2X6lxKxKVBQmNjNbTXn3T2u16XukfE5o3K1wFtNAlomZ+YgACSR6QeeeKtbBeJWCzbwt0XAaeKZIUQUzAJEjjn37GiYcGiWTSsJIIkEEHeRSqZG3alZilADSsUKgkSdhQGaVz7zM2lmklTnUR7J3/8Af91E854l2ONCuu4aZA5BMq/r22B/o1HJIqiycOPoaErUEj7mua/qOzZWEhU7wSTAHH/NUPnfHQXbq2MS07eOpUUlSPX0ngyflBEnk/T96jN3eaq1MoLv7ldiwtXSPLkqT3gke32H0jepb5OWXNjxed7nobW2tMDhcddWt5kWRcrZV0sI9bh229I437157yGrsbqpDfwRQpxlfX6kkqmOP3/XevwzWRU/ByaoatlAs3jjRcQtQJBJESgwNiSZnneoug2+M1B8djMetbLjJZNsVFJcJIlYAOyhG353rk3KS32Mw6q03FWvfr+yR3F1a3iGBmbi6t22yQ69aJnzEgfWnmZAG3ufYV1cdn7G2ctk4jHBLSYUHLwl5aZG8Np9IMSOTzzUKx17dv5e0bv7d5pa3VNNpVCgr0kkGNkmO8VOLW367lm0aAUXD0BQPKu23NW65PXjmnyWLpzxjXZBu0ylm47bhSx56VguhJWSn08QEkCJnarTxGax+dtRdY66buGj7oO6T2I5B+xqmsfoC1CAu8ulPKUJhn0oT9+o7k1Zmi9PY7CW6lWNsltTiQFuEytYHEmtpss4qrJPFKUrZxNVKAEniqk8VvGXC6RvGMcbkOXam1L6G3J3CkjpgblW5IAHtVpZK1F7ZvW5KgHElMpMEV591wP9MXLdxmLBVw5ZPKW2uSGrtMEgKgeg7AbECSOdxXKcpJpVt3MZMvhrVRF7jXutNWqWjG2zVhb/AFuXS/JBBgGE7qUd1CDHIr5LXRTV1afyGp8qt94jqNncy0g7e6Qd5MxPVuTUj1I23kMY5qfA3AvdMrcC+uxZIuMWoABTTrfIEj549JO4AE1Fby1tM3h2UZD+RTkFnzGesecu66jCTA9IEkD1H3HO1a4PF1GfJGdZXUfofmvUuPx7bSMLjkmE9Rc6Svy42lKjCf6rsWORucljEqRl2PNKStwtOAqQDx1DuP323qHLx2TfJaUlppKD0kkFM7wYbidjz27139OYjF4sLvbu5VcKWgNJS2qAoqJBAGxOwnYTvSkcMmPDFx8GVy7d/wCHeuNSab01btnUb1++wITFqgOOqMkAqHBTsZBHP5r7Mfp3Bo089qbAOJzmIaQVqFklfnM77pUyB1yOxO3YRUOyuPxNy6FKtki2fb9NqlIICk7JKgdjJ3kEn97VzLFN94ZZhGpNOXXwrjTXxNxjXXy2bppAlaOmCSkexIETtG4MSR7On6abx/GVP1NrfLZfUnmHF2Px3lc3LKB0Nk/KuEkFWwA+Wf1uJFpfUSGdTYqxzLP8Xf290kLDhAaWEgklKuPvvvtXNyFnntUXLmR0xgHcHjspeB5TFg6eh0AwtXrCSkqEmE+gnf3M2x4e+E92rSybPUlo1cKVcreYbuQkqt2uolCCEbFUGVQYkkbikotq4o9EMcYrVjOozrKyzKZwiXMggLLZebHS0kjus+33E1YGjxkTaOqyAZ6SoeV5aSNo3mTvv77fisYnSFjj0NgthZR8ogBKfwBsKkCEJbSEpAAFbUa5NtyfmZtNKUqg1Imo9qvS9pqGxct7llCwoEbiakVYIkVUxV8nkfVWj9UeFuTuMrpi9urRtQ/yFodYWkbhLiDs4n/cASAYNfFqbM6hymGGZdwuMwCypLKk2SEMOuNhAgGCZT1KkbcRxE16wzWBtctbLZfaSoKHaqZ1Z4SvPlqxX5juObfD7RbMOMHcEJMbggkb8SY7VnJUY6lwcZwbaT3Xv7EEvmr+1xzLGLZuMu8+2hoC1KkuJ6uTIlSSZEkbifUdpqO5wZx25NumxuLK+ab8lAeSFOsuqG4UomAiRsRsTMbirp0tpPO6ecTb4damLNxEOBcuOtqn5krWN/TtCpHHappbeHbV9cJvMmpTroAB6jJJ7z7THAAE+1c8T1xUkq9TLwvSuLX4PPen9H6r1DZpt1P3GHKXFpW8GkuPPJgR0KmU79U7CeQatHQvgfjsI+u8+H6rt5pLT13c/wCV51I7z6QTAmBvA7Vblhp+yx6AlhhCAOwropaSkQAK70kd/lT3ONj9LWFkApLXU4PrUZNdhtlKAIHFfpxSpbKKc0pUAilJpQGKDilKAc1qptC+Ug0pQGEtITwkD9VuNvalKrAmszSlQCaTSlADWokn7UpQAqj2pSlAf//Z\" title=\"Raspberry Pi\" class=\"float-left\"> <strong>A host system</strong> where you would run Zigbee2MQTT (e.g. a Raspberry Pi or Intel NUC). Zigee2MQTT runs on many computers and platforms including Linux, Windows and MacOS. It should have an MQTT broker installed. <a href=\"https://www.mosquitto.org/download/\" target=\"_blank\" rel=\"noopener noreferrer\">Mosquitto</a> (<a href=\"https://randomnerdtutorials.com/how-to-install-mosquitto-broker-on-raspberry-pi/\" target=\"_blank\" rel=\"noopener noreferrer\">tutorial for Raspberry-Pi</a>) is the recommended MQTT broker but <a href=\"https://mqtt.org/software/\" target=\"_blank\" rel=\"noopener noreferrer\">others</a> should also work fine. <br class=\"clear\"></p></li><li><p><img src=\"data:image/jpeg;base64,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\" title=\"Zigbee devices\" class=\"float-left\"> One or more <strong>Zigbee devices</strong> which will be paired with Zigbee2MQTT. <br class=\"clear\"></p></li>", 2))]), 53 createBaseVNode("div", _hoisted_1, [_cache[17] || (_cache[17] = createBaseVNode("p", { class: "hint-container-title" }, "Tips", -1)), createBaseVNode("p", null, [ 54 _cache[13] || (_cache[13] = createBaseVNode("img", { 55 alt: "USB Cable", 56 src: "data:image/jpeg;base64,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", 57 class: "float-left" 58 }, null, -1)), 59 _cache[14] || (_cache[14] = createTextVNode(" To improve network range and stability use a USB extension cable. If you experience ANY trouble with device (timeouts, not pairing, devices unreachable, devices dropping from the network, etc.) this is the first thing to do to avoid interference. See ", -1)), 60 createVNode(_component_RouteLink, { to: "/advanced/zigbee/02_improve_network_range_and_stability.html" }, { 61 default: withCtx(() => [..._cache[12] || (_cache[12] = [createTextVNode("Improve network range and stability", -1)])]), 62 _: 1 63 }), 64 _cache[15] || (_cache[15] = createTextVNode(". ", -1)), 65 _cache[16] || (_cache[16] = createBaseVNode("br", { class: "clear" }, null, -1)) 66 ])]), 67 _cache[40] || (_cache[40] = createBaseVNode("h2", { 68 id: "installation", 69 tabindex: "-1" 70 }, [createBaseVNode("a", { 71 class: "header-anchor", 72 href: "#installation" 73 }, [createBaseVNode("span", null, "Installation")])], -1)), 74 createBaseVNode("p", null, [ 75 _cache[19] || (_cache[19] = createTextVNode("The next step is to install Zigbee2MQTT, follow ", -1)), 76 createVNode(_component_RouteLink, { to: "/guide/installation/" }, { 77 default: withCtx(() => [..._cache[18] || (_cache[18] = [createTextVNode("installation instructions", -1)])]), 78 _: 1 79 }), 80 _cache[20] || (_cache[20] = createTextVNode(" for your platform. Once Zigbee2MQTT is started, you can continue with the onboarding procedure below.", -1)) 81 ]), 82 _cache[41] || (_cache[41] = createBaseVNode("h2", { 83 id: "onboarding", 84 tabindex: "-1" 85 }, [createBaseVNode("a", { 86 class: "header-anchor", 87 href: "#onboarding" 88 }, [createBaseVNode("span", null, "Onboarding")])], -1)), 89 _cache[42] || (_cache[42] = createBaseVNode("p", null, [ 90 createTextVNode("Zigbee2MQTT offers an onboarding process on first run (when no "), 91 createBaseVNode("code", null, "configuration.yaml"), 92 createTextVNode(" exists).") 93 ], -1)), 94 _cache[43] || (_cache[43] = createBaseVNode("p", null, [ 95 createTextVNode("The onboarding page, by default, is reachable at the same URL as the frontend ("), 96 createBaseVNode("code", null, "http://localhost:8080"), 97 createTextVNode("). "), 98 createBaseVNode("em", null, "Note: This URL may be different for specific setups (like Home Assistant).") 99 ], -1)), 100 _cache[44] || (_cache[44] = createBaseVNode("img", { 101 src: "/assets/onboarding-COvsny8g.png", 102 alt: "Onboarding", 103 style: { "border": "2px solid black" } 104 }, null, -1)), 105 createBaseVNode("p", null, [ 106 _cache[26] || (_cache[26] = createTextVNode("If the ", -1)), 107 _cache[27] || (_cache[27] = createBaseVNode("code", null, "adapter type", -1)), 108 _cache[28] || (_cache[28] = createTextVNode(" is unknown by the discovery process, you can find a list of the most common adapters in the corresponding pages: ", -1)), 109 createVNode(_component_RouteLink, { to: "/guide/adapters/zstack.html" }, { 110 default: withCtx(() => [..._cache[21] || (_cache[21] = [createTextVNode("zstack", -1)])]), 111 _: 1 112 }), 113 _cache[29] || (_cache[29] = createTextVNode(", ", -1)), 114 createVNode(_component_RouteLink, { to: "/guide/adapters/emberznet.html" }, { 115 default: withCtx(() => [..._cache[22] || (_cache[22] = [createTextVNode("ember", -1)])]), 116 _: 1 117 }), 118 _cache[30] || (_cache[30] = createTextVNode(", ", -1)), 119 createVNode(_component_RouteLink, { to: "/guide/adapters/deconz.html" }, { 120 default: withCtx(() => [..._cache[23] || (_cache[23] = [createTextVNode("deconz", -1)])]), 121 _: 1 122 }), 123 _cache[31] || (_cache[31] = createTextVNode(", ", -1)), 124 createVNode(_component_RouteLink, { to: "/guide/adapters/zigate.html" }, { 125 default: withCtx(() => [..._cache[24] || (_cache[24] = [createTextVNode("zigate", -1)])]), 126 _: 1 127 }), 128 _cache[32] || (_cache[32] = createTextVNode(", ", -1)), 129 createVNode(_component_RouteLink, { to: "/guide/adapters/zboss.html" }, { 130 default: withCtx(() => [..._cache[25] || (_cache[25] = [createTextVNode("zboss", -1)])]), 131 _: 1 132 }), 133 _cache[33] || (_cache[33] = createTextVNode(".", -1)) 134 ]), 135 _cache[45] || (_cache[45] = createStaticVNode("<div class=\"hint-container note\"><p class=\"hint-container-title\">Note</p><p>The adapter discovery process will try to find serial and mDNS-discoverable devices. Refreshing the page will re-execute the discovery process.</p><p><em>This may not be available on all setups. If not, you will have to enter the adapter path and type manually.</em></p></div><p>If Zigbee2MQTT fails validation after submitting the configuration, the page will show the error details.</p><p>If Zigbee2MQTT fails to start after submitting the initial configuration (due to something like a wrong adapter path), the onboarding will be executed again on the following start.</p><div class=\"hint-container important\"><p class=\"hint-container-title\">Important</p><p>Onboarding failure pages will hold the <code>node</code> process from exiting until the page's <code>Close</code> button is triggered or the process is manually exited.</p></div><div class=\"hint-container tip\"><p class=\"hint-container-title\">Tips</p><p>You can also force the onboarding to run later (if configuration needs changing) with the environment variable <code>Z2M_ONBOARD_FORCE_RUN=1</code>. Depending on your setup, this may be offered in form of a toggle (Home Assistant add-on for example), or you may have to set it manually for the <code>node</code> process.</p></div><details class=\"hint-container details\"><summary>Environment variables available to customize the onboarding process</summary><p>The following environment variables are available, if your setup requires customizing the onboarding server:</p><ul><li><code>Z2M_ONBOARD_NO_SERVER=1</code> => disable onboarding server completely (<em>supersedes all below</em>)</li><li><code>Z2M_ONBOARD_URL=http://0.0.0.0:8080</code> => set the URL where the onboarding page can be reached</li><li><code>Z2M_ONBOARD_NO_FAILURE_PAGE=1</code> => disable failure pages (<em>failure is logged, and the process exits immediately</em>)</li><li><code>Z2M_ONBOARD_FORCE_RUN=1</code> => see above TIP</li><li><code>Z2M_ONBOARD_NO_REDIRECT=1</code> => if frontend is enabled, prevent the onboarding validation page from trying to redirect to frontend (<em>useful for setups where frontend has an unusual URL</em>)</li></ul></details><h2 id=\"connect-a-device\" tabindex=\"-1\"><a class=\"header-anchor\" href=\"#connect-a-device\"><span>Connect a device</span></a></h2>", 7)), 136 createBaseVNode("p", null, [ 137 _cache[35] || (_cache[35] = createTextVNode("Search the ", -1)), 138 createVNode(_component_RouteLink, { to: "/supported-devices/" }, { 139 default: withCtx(() => [..._cache[34] || (_cache[34] = [createTextVNode("supported devices", -1)])]), 140 _: 1 141 }), 142 _cache[36] || (_cache[36] = createTextVNode(" for your device and follow the instructions how to pair.", -1)) 143 ]), 144 _cache[46] || (_cache[46] = createStaticVNode("<p>If no instructions are available, the device can probably be paired by factory resetting it.</p><p>Once you see something similar to below in the log your device is paired and you can start controlling it using the frontend and MQTT messages.</p><div class=\"language-text line-numbers-mode\" data-highlighter=\"prismjs\" data-ext=\"text\"><pre><code class=\"language-text\"><span class=\"line\">Zigbee2MQTT:info 2019-11-09T12:19:56: Successfully interviewed '0x00158d0001dc126a', device has successfully been paired</span>\n<span class=\"line\"></span></code></pre><div class=\"line-numbers\" aria-hidden=\"true\" style=\"counter-reset:line-number 0;\"><div class=\"line-number\"></div></div></div>", 3)) 145 ]); 146} 147var README_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render]]); 148//#endregion 149export { _pageData, README_default as default };
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.