From 521dbb719dfab26300d4dd31734c83318cd4fbd4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 18:57:24 +0000 Subject: [PATCH] deploy: 217c63eec3e470ef4e91ce024e51e2444d7e470a --- 404.html | 4 +- assets/js/01a49a4f.75a6a9dc.js | 1 + assets/js/01a49a4f.9e7cc08c.js | 1 - assets/js/0b02251e.24589810.js | 1 + assets/js/0b02251e.32527548.js | 1 - assets/js/12a9c313.fcde0a17.js | 1 + assets/js/23dfc7d9.fc4571ed.js | 1 - assets/js/78ac8b3c.027c9b07.js | 1 - assets/js/78ac8b3c.409b488c.js | 1 + assets/js/7ebb515f.d38d4300.js | 1 + assets/js/90650a0c.6898cbad.js | 1 - assets/js/cb1c94ae.178ba978.js | 1 - assets/js/cb1c94ae.4d81fe74.js | 1 + ...b783f.09cd2cb3.js => d48b783f.4ef8df93.js} | 2 +- assets/js/main.413fd6ae.js | 2 + ...CENSE.txt => main.413fd6ae.js.LICENSE.txt} | 0 assets/js/main.d910a581.js | 2 - assets/js/runtime~main.4abf74a6.js | 1 + assets/js/runtime~main.ace24e7a.js | 1 - cloud/direct+/index.html | 4 +- cloud/index.html | 4 +- cloud/platform/index.html | 4 +- configuration/cron-configuration/index.html | 4 +- configuration/index.html | 4 +- configuration/lobaro-config-tool/index.html | 4 +- .../lorawan-downlink-config/index.html | 4 +- .../lte-network-configuration/index.html | 6 +- .../meter-reception-filter-config/index.html | 4 +- .../obis-code-configuration/index.html | 4 +- configuration/usb-config-adapter/index.html | 4 +- firmware/app-hybrid-modbus/index.html | 4 +- .../index.html | 10 +-- .../changelog-download/index.html | 6 +- .../compatible-hardware/index.html | 6 +- .../configuration-parameter/index.html | 69 ++++++++++++------- .../app-nrf9160-wmbus/introduction/index.html | 9 +-- .../index.html | 10 +-- firmware/index.html | 4 +- hardware/extension-modules/index.html | 4 +- hardware/housings/index.html | 4 +- hardware/index.html | 4 +- hardware/mainboards/index.html | 4 +- index.html | 4 +- knowledge-base/modbus/index.html | 4 +- knowledge-base/wireless-mbus/index.html | 4 +- markdown-page/index.html | 4 +- products/index.html | 4 +- products/metering-gateways/index.html | 4 +- .../hardware-variants/dinrail-v1/index.html | 4 +- .../wired-mbus-g1/index.html | 4 +- .../wired-mbus-g1/manual/cfg/index.html | 4 +- .../wired-mbus-g1/manual/index.html | 4 +- .../wired-mbus-g1/manual/workflow/index.html | 4 +- .../hardware-variants/bridge-v2/index.html | 4 +- .../wireless-mbus-g2/index.html | 4 +- .../wireless-mbus-g2/manual/cfg/index.html | 4 +- .../wireless-mbus-g2/manual/index.html | 4 +- .../manual/workflow/index.html | 4 +- .../concentrator-v1/index.html | 4 +- .../hardware-variants/dinrail-v1/index.html | 4 +- .../discontinued/bridge-v2/index.html | 4 +- .../discontinued/gw-v2/index.html | 4 +- .../hardware-variants/discontinued/index.html | 4 +- .../hardware-variants/gw-v3/index.html | 4 +- .../hardware-variants/gw-v4/desc/index.html | 4 +- .../hardware-variants/gw-v4/index.html | 4 +- .../hardware-variants/sun-v1/index.html | 4 +- .../wireless-mbus-g3/index.html | 4 +- .../wireless-mbus-g3/manual/cfg/index.html | 4 +- .../wireless-mbus-g3/manual/index.html | 4 +- .../manual/workflow/index.html | 4 +- .../sensor-gateways/current-loop/index.html | 4 +- products/sensor-gateways/index.html | 4 +- products/sensor-gateways/level/index.html | 4 +- products/sensor-gateways/modbus/index.html | 4 +- .../sensor-gateways/temperature/index.html | 4 +- sitemap.xml | 2 +- 77 files changed, 183 insertions(+), 159 deletions(-) create mode 100644 assets/js/01a49a4f.75a6a9dc.js delete mode 100644 assets/js/01a49a4f.9e7cc08c.js create mode 100644 assets/js/0b02251e.24589810.js delete mode 100644 assets/js/0b02251e.32527548.js create mode 100644 assets/js/12a9c313.fcde0a17.js delete mode 100644 assets/js/23dfc7d9.fc4571ed.js delete mode 100644 assets/js/78ac8b3c.027c9b07.js create mode 100644 assets/js/78ac8b3c.409b488c.js create mode 100644 assets/js/7ebb515f.d38d4300.js delete mode 100644 assets/js/90650a0c.6898cbad.js delete mode 100644 assets/js/cb1c94ae.178ba978.js create mode 100644 assets/js/cb1c94ae.4d81fe74.js rename assets/js/{d48b783f.09cd2cb3.js => d48b783f.4ef8df93.js} (56%) create mode 100644 assets/js/main.413fd6ae.js rename assets/js/{main.d910a581.js.LICENSE.txt => main.413fd6ae.js.LICENSE.txt} (100%) delete mode 100644 assets/js/main.d910a581.js create mode 100644 assets/js/runtime~main.4abf74a6.js delete mode 100644 assets/js/runtime~main.ace24e7a.js rename firmware/app-nrf9160-wmbus/{cellular-iot-payload => cellular-iot-communication-protocol}/index.html (53%) rename firmware/app-nrf9160-wmbus/{lorawan-payload => lorawan-communication-protocol}/index.html (53%) diff --git a/404.html b/404.html index 31e78dc3..1ae232fa 100644 --- a/404.html +++ b/404.html @@ -4,8 +4,8 @@ Lobaro Documentation - - + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

diff --git a/assets/js/01a49a4f.75a6a9dc.js b/assets/js/01a49a4f.75a6a9dc.js new file mode 100644 index 00000000..dda0539f --- /dev/null +++ b/assets/js/01a49a4f.75a6a9dc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklobaro_docs=self.webpackChunklobaro_docs||[]).push([[185],{8794:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var r=t(4848),i=t(8453);const o={sidebar_position:4,displayed_sidebar:"configurationSidebar",title:"LTE Network Configuration"},s="LTE Network Configuration",l={id:"configuration/lte-network-configuration",title:"LTE Network Configuration",description:"In order for the Lobaro devices to be able to dial into the mobile network, it may be necessary to configure the network",source:"@site/docs/configuration/lte-network-configuration.md",sourceDirName:"configuration",slug:"/configuration/lte-network-configuration",permalink:"/iot/configuration/lte-network-configuration",draft:!1,unlisted:!1,editUrl:"https://github.com/lobaro/iot/tree/master/docs/configuration/lte-network-configuration.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4,displayed_sidebar:"configurationSidebar",title:"LTE Network Configuration"},sidebar:"configurationSidebar",previous:{title:"CRON Configuration",permalink:"/iot/configuration/cron-configuration"},next:{title:"OBIS-Code Configuration",permalink:"/iot/configuration/obis-code-configuration"}},d={},c=[{value:"Configuration Parameters",id:"configuration-parameters",level:2},{value:"APN",id:"apn",level:3},{value:"Operator",id:"operator",level:3},{value:"Band",id:"band",level:3},{value:"List of common APN and Operators",id:"list-of-common-apn-and-operators",level:2}];function a(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"lte-network-configuration",children:"LTE Network Configuration"}),"\n",(0,r.jsx)(n.p,{children:"In order for the Lobaro devices to be able to dial into the mobile network, it may be necessary to configure the network\nrelated parameters correctly."}),"\n",(0,r.jsxs)(n.admonition,{type:"info",children:[(0,r.jsxs)(n.p,{children:["Lobaro devices normally perform a network selection based on the profile stored on the SIM card inserted in the device.\nThis means that in most case the mobile ",(0,r.jsx)(n.code,{children:"operator"})," and ",(0,r.jsx)(n.code,{children:"band"})," ",(0,r.jsx)(n.strong,{children:"have\nnot"})," to be configured since the devices perform an autodetect based on internal metrics. In some cases it may be\nbeneficial\nto set the device to use a specific operator, then the operator, and band configuration parameters of the device comes\ninto play."]}),(0,r.jsxs)(n.p,{children:["In contrast to this the ",(0,r.jsx)(n.code,{children:"apn"})," parameter should be set correctly in any case. The ",(0,r.jsx)(n.code,{children:"*"})," (autodetect) feature will only work\nfor few sim cards, like ",(0,r.jsx)(n.strong,{children:"1NCE"})," and ",(0,r.jsx)(n.strong,{children:"Vodafone Easy Connect"})," SIM cards."]})]}),"\n",(0,r.jsx)(n.h2,{id:"configuration-parameters",children:"Configuration Parameters"}),"\n",(0,r.jsx)(n.p,{children:"Our cellular IoT (LTE-M or NB-IoT) devices usually allow the configuration of"}),"\n",(0,r.jsx)(n.h3,{id:"apn",children:"APN"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Should be configured to SIM specific value, e.g. ",(0,r.jsx)(n.code,{children:"iot.1nce.net"})]}),"\n",(0,r.jsxs)(n.li,{children:["Default: ",(0,r.jsx)(n.code,{children:"*"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["APN Autodetect -> Modem uses internally known APN","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Will only work for 1NCE and Vodafone EasyConnect"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["APN autodetect not possible: Modem falls back to ",(0,r.jsx)(n.code,{children:"Not set"})," (see below)"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"Not set"})," -> Modem uses SIM internal information"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"operator",children:"Operator"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Usually ",(0,r.jsx)(n.strong,{children:"no need"})," to configure it explicitly to some specific MCC+MNC operator code like ",(0,r.jsx)(n.code,{children:"26201"})]}),"\n",(0,r.jsxs)(n.li,{children:["Default: ",(0,r.jsx)(n.code,{children:"Not set"})," -> Modem performs automatic network selection"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"band",children:"Band"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Usually ",(0,r.jsx)(n.strong,{children:"no need"})," to configure it explicitly"]}),"\n",(0,r.jsxs)(n.li,{children:["Default: ",(0,r.jsx)(n.code,{children:"Not set"})," -> Modem will use one of these bands ",(0,r.jsx)(n.code,{children:"3,8,20"})]}),"\n"]}),"\n",(0,r.jsx)(n.admonition,{type:"note",children:(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"Not set"})," denotes that the configuration parameter field is empty."]})}),"\n",(0,r.jsx)(n.admonition,{type:"warning",children:(0,r.jsxs)(n.p,{children:["If you decide to configure the ",(0,r.jsx)(n.code,{children:"operator"})," and/or ",(0,r.jsx)(n.code,{children:"band"})," you may decrease the devices coverage and ability to find\nalternative networks at a specific location. Use this configuration parameters only if you know what you are doing!"]})}),"\n",(0,r.jsxs)(n.p,{children:["For initial configuration of these parameters please use the ",(0,r.jsx)(n.a,{href:"/iot/configuration/lobaro-config-tool",children:"Lobaro Maintenance Tool"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"list-of-common-apn-and-operators",children:"List of common APN and Operators"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"MCC = Mobile Country Code"}),"\n",(0,r.jsx)(n.li,{children:"MNC = Mobile Network Code"}),"\n",(0,r.jsx)(n.li,{children:"Operator = MCC+MNC (Config Parameter for Lobaro Devices)"}),"\n"]}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Network"}),(0,r.jsx)(n.th,{children:"Country"}),(0,r.jsx)(n.th,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"Operator"})}),(0,r.jsx)(n.th,{style:{textAlign:"center"},children:"MCC"}),(0,r.jsx)(n.th,{style:{textAlign:"center"},children:"MNC"}),(0,r.jsx)(n.th,{children:(0,r.jsx)(n.strong,{children:"APN"})})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"Deutsche Telekom"}),(0,r.jsx)(n.td,{children:"Germany"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"26201"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"262"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"01"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"internet.m2mportal.de"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"1NCE"}),(0,r.jsx)(n.td,{children:"Germany"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"*"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"}}),(0,r.jsx)(n.td,{style:{textAlign:"center"}}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"iot.1nce.net"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"Vodafone Deutschland"}),(0,r.jsx)(n.td,{children:"Germany"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"26202"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"262"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"02"}),(0,r.jsxs)(n.td,{children:["IoT Easy Connect: ",(0,r.jsx)(n.strong,{children:"lpwa.vodafone.com"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"Telefonica (O2)"}),(0,r.jsx)(n.td,{children:"Germany"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"26203"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"262"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"03"}),(0,r.jsxs)(n.td,{children:["IoT Sim Prepaid: ",(0,r.jsx)(n.strong,{children:"iotde.telefonica.com"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"T-Mobile Austria GmbH (Magenta)"}),(0,r.jsx)(n.td,{children:"Austria"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"23203"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"232"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"03"}),(0,r.jsx)(n.td,{children:"?"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"TDC A/S"}),(0,r.jsx)(n.td,{children:"Denmark"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"23801"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"238"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"01"}),(0,r.jsx)(n.td,{children:"?"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"Telenor Denmark"}),(0,r.jsx)(n.td,{children:"Denmark"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"23802"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"238"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"02"}),(0,r.jsx)(n.td,{children:"?"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"Telia DK"}),(0,r.jsx)(n.td,{children:"Denmark"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"23820"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"238"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"20"}),(0,r.jsx)(n.td,{children:"?"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"Tele2"}),(0,r.jsx)(n.td,{children:"Sweden"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"24007"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"240"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"07"}),(0,r.jsx)(n.td,{children:"?"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"COM4"}),(0,r.jsx)(n.td,{children:"Norway"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"24202"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"242"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"02"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"com4"})})]})]})]}),"\n",(0,r.jsxs)(n.p,{children:["Other provider codes and deployed bands are listed in\na ",(0,r.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Mobile_Network_Codes_in_ITU_region_2xx_(Europe)",children:"list of mobile operator codes"})," on\nWikipedia."]}),"\n",(0,r.jsx)(n.p,{children:"Additional information on operators and bands can be found here:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://halberdbastion.com/intelligence/mobile-networks",children:"halberdbastion.com"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://mcc-mnc.com/",children:"mcc-mnc.com"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>l});var r=t(6540);const i={},o=r.createContext(i);function s(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/01a49a4f.9e7cc08c.js b/assets/js/01a49a4f.9e7cc08c.js deleted file mode 100644 index 7588a3be..00000000 --- a/assets/js/01a49a4f.9e7cc08c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklobaro_docs=self.webpackChunklobaro_docs||[]).push([[185],{8794:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>s,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var r=t(4848),i=t(8453);const o={sidebar_position:4,displayed_sidebar:"configurationSidebar",title:"LTE Network Configuration"},s="LTE Network Configuration",l={id:"configuration/lte-network-configuration",title:"LTE Network Configuration",description:"In order for the Lobaro devices to be able to dial into the mobile network, it may be necessary to configure the network",source:"@site/docs/configuration/lte-network-configuration.md",sourceDirName:"configuration",slug:"/configuration/lte-network-configuration",permalink:"/iot/configuration/lte-network-configuration",draft:!1,unlisted:!1,editUrl:"https://github.com/lobaro/iot/tree/master/docs/configuration/lte-network-configuration.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4,displayed_sidebar:"configurationSidebar",title:"LTE Network Configuration"},sidebar:"configurationSidebar",previous:{title:"CRON Configuration",permalink:"/iot/configuration/cron-configuration"},next:{title:"OBIS-Code Configuration",permalink:"/iot/configuration/obis-code-configuration"}},d={},c=[{value:"Configuration Parameters",id:"configuration-parameters",level:2},{value:"APN",id:"apn",level:3},{value:"Operator",id:"operator",level:3},{value:"Band",id:"band",level:3},{value:"List of common APN and Operators",id:"list-of-common-apn-and-operators",level:2}];function a(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"lte-network-configuration",children:"LTE Network Configuration"}),"\n",(0,r.jsx)(n.p,{children:"In order for the Lobaro devices to be able to dial into the mobile network, it may be necessary to configure the network\nrelated parameters correctly."}),"\n",(0,r.jsxs)(n.admonition,{type:"tip",children:[(0,r.jsxs)(n.p,{children:["Lobaro devices normally perform a network selection based on the profile stored on the SIM card inserted in the device.\nThis means that in most case the mobile ",(0,r.jsx)(n.code,{children:"operator"})," and ",(0,r.jsx)(n.code,{children:"band"})," ",(0,r.jsx)(n.strong,{children:"have\nnot"})," to be configured since the devices perform an autodetect based on internal metrics. In some cases it may be\nbeneficial\nto set the device to use a specific operator, then the operator, and band configuration parameters of the device comes\ninto play."]}),(0,r.jsxs)(n.p,{children:["In contrast to this the ",(0,r.jsx)(n.code,{children:"apn"})," parameter should be set correctly in any case. The ",(0,r.jsx)(n.code,{children:"*"})," (autodetect) feature will only work\nfor few sim cards, like ",(0,r.jsx)(n.strong,{children:"1NCE"})," and ",(0,r.jsx)(n.strong,{children:"Vodafone Easy Connect"})," SIM cards."]})]}),"\n",(0,r.jsx)(n.h2,{id:"configuration-parameters",children:"Configuration Parameters"}),"\n",(0,r.jsx)(n.p,{children:"Our cellular IoT (LTE-M or NB-IoT) devices usually allow the configuration of"}),"\n",(0,r.jsx)(n.h3,{id:"apn",children:"APN"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Should be configured to SIM specific value, e.g. ",(0,r.jsx)(n.code,{children:"iot.1nce.net"})]}),"\n",(0,r.jsxs)(n.li,{children:["Default: ",(0,r.jsx)(n.code,{children:"*"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["APN Autodetect -> Modem uses internally known APN","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Will only work for 1NCE and Vodafone EasyConnect"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["APN autodetect not possible: Modem falls back to ",(0,r.jsx)(n.code,{children:"Not set"})," (see below)"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"Not set"})," -> Modem uses SIM internal information"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"operator",children:"Operator"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Usually ",(0,r.jsx)(n.strong,{children:"no need"})," to configure it explicitly to some specific MCC+MNC operator code like ",(0,r.jsx)(n.code,{children:"26201"})]}),"\n",(0,r.jsxs)(n.li,{children:["Default: ",(0,r.jsx)(n.code,{children:"Not set"})," -> Modem performs automatic network selection"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"band",children:"Band"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Usually ",(0,r.jsx)(n.strong,{children:"no need"})," to configure it explicitly"]}),"\n",(0,r.jsxs)(n.li,{children:["Default: ",(0,r.jsx)(n.code,{children:"Not set"})," -> Modem will use one of these bands ",(0,r.jsx)(n.code,{children:"3,8,20"})]}),"\n"]}),"\n",(0,r.jsx)(n.admonition,{type:"note",children:(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.code,{children:"Not set"})," denotes that the configuration parameter field is empty."]})}),"\n",(0,r.jsx)(n.admonition,{type:"warning",children:(0,r.jsxs)(n.p,{children:["If you decide to configure the ",(0,r.jsx)(n.code,{children:"operator"})," and/or ",(0,r.jsx)(n.code,{children:"band"})," you may decrease the devices coverage and ability to find\nalternative networks at a specific location. Use this configuration parameters only if you know what you are doing!"]})}),"\n",(0,r.jsxs)(n.p,{children:["For initial configuration of these parameters please use the ",(0,r.jsx)(n.a,{href:"/iot/configuration/lobaro-config-tool",children:"Lobaro Maintenance Tool"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"list-of-common-apn-and-operators",children:"List of common APN and Operators"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"MCC = Mobile Country Code"}),"\n",(0,r.jsx)(n.li,{children:"MNC = Mobile Network Code"}),"\n",(0,r.jsx)(n.li,{children:"Operator = MCC+MNC (Config Parameter for Lobaro Devices)"}),"\n"]}),"\n",(0,r.jsxs)(n.table,{children:[(0,r.jsx)(n.thead,{children:(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.th,{children:"Network"}),(0,r.jsx)(n.th,{children:"Country"}),(0,r.jsx)(n.th,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"Operator"})}),(0,r.jsx)(n.th,{style:{textAlign:"center"},children:"MCC"}),(0,r.jsx)(n.th,{style:{textAlign:"center"},children:"MNC"}),(0,r.jsx)(n.th,{children:(0,r.jsx)(n.strong,{children:"APN"})})]})}),(0,r.jsxs)(n.tbody,{children:[(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"Deutsche Telekom"}),(0,r.jsx)(n.td,{children:"Germany"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"26201"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"262"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"01"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"internet.m2mportal.de"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"1NCE"}),(0,r.jsx)(n.td,{children:"Germany"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"*"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"}}),(0,r.jsx)(n.td,{style:{textAlign:"center"}}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"iot.1nce.net"})})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"Vodafone Deutschland"}),(0,r.jsx)(n.td,{children:"Germany"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"26202"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"262"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"02"}),(0,r.jsxs)(n.td,{children:["IoT Easy Connect: ",(0,r.jsx)(n.strong,{children:"lpwa.vodafone.com"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"Telefonica (O2)"}),(0,r.jsx)(n.td,{children:"Germany"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"26203"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"262"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"03"}),(0,r.jsxs)(n.td,{children:["IoT Sim Prepaid: ",(0,r.jsx)(n.strong,{children:"iotde.telefonica.com"})]})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"T-Mobile Austria GmbH (Magenta)"}),(0,r.jsx)(n.td,{children:"Austria"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"23203"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"232"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"03"}),(0,r.jsx)(n.td,{children:"?"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"TDC A/S"}),(0,r.jsx)(n.td,{children:"Denmark"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"23801"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"238"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"01"}),(0,r.jsx)(n.td,{children:"?"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"Telenor Denmark"}),(0,r.jsx)(n.td,{children:"Denmark"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"23802"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"238"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"02"}),(0,r.jsx)(n.td,{children:"?"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"Telia DK"}),(0,r.jsx)(n.td,{children:"Denmark"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"23820"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"238"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"20"}),(0,r.jsx)(n.td,{children:"?"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"Tele2"}),(0,r.jsx)(n.td,{children:"Sweden"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"24007"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"240"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"07"}),(0,r.jsx)(n.td,{children:"?"})]}),(0,r.jsxs)(n.tr,{children:[(0,r.jsx)(n.td,{children:"COM4"}),(0,r.jsx)(n.td,{children:"Norway"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:(0,r.jsx)(n.strong,{children:"24202"})}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"242"}),(0,r.jsx)(n.td,{style:{textAlign:"center"},children:"02"}),(0,r.jsx)(n.td,{children:(0,r.jsx)(n.strong,{children:"com4"})})]})]})]}),"\n",(0,r.jsxs)(n.p,{children:["Other provider codes and deployed bands are listed in\na ",(0,r.jsx)(n.a,{href:"https://en.wikipedia.org/wiki/Mobile_Network_Codes_in_ITU_region_2xx_(Europe)",children:"list of mobile operator codes"})," on\nWikipedia."]}),"\n",(0,r.jsx)(n.p,{children:"Additional information on operators and bands can be found here:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://halberdbastion.com/intelligence/mobile-networks",children:"halberdbastion.com"})}),"\n",(0,r.jsx)(n.li,{children:(0,r.jsx)(n.a,{href:"https://mcc-mnc.com/",children:"mcc-mnc.com"})}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>l});var r=t(6540);const i={},o=r.createContext(i);function s(e){const n=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0b02251e.24589810.js b/assets/js/0b02251e.24589810.js new file mode 100644 index 00000000..17feb345 --- /dev/null +++ b/assets/js/0b02251e.24589810.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklobaro_docs=self.webpackChunklobaro_docs||[]).push([[3830],{5570:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"htmlSidebar":[{"type":"html","value":"TEST|TEST","defaultStyle":true}],"allDocSidebar":[{"type":"category","label":"All Docs","items":[{"type":"link","label":"Lobaro Documentation","href":"/iot/","docId":"index","unlisted":false},{"type":"category","label":"Products","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Metering Gateways","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Wireless M-BUS (Gen. 3)","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Operation Manual","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Configuration","href":"/iot/products/metering-gateways/wireless-mbus-g3/manual/cfg","docId":"products/metering-gateways/wireless-mbus-g3/manual/cfg","unlisted":false},{"type":"link","label":"Workflow","href":"/iot/products/metering-gateways/wireless-mbus-g3/manual/workflow","docId":"products/metering-gateways/wireless-mbus-g3/manual/workflow","unlisted":false}],"href":"/iot/products/metering-gateways/wireless-mbus-g3/manual/"},{"type":"category","label":"Hardware Variants","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Gateway V4","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Description","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/desc","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/desc","unlisted":false}],"href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/"},{"type":"link","label":"Gateway V3","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v3/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v3/index","unlisted":false},{"type":"link","label":"Gateway DinRail","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/dinrail-v1/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/dinrail-v1/index","unlisted":false},{"type":"link","label":"Gateway Solar","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/sun-v1/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/sun-v1/index","unlisted":false},{"type":"link","label":"Gateway Concentrator","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/concentrator-v1/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/concentrator-v1/index","unlisted":false},{"type":"category","label":"Discontinued","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"LoRaWAN Bridge V2","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/bridge-v2/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/bridge-v2/index","unlisted":false},{"type":"link","label":"Gateway V2","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/gw-v2/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/gw-v2/index","unlisted":false}],"href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/"}]}],"href":"/iot/products/metering-gateways/wireless-mbus-g3/"},{"type":"category","label":"Wireless M-BUS (Gen. 2)","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Operation Manual","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Configuration","href":"/iot/products/metering-gateways/wireless-mbus-g2/manual/cfg","docId":"products/metering-gateways/wireless-mbus-g2/manual/cfg","unlisted":false},{"type":"link","label":"Workflow","href":"/iot/products/metering-gateways/wireless-mbus-g2/manual/workflow","docId":"products/metering-gateways/wireless-mbus-g2/manual/workflow","unlisted":false}],"href":"/iot/products/metering-gateways/wireless-mbus-g2/manual/"},{"type":"category","label":"Hardware Variants","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"LoRaWAN Bridge V2","href":"/iot/products/metering-gateways/wireless-mbus-g2/hardware-variants/bridge-v2/","docId":"products/metering-gateways/wireless-mbus-g2/hardware-variants/bridge-v2/index","unlisted":false}]}],"href":"/iot/products/metering-gateways/wireless-mbus-g2/"},{"type":"category","label":"Wired M-BUS (Gen. 1)","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Operation Manual","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Configuration","href":"/iot/products/metering-gateways/wired-mbus-g1/manual/cfg","docId":"products/metering-gateways/wired-mbus-g1/manual/cfg","unlisted":false},{"type":"link","label":"Workflow","href":"/iot/products/metering-gateways/wired-mbus-g1/manual/workflow","docId":"products/metering-gateways/wired-mbus-g1/manual/workflow","unlisted":false}],"href":"/iot/products/metering-gateways/wired-mbus-g1/manual/"},{"type":"category","label":"Hardware Variants","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Hybrid Gateway","href":"/iot/products/metering-gateways/wired-mbus-g1/hardware-variants/dinrail-v1/","docId":"products/metering-gateways/wired-mbus-g1/hardware-variants/dinrail-v1/index","unlisted":false}]}],"href":"/iot/products/metering-gateways/wired-mbus-g1/"}],"href":"/iot/products/metering-gateways/"},{"type":"category","label":"Sensor Gateways","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Current Loop","href":"/iot/products/sensor-gateways/current-loop/","docId":"products/sensor-gateways/current-loop/index","unlisted":false},{"type":"link","label":"Liquid Level","href":"/iot/products/sensor-gateways/level/","docId":"products/sensor-gateways/level/index","unlisted":false},{"type":"link","label":"Modbus","href":"/iot/products/sensor-gateways/modbus/","docId":"products/sensor-gateways/modbus/index","unlisted":false},{"type":"link","label":"Temperature","href":"/iot/products/sensor-gateways/temperature/","docId":"products/sensor-gateways/temperature/index","unlisted":false}],"href":"/iot/products/sensor-gateways/"}],"href":"/iot/products/"},{"type":"category","label":"Configuration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Lobaro USB Config Adapter","href":"/iot/configuration/usb-config-adapter","docId":"configuration/usb-config-adapter","unlisted":false},{"type":"link","label":"Lobaro Config Tool","href":"/iot/configuration/lobaro-config-tool","docId":"configuration/lobaro-config-tool","unlisted":false},{"type":"link","label":"MBUS Reception Filtering","href":"/iot/configuration/meter-reception-filter-config","docId":"configuration/meter-reception-filter-config","unlisted":false},{"type":"link","label":"LoRaWAN Downlink Config","href":"/iot/configuration/lorawan-downlink-config","docId":"configuration/lorawan-downlink-config","unlisted":false},{"type":"link","label":"CRON Configuration","href":"/iot/configuration/cron-configuration","docId":"configuration/cron-configuration","unlisted":false},{"type":"link","label":"LTE Network Configuration","href":"/iot/configuration/lte-network-configuration","docId":"configuration/lte-network-configuration","unlisted":false},{"type":"link","label":"OBIS-Code Configuration","href":"/iot/configuration/obis-code-configuration","docId":"configuration/obis-code-configuration","unlisted":false}],"href":"/iot/configuration/"},{"type":"category","label":"Firmware","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"app-nrf9160-wmbus","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Introduction","href":"/iot/firmware/app-nrf9160-wmbus/introduction","docId":"firmware/app-nrf9160-wmbus/introduction","unlisted":false},{"type":"link","label":"Configuration Parameter","href":"/iot/firmware/app-nrf9160-wmbus/configuration-parameter","docId":"firmware/app-nrf9160-wmbus/configuration-parameter","unlisted":false},{"type":"link","label":"LoRaWAN Communication","href":"/iot/firmware/app-nrf9160-wmbus/lorawan-communication-protocol","docId":"firmware/app-nrf9160-wmbus/lorawan-communication-protocol","unlisted":false},{"type":"link","label":"Cellular IoT Communication","href":"/iot/firmware/app-nrf9160-wmbus/cellular-iot-communication-protocol","docId":"firmware/app-nrf9160-wmbus/cellular-iot-communication-protocol","unlisted":false},{"type":"link","label":"Compatible Hardware","href":"/iot/firmware/app-nrf9160-wmbus/compatible-hardware","docId":"firmware/app-nrf9160-wmbus/compatible-hardware","unlisted":false},{"type":"link","label":"Changelog & Updates","href":"/iot/firmware/app-nrf9160-wmbus/changelog-download","docId":"firmware/app-nrf9160-wmbus/changelog-download","unlisted":false}]},{"type":"link","label":"app-hybrid-modbus","href":"/iot/firmware/app-hybrid-modbus/","docId":"firmware/app-hybrid-modbus/index","unlisted":false}],"href":"/iot/firmware/"},{"type":"category","label":"Hardware","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Mainboards","href":"/iot/hardware/mainboards/","docId":"hardware/mainboards/index","unlisted":false},{"type":"link","label":"Extension Modules","href":"/iot/hardware/extension-modules/","docId":"hardware/extension-modules/index","unlisted":false},{"type":"link","label":"Device Housings","href":"/iot/hardware/housings/","docId":"hardware/housings/index","unlisted":false}],"href":"/iot/hardware/"},{"type":"category","label":"Lobaro Cloud","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Lobaro Direct+","href":"/iot/cloud/direct+/","docId":"cloud/direct+/index","unlisted":false},{"type":"link","label":"Lobaro IoT Platform","href":"/iot/cloud/platform/","docId":"cloud/platform/index","unlisted":false}],"href":"/iot/cloud/"},{"type":"category","label":"Knowledge Base","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Wireless M-BUS","href":"/iot/knowledge-base/wireless-mbus","docId":"knowledge-base/wireless-mbus","unlisted":false},{"type":"link","label":"Modbus","href":"/iot/knowledge-base/modbus","docId":"knowledge-base/modbus","unlisted":false}]}],"collapsed":true,"collapsible":true}],"configurationSidebar":[{"type":"category","label":"Configuration","items":[{"type":"link","label":"Overview","href":"/iot/configuration/","docId":"configuration/index","unlisted":false},{"type":"link","label":"Lobaro USB Config Adapter","href":"/iot/configuration/usb-config-adapter","docId":"configuration/usb-config-adapter","unlisted":false},{"type":"link","label":"Lobaro Config Tool","href":"/iot/configuration/lobaro-config-tool","docId":"configuration/lobaro-config-tool","unlisted":false},{"type":"link","label":"MBUS Reception Filtering","href":"/iot/configuration/meter-reception-filter-config","docId":"configuration/meter-reception-filter-config","unlisted":false},{"type":"link","label":"LoRaWAN Downlink Config","href":"/iot/configuration/lorawan-downlink-config","docId":"configuration/lorawan-downlink-config","unlisted":false},{"type":"link","label":"CRON Configuration","href":"/iot/configuration/cron-configuration","docId":"configuration/cron-configuration","unlisted":false},{"type":"link","label":"LTE Network Configuration","href":"/iot/configuration/lte-network-configuration","docId":"configuration/lte-network-configuration","unlisted":false},{"type":"link","label":"OBIS-Code Configuration","href":"/iot/configuration/obis-code-configuration","docId":"configuration/obis-code-configuration","unlisted":false}],"collapsed":true,"collapsible":true}],"productsSidebar":[{"type":"category","label":"Products","items":[{"type":"link","label":"Overview","href":"/iot/products/","docId":"products/index","unlisted":false},{"type":"category","label":"Metering Gateways","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Wireless M-BUS (Gen. 3)","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Operation Manual","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Configuration","href":"/iot/products/metering-gateways/wireless-mbus-g3/manual/cfg","docId":"products/metering-gateways/wireless-mbus-g3/manual/cfg","unlisted":false},{"type":"link","label":"Workflow","href":"/iot/products/metering-gateways/wireless-mbus-g3/manual/workflow","docId":"products/metering-gateways/wireless-mbus-g3/manual/workflow","unlisted":false}],"href":"/iot/products/metering-gateways/wireless-mbus-g3/manual/"},{"type":"category","label":"Hardware Variants","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Gateway V4","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Description","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/desc","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/desc","unlisted":false}],"href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/"},{"type":"link","label":"Gateway V3","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v3/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v3/index","unlisted":false},{"type":"link","label":"Gateway DinRail","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/dinrail-v1/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/dinrail-v1/index","unlisted":false},{"type":"link","label":"Gateway Solar","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/sun-v1/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/sun-v1/index","unlisted":false},{"type":"link","label":"Gateway Concentrator","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/concentrator-v1/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/concentrator-v1/index","unlisted":false},{"type":"category","label":"Discontinued","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"LoRaWAN Bridge V2","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/bridge-v2/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/bridge-v2/index","unlisted":false},{"type":"link","label":"Gateway V2","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/gw-v2/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/gw-v2/index","unlisted":false}],"href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/"}]}],"href":"/iot/products/metering-gateways/wireless-mbus-g3/"},{"type":"category","label":"Wireless M-BUS (Gen. 2)","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Operation Manual","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Configuration","href":"/iot/products/metering-gateways/wireless-mbus-g2/manual/cfg","docId":"products/metering-gateways/wireless-mbus-g2/manual/cfg","unlisted":false},{"type":"link","label":"Workflow","href":"/iot/products/metering-gateways/wireless-mbus-g2/manual/workflow","docId":"products/metering-gateways/wireless-mbus-g2/manual/workflow","unlisted":false}],"href":"/iot/products/metering-gateways/wireless-mbus-g2/manual/"},{"type":"category","label":"Hardware Variants","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"LoRaWAN Bridge V2","href":"/iot/products/metering-gateways/wireless-mbus-g2/hardware-variants/bridge-v2/","docId":"products/metering-gateways/wireless-mbus-g2/hardware-variants/bridge-v2/index","unlisted":false}]}],"href":"/iot/products/metering-gateways/wireless-mbus-g2/"},{"type":"category","label":"Wired M-BUS (Gen. 1)","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Operation Manual","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Configuration","href":"/iot/products/metering-gateways/wired-mbus-g1/manual/cfg","docId":"products/metering-gateways/wired-mbus-g1/manual/cfg","unlisted":false},{"type":"link","label":"Workflow","href":"/iot/products/metering-gateways/wired-mbus-g1/manual/workflow","docId":"products/metering-gateways/wired-mbus-g1/manual/workflow","unlisted":false}],"href":"/iot/products/metering-gateways/wired-mbus-g1/manual/"},{"type":"category","label":"Hardware Variants","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Hybrid Gateway","href":"/iot/products/metering-gateways/wired-mbus-g1/hardware-variants/dinrail-v1/","docId":"products/metering-gateways/wired-mbus-g1/hardware-variants/dinrail-v1/index","unlisted":false}]}],"href":"/iot/products/metering-gateways/wired-mbus-g1/"}],"href":"/iot/products/metering-gateways/"},{"type":"category","label":"Sensor Gateways","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Current Loop","href":"/iot/products/sensor-gateways/current-loop/","docId":"products/sensor-gateways/current-loop/index","unlisted":false},{"type":"link","label":"Liquid Level","href":"/iot/products/sensor-gateways/level/","docId":"products/sensor-gateways/level/index","unlisted":false},{"type":"link","label":"Modbus","href":"/iot/products/sensor-gateways/modbus/","docId":"products/sensor-gateways/modbus/index","unlisted":false},{"type":"link","label":"Temperature","href":"/iot/products/sensor-gateways/temperature/","docId":"products/sensor-gateways/temperature/index","unlisted":false}],"href":"/iot/products/sensor-gateways/"}],"collapsed":true,"collapsible":true}],"firmwareSidebar":[{"type":"category","label":"Firmware","items":[{"type":"link","label":"Overview","href":"/iot/firmware/","docId":"firmware/index","unlisted":false},{"type":"category","label":"app-nrf9160-wmbus","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Introduction","href":"/iot/firmware/app-nrf9160-wmbus/introduction","docId":"firmware/app-nrf9160-wmbus/introduction","unlisted":false},{"type":"link","label":"Configuration Parameter","href":"/iot/firmware/app-nrf9160-wmbus/configuration-parameter","docId":"firmware/app-nrf9160-wmbus/configuration-parameter","unlisted":false},{"type":"link","label":"LoRaWAN Communication","href":"/iot/firmware/app-nrf9160-wmbus/lorawan-communication-protocol","docId":"firmware/app-nrf9160-wmbus/lorawan-communication-protocol","unlisted":false},{"type":"link","label":"Cellular IoT Communication","href":"/iot/firmware/app-nrf9160-wmbus/cellular-iot-communication-protocol","docId":"firmware/app-nrf9160-wmbus/cellular-iot-communication-protocol","unlisted":false},{"type":"link","label":"Compatible Hardware","href":"/iot/firmware/app-nrf9160-wmbus/compatible-hardware","docId":"firmware/app-nrf9160-wmbus/compatible-hardware","unlisted":false},{"type":"link","label":"Changelog & Updates","href":"/iot/firmware/app-nrf9160-wmbus/changelog-download","docId":"firmware/app-nrf9160-wmbus/changelog-download","unlisted":false}]},{"type":"link","label":"app-hybrid-modbus","href":"/iot/firmware/app-hybrid-modbus/","docId":"firmware/app-hybrid-modbus/index","unlisted":false}],"collapsed":true,"collapsible":true}],"hardwareSidebar":[{"type":"category","label":"Hardware","items":[{"type":"link","label":"Overview","href":"/iot/hardware/","docId":"hardware/index","unlisted":false},{"type":"link","label":"Mainboards","href":"/iot/hardware/mainboards/","docId":"hardware/mainboards/index","unlisted":false},{"type":"link","label":"Extension Modules","href":"/iot/hardware/extension-modules/","docId":"hardware/extension-modules/index","unlisted":false},{"type":"link","label":"Device Housings","href":"/iot/hardware/housings/","docId":"hardware/housings/index","unlisted":false}],"collapsed":true,"collapsible":true}],"cloudSidebar":[{"type":"category","label":"Lobaro Cloud","items":[{"type":"link","label":"Overview","href":"/iot/cloud/","docId":"cloud/index","unlisted":false},{"type":"link","label":"Lobaro Direct+","href":"/iot/cloud/direct+/","docId":"cloud/direct+/index","unlisted":false},{"type":"link","label":"Lobaro IoT Platform","href":"/iot/cloud/platform/","docId":"cloud/platform/index","unlisted":false}],"collapsed":true,"collapsible":true}],"knowledgeBaseSidebar":[{"type":"category","label":"Knowledge Base","items":[{"type":"link","label":"Wireless M-BUS","href":"/iot/knowledge-base/wireless-mbus","docId":"knowledge-base/wireless-mbus","unlisted":false},{"type":"link","label":"Modbus","href":"/iot/knowledge-base/modbus","docId":"knowledge-base/modbus","unlisted":false}],"collapsed":true,"collapsible":true}]},"docs":{"cloud/direct+/index":{"id":"cloud/direct+/index","title":"Lobaro Direct+","description":"test","sidebar":"cloudSidebar"},"cloud/index":{"id":"cloud/index","title":"Overview","description":"This new documentation center is currently work in progress","sidebar":"cloudSidebar"},"cloud/platform/index":{"id":"cloud/platform/index","title":"Lobaro IoT Platform","description":"Getting Started","sidebar":"cloudSidebar"},"configuration/cron-configuration":{"id":"configuration/cron-configuration","title":"CRON Configuration","description":"We use CRON expressions configure the behavioral timing of our devices. This CRON configuration can be adjusted during","sidebar":"configurationSidebar"},"configuration/index":{"id":"configuration/index","title":"Overview","description":"The device configuration allows a wide range and flexible way of internal settings adjustments for Lobaro hardware.","sidebar":"configurationSidebar"},"configuration/lobaro-config-tool":{"id":"configuration/lobaro-config-tool","title":"Lobaro Config Tool","description":"The Lobaro Config Tool (a.k.a. Lobaro Maintenance Tool) can be used to configure and diagnose Lobaro devices locally using a PC and our special","sidebar":"configurationSidebar"},"configuration/lorawan-downlink-config":{"id":"configuration/lorawan-downlink-config","title":"LoRaWAN Downlink Config","description":"This article describes the technical details how to remotely configure Lobaro devices that are using LoRaWAN as","sidebar":"configurationSidebar"},"configuration/lte-network-configuration":{"id":"configuration/lte-network-configuration","title":"LTE Network Configuration","description":"In order for the Lobaro devices to be able to dial into the mobile network, it may be necessary to configure the network","sidebar":"configurationSidebar"},"configuration/meter-reception-filter-config":{"id":"configuration/meter-reception-filter-config","title":"MBUS Reception Filtering","description":"Lobaro firmwares that can receive (wireless) M-BUS have (optional) common filter configuration parameter, that can limit, which telegrams are","sidebar":"configurationSidebar"},"configuration/obis-code-configuration":{"id":"configuration/obis-code-configuration","title":"OBIS-Code Configuration","description":"Object identification system (OBIS) Codes are used to identify the different readings of a smart meter transferred in","sidebar":"configurationSidebar"},"configuration/usb-config-adapter":{"id":"configuration/usb-config-adapter","title":"Lobaro USB Config Adapter","description":"The Lobaro USB configuration adapters connects the configuration serial uart of our devices to a PC. It is used for:","sidebar":"configurationSidebar"},"firmware/app-hybrid-modbus/index":{"id":"firmware/app-hybrid-modbus/index","title":"app-hybrid-modbus","description":"This new documentation center is currently work in progress","sidebar":"firmwareSidebar"},"firmware/app-nrf9160-wmbus/cellular-iot-communication-protocol":{"id":"firmware/app-nrf9160-wmbus/cellular-iot-communication-protocol","title":"Cellular IoT Communication","description":"","sidebar":"firmwareSidebar"},"firmware/app-nrf9160-wmbus/changelog-download":{"id":"firmware/app-nrf9160-wmbus/changelog-download","title":"Changelog & Updates","description":"Firmware Updates","sidebar":"firmwareSidebar"},"firmware/app-nrf9160-wmbus/compatible-hardware":{"id":"firmware/app-nrf9160-wmbus/compatible-hardware","title":"Compatible Hardware","description":"","sidebar":"firmwareSidebar"},"firmware/app-nrf9160-wmbus/configuration-parameter":{"id":"firmware/app-nrf9160-wmbus/configuration-parameter","title":"Configuration Parameter","description":"On this page all common configuration parameters of the firmware are presented. Usually the internal defaults work","sidebar":"firmwareSidebar"},"firmware/app-nrf9160-wmbus/introduction":{"id":"firmware/app-nrf9160-wmbus/introduction","title":"Introduction","description":"This page describes the Lobaro wireless M-Bus gateway firmware, called app-nrf9160-wmbus, which is executable on","sidebar":"firmwareSidebar"},"firmware/app-nrf9160-wmbus/lorawan-communication-protocol":{"id":"firmware/app-nrf9160-wmbus/lorawan-communication-protocol","title":"LoRaWAN Communication","description":"","sidebar":"firmwareSidebar"},"firmware/index":{"id":"firmware/index","title":"Overview","description":"This section describes the different available firmware implementation. In different products the same firmware is","sidebar":"firmwareSidebar"},"hardware/extension-modules/index":{"id":"hardware/extension-modules/index","title":"Hardware Addons","description":"","sidebar":"hardwareSidebar"},"hardware/housings/index":{"id":"hardware/housings/index","title":"Device Housings","description":"","sidebar":"hardwareSidebar"},"hardware/index":{"id":"hardware/index","title":"Overview","description":"This section describes the different available hardware modules and mainboard. In different products the same hardware is","sidebar":"hardwareSidebar"},"hardware/mainboards/index":{"id":"hardware/mainboards/index","title":"Mainboards","description":"","sidebar":"hardwareSidebar"},"index":{"id":"index","title":"Lobaro Documentation","description":"This new documentation center is currently work in progress","sidebar":"allDocSidebar"},"knowledge-base/modbus":{"id":"knowledge-base/modbus","title":"Modbus","description":"Some notable things in a block quote!","sidebar":"knowledgeBaseSidebar"},"knowledge-base/wireless-mbus":{"id":"knowledge-base/wireless-mbus","title":"Wireless M-BUS","description":"Some notable things in a block quote!","sidebar":"knowledgeBaseSidebar"},"products/index":{"id":"products/index","title":"Overview","description":"This new documentation center is currently work in progress","sidebar":"productsSidebar"},"products/metering-gateways/index":{"id":"products/metering-gateways/index","title":"Metering Gateway","description":"This new documentation center is currently work in progress","sidebar":"productsSidebar"},"products/metering-gateways/wired-mbus-g1/hardware-variants/dinrail-v1/index":{"id":"products/metering-gateways/wired-mbus-g1/hardware-variants/dinrail-v1/index","title":"Overview","description":"Some notable things in a block quote!","sidebar":"productsSidebar"},"products/metering-gateways/wired-mbus-g1/index":{"id":"products/metering-gateways/wired-mbus-g1/index","title":"Wired M-BUS Gateways","description":"This new documentation center is currently work in progress","sidebar":"productsSidebar"},"products/metering-gateways/wired-mbus-g1/manual/cfg":{"id":"products/metering-gateways/wired-mbus-g1/manual/cfg","title":"Configuration","description":"Einleitung","sidebar":"productsSidebar"},"products/metering-gateways/wired-mbus-g1/manual/index":{"id":"products/metering-gateways/wired-mbus-g1/manual/index","title":"Operation Manual","description":"Einleitung","sidebar":"productsSidebar"},"products/metering-gateways/wired-mbus-g1/manual/workflow":{"id":"products/metering-gateways/wired-mbus-g1/manual/workflow","title":"Workflow","description":"Einleitung","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g2/hardware-variants/bridge-v2/index":{"id":"products/metering-gateways/wireless-mbus-g2/hardware-variants/bridge-v2/index","title":"index","description":"This product has been discontinued and functionally replaced by the wMBUS gateway V3 / V4.","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g2/index":{"id":"products/metering-gateways/wireless-mbus-g2/index","title":"Wireless M-BUS Gateways","description":"This new documentation center is currently work in progress","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g2/manual/cfg":{"id":"products/metering-gateways/wireless-mbus-g2/manual/cfg","title":"Configuration","description":"Einleitung","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g2/manual/index":{"id":"products/metering-gateways/wireless-mbus-g2/manual/index","title":"Operation Manual","description":"Einleitung","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g2/manual/workflow":{"id":"products/metering-gateways/wireless-mbus-g2/manual/workflow","title":"Workflow","description":"Einleitung","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/hardware-variants/concentrator-v1/index":{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/concentrator-v1/index","title":"index","description":"This product has been discontinued and functionally replaced by the wMBUS gateway V3 / V4.","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/hardware-variants/dinrail-v1/index":{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/dinrail-v1/index","title":"index","description":"This product has been discontinued and functionally replaced by the wMBUS gateway V3 / V4.","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/bridge-v2/index":{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/bridge-v2/index","title":"index","description":"This product has been discontinued and functionally replaced by the wMBUS gateway V3 / V4.","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/gw-v2/index":{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/gw-v2/index","title":"index","description":"This product has been discontinued and functionally replaced by the wMBUS gateway V3 / V4.","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/index":{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/index","title":"Discontinued Gateways","description":"These products have been discontinued and are no longer available for sale.","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v3/index":{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v3/index","title":"index","description":"This product has been discontinued and functionally replaced by the wMBUS gateway V3 / V4.","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/desc":{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/desc","title":"Description","description":"Getting Started","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/index":{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/index","title":"Wmbus Gateway V4","description":"Getting Started","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/hardware-variants/sun-v1/index":{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/sun-v1/index","title":"index","description":"This product has been discontinued and functionally replaced by the wMBUS gateway V3 / V4.","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/index":{"id":"products/metering-gateways/wireless-mbus-g3/index","title":"Wireless M-BUS Gateways","description":"This new documentation center is currently work in progress","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/manual/cfg":{"id":"products/metering-gateways/wireless-mbus-g3/manual/cfg","title":"Configuration","description":"Einleitung","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/manual/index":{"id":"products/metering-gateways/wireless-mbus-g3/manual/index","title":"Operation Manual","description":"Einleitung","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/manual/workflow":{"id":"products/metering-gateways/wireless-mbus-g3/manual/workflow","title":"Workflow","description":"Einleitung","sidebar":"productsSidebar"},"products/sensor-gateways/current-loop/index":{"id":"products/sensor-gateways/current-loop/index","title":"Current Loop Sensors (4...20 mA)","description":"This new documentation center is currently work in progress","sidebar":"productsSidebar"},"products/sensor-gateways/index":{"id":"products/sensor-gateways/index","title":"Metering Gateway","description":"This new documentation center is currently work in progress","sidebar":"productsSidebar"},"products/sensor-gateways/level/index":{"id":"products/sensor-gateways/level/index","title":"Liquid Level Sensors","description":"","sidebar":"productsSidebar"},"products/sensor-gateways/modbus/index":{"id":"products/sensor-gateways/modbus/index","title":"Modbus Sensors","description":"","sidebar":"productsSidebar"},"products/sensor-gateways/temperature/index":{"id":"products/sensor-gateways/temperature/index","title":"Temperature Sensors","description":"","sidebar":"productsSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/0b02251e.32527548.js b/assets/js/0b02251e.32527548.js deleted file mode 100644 index 8ffac7f0..00000000 --- a/assets/js/0b02251e.32527548.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklobaro_docs=self.webpackChunklobaro_docs||[]).push([[3830],{5570:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"htmlSidebar":[{"type":"html","value":"TEST|TEST","defaultStyle":true}],"allDocSidebar":[{"type":"category","label":"All Docs","items":[{"type":"link","label":"Lobaro Documentation","href":"/iot/","docId":"index","unlisted":false},{"type":"category","label":"Products","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Metering Gateways","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Wireless M-BUS (Gen. 3)","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Operation Manual","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Configuration","href":"/iot/products/metering-gateways/wireless-mbus-g3/manual/cfg","docId":"products/metering-gateways/wireless-mbus-g3/manual/cfg","unlisted":false},{"type":"link","label":"Workflow","href":"/iot/products/metering-gateways/wireless-mbus-g3/manual/workflow","docId":"products/metering-gateways/wireless-mbus-g3/manual/workflow","unlisted":false}],"href":"/iot/products/metering-gateways/wireless-mbus-g3/manual/"},{"type":"category","label":"Hardware Variants","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Gateway V4","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Description","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/desc","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/desc","unlisted":false}],"href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/"},{"type":"link","label":"Gateway V3","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v3/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v3/index","unlisted":false},{"type":"link","label":"Gateway DinRail","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/dinrail-v1/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/dinrail-v1/index","unlisted":false},{"type":"link","label":"Gateway Solar","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/sun-v1/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/sun-v1/index","unlisted":false},{"type":"link","label":"Gateway Concentrator","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/concentrator-v1/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/concentrator-v1/index","unlisted":false},{"type":"category","label":"Discontinued","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"LoRaWAN Bridge V2","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/bridge-v2/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/bridge-v2/index","unlisted":false},{"type":"link","label":"Gateway V2","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/gw-v2/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/gw-v2/index","unlisted":false}],"href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/"}]}],"href":"/iot/products/metering-gateways/wireless-mbus-g3/"},{"type":"category","label":"Wireless M-BUS (Gen. 2)","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Operation Manual","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Configuration","href":"/iot/products/metering-gateways/wireless-mbus-g2/manual/cfg","docId":"products/metering-gateways/wireless-mbus-g2/manual/cfg","unlisted":false},{"type":"link","label":"Workflow","href":"/iot/products/metering-gateways/wireless-mbus-g2/manual/workflow","docId":"products/metering-gateways/wireless-mbus-g2/manual/workflow","unlisted":false}],"href":"/iot/products/metering-gateways/wireless-mbus-g2/manual/"},{"type":"category","label":"Hardware Variants","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"LoRaWAN Bridge V2","href":"/iot/products/metering-gateways/wireless-mbus-g2/hardware-variants/bridge-v2/","docId":"products/metering-gateways/wireless-mbus-g2/hardware-variants/bridge-v2/index","unlisted":false}]}],"href":"/iot/products/metering-gateways/wireless-mbus-g2/"},{"type":"category","label":"Wired M-BUS (Gen. 1)","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Operation Manual","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Configuration","href":"/iot/products/metering-gateways/wired-mbus-g1/manual/cfg","docId":"products/metering-gateways/wired-mbus-g1/manual/cfg","unlisted":false},{"type":"link","label":"Workflow","href":"/iot/products/metering-gateways/wired-mbus-g1/manual/workflow","docId":"products/metering-gateways/wired-mbus-g1/manual/workflow","unlisted":false}],"href":"/iot/products/metering-gateways/wired-mbus-g1/manual/"},{"type":"category","label":"Hardware Variants","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Hybrid Gateway","href":"/iot/products/metering-gateways/wired-mbus-g1/hardware-variants/dinrail-v1/","docId":"products/metering-gateways/wired-mbus-g1/hardware-variants/dinrail-v1/index","unlisted":false}]}],"href":"/iot/products/metering-gateways/wired-mbus-g1/"}],"href":"/iot/products/metering-gateways/"},{"type":"category","label":"Sensor Gateways","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Current Loop","href":"/iot/products/sensor-gateways/current-loop/","docId":"products/sensor-gateways/current-loop/index","unlisted":false},{"type":"link","label":"Liquid Level","href":"/iot/products/sensor-gateways/level/","docId":"products/sensor-gateways/level/index","unlisted":false},{"type":"link","label":"Modbus","href":"/iot/products/sensor-gateways/modbus/","docId":"products/sensor-gateways/modbus/index","unlisted":false},{"type":"link","label":"Temperature","href":"/iot/products/sensor-gateways/temperature/","docId":"products/sensor-gateways/temperature/index","unlisted":false}],"href":"/iot/products/sensor-gateways/"}],"href":"/iot/products/"},{"type":"category","label":"Configuration","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Lobaro USB Config Adapter","href":"/iot/configuration/usb-config-adapter","docId":"configuration/usb-config-adapter","unlisted":false},{"type":"link","label":"Lobaro Config Tool","href":"/iot/configuration/lobaro-config-tool","docId":"configuration/lobaro-config-tool","unlisted":false},{"type":"link","label":"MBUS Reception Filtering","href":"/iot/configuration/meter-reception-filter-config","docId":"configuration/meter-reception-filter-config","unlisted":false},{"type":"link","label":"LoRaWAN Downlink Config","href":"/iot/configuration/lorawan-downlink-config","docId":"configuration/lorawan-downlink-config","unlisted":false},{"type":"link","label":"CRON Configuration","href":"/iot/configuration/cron-configuration","docId":"configuration/cron-configuration","unlisted":false},{"type":"link","label":"LTE Network Configuration","href":"/iot/configuration/lte-network-configuration","docId":"configuration/lte-network-configuration","unlisted":false},{"type":"link","label":"OBIS-Code Configuration","href":"/iot/configuration/obis-code-configuration","docId":"configuration/obis-code-configuration","unlisted":false}],"href":"/iot/configuration/"},{"type":"category","label":"Firmware","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"app-nrf9160-wmbus","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Introduction","href":"/iot/firmware/app-nrf9160-wmbus/introduction","docId":"firmware/app-nrf9160-wmbus/introduction","unlisted":false},{"type":"link","label":"Configuration Parameter","href":"/iot/firmware/app-nrf9160-wmbus/configuration-parameter","docId":"firmware/app-nrf9160-wmbus/configuration-parameter","unlisted":false},{"type":"link","label":"LoRaWAN Payload Formats","href":"/iot/firmware/app-nrf9160-wmbus/lorawan-payload","docId":"firmware/app-nrf9160-wmbus/lorawan-payload","unlisted":false},{"type":"link","label":"Cellular IoT Payload Formats","href":"/iot/firmware/app-nrf9160-wmbus/cellular-iot-payload","docId":"firmware/app-nrf9160-wmbus/cellular-iot-payload","unlisted":false},{"type":"link","label":"Compatible Hardware","href":"/iot/firmware/app-nrf9160-wmbus/compatible-hardware","docId":"firmware/app-nrf9160-wmbus/compatible-hardware","unlisted":false},{"type":"link","label":"Changelog & Updates","href":"/iot/firmware/app-nrf9160-wmbus/changelog-download","docId":"firmware/app-nrf9160-wmbus/changelog-download","unlisted":false}]},{"type":"link","label":"app-hybrid-modbus","href":"/iot/firmware/app-hybrid-modbus/","docId":"firmware/app-hybrid-modbus/index","unlisted":false}],"href":"/iot/firmware/"},{"type":"category","label":"Hardware","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Mainboards","href":"/iot/hardware/mainboards/","docId":"hardware/mainboards/index","unlisted":false},{"type":"link","label":"Extension Modules","href":"/iot/hardware/extension-modules/","docId":"hardware/extension-modules/index","unlisted":false},{"type":"link","label":"Device Housings","href":"/iot/hardware/housings/","docId":"hardware/housings/index","unlisted":false}],"href":"/iot/hardware/"},{"type":"category","label":"Lobaro Cloud","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Lobaro Direct+","href":"/iot/cloud/direct+/","docId":"cloud/direct+/index","unlisted":false},{"type":"link","label":"Lobaro IoT Platform","href":"/iot/cloud/platform/","docId":"cloud/platform/index","unlisted":false}],"href":"/iot/cloud/"},{"type":"category","label":"Knowledge Base","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Wireless M-BUS","href":"/iot/knowledge-base/wireless-mbus","docId":"knowledge-base/wireless-mbus","unlisted":false},{"type":"link","label":"Modbus","href":"/iot/knowledge-base/modbus","docId":"knowledge-base/modbus","unlisted":false}]}],"collapsed":true,"collapsible":true}],"configurationSidebar":[{"type":"category","label":"Configuration","items":[{"type":"link","label":"Overview","href":"/iot/configuration/","docId":"configuration/index","unlisted":false},{"type":"link","label":"Lobaro USB Config Adapter","href":"/iot/configuration/usb-config-adapter","docId":"configuration/usb-config-adapter","unlisted":false},{"type":"link","label":"Lobaro Config Tool","href":"/iot/configuration/lobaro-config-tool","docId":"configuration/lobaro-config-tool","unlisted":false},{"type":"link","label":"MBUS Reception Filtering","href":"/iot/configuration/meter-reception-filter-config","docId":"configuration/meter-reception-filter-config","unlisted":false},{"type":"link","label":"LoRaWAN Downlink Config","href":"/iot/configuration/lorawan-downlink-config","docId":"configuration/lorawan-downlink-config","unlisted":false},{"type":"link","label":"CRON Configuration","href":"/iot/configuration/cron-configuration","docId":"configuration/cron-configuration","unlisted":false},{"type":"link","label":"LTE Network Configuration","href":"/iot/configuration/lte-network-configuration","docId":"configuration/lte-network-configuration","unlisted":false},{"type":"link","label":"OBIS-Code Configuration","href":"/iot/configuration/obis-code-configuration","docId":"configuration/obis-code-configuration","unlisted":false}],"collapsed":true,"collapsible":true}],"productsSidebar":[{"type":"category","label":"Products","items":[{"type":"link","label":"Overview","href":"/iot/products/","docId":"products/index","unlisted":false},{"type":"category","label":"Metering Gateways","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Wireless M-BUS (Gen. 3)","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Operation Manual","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Configuration","href":"/iot/products/metering-gateways/wireless-mbus-g3/manual/cfg","docId":"products/metering-gateways/wireless-mbus-g3/manual/cfg","unlisted":false},{"type":"link","label":"Workflow","href":"/iot/products/metering-gateways/wireless-mbus-g3/manual/workflow","docId":"products/metering-gateways/wireless-mbus-g3/manual/workflow","unlisted":false}],"href":"/iot/products/metering-gateways/wireless-mbus-g3/manual/"},{"type":"category","label":"Hardware Variants","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Gateway V4","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Description","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/desc","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/desc","unlisted":false}],"href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/"},{"type":"link","label":"Gateway V3","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v3/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v3/index","unlisted":false},{"type":"link","label":"Gateway DinRail","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/dinrail-v1/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/dinrail-v1/index","unlisted":false},{"type":"link","label":"Gateway Solar","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/sun-v1/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/sun-v1/index","unlisted":false},{"type":"link","label":"Gateway Concentrator","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/concentrator-v1/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/concentrator-v1/index","unlisted":false},{"type":"category","label":"Discontinued","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"LoRaWAN Bridge V2","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/bridge-v2/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/bridge-v2/index","unlisted":false},{"type":"link","label":"Gateway V2","href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/gw-v2/","docId":"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/gw-v2/index","unlisted":false}],"href":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/"}]}],"href":"/iot/products/metering-gateways/wireless-mbus-g3/"},{"type":"category","label":"Wireless M-BUS (Gen. 2)","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Operation Manual","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Configuration","href":"/iot/products/metering-gateways/wireless-mbus-g2/manual/cfg","docId":"products/metering-gateways/wireless-mbus-g2/manual/cfg","unlisted":false},{"type":"link","label":"Workflow","href":"/iot/products/metering-gateways/wireless-mbus-g2/manual/workflow","docId":"products/metering-gateways/wireless-mbus-g2/manual/workflow","unlisted":false}],"href":"/iot/products/metering-gateways/wireless-mbus-g2/manual/"},{"type":"category","label":"Hardware Variants","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"LoRaWAN Bridge V2","href":"/iot/products/metering-gateways/wireless-mbus-g2/hardware-variants/bridge-v2/","docId":"products/metering-gateways/wireless-mbus-g2/hardware-variants/bridge-v2/index","unlisted":false}]}],"href":"/iot/products/metering-gateways/wireless-mbus-g2/"},{"type":"category","label":"Wired M-BUS (Gen. 1)","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Operation Manual","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Configuration","href":"/iot/products/metering-gateways/wired-mbus-g1/manual/cfg","docId":"products/metering-gateways/wired-mbus-g1/manual/cfg","unlisted":false},{"type":"link","label":"Workflow","href":"/iot/products/metering-gateways/wired-mbus-g1/manual/workflow","docId":"products/metering-gateways/wired-mbus-g1/manual/workflow","unlisted":false}],"href":"/iot/products/metering-gateways/wired-mbus-g1/manual/"},{"type":"category","label":"Hardware Variants","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Hybrid Gateway","href":"/iot/products/metering-gateways/wired-mbus-g1/hardware-variants/dinrail-v1/","docId":"products/metering-gateways/wired-mbus-g1/hardware-variants/dinrail-v1/index","unlisted":false}]}],"href":"/iot/products/metering-gateways/wired-mbus-g1/"}],"href":"/iot/products/metering-gateways/"},{"type":"category","label":"Sensor Gateways","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Current Loop","href":"/iot/products/sensor-gateways/current-loop/","docId":"products/sensor-gateways/current-loop/index","unlisted":false},{"type":"link","label":"Liquid Level","href":"/iot/products/sensor-gateways/level/","docId":"products/sensor-gateways/level/index","unlisted":false},{"type":"link","label":"Modbus","href":"/iot/products/sensor-gateways/modbus/","docId":"products/sensor-gateways/modbus/index","unlisted":false},{"type":"link","label":"Temperature","href":"/iot/products/sensor-gateways/temperature/","docId":"products/sensor-gateways/temperature/index","unlisted":false}],"href":"/iot/products/sensor-gateways/"}],"collapsed":true,"collapsible":true}],"firmwareSidebar":[{"type":"category","label":"Firmware","items":[{"type":"link","label":"Overview","href":"/iot/firmware/","docId":"firmware/index","unlisted":false},{"type":"category","label":"app-nrf9160-wmbus","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Introduction","href":"/iot/firmware/app-nrf9160-wmbus/introduction","docId":"firmware/app-nrf9160-wmbus/introduction","unlisted":false},{"type":"link","label":"Configuration Parameter","href":"/iot/firmware/app-nrf9160-wmbus/configuration-parameter","docId":"firmware/app-nrf9160-wmbus/configuration-parameter","unlisted":false},{"type":"link","label":"LoRaWAN Payload Formats","href":"/iot/firmware/app-nrf9160-wmbus/lorawan-payload","docId":"firmware/app-nrf9160-wmbus/lorawan-payload","unlisted":false},{"type":"link","label":"Cellular IoT Payload Formats","href":"/iot/firmware/app-nrf9160-wmbus/cellular-iot-payload","docId":"firmware/app-nrf9160-wmbus/cellular-iot-payload","unlisted":false},{"type":"link","label":"Compatible Hardware","href":"/iot/firmware/app-nrf9160-wmbus/compatible-hardware","docId":"firmware/app-nrf9160-wmbus/compatible-hardware","unlisted":false},{"type":"link","label":"Changelog & Updates","href":"/iot/firmware/app-nrf9160-wmbus/changelog-download","docId":"firmware/app-nrf9160-wmbus/changelog-download","unlisted":false}]},{"type":"link","label":"app-hybrid-modbus","href":"/iot/firmware/app-hybrid-modbus/","docId":"firmware/app-hybrid-modbus/index","unlisted":false}],"collapsed":true,"collapsible":true}],"hardwareSidebar":[{"type":"category","label":"Hardware","items":[{"type":"link","label":"Overview","href":"/iot/hardware/","docId":"hardware/index","unlisted":false},{"type":"link","label":"Mainboards","href":"/iot/hardware/mainboards/","docId":"hardware/mainboards/index","unlisted":false},{"type":"link","label":"Extension Modules","href":"/iot/hardware/extension-modules/","docId":"hardware/extension-modules/index","unlisted":false},{"type":"link","label":"Device Housings","href":"/iot/hardware/housings/","docId":"hardware/housings/index","unlisted":false}],"collapsed":true,"collapsible":true}],"cloudSidebar":[{"type":"category","label":"Lobaro Cloud","items":[{"type":"link","label":"Overview","href":"/iot/cloud/","docId":"cloud/index","unlisted":false},{"type":"link","label":"Lobaro Direct+","href":"/iot/cloud/direct+/","docId":"cloud/direct+/index","unlisted":false},{"type":"link","label":"Lobaro IoT Platform","href":"/iot/cloud/platform/","docId":"cloud/platform/index","unlisted":false}],"collapsed":true,"collapsible":true}],"knowledgeBaseSidebar":[{"type":"category","label":"Knowledge Base","items":[{"type":"link","label":"Wireless M-BUS","href":"/iot/knowledge-base/wireless-mbus","docId":"knowledge-base/wireless-mbus","unlisted":false},{"type":"link","label":"Modbus","href":"/iot/knowledge-base/modbus","docId":"knowledge-base/modbus","unlisted":false}],"collapsed":true,"collapsible":true}]},"docs":{"cloud/direct+/index":{"id":"cloud/direct+/index","title":"Lobaro Direct+","description":"test","sidebar":"cloudSidebar"},"cloud/index":{"id":"cloud/index","title":"Overview","description":"This new documentation center is currently work in progress","sidebar":"cloudSidebar"},"cloud/platform/index":{"id":"cloud/platform/index","title":"Lobaro IoT Platform","description":"Getting Started","sidebar":"cloudSidebar"},"configuration/cron-configuration":{"id":"configuration/cron-configuration","title":"CRON Configuration","description":"We use CRON expressions configure the behavioral timing of our devices. This CRON configuration can be adjusted during","sidebar":"configurationSidebar"},"configuration/index":{"id":"configuration/index","title":"Overview","description":"The device configuration allows a wide range and flexible way of internal settings adjustments for Lobaro hardware.","sidebar":"configurationSidebar"},"configuration/lobaro-config-tool":{"id":"configuration/lobaro-config-tool","title":"Lobaro Config Tool","description":"The Lobaro Config Tool (a.k.a. Lobaro Maintenance Tool) can be used to configure and diagnose Lobaro devices locally using a PC and our special","sidebar":"configurationSidebar"},"configuration/lorawan-downlink-config":{"id":"configuration/lorawan-downlink-config","title":"LoRaWAN Downlink Config","description":"This article describes the technical details how to remotely configure Lobaro devices that are using LoRaWAN as","sidebar":"configurationSidebar"},"configuration/lte-network-configuration":{"id":"configuration/lte-network-configuration","title":"LTE Network Configuration","description":"In order for the Lobaro devices to be able to dial into the mobile network, it may be necessary to configure the network","sidebar":"configurationSidebar"},"configuration/meter-reception-filter-config":{"id":"configuration/meter-reception-filter-config","title":"MBUS Reception Filtering","description":"Lobaro firmwares that can receive (wireless) M-BUS have (optional) common filter configuration parameter, that can limit, which telegrams are","sidebar":"configurationSidebar"},"configuration/obis-code-configuration":{"id":"configuration/obis-code-configuration","title":"OBIS-Code Configuration","description":"Object identification system (OBIS) Codes are used to identify the different readings of a smart meter transferred in","sidebar":"configurationSidebar"},"configuration/usb-config-adapter":{"id":"configuration/usb-config-adapter","title":"Lobaro USB Config Adapter","description":"The Lobaro USB configuration adapters connects the configuration serial uart of our devices to a PC. It is used for:","sidebar":"configurationSidebar"},"firmware/app-hybrid-modbus/index":{"id":"firmware/app-hybrid-modbus/index","title":"app-hybrid-modbus","description":"This new documentation center is currently work in progress","sidebar":"firmwareSidebar"},"firmware/app-nrf9160-wmbus/cellular-iot-payload":{"id":"firmware/app-nrf9160-wmbus/cellular-iot-payload","title":"Cellular IoT Payload Formats","description":"","sidebar":"firmwareSidebar"},"firmware/app-nrf9160-wmbus/changelog-download":{"id":"firmware/app-nrf9160-wmbus/changelog-download","title":"Changelog & Updates","description":"Firmware Updates","sidebar":"firmwareSidebar"},"firmware/app-nrf9160-wmbus/compatible-hardware":{"id":"firmware/app-nrf9160-wmbus/compatible-hardware","title":"Compatible Hardware","description":"","sidebar":"firmwareSidebar"},"firmware/app-nrf9160-wmbus/configuration-parameter":{"id":"firmware/app-nrf9160-wmbus/configuration-parameter","title":"Configuration Parameter","description":"On this page all possible configuration parameter of the firmware are presented. Usually the internal defaults work","sidebar":"firmwareSidebar"},"firmware/app-nrf9160-wmbus/introduction":{"id":"firmware/app-nrf9160-wmbus/introduction","title":"Introduction","description":"This page describes the Lobaro wireless M-Bus gateway firmware, called app-nrf9160-wmbus, which is executable on","sidebar":"firmwareSidebar"},"firmware/app-nrf9160-wmbus/lorawan-payload":{"id":"firmware/app-nrf9160-wmbus/lorawan-payload","title":"LoRaWAN Payload Formats","description":"","sidebar":"firmwareSidebar"},"firmware/index":{"id":"firmware/index","title":"Overview","description":"This section describes the different available firmware implementation. In different products the same firmware is","sidebar":"firmwareSidebar"},"hardware/extension-modules/index":{"id":"hardware/extension-modules/index","title":"Hardware Addons","description":"","sidebar":"hardwareSidebar"},"hardware/housings/index":{"id":"hardware/housings/index","title":"Device Housings","description":"","sidebar":"hardwareSidebar"},"hardware/index":{"id":"hardware/index","title":"Overview","description":"This section describes the different available hardware modules and mainboard. In different products the same hardware is","sidebar":"hardwareSidebar"},"hardware/mainboards/index":{"id":"hardware/mainboards/index","title":"Mainboards","description":"","sidebar":"hardwareSidebar"},"index":{"id":"index","title":"Lobaro Documentation","description":"This new documentation center is currently work in progress","sidebar":"allDocSidebar"},"knowledge-base/modbus":{"id":"knowledge-base/modbus","title":"Modbus","description":"Some notable things in a block quote!","sidebar":"knowledgeBaseSidebar"},"knowledge-base/wireless-mbus":{"id":"knowledge-base/wireless-mbus","title":"Wireless M-BUS","description":"Some notable things in a block quote!","sidebar":"knowledgeBaseSidebar"},"products/index":{"id":"products/index","title":"Overview","description":"This new documentation center is currently work in progress","sidebar":"productsSidebar"},"products/metering-gateways/index":{"id":"products/metering-gateways/index","title":"Metering Gateway","description":"This new documentation center is currently work in progress","sidebar":"productsSidebar"},"products/metering-gateways/wired-mbus-g1/hardware-variants/dinrail-v1/index":{"id":"products/metering-gateways/wired-mbus-g1/hardware-variants/dinrail-v1/index","title":"Overview","description":"Some notable things in a block quote!","sidebar":"productsSidebar"},"products/metering-gateways/wired-mbus-g1/index":{"id":"products/metering-gateways/wired-mbus-g1/index","title":"Wired M-BUS Gateways","description":"This new documentation center is currently work in progress","sidebar":"productsSidebar"},"products/metering-gateways/wired-mbus-g1/manual/cfg":{"id":"products/metering-gateways/wired-mbus-g1/manual/cfg","title":"Configuration","description":"Einleitung","sidebar":"productsSidebar"},"products/metering-gateways/wired-mbus-g1/manual/index":{"id":"products/metering-gateways/wired-mbus-g1/manual/index","title":"Operation Manual","description":"Einleitung","sidebar":"productsSidebar"},"products/metering-gateways/wired-mbus-g1/manual/workflow":{"id":"products/metering-gateways/wired-mbus-g1/manual/workflow","title":"Workflow","description":"Einleitung","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g2/hardware-variants/bridge-v2/index":{"id":"products/metering-gateways/wireless-mbus-g2/hardware-variants/bridge-v2/index","title":"index","description":"This product has been discontinued and functionally replaced by the wMBUS gateway V3 / V4.","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g2/index":{"id":"products/metering-gateways/wireless-mbus-g2/index","title":"Wireless M-BUS Gateways","description":"This new documentation center is currently work in progress","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g2/manual/cfg":{"id":"products/metering-gateways/wireless-mbus-g2/manual/cfg","title":"Configuration","description":"Einleitung","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g2/manual/index":{"id":"products/metering-gateways/wireless-mbus-g2/manual/index","title":"Operation Manual","description":"Einleitung","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g2/manual/workflow":{"id":"products/metering-gateways/wireless-mbus-g2/manual/workflow","title":"Workflow","description":"Einleitung","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/hardware-variants/concentrator-v1/index":{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/concentrator-v1/index","title":"index","description":"This product has been discontinued and functionally replaced by the wMBUS gateway V3 / V4.","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/hardware-variants/dinrail-v1/index":{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/dinrail-v1/index","title":"index","description":"This product has been discontinued and functionally replaced by the wMBUS gateway V3 / V4.","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/bridge-v2/index":{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/bridge-v2/index","title":"index","description":"This product has been discontinued and functionally replaced by the wMBUS gateway V3 / V4.","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/gw-v2/index":{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/gw-v2/index","title":"index","description":"This product has been discontinued and functionally replaced by the wMBUS gateway V3 / V4.","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/index":{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/index","title":"Discontinued Gateways","description":"These products have been discontinued and are no longer available for sale.","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v3/index":{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v3/index","title":"index","description":"This product has been discontinued and functionally replaced by the wMBUS gateway V3 / V4.","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/desc":{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/desc","title":"Description","description":"Getting Started","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/index":{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/index","title":"Wmbus Gateway V4","description":"Getting Started","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/hardware-variants/sun-v1/index":{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/sun-v1/index","title":"index","description":"This product has been discontinued and functionally replaced by the wMBUS gateway V3 / V4.","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/index":{"id":"products/metering-gateways/wireless-mbus-g3/index","title":"Wireless M-BUS Gateways","description":"This new documentation center is currently work in progress","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/manual/cfg":{"id":"products/metering-gateways/wireless-mbus-g3/manual/cfg","title":"Configuration","description":"Einleitung","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/manual/index":{"id":"products/metering-gateways/wireless-mbus-g3/manual/index","title":"Operation Manual","description":"Einleitung","sidebar":"productsSidebar"},"products/metering-gateways/wireless-mbus-g3/manual/workflow":{"id":"products/metering-gateways/wireless-mbus-g3/manual/workflow","title":"Workflow","description":"Einleitung","sidebar":"productsSidebar"},"products/sensor-gateways/current-loop/index":{"id":"products/sensor-gateways/current-loop/index","title":"Current Loop Sensors (4...20 mA)","description":"This new documentation center is currently work in progress","sidebar":"productsSidebar"},"products/sensor-gateways/index":{"id":"products/sensor-gateways/index","title":"Metering Gateway","description":"This new documentation center is currently work in progress","sidebar":"productsSidebar"},"products/sensor-gateways/level/index":{"id":"products/sensor-gateways/level/index","title":"Liquid Level Sensors","description":"","sidebar":"productsSidebar"},"products/sensor-gateways/modbus/index":{"id":"products/sensor-gateways/modbus/index","title":"Modbus Sensors","description":"","sidebar":"productsSidebar"},"products/sensor-gateways/temperature/index":{"id":"products/sensor-gateways/temperature/index","title":"Temperature Sensors","description":"","sidebar":"productsSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/12a9c313.fcde0a17.js b/assets/js/12a9c313.fcde0a17.js new file mode 100644 index 00000000..aa4c16db --- /dev/null +++ b/assets/js/12a9c313.fcde0a17.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklobaro_docs=self.webpackChunklobaro_docs||[]).push([[1830],{2372:(o,t,n)=>{n.r(t),n.d(t,{assets:()=>m,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>s});var r=n(4848),e=n(8453);const i={sidebar_position:5,displayed_sidebar:"firmwareSidebar",title:"LoRaWAN Communication"},a="LoRaWAN Communication",c={id:"firmware/app-nrf9160-wmbus/lorawan-communication-protocol",title:"LoRaWAN Communication",description:"",source:"@site/docs/firmware/app-nrf9160-wmbus/lorawan-communication-protocol.md",sourceDirName:"firmware/app-nrf9160-wmbus",slug:"/firmware/app-nrf9160-wmbus/lorawan-communication-protocol",permalink:"/iot/firmware/app-nrf9160-wmbus/lorawan-communication-protocol",draft:!1,unlisted:!1,editUrl:"https://github.com/lobaro/iot/tree/master/docs/firmware/app-nrf9160-wmbus/lorawan-communication-protocol.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5,displayed_sidebar:"firmwareSidebar",title:"LoRaWAN Communication"},sidebar:"firmwareSidebar",previous:{title:"Configuration Parameter",permalink:"/iot/firmware/app-nrf9160-wmbus/configuration-parameter"},next:{title:"Cellular IoT Communication",permalink:"/iot/firmware/app-nrf9160-wmbus/cellular-iot-communication-protocol"}},m={},s=[];function u(o){const t={h1:"h1",...(0,e.R)(),...o.components};return(0,r.jsx)(t.h1,{id:"lorawan-communication",children:"LoRaWAN Communication"})}function p(o={}){const{wrapper:t}={...(0,e.R)(),...o.components};return t?(0,r.jsx)(t,{...o,children:(0,r.jsx)(u,{...o})}):u(o)}},8453:(o,t,n)=>{n.d(t,{R:()=>a,x:()=>c});var r=n(6540);const e={},i=r.createContext(e);function a(o){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof o?o(t):{...t,...o}}),[t,o])}function c(o){let t;return t=o.disableParentContext?"function"==typeof o.components?o.components(e):o.components||e:a(o.components),r.createElement(i.Provider,{value:t},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/23dfc7d9.fc4571ed.js b/assets/js/23dfc7d9.fc4571ed.js deleted file mode 100644 index b614e265..00000000 --- a/assets/js/23dfc7d9.fc4571ed.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklobaro_docs=self.webpackChunklobaro_docs||[]).push([[5071],{9862:(a,r,e)=>{e.r(r),e.d(r,{assets:()=>s,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>n,toc:()=>d});var t=e(4848),o=e(8453);const l={sidebar_position:6,displayed_sidebar:"firmwareSidebar",title:"Cellular IoT Payload Formats"},i="Cellular IoT Payload Formats",n={id:"firmware/app-nrf9160-wmbus/cellular-iot-payload",title:"Cellular IoT Payload Formats",description:"",source:"@site/docs/firmware/app-nrf9160-wmbus/cellular-iot-payload.md",sourceDirName:"firmware/app-nrf9160-wmbus",slug:"/firmware/app-nrf9160-wmbus/cellular-iot-payload",permalink:"/iot/firmware/app-nrf9160-wmbus/cellular-iot-payload",draft:!1,unlisted:!1,editUrl:"https://github.com/lobaro/iot/tree/master/docs/firmware/app-nrf9160-wmbus/cellular-iot-payload.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6,displayed_sidebar:"firmwareSidebar",title:"Cellular IoT Payload Formats"},sidebar:"firmwareSidebar",previous:{title:"LoRaWAN Payload Formats",permalink:"/iot/firmware/app-nrf9160-wmbus/lorawan-payload"},next:{title:"Compatible Hardware",permalink:"/iot/firmware/app-nrf9160-wmbus/compatible-hardware"}},s={},d=[];function p(a){const r={h1:"h1",...(0,o.R)(),...a.components};return(0,t.jsx)(r.h1,{id:"cellular-iot-payload-formats",children:"Cellular IoT Payload Formats"})}function u(a={}){const{wrapper:r}={...(0,o.R)(),...a.components};return r?(0,t.jsx)(r,{...a,children:(0,t.jsx)(p,{...a})}):p(a)}},8453:(a,r,e)=>{e.d(r,{R:()=>i,x:()=>n});var t=e(6540);const o={},l=t.createContext(o);function i(a){const r=t.useContext(l);return t.useMemo((function(){return"function"==typeof a?a(r):{...r,...a}}),[r,a])}function n(a){let r;return r=a.disableParentContext?"function"==typeof a.components?a.components(o):a.components||o:i(a.components),t.createElement(l.Provider,{value:r},a.children)}}}]); \ No newline at end of file diff --git a/assets/js/78ac8b3c.027c9b07.js b/assets/js/78ac8b3c.027c9b07.js deleted file mode 100644 index 7e676897..00000000 --- a/assets/js/78ac8b3c.027c9b07.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklobaro_docs=self.webpackChunklobaro_docs||[]).push([[1010],{5009:(e,r,a)=>{a.r(r),a.d(r,{assets:()=>p,contentTitle:()=>n,default:()=>m,frontMatter:()=>i,metadata:()=>s,toc:()=>d});var t=a(4848),o=a(8453);const i={sidebar_position:99,displayed_sidebar:"firmwareSidebar",title:"Compatible Hardware"},n="Compatible Hardware",s={id:"firmware/app-nrf9160-wmbus/compatible-hardware",title:"Compatible Hardware",description:"",source:"@site/docs/firmware/app-nrf9160-wmbus/compatible-hardware.md",sourceDirName:"firmware/app-nrf9160-wmbus",slug:"/firmware/app-nrf9160-wmbus/compatible-hardware",permalink:"/iot/firmware/app-nrf9160-wmbus/compatible-hardware",draft:!1,unlisted:!1,editUrl:"https://github.com/lobaro/iot/tree/master/docs/firmware/app-nrf9160-wmbus/compatible-hardware.md",tags:[],version:"current",sidebarPosition:99,frontMatter:{sidebar_position:99,displayed_sidebar:"firmwareSidebar",title:"Compatible Hardware"},sidebar:"firmwareSidebar",previous:{title:"Cellular IoT Payload Formats",permalink:"/iot/firmware/app-nrf9160-wmbus/cellular-iot-payload"},next:{title:"Changelog & Updates",permalink:"/iot/firmware/app-nrf9160-wmbus/changelog-download"}},p={},d=[];function l(e){const r={h1:"h1",...(0,o.R)(),...e.components};return(0,t.jsx)(r.h1,{id:"compatible-hardware",children:"Compatible Hardware"})}function m(e={}){const{wrapper:r}={...(0,o.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},8453:(e,r,a)=>{a.d(r,{R:()=>n,x:()=>s});var t=a(6540);const o={},i=t.createContext(o);function n(e){const r=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function s(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),t.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/78ac8b3c.409b488c.js b/assets/js/78ac8b3c.409b488c.js new file mode 100644 index 00000000..18d5e37d --- /dev/null +++ b/assets/js/78ac8b3c.409b488c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklobaro_docs=self.webpackChunklobaro_docs||[]).push([[1010],{5009:(e,r,a)=>{a.r(r),a.d(r,{assets:()=>p,contentTitle:()=>n,default:()=>d,frontMatter:()=>i,metadata:()=>s,toc:()=>m});var t=a(4848),o=a(8453);const i={sidebar_position:99,displayed_sidebar:"firmwareSidebar",title:"Compatible Hardware"},n="Compatible Hardware",s={id:"firmware/app-nrf9160-wmbus/compatible-hardware",title:"Compatible Hardware",description:"",source:"@site/docs/firmware/app-nrf9160-wmbus/compatible-hardware.md",sourceDirName:"firmware/app-nrf9160-wmbus",slug:"/firmware/app-nrf9160-wmbus/compatible-hardware",permalink:"/iot/firmware/app-nrf9160-wmbus/compatible-hardware",draft:!1,unlisted:!1,editUrl:"https://github.com/lobaro/iot/tree/master/docs/firmware/app-nrf9160-wmbus/compatible-hardware.md",tags:[],version:"current",sidebarPosition:99,frontMatter:{sidebar_position:99,displayed_sidebar:"firmwareSidebar",title:"Compatible Hardware"},sidebar:"firmwareSidebar",previous:{title:"Cellular IoT Communication",permalink:"/iot/firmware/app-nrf9160-wmbus/cellular-iot-communication-protocol"},next:{title:"Changelog & Updates",permalink:"/iot/firmware/app-nrf9160-wmbus/changelog-download"}},p={},m=[];function c(e){const r={h1:"h1",...(0,o.R)(),...e.components};return(0,t.jsx)(r.h1,{id:"compatible-hardware",children:"Compatible Hardware"})}function d(e={}){const{wrapper:r}={...(0,o.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},8453:(e,r,a)=>{a.d(r,{R:()=>n,x:()=>s});var t=a(6540);const o={},i=t.createContext(o);function n(e){const r=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function s(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:n(e.components),t.createElement(i.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7ebb515f.d38d4300.js b/assets/js/7ebb515f.d38d4300.js new file mode 100644 index 00000000..d28599c0 --- /dev/null +++ b/assets/js/7ebb515f.d38d4300.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunklobaro_docs=self.webpackChunklobaro_docs||[]).push([[8344],{3361:(o,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>n,metadata:()=>c,toc:()=>m});var e=r(4848),i=r(8453);const n={sidebar_position:6,displayed_sidebar:"firmwareSidebar",title:"Cellular IoT Communication"},a="Cellular IoT Communication",c={id:"firmware/app-nrf9160-wmbus/cellular-iot-communication-protocol",title:"Cellular IoT Communication",description:"",source:"@site/docs/firmware/app-nrf9160-wmbus/cellular-iot-communication-protocol.md",sourceDirName:"firmware/app-nrf9160-wmbus",slug:"/firmware/app-nrf9160-wmbus/cellular-iot-communication-protocol",permalink:"/iot/firmware/app-nrf9160-wmbus/cellular-iot-communication-protocol",draft:!1,unlisted:!1,editUrl:"https://github.com/lobaro/iot/tree/master/docs/firmware/app-nrf9160-wmbus/cellular-iot-communication-protocol.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6,displayed_sidebar:"firmwareSidebar",title:"Cellular IoT Communication"},sidebar:"firmwareSidebar",previous:{title:"LoRaWAN Communication",permalink:"/iot/firmware/app-nrf9160-wmbus/lorawan-communication-protocol"},next:{title:"Compatible Hardware",permalink:"/iot/firmware/app-nrf9160-wmbus/compatible-hardware"}},l={},m=[];function s(o){const t={h1:"h1",...(0,i.R)(),...o.components};return(0,e.jsx)(t.h1,{id:"cellular-iot-communication",children:"Cellular IoT Communication"})}function u(o={}){const{wrapper:t}={...(0,i.R)(),...o.components};return t?(0,e.jsx)(t,{...o,children:(0,e.jsx)(s,{...o})}):s(o)}},8453:(o,t,r)=>{r.d(t,{R:()=>a,x:()=>c});var e=r(6540);const i={},n=e.createContext(i);function a(o){const t=e.useContext(n);return e.useMemo((function(){return"function"==typeof o?o(t):{...t,...o}}),[t,o])}function c(o){let t;return t=o.disableParentContext?"function"==typeof o.components?o.components(i):o.components||i:a(o.components),e.createElement(n.Provider,{value:t},o.children)}}}]); \ No newline at end of file diff --git a/assets/js/90650a0c.6898cbad.js b/assets/js/90650a0c.6898cbad.js deleted file mode 100644 index ad06ddd3..00000000 --- a/assets/js/90650a0c.6898cbad.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunklobaro_docs=self.webpackChunklobaro_docs||[]).push([[1065],{5413:(a,r,o)=>{o.r(r),o.d(r,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>n,metadata:()=>s,toc:()=>d});var e=o(4848),t=o(8453);const n={sidebar_position:5,displayed_sidebar:"firmwareSidebar",title:"LoRaWAN Payload Formats"},i="LoRaWAN Payload Formats",s={id:"firmware/app-nrf9160-wmbus/lorawan-payload",title:"LoRaWAN Payload Formats",description:"",source:"@site/docs/firmware/app-nrf9160-wmbus/lorawan-payload.md",sourceDirName:"firmware/app-nrf9160-wmbus",slug:"/firmware/app-nrf9160-wmbus/lorawan-payload",permalink:"/iot/firmware/app-nrf9160-wmbus/lorawan-payload",draft:!1,unlisted:!1,editUrl:"https://github.com/lobaro/iot/tree/master/docs/firmware/app-nrf9160-wmbus/lorawan-payload.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5,displayed_sidebar:"firmwareSidebar",title:"LoRaWAN Payload Formats"},sidebar:"firmwareSidebar",previous:{title:"Configuration Parameter",permalink:"/iot/firmware/app-nrf9160-wmbus/configuration-parameter"},next:{title:"Cellular IoT Payload Formats",permalink:"/iot/firmware/app-nrf9160-wmbus/cellular-iot-payload"}},l={},d=[];function p(a){const r={h1:"h1",...(0,t.R)(),...a.components};return(0,e.jsx)(r.h1,{id:"lorawan-payload-formats",children:"LoRaWAN Payload Formats"})}function m(a={}){const{wrapper:r}={...(0,t.R)(),...a.components};return r?(0,e.jsx)(r,{...a,children:(0,e.jsx)(p,{...a})}):p(a)}},8453:(a,r,o)=>{o.d(r,{R:()=>i,x:()=>s});var e=o(6540);const t={},n=e.createContext(t);function i(a){const r=e.useContext(n);return e.useMemo((function(){return"function"==typeof a?a(r):{...r,...a}}),[r,a])}function s(a){let r;return r=a.disableParentContext?"function"==typeof a.components?a.components(t):a.components||t:i(a.components),e.createElement(n.Provider,{value:r},a.children)}}}]); \ No newline at end of file diff --git a/assets/js/cb1c94ae.178ba978.js b/assets/js/cb1c94ae.178ba978.js deleted file mode 100644 index c2d8069c..00000000 --- a/assets/js/cb1c94ae.178ba978.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunklobaro_docs=self.webpackChunklobaro_docs||[]).push([[6697],{2921:(e,t,n)=>{e.exports={src:{srcSet:n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.5657b49.300.png 300w,"+n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.59c994d.600.png 600w,"+n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.5c8d911.900.png 900w,"+n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.a71ede1.1108.png 1108w",images:[{path:n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.5657b49.300.png",width:300,height:86},{path:n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.59c994d.600.png",width:600,height:171},{path:n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.5c8d911.900.png",width:900,height:257},{path:n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.a71ede1.1108.png",width:1108,height:316}],src:n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.5657b49.300.png",toString:function(){return n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.5657b49.300.png"},placeholder:void 0,width:300,height:86},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAADCAYAAACqPZ51AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAdUlEQVR4nDXDuwrCMABA0fz/h4gEHBTsKFUQBKsRN62IivRBk9QYstg2Vxw8cEThLKVpGEnJcjYl7HdY71HnK/n9ydFFcvdBSLVinKUkhw2n2wX8m0dRMVmsSbeKedmR2Q7RDwN9jGhjqOqaRmv0b/sihMDfF5ftbOzIpZURAAAAAElFTkSuQmCC"}},1728:(e,t,n)=>{"use strict";n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>a,frontMatter:()=>d,metadata:()=>s,toc:()=>o});var i=n(4848),l=n(8453);const d={sidebar_position:1,displayed_sidebar:"firmwareSidebar",title:"Configuration Parameter"},r="Configuration",s={id:"firmware/app-nrf9160-wmbus/configuration-parameter",title:"Configuration Parameter",description:"On this page all possible configuration parameter of the firmware are presented. Usually the internal defaults work",source:"@site/docs/firmware/app-nrf9160-wmbus/configuration-parameter.md",sourceDirName:"firmware/app-nrf9160-wmbus",slug:"/firmware/app-nrf9160-wmbus/configuration-parameter",permalink:"/iot/firmware/app-nrf9160-wmbus/configuration-parameter",draft:!1,unlisted:!1,editUrl:"https://github.com/lobaro/iot/tree/master/docs/firmware/app-nrf9160-wmbus/configuration-parameter.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,displayed_sidebar:"firmwareSidebar",title:"Configuration Parameter"},sidebar:"firmwareSidebar",previous:{title:"Introduction",permalink:"/iot/firmware/app-nrf9160-wmbus/introduction"},next:{title:"LoRaWAN Payload Formats",permalink:"/iot/firmware/app-nrf9160-wmbus/lorawan-payload"}},c={},o=[{value:"Firmware Configuration Parameter",id:"firmware-configuration-parameter",level:2},{value:"General",id:"general",level:3},{value:"WAN",id:"wan",level:4},{value:"Meter Scanning",id:"meter-scanning",level:3},{value:"listenCron",id:"listencron",level:4},{value:"cmodeDurSec smodeDurSec xmodeDurSec umodeDurSec",id:"durations",level:4},{value:"devFilter ciFilter mFilter typFilter",id:"filter",level:4},{value:"maxTelegrams",id:"maxtelegrams",level:4},{value:"LTE Connection",id:"lte-connection",level:3},{value:"Host",id:"platformhost",level:4},{value:"APN Operator Band",id:"lteparam",level:4},{value:"UseNbiot UseLtem",id:"ltenet",level:4},{value:"UdpHost UdpPort",id:"plainUdp",level:4},{value:"LoRaWAN Connection",id:"lorawan-connection",level:3},{value:"PayloadFormat",id:"payloadformat",level:4},{value:"Special",id:"special",level:3}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,l.R)(),...e.components},{Image:d}=t;return d||function(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Image",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{id:"configuration",children:"Configuration"}),"\n",(0,i.jsx)(t.p,{children:"On this page all possible configuration parameter of the firmware are presented. Usually the internal defaults work\nquite well to get the device up and running."}),"\n",(0,i.jsx)(t.admonition,{title:"Customer specific configuration",type:"note",children:(0,i.jsx)(t.p,{children:"For larger orders Lobaro can apply a custom customer specific configuration for all parameter before\ndelivery."})}),"\n",(0,i.jsx)(t.h2,{id:"firmware-configuration-parameter",children:"Firmware Configuration Parameter"}),"\n",(0,i.jsx)(t.h3,{id:"general",children:"General"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Key"}),(0,i.jsx)(t.th,{children:"Type"}),(0,i.jsx)(t.th,{children:"Possible Values"}),(0,i.jsx)(t.th,{style:{textAlign:"center"},children:"Default"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LTE / LoRaWAN Selection"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#wan",children:(0,i.jsx)(t.code,{children:"WAN"})})}),(0,i.jsx)(t.td,{children:"String"}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:"true"})," or ",(0,i.jsx)(t.code,{children:"false"})]}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(t.code,{children:"lte"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Days without Connectivity until Device Reset"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"LostReboot "})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["Any, e.g. ",(0,i.jsx)(t.code,{children:"3"})]}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(t.code,{children:"5"})})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"wan",children:(0,i.jsx)(t.code,{children:"WAN"})}),"\n",(0,i.jsx)(t.p,{children:"Technology used for connection and data uplinks to backend. This can be either cellular LTE (NB-IoT, LTE-M) or LoRaWAN"}),"\n",(0,i.jsx)(d,{alt:"Lobaro Hybrid Connectivity LoRaWAN, NB-IoT, LTE-M",img:n(2921),style:{width:"30%",paddingTop:"5px",paddingBottom:"5px"}}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"lte"}),": use either cellular NB-IoT or LTE-M"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.strong,{children:"lorawan"}),": use LoRaWAN with OTAA"]}),"\n"]}),"\n",(0,i.jsx)(t.admonition,{type:"note",children:(0,i.jsx)(t.p,{children:"All Lobaro products can be switched between mobile radio operation and LoRaWAN using this parameter alone."})}),"\n",(0,i.jsx)(t.h3,{id:"meter-scanning",children:"Meter Scanning"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Key"}),(0,i.jsx)(t.th,{children:"Type"}),(0,i.jsx)(t.th,{children:"Possible Values"}),(0,i.jsx)(t.th,{children:"Default"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"WMBUS Listen Cron [UTC+0]"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#listencron",children:(0,i.jsx)(t.code,{children:"listenCron "})})}),(0,i.jsx)(t.td,{children:"String"}),(0,i.jsxs)(t.td,{children:["Any ",(0,i.jsx)(t.a,{href:"/iot/configuration/cron-configuration",children:"CRON"})," String"]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"0 0 12 * * *"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"WMBUS C1/T1 Listen Duration [s]"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#durations",children:(0,i.jsx)(t.code,{children:"cmodeDurSec "})})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["Any second value",(0,i.jsx)("br",{}),(0,i.jsx)(t.code,{children:"0"})," = Do not collect C1/T1",(0,i.jsx)("br",{}),"Max Value=",(0,i.jsx)(t.code,{children:"36000"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"300"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"WMBUS S1 Listen Duration [s]"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#durations",children:(0,i.jsx)(t.code,{children:"smodeDurSec "})})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["Any second value",(0,i.jsx)("br",{}),(0,i.jsx)(t.code,{children:"0"})," = Do not collect S1",(0,i.jsx)("br",{}),"Max Value=",(0,i.jsx)(t.code,{children:"36000"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"0"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Sensus RF Listen Duration [s]"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#durations",children:(0,i.jsx)(t.code,{children:"xmodeDurSec "})})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["Any second value",(0,i.jsx)("br",{}),(0,i.jsx)(t.code,{children:"0"})," = Do not collect X-Mode",(0,i.jsx)("br",{}),"Max Value=",(0,i.jsx)(t.code,{children:"36000"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"0"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"M\xfcller-Funk Listen Duration [s]"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#durations",children:(0,i.jsx)(t.code,{children:"umodeDurSec "})})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["Any second value",(0,i.jsx)("br",{}),(0,i.jsx)(t.code,{children:"0"})," = Do not collect U-Mode",(0,i.jsx)("br",{}),"Max Value=",(0,i.jsx)(t.code,{children:"36000"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"0"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"WMBUS ID Filter List"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#filter",children:(0,i.jsx)(t.code,{children:"devFilter"})})}),(0,i.jsx)(t.td,{children:"String"}),(0,i.jsxs)(t.td,{children:["List, e.g.",(0,i.jsx)("br",{}),(0,i.jsx)(t.code,{children:"88009035,13456035"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[not set]"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"WMBUS Type Filter List"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#filter",children:(0,i.jsx)(t.code,{children:"typFilter "})})}),(0,i.jsx)(t.td,{children:"String"}),(0,i.jsxs)(t.td,{children:["List, e.g.",(0,i.jsx)("br",{}),(0,i.jsx)(t.code,{children:"08,07"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[not set]"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"WMBUS M-Field Filter List"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#filter",children:(0,i.jsx)(t.code,{children:"mFilter "})})}),(0,i.jsx)(t.td,{children:"String"}),(0,i.jsxs)(t.td,{children:["List, e.g.",(0,i.jsx)("br",{})," ",(0,i.jsx)(t.code,{children:"DME,ITW,SEN,QDS"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[not set]"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"WMBUS CI-Field Filter List"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#filter",children:(0,i.jsx)(t.code,{children:"ciFilter"})})}),(0,i.jsx)(t.td,{children:"String"}),(0,i.jsxs)(t.td,{children:["List, e.g.",(0,i.jsx)("br",{}),(0,i.jsx)(t.code,{children:"8a,72"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[not set]"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"WMBUS Telegram Upload Limit"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#maxtelegrams",children:(0,i.jsx)(t.code,{children:"maxTelegrams"})})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["Any number of max. Telegrams",(0,i.jsx)("br",{}),(0,i.jsx)(t.code,{children:"0"})," = no limit."]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"0"})})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"listencron",children:(0,i.jsx)(t.code,{children:"listenCron"})}),"\n",(0,i.jsx)(t.p,{children:"The listen cron defines when the device wakes up to receive the enabled wireless M-BUS and other radio protocols. Each\nlisten period is followed by uploading the data over the configured WAN technology. The interval strongly depends on the\nproducts power supply and the application demand of new metering data. Typical values range from every 15 minutes to 14\ndays."}),"\n",(0,i.jsx)(t.admonition,{title:"in depth description",type:"tip",children:(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"/iot/configuration/cron-configuration",children:"Read more"})," about CRON configuration parameterization."]})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsxs)(t.h4,{id:"durations",children:[(0,i.jsx)(t.code,{children:"cmodeDurSec"})," ",(0,i.jsx)(t.code,{children:"smodeDurSec"})," ",(0,i.jsx)(t.code,{children:"xmodeDurSec"})," ",(0,i.jsx)(t.code,{children:"umodeDurSec"})]}),"\n",(0,i.jsxs)(t.p,{children:["Duration in seconds, e.g. ",(0,i.jsx)(t.code,{children:"300"})," (5 minutes), to collect metering data in corresponding wireless protocol. All list\nperiods are executed one after the other for the time period defined by the respective parameter."]}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsxs)(t.h4,{id:"filter",children:[(0,i.jsx)(t.code,{children:"devFilter"})," ",(0,i.jsx)(t.code,{children:"ciFilter"})," ",(0,i.jsx)(t.code,{children:"mFilter"})," ",(0,i.jsx)(t.code,{children:"typFilter"})]}),"\n",(0,i.jsx)(t.p,{children:"Filter meters to be be collected and uploaded by wireless M-BUS related fields."}),"\n",(0,i.jsx)(t.admonition,{title:"in depth description",type:"tip",children:(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"/iot/configuration/meter-reception-filter-config",children:"Read more"})," about telegram filtering."]})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h4,{id:"maxtelegrams",children:(0,i.jsx)(t.code,{children:"maxTelegrams"})}),"\n",(0,i.jsx)(t.p,{children:"Set hard limit on how many telegrams will be collected and uploaded. The firmware will stop collection, once this number\nhas been collected, regardless of the passed time. Can be used save battery / data volume, should the device be in an\narea with a large number of meters."}),"\n",(0,i.jsx)(t.h3,{id:"lte-connection",children:"LTE Connection"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Key"}),(0,i.jsx)(t.th,{children:"Type"}),(0,i.jsx)(t.th,{children:"Possible Values"}),(0,i.jsx)(t.th,{children:"Default"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LTE Lobaro Platform Host"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#platformhost",children:(0,i.jsx)(t.code,{children:"Host "})})}),(0,i.jsx)(t.td,{children:"IP / URL"}),(0,i.jsx)(t.td,{children:"List of various Endpoints"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"coaps://platform.lobaro.com"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LTE MCC+MNC Code"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#lteparam",children:(0,i.jsx)(t.code,{children:"Operator "})})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["e.g. ",(0,i.jsx)(t.code,{children:"26201"})," (Dt. Telekom)"]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[not set]"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LTE Band"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#lteparam",children:(0,i.jsx)(t.code,{children:"Band "})})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:"3"})," or ",(0,i.jsx)(t.code,{children:"8,20"})," or ",(0,i.jsx)(t.code,{children:"3,8,20"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"3,8,20"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LTE APN"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#lteparam",children:(0,i.jsx)(t.code,{children:"APN "})})}),(0,i.jsx)(t.td,{children:"String"}),(0,i.jsx)(t.td,{children:"any APN"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"*"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LTE NB-IoT on/off"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#ltenet",children:(0,i.jsx)(t.code,{children:"UseNbiot "})})}),(0,i.jsx)(t.td,{children:"Bool"}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:"true"})," or ",(0,i.jsx)(t.code,{children:"false"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"true"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LTE M1 on/off"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#ltenet",children:(0,i.jsx)(t.code,{children:"UseLtem "})})}),(0,i.jsx)(t.td,{children:"Bool"}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:"true"})," or ",(0,i.jsx)(t.code,{children:"false"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"true"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LTE SIM Pin"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"PIN "})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["4 digits pin, e.g. ",(0,i.jsx)(t.code,{children:"1234"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[not set]"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LTE DNS Servers used"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"DNS "})}),(0,i.jsx)(t.td,{children:"IP"}),(0,i.jsx)(t.td,{children:"List of DNS server IPs"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"9.9.9.9,1.1.1.1 "})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Plain UDP Host"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#plainUdp",children:(0,i.jsx)(t.code,{children:"UdpHost "})})}),(0,i.jsx)(t.td,{children:"IP"}),(0,i.jsxs)(t.td,{children:["any, e.g ",(0,i.jsx)(t.code,{children:"94.130.20.37"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[not set]"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Plain UDP Port"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#plainUdp",children:(0,i.jsx)(t.code,{children:"UdpPort "})})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["any, e.g ",(0,i.jsx)(t.code,{children:"3333"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[not set]"})})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"platformhost",children:(0,i.jsx)(t.code,{children:"Host"})}),"\n",(0,i.jsxs)(t.p,{children:["Hostname or IP of the Lobaro Platform instance ",(0,i.jsx)(t.strong,{children:"CoAP endpoint"})," to which the gateway communicates using UDP."]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Using DTLS: ",(0,i.jsx)(t.code,{children:"coaps://platform.lobaro.com"})]}),"\n",(0,i.jsxs)(t.li,{children:["No DTLS: ",(0,i.jsx)(t.code,{children:"coap://platform.lobaro.com"})]}),"\n",(0,i.jsxs)(t.li,{children:["Plain IP: ",(0,i.jsx)(t.code,{children:"94.130.20.37"})," (platform.lobaro.com)"]}),"\n"]}),"\n",(0,i.jsx)(t.admonition,{title:"Host with fallback",type:"tip",children:(0,i.jsxs)(t.p,{children:["It's also possible to configure a list of URLs to implement a fallback mechanism. This is particulary helpful for\ncombining DTLS and non DTLS connection attempts: ",(0,i.jsx)(t.code,{children:"coaps://platform.lobaro.com,coap://platform.lobaro.com "})]})}),"\n",(0,i.jsx)(t.admonition,{title:"Alternative endpoints",type:"info",children:(0,i.jsxs)(t.p,{children:["Other endpoints, e.g. direct ",(0,i.jsx)(t.strong,{children:"MQTT"}),", may be available in some products. Refer to the product specific documentation\nand/or contact Lobaro for details."]})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsxs)(t.h4,{id:"lteparam",children:[(0,i.jsx)(t.code,{children:"APN"})," ",(0,i.jsx)(t.code,{children:"Operator"})," ",(0,i.jsx)(t.code,{children:"Band"})]}),"\n",(0,i.jsxs)(t.p,{children:["Basic params to configure the NB-IoT or LTE-M connection. These parameters must be set in accordance to the SIM card and\nnetwork provider used. Usually the defaults for these parameters work quite well since they allow the modem to select\nand join the network\nusing information on the SIM-card. Nevertheless, if known, the ",(0,i.jsx)(t.code,{children:"APN"})," should be configured."]}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"/iot/configuration/lte-network-configuration",children:"Read more"})," about LTE network configuration parameters."]}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsxs)(t.h4,{id:"ltenet",children:[(0,i.jsx)(t.code,{children:"UseNbiot"})," ",(0,i.jsx)(t.code,{children:"UseLtem"})]}),"\n",(0,i.jsxs)(t.p,{children:["The modem supports both NB-IoT and LTE-M technologies. Usually both are enabled and the cellular modem automatically\ndecides\nwith network type it should use at a specific location in the field. By setting one parameter to ",(0,i.jsx)(t.code,{children:"false"})," you can insist\non\nusing the other technology. At least one parameter must stay enabled, e.g. set to ",(0,i.jsx)(t.code,{children:"true"}),"."]}),"\n",(0,i.jsx)(t.admonition,{type:"warning",children:(0,i.jsxs)(t.p,{children:["On older nRF91 modem firmware (MFW < ",(0,i.jsx)(t.code,{children:"1.3.0"}),") only one of this parameter can be enabled, trying to set both to ",(0,i.jsx)(t.code,{children:"true"}),"\nwill\nresult in selecting just NB-IoT."]})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsxs)(t.h4,{id:"plainUdp",children:[(0,i.jsx)(t.code,{children:"UdpHost"})," ",(0,i.jsx)(t.code,{children:"UdpPort"})]}),"\n",(0,i.jsx)(t.p,{children:"Instead of sending the metering data to the lobaro platform these data can alternatively send to an external UDP socket.\nThis is helpful if you don't want your metering data on any external server but want to control your gateways using the\nLobaro Platform."}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"UdpHost"}),": Separate IP to upload plain telegrams via UDP","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"[not set]"})," = upload to Lobaro IoT Platform using Host parameter address"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"UdpPort"}),": Separate Port to upload plain telegrams via UDP","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"only used when UdpHost is set"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.admonition,{type:"info",children:[(0,i.jsx)(t.p,{children:"Even the metering data is send to an external server the firmware normally still needs a connection a Lobaro Platform\ninstance for sending status information or performing remote configuration / firmware updates."}),(0,i.jsx)(t.p,{children:"If needed contact Lobaro for possible options to handle all communication without our platform, e.g. using direct MQTT\nto an external broker."})]}),"\n",(0,i.jsx)(t.h3,{id:"lorawan-connection",children:"LoRaWAN Connection"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Key"}),(0,i.jsx)(t.th,{children:"Type"}),(0,i.jsx)(t.th,{children:"Possible Values"}),(0,i.jsx)(t.th,{children:"Default"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LoRaWAN DevEUI"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"DevEUI "})}),(0,i.jsx)(t.td,{children:"byte[8]"}),(0,i.jsx)(t.td,{}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LoRaWAN AppEUI / JoinEUI (1.1)"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"JoinEUI "})}),(0,i.jsx)(t.td,{children:"byte[8]"}),(0,i.jsx)(t.td,{}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LoRaWAN AppKey"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"AppKey "})}),(0,i.jsx)(t.td,{children:"byte[16]"}),(0,i.jsx)(t.td,{}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LoRaWAN NwkKey (1.1)"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"NwkKey "})}),(0,i.jsx)(t.td,{children:"byte[16]"}),(0,i.jsx)(t.td,{}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LoRaWAN Days between Timesync"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"TimeSync "})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["any, e.g ",(0,i.jsx)(t.code,{children:"5"})]}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LoRaWAN Payload Format"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#payloadformat",children:(0,i.jsx)(t.code,{children:"PayloadFormat"})})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:"0"}),", ",(0,i.jsx)(t.code,{children:"1"}),", ",(0,i.jsx)(t.code,{children:"2"})]}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LoRaWAN use OTAA"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"OTAA "})}),(0,i.jsx)(t.td,{children:"Bool"}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:"true"})," or ",(0,i.jsx)(t.code,{children:"false"})]}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LoRaWAN Random TX Delay [s]"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"RndDelay "})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["any, e.g. ",(0,i.jsx)(t.code,{children:"10"})]}),(0,i.jsx)(t.td,{children:"0"})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"payloadformat",children:(0,i.jsx)(t.code,{children:"PayloadFormat"})}),"\n",(0,i.jsx)(t.p,{children:"Used encoding of the LoRaWAN uplink payload packets."}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"0"})," = Encoding in ports"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"1"})," = prefix bytes and time"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"2"})," = prefix bytes, time, and rssi"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"special",children:"Special"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Key"}),(0,i.jsx)(t.th,{children:"Type"}),(0,i.jsx)(t.th,{children:"Possible Values"}),(0,i.jsx)(t.th,{style:{textAlign:"center"},children:"Default"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Verbose UART Log"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"verbose "})}),(0,i.jsx)(t.td,{children:"Bool"}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:"true"})," or ",(0,i.jsx)(t.code,{children:"false"})]}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(t.code,{children:"false"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Addon RAM configuration"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"extRam "})}),(0,i.jsx)(t.td,{children:"String"}),(0,i.jsx)(t.td,{children:"Lobaro Internal"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(t.code,{children:"[not set]"})})]})]})]})]})}function a(e={}){const{wrapper:t}={...(0,l.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},8453:(e,t,n)=>{"use strict";n.d(t,{R:()=>r,x:()=>s});var i=n(6540);const l={},d=i.createContext(l);function r(e){const t=i.useContext(d);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),i.createElement(d.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cb1c94ae.4d81fe74.js b/assets/js/cb1c94ae.4d81fe74.js new file mode 100644 index 00000000..565ff87c --- /dev/null +++ b/assets/js/cb1c94ae.4d81fe74.js @@ -0,0 +1 @@ +(self.webpackChunklobaro_docs=self.webpackChunklobaro_docs||[]).push([[6697],{2921:(e,t,n)=>{e.exports={src:{srcSet:n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.5657b49.300.png 300w,"+n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.59c994d.600.png 600w,"+n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.5c8d911.900.png 900w,"+n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.a71ede1.1108.png 1108w",images:[{path:n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.5657b49.300.png",width:300,height:86},{path:n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.59c994d.600.png",width:600,height:171},{path:n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.5c8d911.900.png",width:900,height:257},{path:n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.a71ede1.1108.png",width:1108,height:316}],src:n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.5657b49.300.png",toString:function(){return n.p+"assets/images/ideal-img/Hybrid-Connectivity-highRes.5657b49.300.png"},placeholder:void 0,width:300,height:86},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAADCAYAAACqPZ51AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAdUlEQVR4nDXDuwrCMABA0fz/h4gEHBTsKFUQBKsRN62IivRBk9QYstg2Vxw8cEThLKVpGEnJcjYl7HdY71HnK/n9ydFFcvdBSLVinKUkhw2n2wX8m0dRMVmsSbeKedmR2Q7RDwN9jGhjqOqaRmv0b/sihMDfF5ftbOzIpZURAAAAAElFTkSuQmCC"}},1728:(e,t,n)=>{"use strict";n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>d,metadata:()=>s,toc:()=>o});var i=n(4848),l=n(8453);const d={sidebar_position:1,displayed_sidebar:"firmwareSidebar",title:"Configuration Parameter"},r="Configuration",s={id:"firmware/app-nrf9160-wmbus/configuration-parameter",title:"Configuration Parameter",description:"On this page all common configuration parameters of the firmware are presented. Usually the internal defaults work",source:"@site/docs/firmware/app-nrf9160-wmbus/configuration-parameter.md",sourceDirName:"firmware/app-nrf9160-wmbus",slug:"/firmware/app-nrf9160-wmbus/configuration-parameter",permalink:"/iot/firmware/app-nrf9160-wmbus/configuration-parameter",draft:!1,unlisted:!1,editUrl:"https://github.com/lobaro/iot/tree/master/docs/firmware/app-nrf9160-wmbus/configuration-parameter.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,displayed_sidebar:"firmwareSidebar",title:"Configuration Parameter"},sidebar:"firmwareSidebar",previous:{title:"Introduction",permalink:"/iot/firmware/app-nrf9160-wmbus/introduction"},next:{title:"LoRaWAN Communication",permalink:"/iot/firmware/app-nrf9160-wmbus/lorawan-communication-protocol"}},c={},o=[{value:"Firmware Configuration Parameter",id:"firmware-configuration-parameter",level:2},{value:"General",id:"general",level:3},{value:"WAN",id:"wan",level:4},{value:"Limitations in LoRaWAN vs. NB-IoT / LTE-M",id:"limitations-in-lorawan-vs-nb-iot--lte-m",level:4},{value:"Meter Scanning",id:"meter-scanning",level:3},{value:"listenCron",id:"listencron",level:4},{value:"cmodeDurSec smodeDurSec xmodeDurSec umodeDurSec",id:"durations",level:4},{value:"devFilter ciFilter mFilter typFilter",id:"filter",level:4},{value:"maxTelegrams",id:"maxtelegrams",level:4},{value:"LTE Connection",id:"lte-connection",level:3},{value:"Host",id:"platformhost",level:4},{value:"APN Operator Band",id:"lteparam",level:4},{value:"UseNbiot UseLtem",id:"ltenet",level:4},{value:"UdpHost UdpPort",id:"plainUdp",level:4},{value:"LoRaWAN Connection",id:"lorawan-connection",level:3},{value:"PayloadFormat",id:"payloadformat",level:4},{value:"Special",id:"special",level:3}];function a(e){const t={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",h4:"h4",hr:"hr",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,l.R)(),...e.components},{Image:d}=t;return d||function(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Image",!0),(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h1,{id:"configuration",children:"Configuration"}),"\n",(0,i.jsx)(t.p,{children:"On this page all common configuration parameters of the firmware are presented. Usually the internal defaults work\nquite well to get the device up and running."}),"\n",(0,i.jsx)(t.admonition,{title:"Customer specific configuration",type:"note",children:(0,i.jsx)(t.p,{children:"For larger orders Lobaro can apply a custom customer specific configuration for all parameter before\ndelivery."})}),"\n",(0,i.jsx)(t.h2,{id:"firmware-configuration-parameter",children:"Firmware Configuration Parameter"}),"\n",(0,i.jsx)(t.admonition,{title:"Product specific parameters possible",type:"info",children:(0,i.jsx)(t.p,{children:"The described configuration parameters are common for all products running this firmware. Nevertheless some products may\nadd additional parameters or alter the here described parameters, e.g. some allow additional values to be set. In any case the documentation of the specific product takes precedence over this general description and should\nalso be read with care."})}),"\n",(0,i.jsx)(t.h3,{id:"general",children:"General"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Key"}),(0,i.jsx)(t.th,{children:"Type"}),(0,i.jsx)(t.th,{children:"Possible Values"}),(0,i.jsx)(t.th,{style:{textAlign:"center"},children:"Default"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LTE / LoRaWAN Selection"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#wan",children:(0,i.jsx)(t.code,{children:"WAN"})})}),(0,i.jsx)(t.td,{children:"String"}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:"lte"})," or ",(0,i.jsx)(t.code,{children:"lorawan"})]}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(t.code,{children:"lte"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Days Without Connectivity Until Device Reset"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"LostReboot "})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["Any, e.g. ",(0,i.jsx)(t.code,{children:"3"})]}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(t.code,{children:"5"})})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"wan",children:(0,i.jsx)(t.code,{children:"WAN"})}),"\n",(0,i.jsx)(t.p,{children:"LPWAN technology used for connection and data communication with the backend server. This can be either cellular LTE (\nNB-IoT, LTE-M) or LoRaWAN."}),"\n",(0,i.jsx)(d,{alt:"Lobaro Hybrid Connectivity LoRaWAN, NB-IoT, LTE-M",img:n(2921),style:{width:"40%",paddingTop:"5px",paddingBottom:"5px"}}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"lte"}),": use either cellular NB-IoT or LTE-M"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"lorawan"}),": use LoRaWAN with OTAA (over the air activation)"]}),"\n"]}),"\n",(0,i.jsx)(t.h4,{id:"limitations-in-lorawan-vs-nb-iot--lte-m",children:"Limitations in LoRaWAN vs. NB-IoT / LTE-M"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["LoRaWAN Uplinks and Downlinks are limited to 52-222 Bytes depending on the Spreading Factor (Connection Quality).","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Uplink with (longer) wMBUS Telegrams might be split over multiple LoRaWAN Messages."}),"\n",(0,i.jsx)(t.li,{children:"Uplinks of many wMBUS telegrams might take a long period of time due to duty-cycle limitations of LoRaWAN."}),"\n",(0,i.jsx)(t.li,{children:"Downlinks with big configuration values (e.g. long whitelist) must be split over multiple Downlinks which might be\ndifficult to implement."}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["Limited amount of meta-data:","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Less information in status telegram, due to reduced uplink channel capacity."}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"meter-scanning",children:"Meter Scanning"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Key"}),(0,i.jsx)(t.th,{children:"Type"}),(0,i.jsx)(t.th,{children:"Possible Values"}),(0,i.jsxs)(t.th,{children:["Default",(0,i.jsx)("div",{style:{width:"120px"}})]})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"WMBUS Listen Cron [UTC+0]"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#listencron",children:(0,i.jsx)(t.code,{children:"listenCron "})})}),(0,i.jsx)(t.td,{children:"String"}),(0,i.jsxs)(t.td,{children:["Any ",(0,i.jsx)(t.a,{href:"/iot/configuration/cron-configuration",children:"CRON"})," String"]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"0 0 12 * * *"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"WMBUS C1/T1 Listen Duration [s]"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#durations",children:(0,i.jsx)(t.code,{children:"cmodeDurSec "})})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["Any second value",(0,i.jsx)("br",{}),(0,i.jsx)(t.code,{children:"0"})," = Do not collect C1/T1",(0,i.jsx)("br",{}),"Max Value=",(0,i.jsx)(t.code,{children:"36000"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"300"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"WMBUS S1 Listen Duration [s]"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#durations",children:(0,i.jsx)(t.code,{children:"smodeDurSec "})})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["Any second value",(0,i.jsx)("br",{}),(0,i.jsx)(t.code,{children:"0"})," = Do not collect S1",(0,i.jsx)("br",{}),"Max Value=",(0,i.jsx)(t.code,{children:"36000"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"0"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Sensus RF Listen Duration [s]"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#durations",children:(0,i.jsx)(t.code,{children:"xmodeDurSec "})})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["Any second value",(0,i.jsx)("br",{}),(0,i.jsx)(t.code,{children:"0"})," = Do not collect X-Mode",(0,i.jsx)("br",{}),"Max Value=",(0,i.jsx)(t.code,{children:"36000"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"0"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"M\xfcller-Funk Listen Duration [s]"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#durations",children:(0,i.jsx)(t.code,{children:"umodeDurSec "})})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["Any second value",(0,i.jsx)("br",{}),(0,i.jsx)(t.code,{children:"0"})," = Do not collect U-Mode",(0,i.jsx)("br",{}),"Max Value=",(0,i.jsx)(t.code,{children:"36000"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"0"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"WMBUS ID Filter List"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#filter",children:(0,i.jsx)(t.code,{children:"devFilter"})})}),(0,i.jsx)(t.td,{children:"String"}),(0,i.jsxs)(t.td,{children:["List, e.g.",(0,i.jsx)("br",{}),(0,i.jsx)(t.code,{children:"88009035,13456035"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[not set]"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"WMBUS Type Filter List"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#filter",children:(0,i.jsx)(t.code,{children:"typFilter "})})}),(0,i.jsx)(t.td,{children:"String"}),(0,i.jsxs)(t.td,{children:["List, e.g.",(0,i.jsx)("br",{}),(0,i.jsx)(t.code,{children:"08,07"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[not set]"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"WMBUS M-Field Filter List"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#filter",children:(0,i.jsx)(t.code,{children:"mFilter "})})}),(0,i.jsx)(t.td,{children:"String"}),(0,i.jsxs)(t.td,{children:["List, e.g.",(0,i.jsx)("br",{})," ",(0,i.jsx)(t.code,{children:"DME,ITW,SEN,QDS"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[not set]"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"WMBUS CI-Field Filter List"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#filter",children:(0,i.jsx)(t.code,{children:"ciFilter"})})}),(0,i.jsx)(t.td,{children:"String"}),(0,i.jsxs)(t.td,{children:["List, e.g.",(0,i.jsx)("br",{}),(0,i.jsx)(t.code,{children:"8a,72"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[not set]"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"WMBUS Telegram Upload Limit"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#maxtelegrams",children:(0,i.jsx)(t.code,{children:"maxTelegrams"})})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["Any number of max. Telegrams",(0,i.jsx)("br",{}),(0,i.jsx)(t.code,{children:"0"})," = no limit."]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"0"})})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"listencron",children:(0,i.jsx)(t.code,{children:"listenCron"})}),"\n",(0,i.jsx)(t.p,{children:"The listen cron defines when the device wakes up to receive the enabled wireless M-BUS and other radio protocols. Each\nlisten period is followed by uploading the data over the configured WAN technology. A reasonable interval strongly\ndepends on the\nproducts power supply (battery vs. external powered) and the application demand of new metering data. Typical values\nrange from every 15 minutes to 14\ndays between consecutive readouts."}),"\n",(0,i.jsx)(t.admonition,{title:"in depth description",type:"tip",children:(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"/iot/configuration/cron-configuration",children:"Read more"})," about CRON parameterization."]})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsxs)(t.h4,{id:"durations",children:[(0,i.jsx)(t.code,{children:"cmodeDurSec"})," ",(0,i.jsx)(t.code,{children:"smodeDurSec"})," ",(0,i.jsx)(t.code,{children:"xmodeDurSec"})," ",(0,i.jsx)(t.code,{children:"umodeDurSec"})]}),"\n",(0,i.jsxs)(t.p,{children:["Duration in seconds, e.g. ",(0,i.jsx)(t.code,{children:"300"})," (5 minutes), to collect metering data in corresponding wireless protocol. All listening\nperiods are executed one after the other for the duration defined. Afterwards all collected meter telegrams will be\ntransmitted using the configured ",(0,i.jsx)(t.code,{children:"WAN"})," technology."]}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsxs)(t.h4,{id:"filter",children:[(0,i.jsx)(t.code,{children:"devFilter"})," ",(0,i.jsx)(t.code,{children:"ciFilter"})," ",(0,i.jsx)(t.code,{children:"mFilter"})," ",(0,i.jsx)(t.code,{children:"typFilter"})]}),"\n",(0,i.jsx)(t.p,{children:"Filter meters to be be collected and uploaded by wireless M-BUS related fields."}),"\n",(0,i.jsx)(t.admonition,{title:"in depth description",type:"tip",children:(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"/iot/configuration/meter-reception-filter-config",children:"Read more"})," about telegram filter parameterization."]})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsx)(t.h4,{id:"maxtelegrams",children:(0,i.jsx)(t.code,{children:"maxTelegrams"})}),"\n",(0,i.jsx)(t.p,{children:"Set hard limit on how many telegrams will be collected and uploaded. The firmware will stop collection, once this number\nhas been collected, regardless of the passed time. Can be used save battery / data volume, should the device be in an\narea with a large number of meters."}),"\n",(0,i.jsx)(t.h3,{id:"lte-connection",children:"LTE Connection"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Key"}),(0,i.jsx)(t.th,{children:"Type"}),(0,i.jsx)(t.th,{children:"Possible Values"}),(0,i.jsx)(t.th,{children:"Default"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LTE Lobaro Platform Host"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#platformhost",children:(0,i.jsx)(t.code,{children:"Host "})})}),(0,i.jsx)(t.td,{children:"IP / URL"}),(0,i.jsx)(t.td,{children:"List of various Endpoints"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"coaps://platform.lobaro.com"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LTE MCC+MNC Code"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#lteparam",children:(0,i.jsx)(t.code,{children:"Operator "})})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["e.g. ",(0,i.jsx)(t.code,{children:"26201"})," (Dt. Telekom)"]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[not set]"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LTE Band"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#lteparam",children:(0,i.jsx)(t.code,{children:"Band "})})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:"3"})," or ",(0,i.jsx)(t.code,{children:"8,20"})," or ",(0,i.jsx)(t.code,{children:"3,8,20"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"3,8,20"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LTE APN"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#lteparam",children:(0,i.jsx)(t.code,{children:"APN "})})}),(0,i.jsx)(t.td,{children:"String"}),(0,i.jsx)(t.td,{children:"any APN"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"*"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LTE NB-IoT on/off"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#ltenet",children:(0,i.jsx)(t.code,{children:"UseNbiot "})})}),(0,i.jsx)(t.td,{children:"Bool"}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:"true"})," or ",(0,i.jsx)(t.code,{children:"false"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"true"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LTE M1 on/off"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#ltenet",children:(0,i.jsx)(t.code,{children:"UseLtem "})})}),(0,i.jsx)(t.td,{children:"Bool"}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:"true"})," or ",(0,i.jsx)(t.code,{children:"false"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"true"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LTE SIM Pin"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"PIN "})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["4 digits pin, e.g. ",(0,i.jsx)(t.code,{children:"1234"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[not set]"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LTE DNS Servers used"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"DNS "})}),(0,i.jsx)(t.td,{children:"IP"}),(0,i.jsx)(t.td,{children:"List of DNS server IPs"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"9.9.9.9,1.1.1.1 "})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Plain UDP Host"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#plainUdp",children:(0,i.jsx)(t.code,{children:"UdpHost "})})}),(0,i.jsx)(t.td,{children:"IP"}),(0,i.jsxs)(t.td,{children:["any, e.g ",(0,i.jsx)(t.code,{children:"94.130.20.37"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[not set]"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Plain UDP Port"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#plainUdp",children:(0,i.jsx)(t.code,{children:"UdpPort "})})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["any, e.g ",(0,i.jsx)(t.code,{children:"3333"})]}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.code,{children:"[not set]"})})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"platformhost",children:(0,i.jsx)(t.code,{children:"Host"})}),"\n",(0,i.jsxs)(t.p,{children:["Hostname or IP of the Lobaro Platform instance ",(0,i.jsx)(t.strong,{children:"CoAP endpoint"})," to which the gateway communicates using UDP."]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Using DTLS: ",(0,i.jsx)(t.code,{children:"coaps://platform.lobaro.com"})]}),"\n",(0,i.jsxs)(t.li,{children:["No DTLS: ",(0,i.jsx)(t.code,{children:"coap://platform.lobaro.com"})]}),"\n",(0,i.jsxs)(t.li,{children:["Plain IP: ",(0,i.jsx)(t.code,{children:"94.130.20.37"})," (platform.lobaro.com)"]}),"\n"]}),"\n",(0,i.jsx)(t.admonition,{title:"Host with fallback",type:"tip",children:(0,i.jsxs)(t.p,{children:["It's also possible to configure a list of URLs to implement a fallback mechanism. This is particulary helpful for\ncombining DTLS and non DTLS connection attempts: ",(0,i.jsx)(t.code,{children:"coaps://platform.lobaro.com,coap://platform.lobaro.com "})]})}),"\n",(0,i.jsx)(t.admonition,{title:"Alternative endpoints",type:"info",children:(0,i.jsxs)(t.p,{children:["Other endpoints, e.g. direct ",(0,i.jsx)(t.strong,{children:"MQTT"}),", may be available in some products. Refer to the product specific documentation\nand/or contact Lobaro for details."]})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsxs)(t.h4,{id:"lteparam",children:[(0,i.jsx)(t.code,{children:"APN"})," ",(0,i.jsx)(t.code,{children:"Operator"})," ",(0,i.jsx)(t.code,{children:"Band"})]}),"\n",(0,i.jsxs)(t.p,{children:["Basic params to configure the NB-IoT or LTE-M connection. These parameters must be set in accordance to the SIM card and\nnetwork provider used. Usually the defaults for these parameters work quite well since they allow the modem to select\nand join the network\nusing information on the SIM-card. Nevertheless, if known, the ",(0,i.jsx)(t.code,{children:"APN"})," should be configured."]}),"\n",(0,i.jsx)(t.admonition,{title:"in depth description",type:"tip",children:(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.a,{href:"/iot/configuration/lte-network-configuration",children:"Read more"})," about LTE network configuration parameters."]})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsxs)(t.h4,{id:"ltenet",children:[(0,i.jsx)(t.code,{children:"UseNbiot"})," ",(0,i.jsx)(t.code,{children:"UseLtem"})]}),"\n",(0,i.jsxs)(t.p,{children:["The modem supports both NB-IoT and LTE-M technologies. Usually both are enabled and the cellular modem automatically\ndecides\nwith network type it should use at a specific location in the field. By setting one parameter to ",(0,i.jsx)(t.code,{children:"false"})," you can insist\non\nusing the other technology. At least one parameter must stay enabled, e.g. set to ",(0,i.jsx)(t.code,{children:"true"}),"."]}),"\n",(0,i.jsx)(t.admonition,{type:"warning",children:(0,i.jsxs)(t.p,{children:["On older nRF91 modem firmware (MFW < ",(0,i.jsx)(t.code,{children:"1.3.0"}),") only one of this parameter can be enabled at a time, trying to set both\nto ",(0,i.jsx)(t.code,{children:"true"}),"\nwill\nresult in selecting just NB-IoT."]})}),"\n",(0,i.jsx)(t.hr,{}),"\n",(0,i.jsxs)(t.h4,{id:"plainUdp",children:[(0,i.jsx)(t.code,{children:"UdpHost"})," ",(0,i.jsx)(t.code,{children:"UdpPort"})]}),"\n",(0,i.jsx)(t.p,{children:"Instead of sending the metering data to the lobaro platform these data can alternatively send to an external UDP socket.\nThis is helpful if you don't want your metering data on any external server but want to control your gateways using the\nLobaro Platform."}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"UdpHost"}),": Separate IP to upload plain telegrams via UDP","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"[not set]"})," = upload to Lobaro IoT Platform using Host parameter address"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"UdpPort"}),": Separate Port to upload plain telegrams via UDP","\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"only used when UdpHost is set"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.admonition,{type:"info",children:[(0,i.jsx)(t.p,{children:"Even the metering data is send to an external server the firmware normally still needs a connection a Lobaro Platform\ninstance for sending status information or performing remote configuration / firmware updates."}),(0,i.jsx)(t.p,{children:"If needed contact Lobaro for possible options to handle all communication without our platform, e.g. using direct MQTT\nto an external broker."})]}),"\n",(0,i.jsx)(t.h3,{id:"lorawan-connection",children:"LoRaWAN Connection"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Key"}),(0,i.jsx)(t.th,{children:"Type"}),(0,i.jsx)(t.th,{children:"Possible Values"}),(0,i.jsx)(t.th,{children:"Default"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LoRaWAN DevEUI"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"DevEUI "})}),(0,i.jsx)(t.td,{children:"byte[8]"}),(0,i.jsx)(t.td,{}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LoRaWAN AppEUI / JoinEUI (1.1)"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"JoinEUI "})}),(0,i.jsx)(t.td,{children:"byte[8]"}),(0,i.jsx)(t.td,{}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LoRaWAN AppKey"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"AppKey "})}),(0,i.jsx)(t.td,{children:"byte[16]"}),(0,i.jsx)(t.td,{}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LoRaWAN NwkKey (1.1)"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"NwkKey "})}),(0,i.jsx)(t.td,{children:"byte[16]"}),(0,i.jsx)(t.td,{}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LoRaWAN Days between Timesync"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"TimeSync "})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["any, e.g ",(0,i.jsx)(t.code,{children:"5"})]}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LoRaWAN Payload Format"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)("a",{href:"#payloadformat",children:(0,i.jsx)(t.code,{children:"PayloadFormat"})})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:"0"}),", ",(0,i.jsx)(t.code,{children:"1"}),", ",(0,i.jsx)(t.code,{children:"2"})]}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LoRaWAN use OTAA"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"OTAA "})}),(0,i.jsx)(t.td,{children:"Bool"}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:"true"})," or ",(0,i.jsx)(t.code,{children:"false"})]}),(0,i.jsx)(t.td,{})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"LoRaWAN Random TX Delay [s]"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"RndDelay "})}),(0,i.jsx)(t.td,{children:"Number"}),(0,i.jsxs)(t.td,{children:["any, e.g. ",(0,i.jsx)(t.code,{children:"10"})]}),(0,i.jsx)(t.td,{children:"0"})]})]})]}),"\n",(0,i.jsx)(t.h4,{id:"payloadformat",children:(0,i.jsx)(t.code,{children:"PayloadFormat"})}),"\n",(0,i.jsx)(t.p,{children:"Used encoding of the LoRaWAN uplink payload packets."}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"0"})," = Encoding in ports"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"1"})," = prefix bytes and time"]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"2"})," = prefix bytes, time, and rssi"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"special",children:"Special"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Key"}),(0,i.jsx)(t.th,{children:"Type"}),(0,i.jsx)(t.th,{children:"Possible Values"}),(0,i.jsx)(t.th,{style:{textAlign:"center"},children:"Default"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Verbose UART Log"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"verbose "})}),(0,i.jsx)(t.td,{children:"Bool"}),(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.code,{children:"true"})," or ",(0,i.jsx)(t.code,{children:"false"})]}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(t.code,{children:"false"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Addon RAM configuration"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"extRam "})}),(0,i.jsx)(t.td,{children:"String"}),(0,i.jsx)(t.td,{children:"Lobaro Internal"}),(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(t.code,{children:"[not set]"})})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,l.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},8453:(e,t,n)=>{"use strict";n.d(t,{R:()=>r,x:()=>s});var i=n(6540);const l={},d=i.createContext(l);function r(e){const t=i.useContext(d);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function s(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),i.createElement(d.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d48b783f.09cd2cb3.js b/assets/js/d48b783f.4ef8df93.js similarity index 56% rename from assets/js/d48b783f.09cd2cb3.js rename to assets/js/d48b783f.4ef8df93.js index cea8e0e8..134226b5 100644 --- a/assets/js/d48b783f.09cd2cb3.js +++ b/assets/js/d48b783f.4ef8df93.js @@ -1 +1 @@ -(self.webpackChunklobaro_docs=self.webpackChunklobaro_docs||[]).push([[7143],{2092:(e,n,i)=>{e.exports={src:{srcSet:i.p+"assets/images/ideal-img/MBusWirelessLogo.c0cdf50.271.jpg 271w",images:[{path:i.p+"assets/images/ideal-img/MBusWirelessLogo.c0cdf50.271.jpg",width:271,height:97}],src:i.p+"assets/images/ideal-img/MBusWirelessLogo.c0cdf50.271.jpg",toString:function(){return i.p+"assets/images/ideal-img/MBusWirelessLogo.c0cdf50.271.jpg"},placeholder:void 0,width:271,height:97},preSrc:"data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAEAAoDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAIH/8QAHxAAAgEEAgMAAAAAAAAAAAAAAQMCAAQFESEiMWGR/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAT/xAAXEQADAQAAAAAAAAAAAAAAAAAAAREh/9oADAMBAAIRAxEAPwDcMxhF2IS+2vL5bZyLCYt12IO/A9n7UnJ5BBKYXrTFfQGQjI6HHJI5NKVZKtB//9k="}},3654:(e,n,i)=>{e.exports={src:{srcSet:i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.cfbd48e.300.jpg 300w,"+i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.4bfae49.600.jpg 600w,"+i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.6388cb0.900.jpg 900w,"+i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.c2ef6a1.1200.jpg 1200w",images:[{path:i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.cfbd48e.300.jpg",width:300,height:157},{path:i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.4bfae49.600.jpg",width:600,height:314},{path:i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.6388cb0.900.jpg",width:900,height:471},{path:i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.c2ef6a1.1200.jpg",width:1200,height:628}],src:i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.cfbd48e.300.jpg",toString:function(){return i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.cfbd48e.300.jpg"},placeholder:void 0,width:300,height:157},preSrc:"data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAFAAoDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAUH/8QAHhAAAgEEAwEAAAAAAAAAAAAAAQIDAAQFEQYhURP/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/EABgRAAIDAAAAAAAAAAAAAAAAAAABAiEx/9oADAMBAAIRAxEAPwDaOExPa23IrhZWYfV5Sje6brfm6rYvKNc4y0naCMNLCjkAnolQfaUqzpsLD//Z"}},7087:(e,n,i)=>{e.exports={src:{srcSet:i.p+"assets/images/ideal-img/pdf.5694bab.32.png 32w",images:[{path:i.p+"assets/images/ideal-img/pdf.5694bab.32.png",width:32,height:32}],src:i.p+"assets/images/ideal-img/pdf.5694bab.32.png",toString:function(){return i.p+"assets/images/ideal-img/pdf.5694bab.32.png"},placeholder:void 0,width:32,height:32},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsSAAALEgHS3X78AAABP0lEQVR4nE3NsUsCcRQH8B+t7f0RRUtTs1MQBIGEcULY1laTQ0UgNBSEJOF5Z2eZmCQRWEND6pDDUdFQVC5SYwoFyan3+909/cbvoq7f8vh93+e9xxhjjILTISe+feEkdk4cba8ojNSpE10+xsjwuOyDsSFZWV9PVgFgABAsC+h2+/JPevIdjI2x38czenkAwHKJc0NzeSHnWoAtcX9z48yHadXbaAEkCjkII4WOECQznjUqPjR+YOfGJB5bBY+tQURXCLcmeDH/D+azVXx+gNajRPVnOQOn/kSwbfCDdNWH+2pFNu9qNbo2TZyXSnhpNLzTPT3pw15GK8tQO8rxrXjcDSqKe//wyD14qJf/INTEpQxFq0l2q4n22ysG7S9vI9TdKx9OBUZFaGYRC3MKIqEwliJhmp9VSGaByQmJvgHSpvp4oAQ9ewAAAABJRU5ErkJggg=="}},3969:(e,n,i)=>{"use strict";i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>t,toc:()=>d});var r=i(4848),s=i(8453);const a={sidebar_position:0,displayed_sidebar:"firmwareSidebar",title:"Introduction"},o="app-nrf9160-wmbus",t={id:"firmware/app-nrf9160-wmbus/introduction",title:"Introduction",description:"This page describes the Lobaro wireless M-Bus gateway firmware, called app-nrf9160-wmbus, which is executable on",source:"@site/docs/firmware/app-nrf9160-wmbus/introduction.md",sourceDirName:"firmware/app-nrf9160-wmbus",slug:"/firmware/app-nrf9160-wmbus/introduction",permalink:"/iot/firmware/app-nrf9160-wmbus/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/lobaro/iot/tree/master/docs/firmware/app-nrf9160-wmbus/introduction.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,displayed_sidebar:"firmwareSidebar",title:"Introduction"},sidebar:"firmwareSidebar",previous:{title:"Overview",permalink:"/iot/firmware/"},next:{title:"Configuration Parameter",permalink:"/iot/firmware/app-nrf9160-wmbus/configuration-parameter"}},l={},d=[{value:"Firmware Introduction",id:"firmware-introduction",level:2},{value:"Compatible Metering Protocols",id:"compatible-metering-protocols",level:2},{value:"Wireless M-BUS S1, C1 or T1",id:"wireless-m-bus-s1-c1-or-t1",level:3},{value:"Sensus RF Bubble UP",id:"sensus-rf-bubble-up",level:3},{value:"ME-Funk",id:"me-funk",level:3},{value:"Working Principle",id:"working-principle",level:2},{value:"CRON based Scans",id:"cron-based-scans",level:3},{value:"Daily Status Message",id:"daily-status-message",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",hr:"hr",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components},{Image:a}=n;return a||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Image",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"app-nrf9160-wmbus",children:"app-nrf9160-wmbus"}),"\n",(0,r.jsxs)(n.p,{children:["This page describes the Lobaro wireless M-Bus gateway firmware, called ",(0,r.jsx)(n.code,{children:"app-nrf9160-wmbus"}),", which is executable on\ndifferent hardware variants which are in turn used to build different products. Nevertheless, this common description is\nvalid for all products independently which hardware it actually runs on."]}),"\n",(0,r.jsx)(n.h2,{id:"firmware-introduction",children:"Firmware Introduction"}),"\n",(0,r.jsx)(a,{alt:"Lobaro wireless M-BUS Gateway firmware",img:i(3654),style:{width:"70%",paddingTop:"5px",paddingBottom:"5px"}}),"\n",(0,r.jsx)(n.p,{children:"The Lobaro wireless M-Bus gateways collect consumption values from up to 650(*) commercially available water\nmeters, heat\nmeters, heat cost allocators or similar with 868 MHz wireless M-Bus radio interface, Sensus RF Bubble Up or M\xfcller Funk\nand forward them encrypted via NB-IoT or LTE-M cellular radio or alternatively LoRaWAN networks for further processing\non the Internet."}),"\n",(0,r.jsx)(n.p,{children:"Additionally, the gateway hardware may be equipped with a sensor addon board which can provide additional sensor\nmeasurement values beside the collected metering data. If an addon is present depends on the actual product running this\nfirmware."}),"\n",(0,r.jsx)(n.p,{children:"Forwarded meter values are transmitted, optionally additionally encrypted via DTLS, to a shared or private instance of\nthe Lobaro IoT platform and can be viewed there or downloaded as a CSV file. Alternatively, standardised APIs such as\nMQTT, HTTP Push, SFTP or a REST interface are available to connect downstream systems or platforms easily and securely.\nWhen using LoRaWAN, the Lobaro Platform is optional. When using NB-IoT or LTE-M, on the other hand, it is mandatory.\nThis requirement is explained in the Lobaro IoT Platform FAQ."}),"\n",(0,r.jsx)(n.p,{children:"Thanks to the new NB-IoT mobile radio, optimised for sensor data, remote reading even works in places such as basements\nwhere smartphones have poor or no reception."}),"\n",(0,r.jsx)(n.p,{children:"(*) based on average telegram size 75 Bytes. On request, the capacity for meter telegrams can be increased to up to\n2,500 by means of an additional built-in memory."}),"\n",(0,r.jsx)(n.h2,{id:"compatible-metering-protocols",children:"Compatible Metering Protocols"}),"\n",(0,r.jsx)(a,{alt:"Lobaro wireless M-BUS Gateway firmware",img:i(2092),style:{width:"20%",paddingTop:"5px",paddingBottom:"5px"}}),"\n",(0,r.jsx)(n.h3,{id:"wireless-m-bus-s1-c1-or-t1",children:"Wireless M-BUS S1, C1 or T1"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Unidirectional 868 MHz modes following DIN EN 13757-4."}),"\n",(0,r.jsx)(n.li,{children:"Open metering specification (OMS, Annex O): PHY_A - 868 MHz (uplink only)"}),"\n",(0,r.jsx)(n.li,{children:"Qundis AMR"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"sensus-rf-bubble-up",children:"Sensus RF Bubble UP"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Manufacturer specific radio protocol for 868 MHz (Xylem Inc.)."}),"\n",(0,r.jsx)(n.li,{children:"\u26a0\ufe0f Decoding of Sensus RF telegrams needs the Lobaro telegram parser and unfortunately can't be disclosed."}),"\n"]}),"\n",(0,r.jsx)("table",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)(a,{alt:"PDF Download",img:i(7087),style:{width:"32px"}})}),(0,r.jsx)("td",{children:(0,r.jsx)("a",{target:"\\_blank",href:i(2562).A,children:"Sensus RF Brochure"})})]})}),"\n",(0,r.jsx)(n.h3,{id:"me-funk",children:"ME-Funk"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:['A.k.a. "M\xfcller Funk" - Manufacturer specific radio protocol for 868\nMHz (',(0,r.jsx)(n.a,{href:"https://www.mue-line.de/allgemeine-informationen/",children:"M\xfcller-electronic GmbH"}),")."]}),"\n",(0,r.jsx)(n.li,{children:"\u26a0\ufe0f Decoding of ME-Funk telegrams needs the Lobaro telegram parser and unfortunately can't be disclosed."}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsxs)(n.admonition,{type:"info",children:[(0,r.jsx)(n.p,{children:"433 MHz variants are available on products equipped with the additional 433 MHz hardware addon for the following\nspecifications:"}),(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Wireless M-Bus, Open metering specification (OMS, Annex O): PHY_B - 433 MHz (uplink only)"}),"\n",(0,r.jsx)(n.li,{children:"Sensus RF Bubble UP 433 MHz - Manufacturer specific (Xylem Inc.) radio protocol"}),"\n"]})]}),"\n",(0,r.jsx)(n.h2,{id:"working-principle",children:"Working Principle"}),"\n",(0,r.jsx)(n.p,{children:"The firmware remains in power-saving mode while not active most of the time. It leaves the low power sleep mode in the\nfollowing situations:"}),"\n",(0,r.jsx)(n.h3,{id:"cron-based-scans",children:"CRON based Scans"}),"\n",(0,r.jsxs)(n.p,{children:["The firmware is configured by its ",(0,r.jsx)(n.code,{children:"listenCron"})," configuration parameter to wake up at regular intervals to collect / scan\nfor\nmetering\ntelegrams over its 868 MHz wireless interface. The following sequence of operations is executed on each cron triggering:"]}),"\n",(0,r.jsx)(n.admonition,{title:"CRON configuration parameter",type:"tip",children:(0,r.jsxs)(n.p,{children:[(0,r.jsxs)(n.a,{href:"/iot/configuration/cron-configuration",children:["Click here to learn more about ",(0,r.jsx)(n.strong,{children:"cron configuration"})," parameters"]}),"."]})}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["Wait in deep sleep low power mode for ",(0,r.jsx)(n.code,{children:"listenCron"})," to trigger"]}),"\n",(0,r.jsxs)(n.li,{children:["Collect metering data in all enabled wireless modes sequentially","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Collect C1-Mode and T1-Mode telegrams (wMBUS) in parallel for ",(0,r.jsx)(n.code,{children:"cmodeDurSec"})," seconds (if not 0)"]}),"\n",(0,r.jsxs)(n.li,{children:["Collect S1-Mode telegrams (wMBUS) for ",(0,r.jsx)(n.code,{children:"smodeDurSec"})," seconds (if not 0)"]}),"\n",(0,r.jsxs)(n.li,{children:["Collect X-Mode telegrams (Sensus RF) for ",(0,r.jsx)(n.code,{children:"xmodeDurSec"})," seconds (if not 0)"]}),"\n",(0,r.jsxs)(n.li,{children:["Collect U-Mode telegrams (M\xfcller Funk) for ",(0,r.jsx)(n.code,{children:"umodeDurSec"})," seconds (if not 0)"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.li,{children:"Perform sensor measurement using the optional hardware addon (only if any addon installed)"}),"\n",(0,r.jsxs)(n.li,{children:["Upload all stored data via NB-IoT / LTE-CatM1 or LoRaWAN (depends on ",(0,r.jsx)(n.code,{children:"WAN"})," configuration)","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Upload all collected metering telegrams, status and sensor data"}),"\n",(0,r.jsxs)(n.li,{children:["When the upload fails the upload is retried every 24h after daily status or until the next ",(0,r.jsx)(n.code,{children:"listenCron"})," triggers."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["Sleep till next ",(0,r.jsx)(n.code,{children:"listenCron"})," triggers or status message upload."]}),"\n"]}),"\n",(0,r.jsx)(n.admonition,{type:"info",children:(0,r.jsx)(n.p,{children:"This sequence also will be executed one after any device startup oder manual reset."})}),"\n",(0,r.jsx)(n.admonition,{title:"Raw telegrams",type:"note",children:(0,r.jsxs)(n.p,{children:['All meter telegrams are received "as is", e.g. encrypted or plain over the air. Only the always readable telegram header\ninformation is parsed for internal filtering and deduplication. Parsing and decryption of such raw metering data happens\nin the backend, e.g. in\nthe Lobaro head end system or any other connected system. Lobaro offers a standalone ',(0,r.jsx)(n.a,{href:"https://www.mbus.org",children:"REST API (www.mbus.org)"}),"\nfor raw (wireless) M-BUS telegrams parsing which can be licensed."]})}),"\n",(0,r.jsx)(n.h3,{id:"daily-status-message",children:"Daily Status Message"}),"\n",(0,r.jsx)(n.p,{children:"Once a day the firmware sends a status message. This allows for reaching the device, e.g. for changing the\nconfiguration, at least once a day independent of the configured regular scan interval (see above). This status message\ncontains information on many vital parameters of the gateway."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Upload status telegram normally at midnight ",(0,r.jsx)(n.strong,{children:"0:00h (UTC+0)"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Solar-powered hardware variants: noon ",(0,r.jsx)(n.strong,{children:"12:00h (UTC+0)"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.li,{children:"Upload remaining telegrams in memory, if any failures happened during previous attempts."}),"\n",(0,r.jsxs)(n.li,{children:["Sleep till next ",(0,r.jsx)(n.code,{children:"listenCron"})," or next days status telegram."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},2562:(e,n,i)=>{"use strict";i.d(n,{A:()=>r});const r=i.p+"assets/files/en---sensusrf-brochure-59b7f198b43913b0d70122d43e7dfb36.pdf"},8453:(e,n,i)=>{"use strict";i.d(n,{R:()=>o,x:()=>t});var r=i(6540);const s={},a=r.createContext(s);function o(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file +(self.webpackChunklobaro_docs=self.webpackChunklobaro_docs||[]).push([[7143],{2092:(e,n,i)=>{e.exports={src:{srcSet:i.p+"assets/images/ideal-img/MBusWirelessLogo.c0cdf50.271.jpg 271w",images:[{path:i.p+"assets/images/ideal-img/MBusWirelessLogo.c0cdf50.271.jpg",width:271,height:97}],src:i.p+"assets/images/ideal-img/MBusWirelessLogo.c0cdf50.271.jpg",toString:function(){return i.p+"assets/images/ideal-img/MBusWirelessLogo.c0cdf50.271.jpg"},placeholder:void 0,width:271,height:97},preSrc:"data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAEAAoDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAIH/8QAHxAAAgEEAgMAAAAAAAAAAAAAAQMCAAQFESEiMWGR/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAT/xAAXEQADAQAAAAAAAAAAAAAAAAAAAREh/9oADAMBAAIRAxEAPwDcMxhF2IS+2vL5bZyLCYt12IO/A9n7UnJ5BBKYXrTFfQGQjI6HHJI5NKVZKtB//9k="}},3654:(e,n,i)=>{e.exports={src:{srcSet:i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.cfbd48e.300.jpg 300w,"+i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.4bfae49.600.jpg 600w,"+i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.6388cb0.900.jpg 900w,"+i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.c2ef6a1.1200.jpg 1200w",images:[{path:i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.cfbd48e.300.jpg",width:300,height:157},{path:i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.4bfae49.600.jpg",width:600,height:314},{path:i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.6388cb0.900.jpg",width:900,height:471},{path:i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.c2ef6a1.1200.jpg",width:1200,height:628}],src:i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.cfbd48e.300.jpg",toString:function(){return i.p+"assets/images/ideal-img/wmbus-gateway-bridge-lora-nb-iot.cfbd48e.300.jpg"},placeholder:void 0,width:300,height:157},preSrc:"data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAFAAoDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAUH/8QAHhAAAgEEAwEAAAAAAAAAAAAAAQIDAAQFEQYhURP/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/EABgRAAIDAAAAAAAAAAAAAAAAAAABAiEx/9oADAMBAAIRAxEAPwDaOExPa23IrhZWYfV5Sje6brfm6rYvKNc4y0naCMNLCjkAnolQfaUqzpsLD//Z"}},7087:(e,n,i)=>{e.exports={src:{srcSet:i.p+"assets/images/ideal-img/pdf.5694bab.32.png 32w",images:[{path:i.p+"assets/images/ideal-img/pdf.5694bab.32.png",width:32,height:32}],src:i.p+"assets/images/ideal-img/pdf.5694bab.32.png",toString:function(){return i.p+"assets/images/ideal-img/pdf.5694bab.32.png"},placeholder:void 0,width:32,height:32},preSrc:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAACXBIWXMAAAsSAAALEgHS3X78AAABP0lEQVR4nE3NsUsCcRQH8B+t7f0RRUtTs1MQBIGEcULY1laTQ0UgNBSEJOF5Z2eZmCQRWEND6pDDUdFQVC5SYwoFyan3+909/cbvoq7f8vh93+e9xxhjjILTISe+feEkdk4cba8ojNSpE10+xsjwuOyDsSFZWV9PVgFgABAsC+h2+/JPevIdjI2x38czenkAwHKJc0NzeSHnWoAtcX9z48yHadXbaAEkCjkII4WOECQznjUqPjR+YOfGJB5bBY+tQURXCLcmeDH/D+azVXx+gNajRPVnOQOn/kSwbfCDdNWH+2pFNu9qNbo2TZyXSnhpNLzTPT3pw15GK8tQO8rxrXjcDSqKe//wyD14qJf/INTEpQxFq0l2q4n22ysG7S9vI9TdKx9OBUZFaGYRC3MKIqEwliJhmp9VSGaByQmJvgHSpvp4oAQ9ewAAAABJRU5ErkJggg=="}},3969:(e,n,i)=>{"use strict";i.r(n),i.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>t,toc:()=>d});var r=i(4848),s=i(8453);const a={sidebar_position:0,displayed_sidebar:"firmwareSidebar",title:"Introduction"},o="app-nrf9160-wmbus",t={id:"firmware/app-nrf9160-wmbus/introduction",title:"Introduction",description:"This page describes the Lobaro wireless M-Bus gateway firmware, called app-nrf9160-wmbus, which is executable on",source:"@site/docs/firmware/app-nrf9160-wmbus/introduction.md",sourceDirName:"firmware/app-nrf9160-wmbus",slug:"/firmware/app-nrf9160-wmbus/introduction",permalink:"/iot/firmware/app-nrf9160-wmbus/introduction",draft:!1,unlisted:!1,editUrl:"https://github.com/lobaro/iot/tree/master/docs/firmware/app-nrf9160-wmbus/introduction.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,displayed_sidebar:"firmwareSidebar",title:"Introduction"},sidebar:"firmwareSidebar",previous:{title:"Overview",permalink:"/iot/firmware/"},next:{title:"Configuration Parameter",permalink:"/iot/firmware/app-nrf9160-wmbus/configuration-parameter"}},l={},d=[{value:"Firmware Introduction",id:"firmware-introduction",level:2},{value:"Compatible Metering Protocols",id:"compatible-metering-protocols",level:2},{value:"Wireless M-BUS S1, C1 or T1",id:"wireless-m-bus-s1-c1-or-t1",level:3},{value:"Sensus RF Bubble UP",id:"sensus-rf-bubble-up",level:3},{value:"ME-Funk",id:"me-funk",level:3},{value:"Working Principle",id:"working-principle",level:2},{value:"CRON based Scans",id:"cron-based-scans",level:3},{value:"Daily Status Message",id:"daily-status-message",level:3}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",hr:"hr",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.R)(),...e.components},{Image:a}=n;return a||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Image",!0),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h1,{id:"app-nrf9160-wmbus",children:"app-nrf9160-wmbus"}),"\n",(0,r.jsxs)(n.p,{children:["This page describes the Lobaro wireless M-Bus gateway firmware, called ",(0,r.jsx)(n.code,{children:"app-nrf9160-wmbus"}),", which is executable on\ndifferent hardware variants which are in turn used to build different products. Nevertheless, this common description is\nvalid for all products independently which hardware it actually runs on."]}),"\n",(0,r.jsx)(n.h2,{id:"firmware-introduction",children:"Firmware Introduction"}),"\n",(0,r.jsx)(a,{alt:"Lobaro wireless M-BUS Gateway firmware",img:i(3654),style:{width:"80%",paddingTop:"5px",paddingBottom:"5px"}}),"\n",(0,r.jsx)(n.p,{children:"The Lobaro wireless M-Bus gateways collect consumption values from up to 650(*) commercially available water\nmeters, heat\nmeters, heat cost allocators or similar with 868 MHz wireless M-Bus radio interface, Sensus RF Bubble Up or M\xfcller Funk\nand forward them encrypted via NB-IoT or LTE-M cellular radio or alternatively LoRaWAN networks for further processing\non the Internet."}),"\n",(0,r.jsx)(n.p,{children:"Additionally, the gateway hardware may be equipped with a sensor addon board which can provide additional sensor\nmeasurement values beside the collected metering data. If an addon is present depends on the actual product running this\nfirmware."}),"\n",(0,r.jsx)(n.p,{children:"Forwarded meter values are transmitted, optionally additionally encrypted via DTLS, to a shared or private instance of\nthe Lobaro IoT platform and can be viewed there or downloaded as a CSV file. Alternatively, standardised APIs such as\nMQTT, HTTP Push, SFTP or a REST interface are available to connect downstream systems or platforms easily and securely.\nWhen using LoRaWAN, the Lobaro Platform is optional. When using NB-IoT or LTE-M, on the other hand, it is mandatory.\nThis requirement is explained in the Lobaro IoT Platform FAQ."}),"\n",(0,r.jsx)(n.p,{children:"Thanks to the new NB-IoT mobile radio, optimised for sensor data, remote reading even works in places such as basements\nwhere smartphones have poor or no reception."}),"\n",(0,r.jsx)(n.p,{children:"(*) based on average telegram size 75 Bytes. On request, the capacity for meter telegrams can be increased to up to\n2,500 by means of an additional built-in memory."}),"\n",(0,r.jsx)(n.h2,{id:"compatible-metering-protocols",children:"Compatible Metering Protocols"}),"\n",(0,r.jsx)(a,{alt:"Lobaro wireless M-BUS Gateway firmware",img:i(2092),style:{width:"20%",paddingTop:"5px",paddingBottom:"5px"}}),"\n",(0,r.jsx)(n.h3,{id:"wireless-m-bus-s1-c1-or-t1",children:"Wireless M-BUS S1, C1 or T1"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Unidirectional 868 MHz modes following DIN EN 13757-4."}),"\n",(0,r.jsx)(n.li,{children:"Open metering specification (OMS, Annex O): PHY_A - 868 MHz (uplink only)"}),"\n",(0,r.jsx)(n.li,{children:"Qundis AMR"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"sensus-rf-bubble-up",children:"Sensus RF Bubble UP"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Manufacturer specific radio protocol for 868 MHz (Xylem Inc.)."}),"\n",(0,r.jsx)(n.li,{children:"Unidirectional bubble up mode is supported."}),"\n",(0,r.jsx)(n.li,{children:"\u26a0\ufe0f Decoding of Sensus RF telegrams needs the Lobaro telegram parser and unfortunately can't be disclosed."}),"\n"]}),"\n",(0,r.jsx)("table",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)(a,{alt:"PDF Download",img:i(7087),style:{width:"32px"}})}),(0,r.jsx)("td",{children:(0,r.jsx)("a",{target:"\\_blank",href:i(2562).A,children:"Sensus RF Brochure"})})]})}),"\n",(0,r.jsx)(n.h3,{id:"me-funk",children:"ME-Funk"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:['A.k.a. "M\xfcller Funk" - Manufacturer specific radio protocol for 868\nMHz (',(0,r.jsx)(n.a,{href:"https://www.mue-line.de/allgemeine-informationen/",children:"M\xfcller-electronic GmbH"}),")."]}),"\n",(0,r.jsx)(n.li,{children:"\u26a0\ufe0f Decoding of ME-Funk telegrams needs the Lobaro telegram parser and unfortunately can't be disclosed."}),"\n"]}),"\n",(0,r.jsx)(n.hr,{}),"\n",(0,r.jsxs)(n.admonition,{type:"info",children:[(0,r.jsx)(n.p,{children:"433 MHz variants are available on products equipped with the additional 433 MHz hardware addon for the following\nspecifications:"}),(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Wireless M-Bus, Open metering specification (OMS, Annex O): PHY_B - 433 MHz (uplink only)"}),"\n",(0,r.jsx)(n.li,{children:"Sensus RF Bubble UP 433 MHz - Manufacturer specific (Xylem Inc.) radio protocol"}),"\n"]})]}),"\n",(0,r.jsx)(n.h2,{id:"working-principle",children:"Working Principle"}),"\n",(0,r.jsx)(n.p,{children:"The firmware remains in power-saving mode while not active most of the time. It leaves the low power sleep mode in the\nfollowing situations:"}),"\n",(0,r.jsx)(n.h3,{id:"cron-based-scans",children:"CRON based Scans"}),"\n",(0,r.jsxs)(n.p,{children:["The firmware is configured by its ",(0,r.jsx)(n.code,{children:"listenCron"})," configuration parameter to wake up at regular intervals to collect / scan\nfor\nmetering\ntelegrams over its 868 MHz wireless interface. The following sequence of operations is executed on each cron triggering:"]}),"\n",(0,r.jsx)(n.admonition,{title:"CRON configuration parameter",type:"tip",children:(0,r.jsxs)(n.p,{children:[(0,r.jsxs)(n.a,{href:"/iot/configuration/cron-configuration",children:["Click here to learn more about ",(0,r.jsx)(n.strong,{children:"cron configuration"})," parameters"]}),"."]})}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["Wait in deep sleep low power mode for ",(0,r.jsx)(n.code,{children:"listenCron"})," to trigger"]}),"\n",(0,r.jsxs)(n.li,{children:["Collect metering data in all enabled wireless modes sequentially","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Collect C1-Mode and T1-Mode telegrams (wMBUS) in parallel for ",(0,r.jsx)(n.code,{children:"cmodeDurSec"})," seconds (if not 0)"]}),"\n",(0,r.jsxs)(n.li,{children:["Collect S1-Mode telegrams (wMBUS) for ",(0,r.jsx)(n.code,{children:"smodeDurSec"})," seconds (if not 0)"]}),"\n",(0,r.jsxs)(n.li,{children:["Collect X-Mode telegrams (Sensus RF) for ",(0,r.jsx)(n.code,{children:"xmodeDurSec"})," seconds (if not 0)"]}),"\n",(0,r.jsxs)(n.li,{children:["Collect U-Mode telegrams (M\xfcller Funk) for ",(0,r.jsx)(n.code,{children:"umodeDurSec"})," seconds (if not 0)"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.li,{children:"Perform sensor measurement using the optional hardware addon (only if any addon installed)"}),"\n",(0,r.jsxs)(n.li,{children:["Upload all stored data via NB-IoT / LTE-CatM1 or LoRaWAN (depends on ",(0,r.jsx)(n.code,{children:"WAN"})," configuration)","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Upload all collected metering telegrams, status and sensor data"}),"\n",(0,r.jsxs)(n.li,{children:["When the upload fails the upload is retried every 24h after daily status or until the next ",(0,r.jsx)(n.code,{children:"listenCron"})," triggers."]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(n.li,{children:["Sleep till next ",(0,r.jsx)(n.code,{children:"listenCron"})," triggers or status message upload."]}),"\n"]}),"\n",(0,r.jsx)(n.admonition,{type:"info",children:(0,r.jsx)(n.p,{children:"This sequence also will be executed one after any device startup oder manual reset."})}),"\n",(0,r.jsx)(n.admonition,{title:"Raw telegrams",type:"note",children:(0,r.jsxs)(n.p,{children:['All meter telegrams are received "as is", e.g. encrypted or plain over the air. Only the always readable telegram header\ninformation is parsed for internal filtering and deduplication. Parsing and decryption of such raw metering data happens\nin the backend, e.g. in\nthe Lobaro head end system or any other connected system. Lobaro offers a standalone ',(0,r.jsx)(n.a,{href:"https://www.mbus.org",children:"REST API (www.mbus.org)"}),"\nfor raw (wireless) M-BUS telegrams parsing which can be licensed."]})}),"\n",(0,r.jsx)(n.h3,{id:"daily-status-message",children:"Daily Status Message"}),"\n",(0,r.jsx)(n.p,{children:"Once a day the firmware sends a status message. This allows for reaching the device, e.g. for changing the\nconfiguration, at least once a day independent of the configured regular scan interval (see above). This status message\ncontains information on many vital parameters of the gateway."}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Upload status telegram normally at midnight ",(0,r.jsx)(n.strong,{children:"0:00h (UTC+0)"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Solar-powered hardware variants: noon ",(0,r.jsx)(n.strong,{children:"12:00h (UTC+0)"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.li,{children:"Upload remaining telegrams in memory, if any failures happened during previous attempts."}),"\n",(0,r.jsxs)(n.li,{children:["Sleep till next ",(0,r.jsx)(n.code,{children:"listenCron"})," or next days status telegram."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},2562:(e,n,i)=>{"use strict";i.d(n,{A:()=>r});const r=i.p+"assets/files/en---sensusrf-brochure-59b7f198b43913b0d70122d43e7dfb36.pdf"},8453:(e,n,i)=>{"use strict";i.d(n,{R:()=>o,x:()=>t});var r=i(6540);const s={},a=r.createContext(s);function o(e){const n=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),r.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.413fd6ae.js b/assets/js/main.413fd6ae.js new file mode 100644 index 00000000..12a9650e --- /dev/null +++ b/assets/js/main.413fd6ae.js @@ -0,0 +1,2 @@ +/*! For license information please see main.413fd6ae.js.LICENSE.txt */ +(self.webpackChunklobaro_docs=self.webpackChunklobaro_docs||[]).push([[8792],{2413:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});n(6540);var r=n(3259),a=n.n(r),o=n(4054);const i={"01233d77":[()=>n.e(804).then(n.bind(n,6460)),"@site/docs/cloud/platform/index.md",6460],"01a49a4f":[()=>n.e(185).then(n.bind(n,8794)),"@site/docs/configuration/lte-network-configuration.md",8794],"055ec3b1":[()=>n.e(9233).then(n.bind(n,3306)),"@site/docs/products/metering-gateways/wireless-mbus-g3/hardware-variants/concentrator-v1/index.md",3306],"0b02251e":[()=>n.e(3830).then(n.t.bind(n,5570,19)),"@generated/docusaurus-plugin-content-docs/default/p/iot-6a9.json",5570],"1034e1fe":[()=>n.e(136).then(n.bind(n,8882)),"@site/docs/configuration/cron-configuration.md",8882],"12a9c313":[()=>n.e(1830).then(n.bind(n,2372)),"@site/docs/firmware/app-nrf9160-wmbus/lorawan-communication-protocol.md",2372],"13593b98":[()=>n.e(7213).then(n.bind(n,5518)),"@site/docs/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v3/index.md",5518],17896441:[()=>Promise.all([n.e(1869),n.e(6949),n.e(8401)]).then(n.bind(n,7138)),"@theme/DocItem",7138],"1c619603":[()=>n.e(2582).then(n.bind(n,8847)),"@site/docs/products/sensor-gateways/current-loop/index.md",8847],"1d947975":[()=>n.e(5171).then(n.bind(n,4177)),"@site/docs/products/metering-gateways/wireless-mbus-g3/index.md",4177],"1f391b9e":[()=>Promise.all([n.e(1869),n.e(6949),n.e(6061)]).then(n.bind(n,7591)),"@theme/MDXPage",7591],"21e5f94e":[()=>n.e(7820).then(n.bind(n,1325)),"@site/docs/products/sensor-gateways/level/index.md",1325],"242bce50":[()=>n.e(8238).then(n.bind(n,1407)),"@site/docs/products/metering-gateways/wireless-mbus-g2/manual/cfg.md",1407],26827644:[()=>n.e(6042).then(n.bind(n,6656)),"@site/docs/products/metering-gateways/wired-mbus-g1/index.md",6656],"27118f4d":[()=>n.e(5946).then(n.bind(n,9519)),"@site/docs/knowledge-base/wireless-mbus.md",9519],"2a77de52":[()=>n.e(6082).then(n.bind(n,1132)),"@site/docs/firmware/index.md",1132],"2fe986c2":[()=>n.e(564).then(n.bind(n,4853)),"@site/docs/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/gw-v2/index.md",4853],"3249a05e":[()=>n.e(5588).then(n.bind(n,4138)),"@site/docs/configuration/meter-reception-filter-config.md",4138],"337e0e25":[()=>n.e(7191).then(n.bind(n,6995)),"@site/docs/cloud/direct+/index.md",6995],"393be207":[()=>n.e(4134).then(n.bind(n,633)),"@site/src/pages/markdown-page.md",633],"3be75a1f":[()=>n.e(7607).then(n.bind(n,7690)),"@site/docs/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/desc.md",7690],"42b10abd":[()=>n.e(5277).then(n.bind(n,8697)),"@site/docs/products/metering-gateways/wired-mbus-g1/manual/cfg.md",8697],"4ddd2498":[()=>n.e(1110).then(n.bind(n,587)),"@site/docs/configuration/lorawan-downlink-config.md",587],"5a4e9d38":[()=>n.e(7154).then(n.bind(n,7035)),"@site/docs/products/sensor-gateways/modbus/index.md",7035],"5e95c892":[()=>n.e(9647).then(n.bind(n,3124)),"@theme/DocsRoot",3124],"697ac668":[()=>n.e(1381).then(n.bind(n,1327)),"@site/docs/products/metering-gateways/wireless-mbus-g2/hardware-variants/bridge-v2/index.md",1327],"6be0cd09":[()=>n.e(5792).then(n.bind(n,5434)),"@site/docs/hardware/mainboards/index.md",5434],"701ba69e":[()=>n.e(1876).then(n.bind(n,2387)),"@site/docs/products/metering-gateways/wireless-mbus-g3/manual/workflow.md",2387],"72346f2a":[()=>n.e(8034).then(n.bind(n,6507)),"@site/docs/products/metering-gateways/wired-mbus-g1/manual/index.md",6507],"74c9afa6":[()=>n.e(9010).then(n.bind(n,1204)),"@site/docs/products/metering-gateways/wireless-mbus-g2/manual/workflow.md",1204],75439747:[()=>n.e(8027).then(n.bind(n,8141)),"@site/docs/hardware/index.md",8141],"754583dd":[()=>n.e(5633).then(n.bind(n,7173)),"@site/docs/products/index.md",7173],"78ac8b3c":[()=>n.e(1010).then(n.bind(n,5009)),"@site/docs/firmware/app-nrf9160-wmbus/compatible-hardware.md",5009],"7eb7d3d5":[()=>n.e(4752).then(n.bind(n,5152)),"@site/docs/products/sensor-gateways/index.md",5152],"7ebb515f":[()=>n.e(8344).then(n.bind(n,3361)),"@site/docs/firmware/app-nrf9160-wmbus/cellular-iot-communication-protocol.md",3361],83120900:[()=>n.e(6052).then(n.bind(n,2667)),"@site/docs/hardware/extension-modules/index.md",2667],"91ae8846":[()=>n.e(189).then(n.bind(n,4355)),"@site/docs/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/index.md",4355],"963797ee":[()=>n.e(5534).then(n.bind(n,3390)),"@site/docs/cloud/index.md",3390],"9be4ba06":[()=>n.e(4900).then(n.bind(n,8e3)),"@site/docs/products/metering-gateways/wired-mbus-g1/hardware-variants/dinrail-v1/index.md",8e3],a2e35eca:[()=>n.e(8592).then(n.bind(n,3356)),"@site/docs/products/metering-gateways/wireless-mbus-g3/hardware-variants/sun-v1/index.md",3356],a5750849:[()=>n.e(1148).then(n.bind(n,2640)),"@site/docs/configuration/lobaro-config-tool.md",2640],a5b914f3:[()=>n.e(7244).then(n.bind(n,2608)),"@site/docs/configuration/usb-config-adapter.md",2608],a7456010:[()=>n.e(1235).then(n.t.bind(n,8552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",8552],a7bd4aaa:[()=>n.e(7098).then(n.bind(n,2881)),"@theme/DocVersionRoot",2881],a94703ab:[()=>Promise.all([n.e(1869),n.e(9048)]).then(n.bind(n,4644)),"@theme/DocRoot",4644],aba21aa0:[()=>n.e(5742).then(n.t.bind(n,7093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",7093],abd6da72:[()=>n.e(3694).then(n.bind(n,1155)),"@site/docs/products/metering-gateways/wireless-mbus-g3/hardware-variants/dinrail-v1/index.md",1155],acb1f41f:[()=>n.e(731).then(n.bind(n,3233)),"@site/docs/products/sensor-gateways/temperature/index.md",3233],b39b0327:[()=>n.e(1617).then(n.bind(n,5470)),"@site/docs/hardware/housings/index.md",5470],b5423acd:[()=>n.e(7451).then(n.bind(n,1442)),"@site/docs/products/metering-gateways/wired-mbus-g1/manual/workflow.md",1442],bd96cf98:[()=>n.e(6588).then(n.bind(n,2979)),"@site/docs/products/metering-gateways/index.md",2979],c377a04b:[()=>n.e(3361).then(n.bind(n,1776)),"@site/docs/index.md",1776],cb1c94ae:[()=>n.e(6697).then(n.bind(n,1728)),"@site/docs/firmware/app-nrf9160-wmbus/configuration-parameter.md",1728],d1f62d15:[()=>n.e(7554).then(n.bind(n,659)),"@site/docs/firmware/app-nrf9160-wmbus/changelog-download.md",659],d48b783f:[()=>n.e(7143).then(n.bind(n,3969)),"@site/docs/firmware/app-nrf9160-wmbus/introduction.md",3969],d9226a6c:[()=>n.e(2400).then(n.bind(n,6530)),"@site/docs/products/metering-gateways/wireless-mbus-g2/index.md",6530],db471313:[()=>n.e(8474).then(n.bind(n,8436)),"@site/docs/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/bridge-v2/index.md",8436],dcd34b43:[()=>n.e(7022).then(n.bind(n,2374)),"@site/docs/firmware/app-hybrid-modbus/index.md",2374],dfeebc90:[()=>n.e(8442).then(n.bind(n,6175)),"@site/docs/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/index.md",6175],e091b4aa:[()=>n.e(482).then(n.bind(n,6453)),"@site/docs/knowledge-base/modbus.md",6453],e6b8ea22:[()=>n.e(7986).then(n.bind(n,3977)),"@site/docs/products/metering-gateways/wireless-mbus-g2/manual/index.md",3977],eb2b5977:[()=>n.e(8822).then(n.bind(n,7439)),"@site/docs/configuration/obis-code-configuration.md",7439],eb5375eb:[()=>n.e(727).then(n.bind(n,3200)),"@site/docs/products/metering-gateways/wireless-mbus-g3/manual/index.md",3200],f6d78023:[()=>n.e(4545).then(n.bind(n,5117)),"@site/docs/configuration/index.md",5117],fe17bb44:[()=>n.e(9444).then(n.bind(n,3290)),"@site/docs/products/metering-gateways/wireless-mbus-g3/manual/cfg.md",3290]};var s=n(4848);function l(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,s.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var u=n(1604),c=n(3363);function d(e,t){if("*"===e)return a()({loading:l,loader:()=>n.e(2560).then(n.bind(n,2560)),modules:["@theme/NotFound"],webpack:()=>[2560],render(e,t){const n=e.default;return(0,s.jsx)(c.W,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},p=[],f=[],g=(0,u.A)(r);return Object.entries(g).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),a().Map({loading:l,loader:d,modules:p,webpack:()=>f,render(t,n){const a=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const o=r.default;if(!o)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof o&&"function"!=typeof o||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{o[e]=r[e]}));let i=a;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=o}));const o=a.__comp;delete a.__comp;const i=a.__context;delete a.__context;const l=a.__props;return delete a.__props,(0,s.jsx)(c.W,{value:i,children:(0,s.jsx)(o,{...a,...l,...n})})}})}const p=[{path:"/iot/markdown-page",component:d("/iot/markdown-page","bbd"),exact:!0},{path:"/iot/",component:d("/iot/","0a6"),routes:[{path:"/iot/",component:d("/iot/","6b2"),routes:[{path:"/iot/",component:d("/iot/","491"),routes:[{path:"/iot/cloud/",component:d("/iot/cloud/","660"),exact:!0,sidebar:"cloudSidebar"},{path:"/iot/cloud/direct+/",component:d("/iot/cloud/direct+/","3a8"),exact:!0,sidebar:"cloudSidebar"},{path:"/iot/cloud/platform/",component:d("/iot/cloud/platform/","927"),exact:!0,sidebar:"cloudSidebar"},{path:"/iot/configuration/",component:d("/iot/configuration/","11e"),exact:!0,sidebar:"configurationSidebar"},{path:"/iot/configuration/cron-configuration",component:d("/iot/configuration/cron-configuration","5ce"),exact:!0,sidebar:"configurationSidebar"},{path:"/iot/configuration/lobaro-config-tool",component:d("/iot/configuration/lobaro-config-tool","b4c"),exact:!0,sidebar:"configurationSidebar"},{path:"/iot/configuration/lorawan-downlink-config",component:d("/iot/configuration/lorawan-downlink-config","aca"),exact:!0,sidebar:"configurationSidebar"},{path:"/iot/configuration/lte-network-configuration",component:d("/iot/configuration/lte-network-configuration","fcd"),exact:!0,sidebar:"configurationSidebar"},{path:"/iot/configuration/meter-reception-filter-config",component:d("/iot/configuration/meter-reception-filter-config","281"),exact:!0,sidebar:"configurationSidebar"},{path:"/iot/configuration/obis-code-configuration",component:d("/iot/configuration/obis-code-configuration","2c6"),exact:!0,sidebar:"configurationSidebar"},{path:"/iot/configuration/usb-config-adapter",component:d("/iot/configuration/usb-config-adapter","397"),exact:!0,sidebar:"configurationSidebar"},{path:"/iot/firmware/",component:d("/iot/firmware/","54a"),exact:!0,sidebar:"firmwareSidebar"},{path:"/iot/firmware/app-hybrid-modbus/",component:d("/iot/firmware/app-hybrid-modbus/","83c"),exact:!0,sidebar:"firmwareSidebar"},{path:"/iot/firmware/app-nrf9160-wmbus/cellular-iot-communication-protocol",component:d("/iot/firmware/app-nrf9160-wmbus/cellular-iot-communication-protocol","235"),exact:!0,sidebar:"firmwareSidebar"},{path:"/iot/firmware/app-nrf9160-wmbus/changelog-download",component:d("/iot/firmware/app-nrf9160-wmbus/changelog-download","827"),exact:!0,sidebar:"firmwareSidebar"},{path:"/iot/firmware/app-nrf9160-wmbus/compatible-hardware",component:d("/iot/firmware/app-nrf9160-wmbus/compatible-hardware","9d9"),exact:!0,sidebar:"firmwareSidebar"},{path:"/iot/firmware/app-nrf9160-wmbus/configuration-parameter",component:d("/iot/firmware/app-nrf9160-wmbus/configuration-parameter","23e"),exact:!0,sidebar:"firmwareSidebar"},{path:"/iot/firmware/app-nrf9160-wmbus/introduction",component:d("/iot/firmware/app-nrf9160-wmbus/introduction","ff0"),exact:!0,sidebar:"firmwareSidebar"},{path:"/iot/firmware/app-nrf9160-wmbus/lorawan-communication-protocol",component:d("/iot/firmware/app-nrf9160-wmbus/lorawan-communication-protocol","502"),exact:!0,sidebar:"firmwareSidebar"},{path:"/iot/hardware/",component:d("/iot/hardware/","9ae"),exact:!0,sidebar:"hardwareSidebar"},{path:"/iot/hardware/extension-modules/",component:d("/iot/hardware/extension-modules/","e0e"),exact:!0,sidebar:"hardwareSidebar"},{path:"/iot/hardware/housings/",component:d("/iot/hardware/housings/","3d1"),exact:!0,sidebar:"hardwareSidebar"},{path:"/iot/hardware/mainboards/",component:d("/iot/hardware/mainboards/","2a3"),exact:!0,sidebar:"hardwareSidebar"},{path:"/iot/knowledge-base/modbus",component:d("/iot/knowledge-base/modbus","b9c"),exact:!0,sidebar:"knowledgeBaseSidebar"},{path:"/iot/knowledge-base/wireless-mbus",component:d("/iot/knowledge-base/wireless-mbus","a10"),exact:!0,sidebar:"knowledgeBaseSidebar"},{path:"/iot/products/",component:d("/iot/products/","eda"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/",component:d("/iot/products/metering-gateways/","99e"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wired-mbus-g1/",component:d("/iot/products/metering-gateways/wired-mbus-g1/","b23"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wired-mbus-g1/hardware-variants/dinrail-v1/",component:d("/iot/products/metering-gateways/wired-mbus-g1/hardware-variants/dinrail-v1/","485"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wired-mbus-g1/manual/",component:d("/iot/products/metering-gateways/wired-mbus-g1/manual/","179"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wired-mbus-g1/manual/cfg",component:d("/iot/products/metering-gateways/wired-mbus-g1/manual/cfg","f9d"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wired-mbus-g1/manual/workflow",component:d("/iot/products/metering-gateways/wired-mbus-g1/manual/workflow","956"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wireless-mbus-g2/",component:d("/iot/products/metering-gateways/wireless-mbus-g2/","8f9"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wireless-mbus-g2/hardware-variants/bridge-v2/",component:d("/iot/products/metering-gateways/wireless-mbus-g2/hardware-variants/bridge-v2/","9c8"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wireless-mbus-g2/manual/",component:d("/iot/products/metering-gateways/wireless-mbus-g2/manual/","a39"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wireless-mbus-g2/manual/cfg",component:d("/iot/products/metering-gateways/wireless-mbus-g2/manual/cfg","42a"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wireless-mbus-g2/manual/workflow",component:d("/iot/products/metering-gateways/wireless-mbus-g2/manual/workflow","8c9"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wireless-mbus-g3/",component:d("/iot/products/metering-gateways/wireless-mbus-g3/","1ab"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/concentrator-v1/",component:d("/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/concentrator-v1/","b41"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/dinrail-v1/",component:d("/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/dinrail-v1/","233"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/",component:d("/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/","e2d"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/bridge-v2/",component:d("/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/bridge-v2/","010"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/gw-v2/",component:d("/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/gw-v2/","50b"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v3/",component:d("/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v3/","733"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/",component:d("/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/","dc3"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/desc",component:d("/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/desc","495"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/sun-v1/",component:d("/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/sun-v1/","8bb"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wireless-mbus-g3/manual/",component:d("/iot/products/metering-gateways/wireless-mbus-g3/manual/","f22"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wireless-mbus-g3/manual/cfg",component:d("/iot/products/metering-gateways/wireless-mbus-g3/manual/cfg","713"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/metering-gateways/wireless-mbus-g3/manual/workflow",component:d("/iot/products/metering-gateways/wireless-mbus-g3/manual/workflow","5bf"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/sensor-gateways/",component:d("/iot/products/sensor-gateways/","b5a"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/sensor-gateways/current-loop/",component:d("/iot/products/sensor-gateways/current-loop/","f74"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/sensor-gateways/level/",component:d("/iot/products/sensor-gateways/level/","301"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/sensor-gateways/modbus/",component:d("/iot/products/sensor-gateways/modbus/","b18"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/products/sensor-gateways/temperature/",component:d("/iot/products/sensor-gateways/temperature/","f95"),exact:!0,sidebar:"productsSidebar"},{path:"/iot/",component:d("/iot/","dcd"),exact:!0,sidebar:"allDocSidebar"}]}]}]},{path:"*",component:d("*")}]},8848:(e,t,n)=>{"use strict";n.d(t,{o:()=>o,x:()=>i});var r=n(6540),a=n(4848);const o=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,a.jsx)(o.Provider,{value:n,children:t})}},5022:(e,t,n)=>{"use strict";var r=n(6540),a=n(5338),o=n(545),i=n(4625),s=n(4784),l=n(1712);const u=[n(5300),n(4753),n(5729),n(8252)];var c=n(2413),d=n(6347),p=n(2831),f=n(4848);function g(e){let{children:t}=e;return(0,f.jsx)(f.Fragment,{children:t})}var m=n(1141),h=n(7639),b=n(8180),y=n(6957),v=n(9817),w=n(2098),k=n(9503),x=n(1482),S=n(4609),E=n(1210);function _(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,h.A)(),r=(0,w.o)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,f.jsxs)(m.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,f.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,f.jsx)("meta",{property:"og:locale",content:o(a)}),Object.values(n).filter((e=>a!==e.htmlLang)).map((e=>(0,f.jsx)("meta",{property:"og:locale:alternate",content:o(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function C(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.A)(),{pathname:r}=(0,d.zy)();return e+(0,S.applyTrailingSlash)((0,b.Ay)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:r;return(0,f.jsxs)(m.A,{children:[(0,f.jsx)("meta",{property:"og:url",content:a}),(0,f.jsx)("link",{rel:"canonical",href:a})]})}function A(){const{i18n:{currentLocale:e}}=(0,h.A)(),{metadata:t,image:n}=(0,y.p)();return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsxs)(m.A,{children:[(0,f.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,f.jsx)("body",{className:k.w})]}),n&&(0,f.jsx)(v.be,{image:n}),(0,f.jsx)(C,{}),(0,f.jsx)(_,{}),(0,f.jsx)(E.A,{tag:x.Cy,locale:e}),(0,f.jsx)(m.A,{children:t.map(((e,t)=>(0,f.jsx)("meta",{...e},t)))})]})}const T=new Map;var N=n(8848),L=n(3366),O=n(6494);function P(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const j=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,O.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),P("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function R(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,p.u)(c.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class I extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=l.A.canUseDOM?P("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=P("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),R(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,f.jsx)(j,{previousLocation:this.previousLocation,location:t,children:(0,f.jsx)(d.qh,{location:t,render:()=>e})})}}const D=I,F="__docusaurus-base-url-issue-banner-container",M="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${F}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}((0,d.zy)());return(0,f.jsx)(D,{location:e,children:q})}function K(){return(0,f.jsx)(V.A,{children:(0,f.jsx)(L.l,{children:(0,f.jsxs)(N.x,{children:[(0,f.jsxs)(g,{children:[(0,f.jsx)(H,{}),(0,f.jsx)(A,{}),(0,f.jsx)(U,{}),(0,f.jsx)(Y,{})]}),(0,f.jsx)(G,{})]})})})}var Q=n(4054);const Z=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var X=n(1604);const J=new Set,ee=new Set,te=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ne={prefetch:e=>{if(!(e=>!te()&&!ee.has(e)&&!J.has(e))(e))return!1;J.add(e);const t=(0,p.u)(c.A,e).flatMap((e=>{return t=e.route.path,Object.entries(Q).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,X.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Z(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!te()&&!ee.has(e))(e)&&(ee.add(e),R(e))},re=Object.freeze(ne);function ae(e){let{children:t}=e;return"hash"===s.A.future.experimental_router?(0,f.jsx)(i.I9,{children:t}):(0,f.jsx)(i.Kd,{children:t})}const oe=Boolean(!0);if(l.A.canUseDOM){window.docusaurus=re;const e=document.getElementById("__docusaurus"),t=(0,f.jsx)(o.vd,{children:(0,f.jsx)(ae,{children:(0,f.jsx)(K,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},i=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(oe)window.docusaurusRoot=a.hydrateRoot(e,t,{onRecoverableError:n});else{const r=a.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};R(window.location.pathname).then((()=>{(0,r.startTransition)(i)}))}},3366:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>p});var r=n(6540),a=n(4784);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/iot/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/iot/","mainDocId":"index","docs":[{"id":"cloud/direct+/index","path":"/iot/cloud/direct+/","sidebar":"cloudSidebar"},{"id":"cloud/index","path":"/iot/cloud/","sidebar":"cloudSidebar"},{"id":"cloud/platform/index","path":"/iot/cloud/platform/","sidebar":"cloudSidebar"},{"id":"configuration/cron-configuration","path":"/iot/configuration/cron-configuration","sidebar":"configurationSidebar"},{"id":"configuration/index","path":"/iot/configuration/","sidebar":"configurationSidebar"},{"id":"configuration/lobaro-config-tool","path":"/iot/configuration/lobaro-config-tool","sidebar":"configurationSidebar"},{"id":"configuration/lorawan-downlink-config","path":"/iot/configuration/lorawan-downlink-config","sidebar":"configurationSidebar"},{"id":"configuration/lte-network-configuration","path":"/iot/configuration/lte-network-configuration","sidebar":"configurationSidebar"},{"id":"configuration/meter-reception-filter-config","path":"/iot/configuration/meter-reception-filter-config","sidebar":"configurationSidebar"},{"id":"configuration/obis-code-configuration","path":"/iot/configuration/obis-code-configuration","sidebar":"configurationSidebar"},{"id":"configuration/usb-config-adapter","path":"/iot/configuration/usb-config-adapter","sidebar":"configurationSidebar"},{"id":"firmware/app-hybrid-modbus/index","path":"/iot/firmware/app-hybrid-modbus/","sidebar":"firmwareSidebar"},{"id":"firmware/app-nrf9160-wmbus/cellular-iot-communication-protocol","path":"/iot/firmware/app-nrf9160-wmbus/cellular-iot-communication-protocol","sidebar":"firmwareSidebar"},{"id":"firmware/app-nrf9160-wmbus/changelog-download","path":"/iot/firmware/app-nrf9160-wmbus/changelog-download","sidebar":"firmwareSidebar"},{"id":"firmware/app-nrf9160-wmbus/compatible-hardware","path":"/iot/firmware/app-nrf9160-wmbus/compatible-hardware","sidebar":"firmwareSidebar"},{"id":"firmware/app-nrf9160-wmbus/configuration-parameter","path":"/iot/firmware/app-nrf9160-wmbus/configuration-parameter","sidebar":"firmwareSidebar"},{"id":"firmware/app-nrf9160-wmbus/introduction","path":"/iot/firmware/app-nrf9160-wmbus/introduction","sidebar":"firmwareSidebar"},{"id":"firmware/app-nrf9160-wmbus/lorawan-communication-protocol","path":"/iot/firmware/app-nrf9160-wmbus/lorawan-communication-protocol","sidebar":"firmwareSidebar"},{"id":"firmware/index","path":"/iot/firmware/","sidebar":"firmwareSidebar"},{"id":"hardware/extension-modules/index","path":"/iot/hardware/extension-modules/","sidebar":"hardwareSidebar"},{"id":"hardware/housings/index","path":"/iot/hardware/housings/","sidebar":"hardwareSidebar"},{"id":"hardware/index","path":"/iot/hardware/","sidebar":"hardwareSidebar"},{"id":"hardware/mainboards/index","path":"/iot/hardware/mainboards/","sidebar":"hardwareSidebar"},{"id":"index","path":"/iot/","sidebar":"allDocSidebar"},{"id":"knowledge-base/modbus","path":"/iot/knowledge-base/modbus","sidebar":"knowledgeBaseSidebar"},{"id":"knowledge-base/wireless-mbus","path":"/iot/knowledge-base/wireless-mbus","sidebar":"knowledgeBaseSidebar"},{"id":"products/index","path":"/iot/products/","sidebar":"productsSidebar"},{"id":"products/metering-gateways/index","path":"/iot/products/metering-gateways/","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wired-mbus-g1/hardware-variants/dinrail-v1/index","path":"/iot/products/metering-gateways/wired-mbus-g1/hardware-variants/dinrail-v1/","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wired-mbus-g1/index","path":"/iot/products/metering-gateways/wired-mbus-g1/","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wired-mbus-g1/manual/cfg","path":"/iot/products/metering-gateways/wired-mbus-g1/manual/cfg","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wired-mbus-g1/manual/index","path":"/iot/products/metering-gateways/wired-mbus-g1/manual/","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wired-mbus-g1/manual/workflow","path":"/iot/products/metering-gateways/wired-mbus-g1/manual/workflow","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wireless-mbus-g2/hardware-variants/bridge-v2/index","path":"/iot/products/metering-gateways/wireless-mbus-g2/hardware-variants/bridge-v2/","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wireless-mbus-g2/index","path":"/iot/products/metering-gateways/wireless-mbus-g2/","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wireless-mbus-g2/manual/cfg","path":"/iot/products/metering-gateways/wireless-mbus-g2/manual/cfg","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wireless-mbus-g2/manual/index","path":"/iot/products/metering-gateways/wireless-mbus-g2/manual/","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wireless-mbus-g2/manual/workflow","path":"/iot/products/metering-gateways/wireless-mbus-g2/manual/workflow","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/concentrator-v1/index","path":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/concentrator-v1/","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/dinrail-v1/index","path":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/dinrail-v1/","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/bridge-v2/index","path":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/bridge-v2/","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/gw-v2/index","path":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/gw-v2/","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/index","path":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/discontinued/","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v3/index","path":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v3/","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/desc","path":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/desc","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/index","path":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/gw-v4/","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wireless-mbus-g3/hardware-variants/sun-v1/index","path":"/iot/products/metering-gateways/wireless-mbus-g3/hardware-variants/sun-v1/","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wireless-mbus-g3/index","path":"/iot/products/metering-gateways/wireless-mbus-g3/","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wireless-mbus-g3/manual/cfg","path":"/iot/products/metering-gateways/wireless-mbus-g3/manual/cfg","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wireless-mbus-g3/manual/index","path":"/iot/products/metering-gateways/wireless-mbus-g3/manual/","sidebar":"productsSidebar"},{"id":"products/metering-gateways/wireless-mbus-g3/manual/workflow","path":"/iot/products/metering-gateways/wireless-mbus-g3/manual/workflow","sidebar":"productsSidebar"},{"id":"products/sensor-gateways/current-loop/index","path":"/iot/products/sensor-gateways/current-loop/","sidebar":"productsSidebar"},{"id":"products/sensor-gateways/index","path":"/iot/products/sensor-gateways/","sidebar":"productsSidebar"},{"id":"products/sensor-gateways/level/index","path":"/iot/products/sensor-gateways/level/","sidebar":"productsSidebar"},{"id":"products/sensor-gateways/modbus/index","path":"/iot/products/sensor-gateways/modbus/","sidebar":"productsSidebar"},{"id":"products/sensor-gateways/temperature/index","path":"/iot/products/sensor-gateways/temperature/","sidebar":"productsSidebar"}],"draftIds":["knowledge-base/playground"],"sidebars":{"htmlSidebar":{},"allDocSidebar":{"link":{"path":"/iot/","label":"index"}},"configurationSidebar":{"link":{"path":"/iot/configuration/","label":"configuration/index"}},"productsSidebar":{"link":{"path":"/iot/products/","label":"products/index"}},"firmwareSidebar":{"link":{"path":"/iot/firmware/","label":"firmware/index"}},"hardwareSidebar":{"link":{"path":"/iot/hardware/","label":"hardware/index"}},"cloudSidebar":{"link":{"path":"/iot/cloud/","label":"cloud/index"}},"knowledgeBaseSidebar":{"link":{"path":"/iot/knowledge-base/wireless-mbus","label":"knowledge-base/wireless-mbus"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(2654);const l=JSON.parse('{"docusaurusVersion":"3.4.0","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.4.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.4.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.4.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.4.0"},"docusaurus-plugin-ideal-image":{"type":"package","name":"@docusaurus/plugin-ideal-image","version":"3.4.0"}}}');var u=n(4848);const c={siteConfig:a.A,siteMetadata:l,globalData:o,i18n:i,codeTranslations:s},d=r.createContext(c);function p(e){let{children:t}=e;return(0,u.jsx)(d.Provider,{value:c,children:t})}},3832:(e,t,n)=>{"use strict";n.d(t,{A:()=>m});var r=n(6540),a=n(1712),o=n(1141),i=n(4609),s=n(3844),l=n(3363),u=n(4848);function c(e){let{error:t,tryAgain:n}=e;return(0,u.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,u.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,u.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,u.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function p(e){let{children:t}=e;return(0,u.jsx)(l.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function f(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)(p,{children:(0,u.jsxs)(m,{fallback:()=>(0,u.jsx)(c,{error:t,tryAgain:n}),children:[(0,u.jsx)(o.A,{children:(0,u.jsx)("title",{children:"Page Error"})}),(0,u.jsx)(s.A,{children:(0,u.jsx)(c,{error:t,tryAgain:n})})]})})}const g=e=>(0,u.jsx)(f,{...e});class m extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??g)(e)}return e??null}}},1712:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},1141:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);var r=n(545),a=n(4848);function o(e){return(0,a.jsx)(r.mg,{...e})}},4783:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var r=n(6540),a=n(4625),o=n(4609),i=n(7639),s=n(877),l=n(1712),u=n(7344),c=n(8180),d=n(4848);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:g,isActive:m,"data-noBrokenLinkCheck":h,autoAddBaseUrl:b=!0,...y}=e;const{siteConfig:v}=(0,i.A)(),{trailingSlash:w,baseUrl:k}=v,x=v.future.experimental_router,{withBaseUrl:S}=(0,c.hH)(),E=(0,u.A)(),_=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>_.current));const C=p||f;const A=(0,s.A)(C),T=C?.replace("pathname://","");let N=void 0!==T?(L=T,b&&(e=>e.startsWith("/"))(L)?S(L):L):void 0;var L;"hash"===x&&N?.startsWith("./")&&(N=N?.slice(1)),N&&A&&(N=(0,o.applyTrailingSlash)(N,{trailingSlash:w,baseUrl:k}));const O=(0,r.useRef)(!1),P=n?a.k2:a.N_,j=l.A.canUseIntersectionObserver,R=(0,r.useRef)(),I=()=>{O.current||null==N||(window.docusaurus.preload(N),O.current=!0)};(0,r.useEffect)((()=>(!j&&A&&null!=N&&window.docusaurus.prefetch(N),()=>{j&&R.current&&R.current.disconnect()})),[R,N,j,A]);const D=N?.startsWith("#")??!1,F=!y.target||"_self"===y.target,M=!N||!A||!F;return h||!D&&M||E.collectLink(N),y.id&&E.collectAnchor(y.id),M?(0,d.jsx)("a",{ref:_,href:N,...C&&!A&&{target:"_blank",rel:"noopener noreferrer"},...y}):(0,d.jsx)(P,{...y,onMouseEnter:I,onTouchStart:I,innerRef:e=>{_.current=e,j&&e&&A&&(R.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(R.current.unobserve(e),R.current.disconnect(),null!=N&&window.docusaurus.prefetch(N))}))})),R.current.observe(e))},to:N,...n&&{isActive:m,activeClassName:g}})}const f=r.forwardRef(p)},9175:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const r=()=>null},3230:(e,t,n)=>{"use strict";n.d(t,{A:()=>u,T:()=>l});var r=n(6540),a=n(4848);function o(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(2654);function s(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return o(s({message:n,id:r}),t)}function u(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=s({message:t,id:n});return(0,a.jsx)(a.Fragment,{children:o(i,r)})}},4598:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},877:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>a,z:()=>r})},8180:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>s,hH:()=>i});var r=n(6540),a=n(7639),o=n(877);function i(){const{siteConfig:e}=(0,a.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router,s=(0,r.useCallback)(((e,r)=>function(e){let{siteUrl:t,baseUrl:n,url:r,options:{forcePrependBaseUrl:a=!1,absolute:i=!1}={},router:s}=e;if(!r||r.startsWith("#")||(0,o.z)(r))return r;if("hash"===s)return r.startsWith("/")?`.${r}`:`./${r}`;if(a)return n+r.replace(/^\//,"");if(r===n.replace(/\/$/,""))return n;const l=r.startsWith(n)?r:n+r.replace(/^\//,"");return i?t+l:l}({siteUrl:n,baseUrl:t,url:e,options:r,router:i})),[n,t,i]);return{withBaseUrl:s}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},7344:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(6540);n(4848);const a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),o=()=>(0,r.useContext)(a);function i(){return o()}},7639:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(3366);function o(){return(0,r.useContext)(a.o)}},1062:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(8848);function o(){return(0,r.useContext)(a.o)}},6494:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540);const a=n(1712).A.canUseDOM?r.useLayoutEffect:r.useEffect},1604:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const s=a?`${a}.${o}`:o;r(i)?e(i,s):t[s]=i}))}(e),t}},3363:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>o});var r=n(6540),a=n(4848);const o=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(o),s=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,a.jsx)(o.Provider,{value:s,children:t})}},4721:(e,t,n)=>{"use strict";n.d(t,{zK:()=>m,vT:()=>p,Gy:()=>c,HW:()=>h,ht:()=>d,r7:()=>g,jh:()=>f});var r=n(6347),a=n(7639),o=n(4598);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function l(e,t){const n=function(e,t){const n=s(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),a=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const u={},c=()=>i("docusaurus-plugin-content-docs")??u,d=e=>{try{return function(e,t,n){void 0===t&&(t=o.W),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function p(e){void 0===e&&(e={});const t=c(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function f(e){return d(e).versions}function g(e){const t=d(e);return s(t)}function m(e){const t=d(e),{pathname:n}=(0,r.zy)();return l(t,n)}function h(e){const t=d(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=s(e);return{latestDocSuggestion:l(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},5729:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(5947),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},4753:(e,t,n)=>{"use strict";n.r(t);var r=n(1765),a=n(4784);!function(e){const{themeConfig:{prism:t}}=a.A,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(9700),n(1617)(`./prism-${e}`)})),delete globalThis.Prism}(r.My)},5225:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(6540);var r=n(4164),a=n(3230),o=n(6957),i=n(4783),s=n(7344);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var u=n(4848);function c(e){let{as:t,id:n,...c}=e;const d=(0,s.A)(),{navbar:{hideOnScroll:p}}=(0,o.p)();if("h1"===t||!n)return(0,u.jsx)(t,{...c,id:void 0});d.collectAnchor(n);const f=(0,a.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof c.children?c.children:n});return(0,u.jsxs)(t,{...c,className:(0,r.A)("anchor",p?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,c.className),id:n,children:[c.children,(0,u.jsx)(i.A,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},716:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);const r={iconExternalLink:"iconExternalLink_nPIU"};var a=n(4848);function o(e){let{width:t=13.5,height:n=13.5}=e;return(0,a.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},3844:(e,t,n)=>{"use strict";n.d(t,{A:()=>ft});var r=n(6540),a=n(4164),o=n(3832),i=n(9817),s=n(6347),l=n(3230),u=n(4067),c=n(4848);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,s.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,u.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const g=(0,l.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function m(e){const t=e.children??g,{containerRef:n,onClick:r}=f();return(0,c.jsx)("div",{ref:n,role:"region","aria-label":g,children:(0,c.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var h=n(8630),b=n(9503);const y={skipToContent:"skipToContent_fXgn"};function v(){return(0,c.jsx)(m,{className:y.skipToContent})}var w=n(6957),k=n(2);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:a=1.2,className:o,...i}=e;return(0,c.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,c.jsx)("g",{stroke:r,strokeWidth:a,children:(0,c.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function E(e){return(0,c.jsx)("button",{type:"button","aria-label":(0,l.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.A)("clean-btn close",S.closeButton,e.className),children:(0,c.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const _={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return(0,c.jsx)("div",{...e,className:(0,a.A)(_.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const A={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function T(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,k.M)();if(!t)return null;const{backgroundColor:r,textColor:a,isCloseable:o}=e;return(0,c.jsxs)("div",{className:A.announcementBar,style:{backgroundColor:r,color:a},role:"banner",children:[o&&(0,c.jsx)("div",{className:A.announcementBarPlaceholder}),(0,c.jsx)(C,{className:A.announcementBarContent}),o&&(0,c.jsx)(E,{onClick:n,className:A.announcementBarClose})]})}var N=n(1938),L=n(4245);var O=n(4799),P=n(763);const j=r.createContext(null);function R(e){let{children:t}=e;const n=function(){const e=(0,N.M)(),t=(0,P.YL)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,O.ZC)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return(0,c.jsx)(j.Provider,{value:n,children:t})}function I(e){if(e.component){const t=e.component;return(0,c.jsx)(t,{...e.props})}}function D(){const e=(0,r.useContext)(j);if(!e)throw new O.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,P.YL)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:I(o)})),[a,o,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:o}=D();return(0,c.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,c.jsxs)("div",{className:(0,a.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o}),children:[(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,c.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var M=n(7710),z=n(1062);function B(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,c.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function H(e){let{className:t,buttonClassName:n,value:r,onChange:o}=e;const i=(0,z.A)(),s=(0,l.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,l.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,l.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,c.jsx)("div",{className:(0,a.A)(U.toggle,t),children:(0,c.jsxs)("button",{className:(0,a.A)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===r?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite",children:[(0,c.jsx)(B,{className:(0,a.A)(U.toggleIcon,U.lightToggleIcon)}),(0,c.jsx)($,{className:(0,a.A)(U.toggleIcon,U.darkToggleIcon)})]})})}const V=r.memo(H),W={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function G(e){let{className:t}=e;const n=(0,w.p)().navbar.style,r=(0,w.p)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,M.G)();return r?null:(0,c.jsx)(V,{className:t,buttonClassName:"dark"===n?W.darkNavbarColorModeToggle:void 0,value:a,onChange:o})}var q=n(20);function Y(){return(0,c.jsx)(q.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function K(){const e=(0,N.M)();return(0,c.jsx)("button",{type:"button","aria-label":(0,l.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,c.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Q(){return(0,c.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,c.jsx)(Y,{}),(0,c.jsx)(G,{className:"margin-right--md"}),(0,c.jsx)(K,{})]})}var Z=n(4783),X=n(8180),J=n(877);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(716);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:a,label:o,html:i,isDropdownLink:s,prependBaseUrlToHref:l,...u}=e;const d=(0,X.Ay)(r),p=(0,X.Ay)(t),f=(0,X.Ay)(a,{forcePrependBaseUrl:!0}),g=o&&a&&!(0,J.A)(a),m=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,c.jsxs)(c.Fragment,{children:[o,g&&(0,c.jsx)(te.A,{...s&&{width:12,height:12}})]})};return a?(0,c.jsx)(Z.A,{href:l?f:a,...u,...m}):(0,c.jsx)(Z.A,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},...u,...m})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const o=(0,c.jsx)(ne,{className:(0,a.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,c.jsx)("li",{children:o}):o}function ae(e){let{className:t,isDropdownItem:n,...r}=e;return(0,c.jsx)("li",{className:"menu__list-item",children:(0,c.jsx)(ne,{className:(0,a.A)("menu__link",t),...r})})}function oe(e){let{mobile:t=!1,position:n,...r}=e;const a=t?ae:re;return(0,c.jsx)(a,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(4549),se=n(260),le=n(7639);const ue={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ce(e,t){return e.some((e=>function(e,t){return!!(0,se.ys)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:o,onClick:i,...s}=e;const l=(0,r.useRef)(null),[u,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{l.current&&!l.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[l]),(0,c.jsxs)("div",{ref:l,className:(0,a.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":u}),children:[(0,c.jsx)(ne,{"aria-haspopup":"true","aria-expanded":u,role:"button",href:s.to?void 0:"#",className:(0,a.A)("navbar__link",o),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!u))},children:s.children??s.label}),(0,c.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(_e,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:o,onClick:i,...l}=e;const u=function(){const{siteConfig:{baseUrl:e}}=(0,le.A)(),{pathname:t}=(0,s.zy)();return t.replace(e,"/")}(),d=ce(t,u),{collapsed:p,toggleCollapsed:f,setCollapsed:g}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&g(!d)}),[u,d,g]),(0,c.jsxs)("li",{className:(0,a.A)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,c.jsx)(ne,{role:"button",className:(0,a.A)(ue.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...l,onClick:e=>{e.preventDefault(),f()},children:l.children??l.label}),(0,c.jsx)(ie.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(_e,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,c.jsx)(r,{...n})}var ge=n(2098);function me(e){let{width:t=20,height:n=20,...r}=e;return(0,c.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,c.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const he="iconLanguage_nlXk";var be=n(9175);const ye={navbarSearchContainer:"navbarSearchContainer_Bca1"};function ve(e){let{children:t,className:n}=e;return(0,c.jsx)("div",{className:(0,a.A)(n,ye.navbarSearchContainer),children:t})}var we=n(4721),ke=n(5215);var xe=n(2780);const Se=e=>e.docs.find((t=>t.id===e.mainDocId));const Ee={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:a="",...o}=e;const{i18n:{currentLocale:i,locales:u,localeConfigs:d}}=(0,le.A)(),p=(0,ge.o)(),{search:f,hash:g}=(0,s.zy)(),m=[...n,...u.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${g}${a}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],h=t?(0,l.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,c.jsx)(fe,{...o,mobile:t,label:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(me,{className:he}),h]}),items:m})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,c.jsx)(ve,{className:n,children:(0,c.jsx)(be.A,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:o=!1}=e;const i=o?"li":"div";return(0,c.jsx)(i,{className:(0,a.A)({navbar__item:!r&&!o,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,we.zK)(r),i=(0,ke.QB)(t,r),s=o?.path===i?.path;return null===i||i.unlisted&&!s?null:(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>s||!!o?.sidebar&&o.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,we.zK)(r),i=(0,ke.fW)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,c.jsx)(oe,{exact:!0,...a,isActive:()=>o?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...a}=e;const o=(0,ke.Vd)(r)[0],i=t??o.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return(0,c.jsx)(oe,{...a,label:i,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:a,dropdownItemsAfter:o,...i}=e;const{search:u,hash:d}=(0,s.zy)(),p=(0,we.zK)(n),f=(0,we.jh)(n),{savePreferredVersionName:g}=(0,xe.g1)(n),m=[...a,...f.map((e=>{const t=p.alternateDocVersions[e.name]??Se(e);return{label:e.label,to:`${t.path}${u}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>g(e.name)}})),...o],h=(0,ke.Vd)(n)[0],b=t&&m.length>1?(0,l.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):h.label,y=t&&m.length>1?void 0:Se(h).path;return m.length<=1?(0,c.jsx)(oe,{...i,mobile:t,label:b,to:y,isActive:r?()=>!1:void 0}):(0,c.jsx)(fe,{...i,mobile:t,label:b,to:y,items:m,isActive:r?()=>!1:void 0})}};function _e(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=Ee[r];if(!a)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,c.jsx)(a,{...n})}function Ce(){const e=(0,N.M)(),t=(0,w.p)().navbar.items;return(0,c.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(_e,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Ae(e){return(0,c.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,c.jsx)(l.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Te(){const e=0===(0,w.p)().navbar.items.length,t=D();return(0,c.jsxs)(c.Fragment,{children:[!e&&(0,c.jsx)(Ae,{onClick:()=>t.hide()}),t.content]})}function Ne(){const e=(0,N.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,c.jsx)(F,{header:(0,c.jsx)(Q,{}),primaryMenu:(0,c.jsx)(Ce,{}),secondaryMenu:(0,c.jsx)(Te,{})}):null}const Le={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Oe(e){return(0,c.jsx)("div",{role:"presentation",...e,className:(0,a.A)("navbar-sidebar__backdrop",e.className)})}function Pe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.p)(),i=(0,N.M)(),{navbarRef:s,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,L.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i=s?n(!1):i+u{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,c.jsxs)("nav",{ref:s,"aria-label":(0,l.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.A)("navbar","navbar--fixed-top",n&&[Le.navbarHideable,!d&&Le.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown}),children:[t,(0,c.jsx)(Oe,{onClick:i.toggle}),(0,c.jsx)(Ne,{})]})}var je=n(4609);const Re={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function Ie(e){return(0,c.jsx)("button",{type:"button",...e,children:(0,c.jsx)(l.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function De(e){let{error:t}=e;const n=(0,je.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{className:Re.errorBoundaryError,children:n})}class Fe extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const Me="right";function ze(e){let{width:t=30,height:n=30,className:r,...a}=e;return(0,c.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,c.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function Be(){const{toggle:e,shown:t}=(0,N.M)();return(0,c.jsx)("button",{onClick:e,"aria-label":(0,l.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,c.jsx)(ze,{})})}const $e={colorModeToggle:"colorModeToggle_DEke"};function Ue(e){let{items:t}=e;return(0,c.jsx)(c.Fragment,{children:t.map(((e,t)=>(0,c.jsx)(Fe,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,c.jsx)(_e,{...e})},t)))})}function He(e){let{left:t,right:n}=e;return(0,c.jsxs)("div",{className:"navbar__inner",children:[(0,c.jsx)("div",{className:"navbar__items",children:t}),(0,c.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function Ve(){const e=(0,N.M)(),t=(0,w.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??Me)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),a=t.find((e=>"search"===e.type));return(0,c.jsx)(He,{left:(0,c.jsxs)(c.Fragment,{children:[!e.disabled&&(0,c.jsx)(Be,{}),(0,c.jsx)(Y,{}),(0,c.jsx)(Ue,{items:n})]}),right:(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(Ue,{items:r}),(0,c.jsx)(G,{className:$e.colorModeToggle}),!a&&(0,c.jsx)(ve,{children:(0,c.jsx)(be.A,{})})]})})}function We(){return(0,c.jsx)(Pe,{children:(0,c.jsx)(Ve,{})})}function Ge(e){let{item:t}=e;const{to:n,href:r,label:a,prependBaseUrlToHref:o,...i}=t,s=(0,X.Ay)(n),l=(0,X.Ay)(r,{forcePrependBaseUrl:!0});return(0,c.jsxs)(Z.A,{className:"footer__link-item",...r?{href:o?l:r}:{to:s},...i,children:[a,r&&!(0,J.A)(r)&&(0,c.jsx)(te.A,{})]})}function qe(e){let{item:t}=e;return t.html?(0,c.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)("li",{className:"footer__item",children:(0,c.jsx)(Ge,{item:t})},t.href??t.to)}function Ye(e){let{column:t}=e;return(0,c.jsxs)("div",{className:"col footer__col",children:[(0,c.jsx)("div",{className:"footer__title",children:t.title}),(0,c.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,c.jsx)(qe,{item:e},t)))})]})}function Ke(e){let{columns:t}=e;return(0,c.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,c.jsx)(Ye,{column:e},t)))})}function Qe(){return(0,c.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function Ze(e){let{item:t}=e;return t.html?(0,c.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,c.jsx)(Ge,{item:t})}function Xe(e){let{links:t}=e;return(0,c.jsx)("div",{className:"footer__links text--center",children:(0,c.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)(Ze,{item:e}),t.length!==n+1&&(0,c.jsx)(Qe,{})]},n)))})})}function Je(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,c.jsx)(Ke,{columns:t}):(0,c.jsx)(Xe,{links:t})}var et=n(975);const tt={footerLogoLink:"footerLogoLink_BH7S"};function nt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.hH)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,c.jsx)(et.A,{className:(0,a.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function rt(e){let{logo:t}=e;return t.href?(0,c.jsx)(Z.A,{href:t.href,className:tt.footerLogoLink,target:t.target,children:(0,c.jsx)(nt,{logo:t})}):(0,c.jsx)(nt,{logo:t})}function at(e){let{copyright:t}=e;return(0,c.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function ot(e){let{style:t,links:n,logo:r,copyright:o}=e;return(0,c.jsx)("footer",{className:(0,a.A)("footer",{"footer--dark":"dark"===t}),children:(0,c.jsxs)("div",{className:"container container-fluid",children:[n,(r||o)&&(0,c.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,c.jsx)("div",{className:"margin-bottom--sm",children:r}),o]})]})})}function it(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:a}=e;return(0,c.jsx)(ot,{style:a,links:n&&n.length>0&&(0,c.jsx)(Je,{links:n}),logo:r&&(0,c.jsx)(rt,{logo:r}),copyright:t&&(0,c.jsx)(at,{copyright:t})})}const st=r.memo(it),lt=(0,O.fM)([M.a,k.o,L.Tv,xe.VQ,i.Jx,function(e){let{children:t}=e;return(0,c.jsx)(P.y_,{children:(0,c.jsx)(N.e,{children:(0,c.jsx)(R,{children:t})})})}]);function ut(e){let{children:t}=e;return(0,c.jsx)(lt,{children:t})}var ct=n(5225);function dt(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)("main",{className:"container margin-vert--xl",children:(0,c.jsx)("div",{className:"row",children:(0,c.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,c.jsx)(ct.A,{as:"h1",className:"hero__title",children:(0,c.jsx)(l.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,c.jsx)("div",{className:"margin-vert--lg",children:(0,c.jsx)(Ie,{onClick:n,className:"button button--primary shadow--lw"})}),(0,c.jsx)("hr",{}),(0,c.jsx)("div",{className:"margin-vert--md",children:(0,c.jsx)(De,{error:t})})]})})})}const pt={mainWrapper:"mainWrapper_z2l0"};function ft(e){const{children:t,noFooter:n,wrapperClassName:r,title:s,description:l}=e;return(0,b.J)(),(0,c.jsxs)(ut,{children:[(0,c.jsx)(i.be,{title:s,description:l}),(0,c.jsx)(v,{}),(0,c.jsx)(T,{}),(0,c.jsx)(We,{}),(0,c.jsx)("div",{id:d,className:(0,a.A)(h.G.wrapper.main,pt.mainWrapper,r),children:(0,c.jsx)(o.A,{fallback:e=>(0,c.jsx)(dt,{...e}),children:t})}),!n&&(0,c.jsx)(st,{})]})}},20:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(6540);var r=n(4783),a=n(8180),o=n(7639),i=n(6957),s=n(975),l=n(4848);function u(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,a.Ay)(t.src),dark:(0,a.Ay)(t.srcDark||t.src)},i=(0,l.jsx)(s.A,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,l.jsx)("div",{className:r,children:i}):i}function c(e){const{siteConfig:{title:t}}=(0,o.A)(),{navbar:{title:n,logo:s}}=(0,i.p)(),{imageClassName:c,titleClassName:d,...p}=e,f=(0,a.Ay)(s?.href||"/"),g=n?"":t,m=s?.alt??g;return(0,l.jsxs)(r.A,{to:f,...p,...s?.target&&{target:s.target},children:[s&&(0,l.jsx)(u,{logo:s,alt:m,imageClassName:c}),null!=n&&(0,l.jsx)("b",{className:d,children:n})]})}},1210:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);var r=n(1141),a=n(4848);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return(0,a.jsxs)(r.A,{children:[t&&(0,a.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,a.jsx)("meta",{name:"docusaurus_version",content:n}),o&&(0,a.jsx)("meta",{name:"docusaurus_tag",content:o}),i&&(0,a.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,a.jsx)("meta",{name:"docsearch:version",content:n}),o&&(0,a.jsx)("meta",{name:"docsearch:docusaurus_tag",content:o})]})}},975:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});var r=n(6540),a=n(4164),o=n(1062),i=n(7710);const s={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var l=n(4848);function u(e){let{className:t,children:n}=e;const u=(0,o.A)(),{colorMode:c}=(0,i.G)();return(0,l.jsx)(l.Fragment,{children:(u?"dark"===c?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,a.A)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,l.jsx)(r.Fragment,{children:o},e)}))})}function c(e){const{sources:t,className:n,alt:r,...a}=e;return(0,l.jsx)(u,{className:n,children:e=>{let{theme:n,className:o}=e;return(0,l.jsx)("img",{src:t[n],alt:r,className:o,...a})}})}},4549:(e,t,n)=>{"use strict";n.d(t,{N:()=>b,u:()=>u});var r=n(6540),a=n(1712),o=n(6494),i=n(6350),s=n(4848);const l="ease-in-out";function u(e){let{initialState:t}=e;const[n,a]=(0,r.useState)(t??!1),o=(0,r.useCallback)((()=>{a((e=>!e))}),[]);return{collapsed:n,setCollapsed:a,toggleCollapsed:o}}const c={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?c:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:a}=e;const o=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=a?.duration??function(e){if((0,i.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${a?.easing??l}`,height:`${t}px`}}function s(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return p(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=c.height,e.style.overflow=c.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,a])}function g(e){if(!a.A.canUseDOM)return e?c:d}function m(e){let{as:t="div",collapsed:n,children:a,animation:o,onCollapseTransitionEnd:i,className:l,disableSSRStyle:u}=e;const c=(0,r.useRef)(null);return f({collapsibleRef:c,collapsed:n,animation:o}),(0,s.jsx)(t,{ref:c,style:u?void 0:g(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(c.current,n),i?.(n))},className:l,children:a})}function h(e){let{collapsed:t,...n}=e;const[a,i]=(0,r.useState)(!t),[l,u]=(0,r.useState)(t);return(0,o.A)((()=>{t||i(!0)}),[t]),(0,o.A)((()=>{a&&u(t)}),[a,t]),a?(0,s.jsx)(m,{...n,collapsed:l}):null}function b(e){let{lazy:t,...n}=e;const r=t?h:m;return(0,s.jsx)(r,{...n})}},2:(e,t,n)=>{"use strict";n.d(t,{M:()=>m,o:()=>g});var r=n(6540),a=n(1062),o=n(9900),i=n(4799),s=n(6957),l=n(4848);const u=(0,o.Wf)("docusaurus.announcement.dismiss"),c=(0,o.Wf)("docusaurus.announcement.id"),d=()=>"true"===u.get(),p=e=>u.set(String(e)),f=r.createContext(null);function g(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.p)(),t=(0,a.A)(),[n,o]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{o(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=c.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;c.set(t),r&&p(!1),!r&&d()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,l.jsx)(f.Provider,{value:n,children:t})}function m(){const e=(0,r.useContext)(f);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},7710:(e,t,n)=>{"use strict";n.d(t,{G:()=>b,a:()=>h});var r=n(6540),a=n(1712),o=n(4799),i=n(9900),s=n(6957),l=n(4848);const u=r.createContext(void 0),c="theme",d=(0,i.Wf)(c),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,g=e=>a.A.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),m=e=>{d.set(f(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.p)(),[a,o]=(0,r.useState)(g(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&m(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==c)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[a,i])}();return(0,l.jsx)(u.Provider,{value:n,children:t})}function b(){const e=(0,r.useContext)(u);if(null==e)throw new o.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},2780:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>b,g1:()=>v});var r=n(6540),a=n(4721),o=n(4598),i=n(6957),s=n(5215),l=n(4799),u=n(9900),c=n(4848);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,u.Wf)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.Wf)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.Wf)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const g=r.createContext(null);function m(){const e=(0,a.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,s]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=p.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=m();return(0,c.jsx)(g.Provider,{value:n,children:t})}function b(e){let{children:t}=e;return s.C5?(0,c.jsx)(h,{children:t}):(0,c.jsx)(c.Fragment,{children:t})}function y(){const e=(0,r.useContext)(g);if(!e)throw new l.dV("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.W);const t=(0,a.ht)(e),[n,i]=y(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},403:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,t:()=>u});var r=n(6540),a=n(4799),o=n(4848);const i=Symbol("EmptyContext"),s=r.createContext(i);function l(e){let{children:t,name:n,items:a}=e;const i=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return(0,o.jsx)(s.Provider,{value:i,children:t})}function u(){const e=(0,r.useContext)(s);if(e===i)throw new a.dV("DocsSidebarProvider");return e}},3403:(e,t,n)=>{"use strict";n.d(t,{n:()=>s,r:()=>l});var r=n(6540),a=n(4799),o=n(4848);const i=r.createContext(null);function s(e){let{children:t,version:n}=e;return(0,o.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(null===e)throw new a.dV("DocsVersionProvider");return e}},1938:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>p});var r=n(6540),a=n(763),o=n(2216),i=n(2814),s=n(6957),l=n(4799),u=n(4848);const c=r.createContext(void 0);function d(){const e=function(){const e=(0,a.YL)(),{items:t}=(0,s.p)().navbar;return 0===t.length&&!e.component}(),t=(0,o.l)(),n=!e&&"mobile"===t,[l,u]=(0,r.useState)(!1);(0,i.$Z)((()=>{if(l)return u(!1),!1}));const c=(0,r.useCallback)((()=>{u((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&u(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:l})),[e,n,c,l])}function p(e){let{children:t}=e;const n=d();return(0,u.jsx)(c.Provider,{value:n,children:t})}function f(){const e=r.useContext(c);if(void 0===e)throw new l.dV("NavbarMobileSidebarProvider");return e}},763:(e,t,n)=>{"use strict";n.d(t,{GX:()=>u,YL:()=>l,y_:()=>s});var r=n(6540),a=n(4799),o=n(4848);const i=r.createContext(null);function s(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,o.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(!e)throw new a.dV("NavbarSecondaryMenuContentProvider");return e[0]}function u(e){let{component:t,props:n}=e;const o=(0,r.useContext)(i);if(!o)throw new a.dV("NavbarSecondaryMenuContentProvider");const[,s]=o,l=(0,a.Be)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},9503:(e,t,n)=>{"use strict";n.d(t,{w:()=>a,J:()=>o});var r=n(6540);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},2216:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});var r=n(6540),a=n(1712);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,s]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){s(function(e){if(!a.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?o.desktop:o.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},8630:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},6350:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},5215:(e,t,n)=>{"use strict";n.d(t,{B5:()=>E,C5:()=>p,Nr:()=>f,OF:()=>w,QB:()=>S,Vd:()=>k,Y:()=>y,fW:()=>x,w8:()=>h});var r=n(6540),a=n(6347),o=n(2831),i=n(4721),s=n(2780),l=n(3403),u=n(403),c=n(5167),d=n(260);const p=!!i.Gy;function f(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=f(t);if(e)return e}}(e):void 0:e.href}const g=(e,t)=>void 0!==e&&(0,d.ys)(e,t),m=(e,t)=>e.some((e=>h(e,t)));function h(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||m(e.items,t))}function b(e,t){switch(e.type){case"category":return h(e,t)||e.items.some((e=>b(e,t)));case"link":return!e.unlisted||h(e,t);default:return!0}}function y(e,t){return(0,r.useMemo)((()=>e.filter((e=>b(e,t)))),[e,t])}function v(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,d.ys)(o.href,n)||e(o.items))||"link"===o.type&&(0,d.ys)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function w(){const e=(0,u.t)(),{pathname:t}=(0,a.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?v({sidebarItems:e.items,pathname:t}):null}function k(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,s.g1)(e),a=(0,i.r7)(e);return(0,r.useMemo)((()=>(0,c.s)([t,n,a].filter(Boolean))),[t,n,a])}function x(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function S(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,c.s)(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function E(e){let{route:t}=e;const n=(0,a.zy)(),r=(0,l.r)(),i=t.routes,s=i.find((e=>(0,a.B6)(n.pathname,e)));if(!s)return null;const u=s.sidebar,c=u?r.docsSidebars[u]:void 0;return{docElement:(0,o.v)(i),sidebarName:u,sidebarItems:c}}},2814:(e,t,n)=>{"use strict";n.d(t,{$Z:()=>i,aZ:()=>l});var r=n(6540),a=n(6347),o=n(4799);function i(e){!function(e){const t=(0,a.W6)(),n=(0,o._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function s(e){const t=(0,a.W6)();return(0,r.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}function l(e){return s((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}},5167:(e,t,n)=>{"use strict";function r(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,r)=>e.findIndex((e=>t(e,n)))!==r))}function a(e){return Array.from(new Set(e))}n.d(t,{X:()=>r,s:()=>a})},9817:(e,t,n)=>{"use strict";n.d(t,{e3:()=>f,be:()=>d,Jx:()=>g});var r=n(6540),a=n(4164),o=n(1141),i=n(3363);function s(){const e=r.useContext(i.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(8180),u=n(7639);var c=n(4848);function d(e){let{title:t,description:n,keywords:r,image:a,children:i}=e;const s=function(e){const{siteConfig:t}=(0,u.A)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,l.hH)(),p=a?d(a,{absolute:!0}):void 0;return(0,c.jsxs)(o.A,{children:[t&&(0,c.jsx)("title",{children:s}),t&&(0,c.jsx)("meta",{property:"og:title",content:s}),n&&(0,c.jsx)("meta",{name:"description",content:n}),n&&(0,c.jsx)("meta",{property:"og:description",content:n}),r&&(0,c.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,c.jsx)("meta",{property:"og:image",content:p}),p&&(0,c.jsx)("meta",{name:"twitter:image",content:p}),i]})}const p=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(p),s=(0,a.A)(i,t);return(0,c.jsxs)(p.Provider,{value:s,children:[(0,c.jsx)(o.A,{children:(0,c.jsx)("html",{className:s})}),n]})}function g(e){let{children:t}=e;const n=s(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const o=`plugin-id-${n.plugin.id}`;return(0,c.jsx)(f,{className:(0,a.A)(r,o),children:t})}},4799:(e,t,n)=>{"use strict";n.d(t,{Be:()=>u,ZC:()=>s,_q:()=>i,dV:()=>l,fM:()=>c});var r=n(6540),a=n(6494),o=n(4848);function i(e){const t=(0,r.useRef)(e);return(0,a.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,r.useRef)();return(0,a.A)((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function u(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function c(e){return t=>{let{children:n}=t;return(0,o.jsx)(o.Fragment,{children:e.reduceRight(((e,t)=>(0,o.jsx)(t,{children:e})),n)})}}},260:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>s,ys:()=>i});var r=n(6540),a=n(2413),o=n(7639);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,o.A)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.A,baseUrl:e})),[e])}},4245:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>f,Tv:()=>c,a_:()=>g,gk:()=>m});var r=n(6540),a=n(1712),o=n(1062),i=n(6494),s=n(4799),l=n(4848);const u=r.createContext(void 0);function c(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(u.Provider,{value:n,children:t})}function d(){const e=(0,r.useContext)(u);if(null==e)throw new s.dV("ScrollControllerProvider");return e}const p=()=>a.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function f(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=d(),a=(0,r.useRef)(p()),o=(0,s._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=p();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function g(){const e=d(),t=function(){const e=(0,r.useRef)({elem:null,top:0}),t=(0,r.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,r.useCallback)((()=>{const{current:{elem:t,top:n}}=e;if(!t)return{restored:!1};const r=t.getBoundingClientRect().top-n;return r&&window.scrollBy({left:0,top:r}),e.current={elem:null,top:0},{restored:0!==r}}),[]);return(0,r.useMemo)((()=>({save:t,restore:n})),[n,t])}(),n=(0,r.useRef)(void 0),a=(0,r.useCallback)((r=>{t.save(r),e.disableScrollEvents(),n.current=()=>{const{restored:r}=t.restore();if(n.current=void 0,r){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,i.A)((()=>{queueMicrotask((()=>n.current?.()))})),{blockElementScrollPositionUntilNextRender:a}}function m(){const e=(0,r.useRef)(null),t=(0,o.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&at&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},1482:(e,t,n)=>{"use strict";n.d(t,{Cy:()=>r,tU:()=>a});n(7639);const r="default";function a(e,t){return`docs-${e}-${t}`}},9900:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>c,Dv:()=>d});var r=n(6540);const a=JSON.parse('{"N":"localStorage","M":""}'),o=a.N;function i(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function s(e){if(void 0===e&&(e=o),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,l||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),l=!0),null}var t}let l=!1;const u={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function c(e,t){const n=`${e}${a.M}`;if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(n);const r=s(t?.persistence);return null===r?u:{get:()=>{try{return r.getItem(n)}catch(e){return console.error(`Docusaurus storage error, can't get key=${n}`,e),null}},set:e=>{try{const t=r.getItem(n);r.setItem(n,e),i({key:n,oldValue:t,newValue:e,storage:r})}catch(t){console.error(`Docusaurus storage error, can't set ${n}=${e}`,t)}},del:()=>{try{const e=r.getItem(n);r.removeItem(n),i({key:n,oldValue:e,newValue:null,storage:r})}catch(e){console.error(`Docusaurus storage error, can't delete key=${n}`,e)}},listen:e=>{try{const t=t=>{t.storageArea===r&&t.key===n&&e(t)};return window.addEventListener("storage",t),()=>window.removeEventListener("storage",t)}catch(t){return console.error(`Docusaurus storage error, can't listen for changes of key=${n}`,t),()=>{}}}}}function d(e,t){const n=(0,r.useRef)((()=>null===e?u:c(e,t))).current(),a=(0,r.useCallback)((e=>"undefined"==typeof window?()=>{}:n.listen(e)),[n]);return[(0,r.useSyncExternalStore)(a,(()=>"undefined"==typeof window?null:n.get()),(()=>null)),n]}},2098:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(7639),a=n(6347),o=n(4609);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,r.A)(),{pathname:l}=(0,a.zy)(),u=(0,o.applyTrailingSlash)(l,{trailingSlash:n,baseUrl:e}),c=s===i?e:e.replace(`/${s}/`,"/"),d=u.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${c}`:`${c}${e}/`}(n)}${d}`}}}},4067:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(6540),a=n(6347),o=n(4799);function i(e){const t=(0,a.zy)(),n=(0,o.ZC)(t),i=(0,o._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6957:(e,t,n)=>{"use strict";n.d(t,{p:()=>a});var r=n(7639);function a(){return(0,r.A)().siteConfig.themeConfig}},4356:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=void 0;const r=n(835);function a(e){return e.endsWith("/")?e:`${e}/`}function o(e){return(0,r.removeSuffix)(e,"/")}t.addTrailingSlash=a,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),s="/"===i||i===r?i:(l=i,n?a(l):o(l));var l;return e.replace(i,s)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=o},8274:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},4609:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(4356);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}}),Object.defineProperty(t,"addTrailingSlash",{enumerable:!0,get:function(){return a.addTrailingSlash}}),Object.defineProperty(t,"addLeadingSlash",{enumerable:!0,get:function(){return a.addLeadingSlash}}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return a.removeTrailingSlash}});var o=n(835);Object.defineProperty(t,"addPrefix",{enumerable:!0,get:function(){return o.addPrefix}}),Object.defineProperty(t,"removeSuffix",{enumerable:!0,get:function(){return o.removeSuffix}}),Object.defineProperty(t,"addSuffix",{enumerable:!0,get:function(){return o.addSuffix}}),Object.defineProperty(t,"removePrefix",{enumerable:!0,get:function(){return o.removePrefix}});var i=n(8274);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},835:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=void 0,t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){return""===t?e:e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},1513:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>C,yJ:()=>f,sC:()=>T,AO:()=>p});var r=n(8168);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r=0;p--){var f=i[p];"."===f?o(i,p):".."===f?(o(i,p),d++):d&&(o(i,p),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var g=i.join("/");return n&&"/"!==g.substr(-1)&&(g+="/"),g};var s=n(1561);function l(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function f(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.A)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function g(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=f(e,t,m(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var r=n(4363),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||a}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,g=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(g){var a=f(n);a&&a!==g&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var s=l(t),m=l(n),h=0;h{"use strict";e.exports=function(e,t,n,r,a,o,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,s],c=0;(l=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},4634:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},5300:(e,t,n)=>{"use strict";n.r(t)},8252:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function a(e,t,n){return en?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),u=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(u,i(e,c,d)),1===e?(l(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){l(o,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),s=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&f(a),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function u(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=p(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},5302:(e,t,n)=>{var r=n(4634);e.exports=f,e.exports.parse=o,e.exports.compile=function(e,t){return s(o(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=p;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,s="",c=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],p=n[1],f=n.index;if(s+=e.slice(i,f),i=f+d.length,p)s+=p[1];else{var g=e[i],m=n[2],h=n[3],b=n[4],y=n[5],v=n[6],w=n[7];s&&(r.push(s),s="");var k=null!=m&&null!=g&&g!==m,x="+"===v||"*"===v,S="?"===v||"*"===v,E=n[2]||c,_=b||y;r.push({name:h||o++,prefix:m||"",delimiter:E,optional:S,repeat:x,partial:k,asterisk:!!w,pattern:_?u(_):w?".*":"[^"+l(E)+"]+?"})}}return i{!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i{Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json},9700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,s=i.length;-1!==n.code.indexOf(a=t(r,s));)++s;return i[s]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(s){for(var l=0;l=o.length);l++){var u=s[l];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],p="string"==typeof u?u:u.content,f=t(r,c),g=p.indexOf(f);if(g>-1){++a;var m=p.substring(0,g),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=p.substring(g+f.length),y=[];m&&y.push.apply(y,i([m])),y.push(h),b&&y.push.apply(y,i([b])),"string"==typeof u?s.splice.apply(s,[l,1].concat(y)):u.content=y}}else u.content&&i(u.content)}return s}(n.tokens)}}}})}(Prism)},1617:(e,t,n)=>{var r={"./prism-bash":7022,"./prism-json":2514};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=1617},2694:(e,t,n)=>{"use strict";var r=n(6925);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},2551:(e,t,n)=>{"use strict";var r=n(6540),a=n(9982);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n