[{"data":1,"prerenderedAt":2044},["ShallowReactive",2],{"manifest":3,"hreflang-alternates":1909,"doc-pl-bloki-logiczne\u002Finput\u002Ftapo_sensor":1915},{"site":4,"branding":6,"contact":8,"organization_schema":10,"languages":67,"website":81,"docs":343,"blog":1720},{"title":5},"Voldeno",{"logo":7,"company_name":5},"\u002Fimages\u002Flogo\u002Flogo_310.png",{"email":9},"contact@voldeno.com",{"schema_name":5,"legal_name":11,"founding_date":12,"tax_id":13,"identifiers":14,"address":21,"primary_email":9,"knows_about":26,"contact_points":50,"contact_point_available_languages":62},"Voldeno sp. z o.o.","2024","PL7252346262",[15,18],{"name":16,"value":17},"KRS","0001123648",{"name":19,"value":20},"REGON","52946949200000",{"street_address":22,"address_locality":23,"postal_code":24,"address_country":25},"Ogrodowa 8, Lobby B, 3p.","Łódź","91-062","PL",{"ja":27,"pl":34,"de":40,"en":45},[28,29,30,31,32,33],"スマートホーム","スマートホームシステム","スマートホーム自動化","ビルディングオートメーション","IoT","ホームオートメーションシステム",[35,36,37,38,32,39],"Inteligentny dom","Smart Home","System Smart Home","Automatyka budynkowa","System automatyki domowej",[36,41,42,43,32,44],"Smart-Home-Systeme","Smart-Home-Automatisierung","Gebäudeautomation","Hausautomationssystem",[36,46,47,48,32,49],"Smart Home Systems","Smart Home Automation","Building Automation","Home Automation System",[51,54,57,60],{"email":52,"contact_type":53},"support@voldeno.com","technical support",{"email":55,"contact_type":56},"sales@voldeno.com","sales",{"email":58,"contact_type":59},"partners@voldeno.com","partnerships",{"email":9,"contact_type":61},"customer service",[63,64,65,66],"Polish","English","German","Japanese",[68,72,75,78],{"code":69,"name":70,"default":71},"pl","Polski",true,{"code":73,"name":64,"default":74},"en",false,{"code":76,"name":77,"default":74},"de","Deutsch",{"code":79,"name":80,"default":74},"ja","日本語",{"enabled":71,"navigation":82,"path_keys":295,"section_index_slugs":332},{"de":83,"en":155,"pl":202,"ja":253},[84,90,96,102,112,118,124,129,140,150],{"title":85,"slug":86,"path":87,"order":88,"template":89},"Voldeno: Smart Home, Gebäudeautomation","index","de\u002Findex",0,"home",{"title":91,"slug":92,"path":93,"order":94,"template":95},"Ihr Zuhause","ihr-zuhause","de\u002Fihr-zuhause",1,"homeowners",{"title":97,"slug":98,"path":99,"order":100,"template":101},"Für Fachbetriebe","fuer-fachbetriebe","de\u002Ffuer-fachbetriebe",2,"professionals",{"title":103,"slug":104,"path":105,"order":106,"children":107},"Produkte","produkte","de\u002Fprodukte",3,[108],{"title":109,"slug":86,"path":110,"order":94,"template":111},"Smart-Home-Produkte​ von Voldeno","de\u002Fprodukte\u002Findex","products",{"title":113,"slug":114,"path":115,"order":116,"template":117},"Kontakt","kontakt","de\u002Fkontakt",4,"contact",{"title":119,"slug":120,"path":121,"order":122,"template":123},"Beratung","beratung","de\u002Fberatung",5,"consultation",{"title":125,"slug":126,"path":127,"order":122,"template":128},"Über uns","ueber-uns","de\u002Fueber-uns","about",{"title":130,"slug":131,"path":132,"order":133,"children":134},"Rechtliches","rechtliches","de\u002Frechtliches",6,[135],{"title":136,"slug":137,"path":138,"order":94,"template":139},"Datenschutzerklärung","privacy-policy","de\u002Frechtliches\u002Fprivacy-policy","page",{"title":141,"slug":142,"path":143,"order":144,"children":145},"Schulungen","schulungen","de\u002Fschulungen",7,[146],{"title":147,"slug":86,"path":148,"order":88,"template":149},"Voldeno Schulungen","de\u002Fschulungen\u002Findex","trainings",{"title":151,"slug":152,"path":153,"order":154},"Projekte","projekte","de\u002Fprojekte",999,[156,159,163,166,173,176,179,182,190,198],{"title":157,"slug":86,"path":158,"order":88,"template":89},"Voldeno: Smart Home, Building Automation","en\u002Findex",{"title":160,"slug":161,"path":162,"order":94,"template":95},"Your Home","your-home","en\u002Fyour-home",{"title":164,"slug":101,"path":165,"order":100,"template":101},"For Professionals","en\u002Fprofessionals",{"title":167,"slug":111,"path":168,"order":106,"children":169},"Products","en\u002Fproducts",[170],{"title":171,"slug":86,"path":172,"order":94,"template":111},"Smart Home Products​ from Voldeno","en\u002Fproducts\u002Findex",{"title":174,"slug":117,"path":175,"order":116,"template":117},"Contact","en\u002Fcontact",{"title":177,"slug":128,"path":178,"order":122,"template":128},"About Us","en\u002Fabout",{"title":180,"slug":123,"path":181,"order":122,"template":123},"Consultation","en\u002Fconsultation",{"title":183,"slug":184,"path":185,"order":133,"children":186},"Legal","legal","en\u002Flegal",[187],{"title":188,"slug":137,"path":189,"order":94,"template":139},"Privacy Policy","en\u002Flegal\u002Fprivacy-policy",{"title":191,"slug":192,"path":193,"order":144,"children":194},"Training","training","en\u002Ftraining",[195],{"title":196,"slug":86,"path":197,"order":88,"template":149},"Voldeno training","en\u002Ftraining\u002Findex",{"title":199,"slug":200,"path":201,"order":154},"Projects","projects","en\u002Fprojects",[203,206,210,214,222,224,228,232,241,249],{"title":204,"slug":86,"path":205,"order":88,"template":89},"Smart Home, Automatyka budynkowa - Voldeno","pl\u002Findex",{"title":207,"slug":208,"path":209,"order":94,"template":95},"Twój Dom","twoj-dom","pl\u002Ftwoj-dom",{"title":211,"slug":212,"path":213,"order":100,"template":101},"Dla Profesjonalistów","dla-profesjonalistow","pl\u002Fdla-profesjonalistow",{"title":215,"slug":216,"path":217,"order":106,"children":218},"Produkty","produkty","pl\u002Fprodukty",[219],{"title":220,"slug":86,"path":221,"order":94,"template":111},"Inteligentne produkty​ Smart Home Voldeno","pl\u002Fprodukty\u002Findex",{"title":113,"slug":114,"path":223,"order":116,"template":117},"pl\u002Fkontakt",{"title":225,"slug":226,"path":227,"order":122,"template":123},"Konsultacja","konsultacja","pl\u002Fkonsultacja",{"title":229,"slug":230,"path":231,"order":122,"template":128},"O nas","o-nas","pl\u002Fo-nas",{"title":233,"slug":234,"path":235,"order":133,"children":236},"Prawne","prawne","pl\u002Fprawne",[237],{"title":238,"slug":239,"path":240,"order":94,"template":139},"Polityka prywatności","polityka-prywatnosci","pl\u002Fprawne\u002Fpolityka-prywatnosci",{"title":242,"slug":243,"path":244,"order":144,"children":245},"Szkolenia","szkolenia","pl\u002Fszkolenia",[246],{"title":247,"slug":86,"path":248,"order":88,"template":149},"Szkolenia Voldeno","pl\u002Fszkolenia\u002Findex",{"title":250,"slug":251,"path":252,"order":154},"Realizacje","realizacje","pl\u002Frealizacje",[254,257,260,263,270,273,276,279,286,293],{"title":255,"slug":86,"path":256,"order":88,"template":89},"Voldeno: Smart Home, ビルディングオートメーション","ja\u002Findex",{"title":258,"slug":161,"path":259,"order":94,"template":95},"ご家庭向け","ja\u002Fyour-home",{"title":261,"slug":101,"path":262,"order":100,"template":101},"プロ向け","ja\u002Fprofessionals",{"title":264,"slug":111,"path":265,"order":106,"children":266},"製品","ja\u002Fproducts",[267],{"title":268,"slug":86,"path":269,"order":94,"template":111},"Voldeno Smart Home 製品","ja\u002Fproducts\u002Findex",{"title":271,"slug":117,"path":272,"order":116,"template":117},"お問い合わせ","ja\u002Fcontact",{"title":274,"slug":128,"path":275,"order":122,"template":128},"会社概要","ja\u002Fabout",{"title":277,"slug":123,"path":278,"order":122,"template":123},"相談","ja\u002Fconsultation",{"title":280,"slug":184,"path":281,"order":133,"children":282},"法的情報","ja\u002Flegal",[283],{"title":284,"slug":137,"path":285,"order":94,"template":139},"プライバシーポリシー","ja\u002Flegal\u002Fprivacy-policy",{"title":287,"slug":192,"path":288,"order":144,"children":289},"トレーニング","ja\u002Ftraining",[290],{"title":291,"slug":86,"path":292,"order":88,"template":149},"Voldeno トレーニング","ja\u002Ftraining\u002Findex",{"title":199,"slug":200,"path":294,"order":154},"ja\u002Fprojects",{"module_hub":296,"trainings":300,"training_foundation":304,"consultation":308,"module_io":309,"privacy":313,"module_analog_input":317,"module_relay":321,"module_1wire":325,"downloads":329},{"ja":297,"en":297,"pl":298,"de":299},"products\u002Fhub","produkty\u002Fhub","produkte\u002Fhub",{"en":301,"de":302,"ja":301,"pl":303},"training\u002Findex","schulungen\u002Findex","szkolenia\u002Findex",{"en":305,"ja":305,"pl":306,"de":307},"training\u002Ffoundation","szkolenia\u002Fpodstawowe","schulungen\u002Fgrundlagen",{"ja":123,"pl":226,"en":123,"de":120},{"pl":310,"de":311,"ja":312,"en":312},"produkty\u002Fio","produkte\u002Fio","products\u002Fio",{"en":314,"de":315,"pl":316,"ja":314},"legal\u002Fprivacy-policy","rechtliches\u002Fprivacy-policy","prawne\u002Fpolityka-prywatnosci",{"pl":318,"de":319,"ja":320,"en":320},"produkty\u002Fanalog-input","produkte\u002Fanalog-input","products\u002Fanalog-input",{"de":322,"ja":323,"pl":324,"en":323},"produkte\u002Frelay","products\u002Frelay","produkty\u002Frelay",{"ja":326,"pl":327,"en":326,"de":328},"products\u002F1wire","produkty\u002F1wire","produkte\u002F1wire",{"de":330,"pl":331,"en":330,"ja":330},"downloads","pobieranie",{"ja":333,"en":336,"pl":337,"de":340},{"projects":334,"training":301,"products":335},"projects\u002Findex","products\u002Findex",{"training":301,"projects":334,"products":335},{"produkty":338,"szkolenia":303,"realizacje":339},"produkty\u002Findex","realizacje\u002Findex",{"schulungen":302,"produkte":341,"projekte":342},"produkte\u002Findex","projekte\u002Findex",{"enabled":71,"navigation":344,"section_redirects":1672},{"en":345,"ja":849,"de":1108,"pl":1382},[346,367,376,401,414,777,791,812,834,844],{"title":347,"slug":348,"path":349,"order":94,"children":350},"Getting Started","getting-started","en\u002Fdocs\u002Fgetting-started",[351,355,359,363],{"title":352,"slug":353,"path":354,"order":94},"Core Concepts and Terminology","concepts","en\u002Fdocs\u002Fgetting-started\u002Fconcepts",{"title":356,"slug":357,"path":358,"order":100},"System Overview for Installers","system-overview","en\u002Fdocs\u002Fgetting-started\u002Fsystem-overview",{"title":360,"slug":361,"path":362,"order":106},"How to define logic in Voldeno Studio from scratch","define-logic-in-voldeno-studio","en\u002Fdocs\u002Fgetting-started\u002Fdefine-logic-in-voldeno-studio",{"title":364,"slug":365,"path":366,"order":116},"Volang and VolangVM: why a smart home needs its own automation language","volang-and-volangvm","en\u002Fdocs\u002Fgetting-started\u002Fvolang-and-volangvm",{"title":368,"slug":369,"path":370,"order":100,"children":371},"System Architecture","system-architecture","en\u002Fdocs\u002Fsystem-architecture",[372],{"title":373,"slug":374,"path":375,"order":94},"Security Architecture","security","en\u002Fdocs\u002Fsystem-architecture\u002Fsecurity",{"title":377,"slug":378,"path":379,"order":106,"children":380},"Modules & Peripherals","modules","en\u002Fdocs\u002Fmodules",[381,385,389,393,397],{"title":382,"slug":383,"path":384,"order":94},"Hub Module Wiring","hub-wiring","en\u002Fdocs\u002Fmodules\u002Fhub-wiring",{"title":386,"slug":387,"path":388,"order":100},"I\u002FO Module Wiring","io-wiring","en\u002Fdocs\u002Fmodules\u002Fio-wiring",{"title":390,"slug":391,"path":392,"order":106},"Relay Module Wiring","relay-wiring","en\u002Fdocs\u002Fmodules\u002Frelay-wiring",{"title":394,"slug":395,"path":396,"order":116},"1-Wire Module Wiring","1wire-wiring","en\u002Fdocs\u002Fmodules\u002F1wire-wiring",{"title":398,"slug":399,"path":400,"order":122},"Analog Input Module Wiring","analog-input-wiring","en\u002Fdocs\u002Fmodules\u002Fanalog-input-wiring",{"title":402,"slug":403,"path":404,"order":116,"children":405},"Wiring Guidelines","wiring","en\u002Fdocs\u002Fwiring",[406,410],{"title":407,"slug":408,"path":409,"order":94},"Bus Topology & Wiring","bus-topology","en\u002Fdocs\u002Fwiring\u002Fbus-topology",{"title":411,"slug":412,"path":413,"order":100},"Power Supply Sizing and Distribution","power-supply","en\u002Fdocs\u002Fwiring\u002Fpower-supply",{"title":415,"slug":416,"path":417,"order":122,"children":418},"Logic Blocks","logic-blocks","en\u002Fdocs\u002Flogic-blocks",[419,425,486,758],{"title":420,"slug":421,"path":422,"order":88,"template":423,"translation_key":424},"Overview","overview","en\u002Fdocs\u002Flogic-blocks\u002Foverview","logic-block-index","logic-blocks-overview",{"title":426,"slug":427,"path":428,"order":94,"children":429},"Input","input","en\u002Fdocs\u002Flogic-blocks\u002Finput",[430,436,441,446,451,456,461,466,471,476,481],{"title":431,"slug":432,"path":433,"order":88,"template":434,"translation_key":435},"Binary input","binary_input","en\u002Fdocs\u002Flogic-blocks\u002Finput\u002Fbinary_input","logic-block","logic-block-binary_input",{"title":437,"slug":438,"path":439,"order":88,"template":434,"translation_key":440},"Boolean constant","boolean_constant","en\u002Fdocs\u002Flogic-blocks\u002Finput\u002Fboolean_constant","logic-block-boolean_constant",{"title":442,"slug":443,"path":444,"order":88,"template":434,"translation_key":445},"Mode monitor","operation_mode_monitor","en\u002Fdocs\u002Flogic-blocks\u002Finput\u002Foperation_mode_monitor","logic-block-operation_mode_monitor",{"title":447,"slug":448,"path":449,"order":88,"template":434,"translation_key":450},"Numeric constant","numeric_constant","en\u002Fdocs\u002Flogic-blocks\u002Finput\u002Fnumeric_constant","logic-block-numeric_constant",{"title":452,"slug":453,"path":454,"order":88,"template":434,"translation_key":455},"Numeric input","numeric_input","en\u002Fdocs\u002Flogic-blocks\u002Finput\u002Fnumeric_input","logic-block-numeric_input",{"title":457,"slug":458,"path":459,"order":88,"template":434,"translation_key":460},"PubSub::Subscribe","pubsub_subscribe","en\u002Fdocs\u002Flogic-blocks\u002Finput\u002Fpubsub_subscribe","logic-block-pubsub_subscribe",{"title":462,"slug":463,"path":464,"order":88,"template":434,"translation_key":465},"PulseAt","pulse_at","en\u002Fdocs\u002Flogic-blocks\u002Finput\u002Fpulse_at","logic-block-pulse_at",{"title":467,"slug":468,"path":469,"order":88,"template":434,"translation_key":470},"Schedule","schedule","en\u002Fdocs\u002Flogic-blocks\u002Finput\u002Fschedule","logic-block-schedule",{"title":472,"slug":473,"path":474,"order":88,"template":434,"translation_key":475},"String constant","string_constant","en\u002Fdocs\u002Flogic-blocks\u002Finput\u002Fstring_constant","logic-block-string_constant",{"title":477,"slug":478,"path":479,"order":88,"template":434,"translation_key":480},"Switch","switch","en\u002Fdocs\u002Flogic-blocks\u002Finput\u002Fswitch","logic-block-switch",{"title":482,"slug":483,"path":484,"order":88,"template":434,"translation_key":485},"Tapo T310 \u002F T315","tapo_sensor","en\u002Fdocs\u002Flogic-blocks\u002Finput\u002Ftapo_sensor","logic-block-tapo_sensor",{"title":487,"slug":488,"path":489,"order":100,"children":490},"Process","process","en\u002Fdocs\u002Flogic-blocks\u002Fprocess",[491,502,507,512,517,522,527,532,537,542,547,552,557,562,567,572,577,582,598,603,608,613,618,623,628,633,638,643,648,653,658,663,668,673,678,683,688,693,698,703,708,713,718,723,728,733,738,743,748,753],{"title":492,"slug":493,"path":494,"order":88,"template":434,"children":495,"translation_key":501},"Air conditioner","air_conditioner","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fair_conditioner",[496],{"title":497,"slug":498,"path":499,"order":88,"template":434,"translation_key":500},"Daikin BRP069","daikin_brp069","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fair_conditioner\u002Fdaikin_brp069","logic-block-daikin_brp069","logic-block-air_conditioner",{"title":503,"slug":504,"path":505,"order":88,"template":434,"translation_key":506},"Binary limiter","binary_limiter","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fbinary_limiter","logic-block-binary_limiter",{"title":508,"slug":509,"path":510,"order":88,"template":434,"translation_key":511},"Boolean to string","boolean_to_string","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fboolean_to_string","logic-block-boolean_to_string",{"title":513,"slug":514,"path":515,"order":88,"template":434,"translation_key":516},"Climate regulator","climate_regulator","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fclimate_regulator","logic-block-climate_regulator",{"title":518,"slug":519,"path":520,"order":88,"template":434,"translation_key":521},"Climate regulator hub","climate_regulator_hub","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fclimate_regulator_hub","logic-block-climate_regulator_hub",{"title":523,"slug":524,"path":525,"order":88,"template":434,"translation_key":526},"Delay","delay","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fdelay","logic-block-delay",{"title":528,"slug":529,"path":530,"order":88,"template":434,"translation_key":531},"Delayed Pulse","delayed_pulse","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fdelayed_pulse","logic-block-delayed_pulse",{"title":533,"slug":534,"path":535,"order":88,"template":434,"translation_key":536},"Door, window","door_window_monitor","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fdoor_window_monitor","logic-block-door_window_monitor",{"title":538,"slug":539,"path":540,"order":88,"template":434,"translation_key":541},"Edge detector","edge_detector","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fedge_detector","logic-block-edge_detector",{"title":543,"slug":544,"path":545,"order":88,"template":434,"translation_key":546},"Gate","gate","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fgate","logic-block-gate",{"title":548,"slug":549,"path":550,"order":88,"template":434,"translation_key":551},"HTTP Request","http_request","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fhttp_request","logic-block-http_request",{"title":553,"slug":554,"path":555,"order":88,"template":434,"translation_key":556},"Hysteresis","hysteresis","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fhysteresis","logic-block-hysteresis",{"title":558,"slug":559,"path":560,"order":88,"template":434,"translation_key":561},"Irrigation","irrigation","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Firrigation","logic-block-irrigation",{"title":563,"slug":564,"path":565,"order":88,"template":434,"translation_key":566},"JSON Get Boolean","json_get_boolean","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fjson_get_boolean","logic-block-json_get_boolean",{"title":568,"slug":569,"path":570,"order":88,"template":434,"translation_key":571},"JSON Get Number","json_get_number","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fjson_get_number","logic-block-json_get_number",{"title":573,"slug":574,"path":575,"order":88,"template":434,"translation_key":576},"JSON Get String","json_get_string","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fjson_get_string","logic-block-json_get_string",{"title":578,"slug":579,"path":580,"order":88,"template":434,"translation_key":581},"Level to pulse","level_to_pulse","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Flevel_to_pulse","logic-block-level_to_pulse",{"title":583,"slug":584,"path":585,"order":88,"template":434,"children":586,"translation_key":597},"Light","light","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Flight",[587,592],{"title":588,"slug":589,"path":590,"order":88,"template":434,"translation_key":591},"Relay","relay_light","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Flight\u002Frelay_light","logic-block-relay_light",{"title":593,"slug":594,"path":595,"order":88,"template":434,"translation_key":596},"TP-Link Tapo","tapo_light","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Flight\u002Ftapo_light","logic-block-tapo_light","logic-block-light",{"title":599,"slug":600,"path":601,"order":88,"template":434,"translation_key":602},"Logic::And","logic_and","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Flogic_and","logic-block-logic_and",{"title":604,"slug":605,"path":606,"order":88,"template":434,"translation_key":607},"Logic::Not","logic_not","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Flogic_not","logic-block-logic_not",{"title":609,"slug":610,"path":611,"order":88,"template":434,"translation_key":612},"Logic::Or","logic_or","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Flogic_or","logic-block-logic_or",{"title":614,"slug":615,"path":616,"order":88,"template":434,"translation_key":617},"Math::Abs","math_abs","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_abs","logic-block-math_abs",{"title":619,"slug":620,"path":621,"order":88,"template":434,"translation_key":622},"Math::Add","math_add","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_add","logic-block-math_add",{"title":624,"slug":625,"path":626,"order":88,"template":434,"translation_key":627},"Math::Average","math_average","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_average","logic-block-math_average",{"title":629,"slug":630,"path":631,"order":88,"template":434,"translation_key":632},"Math::Ceil","math_ceil","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_ceil","logic-block-math_ceil",{"title":634,"slug":635,"path":636,"order":88,"template":434,"translation_key":637},"Math::Divide","math_divide","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_divide","logic-block-math_divide",{"title":639,"slug":640,"path":641,"order":88,"template":434,"translation_key":642},"Math::Floor","math_floor","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_floor","logic-block-math_floor",{"title":644,"slug":645,"path":646,"order":88,"template":434,"translation_key":647},"Math::Max","math_max","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_max","logic-block-math_max",{"title":649,"slug":650,"path":651,"order":88,"template":434,"translation_key":652},"Math::Min","math_min","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_min","logic-block-math_min",{"title":654,"slug":655,"path":656,"order":88,"template":434,"translation_key":657},"Math::Modulo","math_modulo","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_modulo","logic-block-math_modulo",{"title":659,"slug":660,"path":661,"order":88,"template":434,"translation_key":662},"Math::Multiply","math_multiply","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_multiply","logic-block-math_multiply",{"title":664,"slug":665,"path":666,"order":88,"template":434,"translation_key":667},"Math::Random","math_random","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_random","logic-block-math_random",{"title":669,"slug":670,"path":671,"order":88,"template":434,"translation_key":672},"Math::Round","math_round","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_round","logic-block-math_round",{"title":674,"slug":675,"path":676,"order":88,"template":434,"translation_key":677},"Math::Subtract","math_subtract","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_subtract","logic-block-math_subtract",{"title":679,"slug":680,"path":681,"order":88,"template":434,"translation_key":682},"Motor axis","motor_axis","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmotor_axis","logic-block-motor_axis",{"title":684,"slug":685,"path":686,"order":88,"template":434,"translation_key":687},"Moving average","moving_average","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmoving_average","logic-block-moving_average",{"title":689,"slug":690,"path":691,"order":88,"template":434,"translation_key":692},"Number to string","number_to_string","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fnumber_to_string","logic-block-number_to_string",{"title":694,"slug":695,"path":696,"order":88,"template":434,"translation_key":697},"Numeric latch","numeric_latch","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fnumeric_latch","logic-block-numeric_latch",{"title":699,"slug":700,"path":701,"order":88,"template":434,"translation_key":702},"Numeric predicate","numeric_predicate","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fnumeric_predicate","logic-block-numeric_predicate",{"title":704,"slug":705,"path":706,"order":88,"template":434,"translation_key":707},"Numeric throttle","numeric_throttle","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fnumeric_throttle","logic-block-numeric_throttle",{"title":709,"slug":710,"path":711,"order":88,"template":434,"translation_key":712},"PubSub::Publish","pubsub","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fpubsub","logic-block-pubsub",{"title":714,"slug":715,"path":716,"order":88,"template":434,"translation_key":717},"Pulse counter","pulse_counter","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fpulse_counter","logic-block-pulse_counter",{"title":719,"slug":720,"path":721,"order":88,"template":434,"translation_key":722},"Pulse gate","pulse_gate","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fpulse_gate","logic-block-pulse_gate",{"title":724,"slug":725,"path":726,"order":88,"template":434,"translation_key":727},"Pulse throttle","pulse_throttle","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fpulse_throttle","logic-block-pulse_throttle",{"title":729,"slug":730,"path":731,"order":88,"template":434,"translation_key":732},"Sequencer","sequencer","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fsequencer","logic-block-sequencer",{"title":734,"slug":735,"path":736,"order":88,"template":434,"translation_key":737},"Shading","shading","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fshading","logic-block-shading",{"title":739,"slug":740,"path":741,"order":88,"template":434,"translation_key":742},"String format","string_format","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fstring_format","logic-block-string_format",{"title":744,"slug":745,"path":746,"order":88,"template":434,"translation_key":747},"String latch","string_latch","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fstring_latch","logic-block-string_latch",{"title":749,"slug":750,"path":751,"order":88,"template":434,"translation_key":752},"Toggle","toggle","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Ftoggle","logic-block-toggle",{"title":754,"slug":755,"path":756,"order":88,"template":434,"translation_key":757},"Variable Delayed Pulse","variable_delayed_pulse","en\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fvariable_delayed_pulse","logic-block-variable_delayed_pulse",{"title":759,"slug":760,"path":761,"order":106,"children":762},"Output","output","en\u002Fdocs\u002Flogic-blocks\u002Foutput",[763,768,773],{"title":764,"slug":765,"path":766,"order":88,"template":434,"translation_key":767},"Gauge","gauge","en\u002Fdocs\u002Flogic-blocks\u002Foutput\u002Fgauge","logic-block-gauge",{"title":769,"slug":770,"path":771,"order":88,"template":434,"translation_key":772},"Mode controller","operation_mode_controller","en\u002Fdocs\u002Flogic-blocks\u002Foutput\u002Foperation_mode_controller","logic-block-operation_mode_controller",{"title":588,"slug":774,"path":775,"order":88,"template":434,"translation_key":776},"relay","en\u002Fdocs\u002Flogic-blocks\u002Foutput\u002Frelay","logic-block-relay",{"title":778,"slug":779,"path":780,"order":133,"children":781},"Volang Programming Language","volang","en\u002Fdocs\u002Fvolang",[782,786],{"title":783,"slug":784,"path":785,"order":94},"The Volang Language","language","en\u002Fdocs\u002Fvolang\u002Flanguage",{"title":787,"slug":788,"path":789,"order":100,"template":790},"Standard Library","stdlib","en\u002Fdocs\u002Fvolang\u002Fstdlib","api-reference",{"title":792,"slug":793,"path":794,"order":144,"children":795},"Software & Tools","software","en\u002Fdocs\u002Fsoftware",[796,800,804,808],{"title":797,"slug":798,"path":799,"order":94},"Voldeno Studio - Installation and Walkthrough","studio","en\u002Fdocs\u002Fsoftware\u002Fstudio",{"title":801,"slug":802,"path":803,"order":100},"Voldeno Studio - AI Assistant","ai-assistant","en\u002Fdocs\u002Fsoftware\u002Fai-assistant",{"title":805,"slug":806,"path":807,"order":106},"Voldeno Studio - Schedules","schedules","en\u002Fdocs\u002Fsoftware\u002Fschedules",{"title":809,"slug":810,"path":811,"order":116},"Voldeno Studio - Abstract Blocks and Implementations","abstract-blocks-and-implementations","en\u002Fdocs\u002Fsoftware\u002Fabstract-blocks-and-implementations",{"title":813,"slug":814,"path":815,"order":816,"children":817},"How-to Guides & Recipes","how-to","en\u002Fdocs\u002Fhow-to",8,[818,822,826,830],{"title":819,"slug":820,"path":821,"order":94},"What is a smart home and how does it work?","what-is-a-smart-home","en\u002Fdocs\u002Fhow-to\u002Fwhat-is-a-smart-home",{"title":823,"slug":824,"path":825,"order":100},"How to choose a smart home system: a practical guide","how-to-choose-a-smart-home-system","en\u002Fdocs\u002Fhow-to\u002Fhow-to-choose-a-smart-home-system",{"title":827,"slug":828,"path":829,"order":106},"How much does a smart home cost? Three Voldeno installation variants with modules and prices","how-much-does-a-smart-home-cost","en\u002Fdocs\u002Fhow-to\u002Fhow-much-does-a-smart-home-cost",{"title":831,"slug":832,"path":833,"order":116},"7 most common smart home design mistakes","smart-home-design-mistakes","en\u002Fdocs\u002Fhow-to\u002Fsmart-home-design-mistakes",{"title":835,"slug":836,"path":837,"order":838,"children":839},"Troubleshooting & Diagnostics","troubleshooting","en\u002Fdocs\u002Ftroubleshooting",9,[840],{"title":841,"slug":842,"path":843,"order":94},"Bus Communication Troubleshooting","bus-communication","en\u002Fdocs\u002Ftroubleshooting\u002Fbus-communication",{"title":845,"slug":846,"path":847,"order":848},"Frequently Asked Questions","faq","en\u002Fdocs\u002Ffaq",10,[850,866,873,892,902,1056,1066,1082,1098,1105],{"title":851,"slug":348,"path":852,"order":94,"children":853},"はじめに","ja\u002Fdocs\u002Fgetting-started",[854,857,860,863],{"title":855,"slug":353,"path":856,"order":94},"基本概念と用語","ja\u002Fdocs\u002Fgetting-started\u002Fconcepts",{"title":858,"slug":357,"path":859,"order":100},"インストーラー向けシステム概要","ja\u002Fdocs\u002Fgetting-started\u002Fsystem-overview",{"title":861,"slug":361,"path":862,"order":106},"Voldeno Studio でゼロからロジックを定義する方法","ja\u002Fdocs\u002Fgetting-started\u002Fdefine-logic-in-voldeno-studio",{"title":864,"slug":365,"path":865,"order":116},"Volang と VolangVM: スマートホームに専用の自動化言語が必要な理由","ja\u002Fdocs\u002Fgetting-started\u002Fvolang-and-volangvm",{"title":867,"slug":369,"path":868,"order":100,"children":869},"システムアーキテクチャ","ja\u002Fdocs\u002Fsystem-architecture",[870],{"title":871,"slug":374,"path":872,"order":94},"セキュリティアーキテクチャ","ja\u002Fdocs\u002Fsystem-architecture\u002Fsecurity",{"title":874,"slug":378,"path":875,"order":106,"children":876},"モジュールと周辺機器","ja\u002Fdocs\u002Fmodules",[877,880,883,886,889],{"title":878,"slug":383,"path":879,"order":94},"Hub モジュール配線","ja\u002Fdocs\u002Fmodules\u002Fhub-wiring",{"title":881,"slug":387,"path":882,"order":100},"I\u002FO モジュール配線","ja\u002Fdocs\u002Fmodules\u002Fio-wiring",{"title":884,"slug":391,"path":885,"order":106},"Relay モジュール配線","ja\u002Fdocs\u002Fmodules\u002Frelay-wiring",{"title":887,"slug":395,"path":888,"order":116},"1-Wire モジュール配線","ja\u002Fdocs\u002Fmodules\u002F1wire-wiring",{"title":890,"slug":399,"path":891,"order":122},"Analog Input モジュール配線","ja\u002Fdocs\u002Fmodules\u002Fanalog-input-wiring",{"title":893,"slug":403,"path":894,"order":116,"children":895},"配線ガイドライン","ja\u002Fdocs\u002Fwiring",[896,899],{"title":897,"slug":408,"path":898,"order":94},"バストポロジと配線","ja\u002Fdocs\u002Fwiring\u002Fbus-topology",{"title":900,"slug":412,"path":901,"order":100},"電源容量の設計と配電","ja\u002Fdocs\u002Fwiring\u002Fpower-supply",{"title":415,"slug":416,"path":903,"order":122,"children":904},"ja\u002Fdocs\u002Flogic-blocks",[905,908,934,1046],{"title":906,"slug":421,"path":907,"order":88,"template":423,"translation_key":424},"概要","ja\u002Fdocs\u002Flogic-blocks\u002Foverview",{"title":909,"slug":427,"path":910,"order":94,"children":911},"入力","ja\u002Fdocs\u002Flogic-blocks\u002Finput",[912,914,916,918,920,922,924,926,928,930,932],{"title":431,"slug":432,"path":913,"order":88,"template":434,"translation_key":435},"ja\u002Fdocs\u002Flogic-blocks\u002Finput\u002Fbinary_input",{"title":437,"slug":438,"path":915,"order":88,"template":434,"translation_key":440},"ja\u002Fdocs\u002Flogic-blocks\u002Finput\u002Fboolean_constant",{"title":442,"slug":443,"path":917,"order":88,"template":434,"translation_key":445},"ja\u002Fdocs\u002Flogic-blocks\u002Finput\u002Foperation_mode_monitor",{"title":447,"slug":448,"path":919,"order":88,"template":434,"translation_key":450},"ja\u002Fdocs\u002Flogic-blocks\u002Finput\u002Fnumeric_constant",{"title":452,"slug":453,"path":921,"order":88,"template":434,"translation_key":455},"ja\u002Fdocs\u002Flogic-blocks\u002Finput\u002Fnumeric_input",{"title":457,"slug":458,"path":923,"order":88,"template":434,"translation_key":460},"ja\u002Fdocs\u002Flogic-blocks\u002Finput\u002Fpubsub_subscribe",{"title":462,"slug":463,"path":925,"order":88,"template":434,"translation_key":465},"ja\u002Fdocs\u002Flogic-blocks\u002Finput\u002Fpulse_at",{"title":467,"slug":468,"path":927,"order":88,"template":434,"translation_key":470},"ja\u002Fdocs\u002Flogic-blocks\u002Finput\u002Fschedule",{"title":472,"slug":473,"path":929,"order":88,"template":434,"translation_key":475},"ja\u002Fdocs\u002Flogic-blocks\u002Finput\u002Fstring_constant",{"title":477,"slug":478,"path":931,"order":88,"template":434,"translation_key":480},"ja\u002Fdocs\u002Flogic-blocks\u002Finput\u002Fswitch",{"title":482,"slug":483,"path":933,"order":88,"template":434,"translation_key":485},"ja\u002Fdocs\u002Flogic-blocks\u002Finput\u002Ftapo_sensor",{"title":935,"slug":488,"path":936,"order":100,"children":937},"処理","ja\u002Fdocs\u002Flogic-blocks\u002Fprocess",[938,943,945,947,949,951,953,955,957,959,961,963,965,967,969,971,973,975,982,984,986,988,990,992,994,996,998,1000,1002,1004,1006,1008,1010,1012,1014,1016,1018,1020,1022,1024,1026,1028,1030,1032,1034,1036,1038,1040,1042,1044],{"title":492,"slug":493,"path":939,"order":88,"template":434,"children":940,"translation_key":501},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fair_conditioner",[941],{"title":497,"slug":498,"path":942,"order":88,"template":434,"translation_key":500},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fair_conditioner\u002Fdaikin_brp069",{"title":503,"slug":504,"path":944,"order":88,"template":434,"translation_key":506},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fbinary_limiter",{"title":508,"slug":509,"path":946,"order":88,"template":434,"translation_key":511},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fboolean_to_string",{"title":513,"slug":514,"path":948,"order":88,"template":434,"translation_key":516},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fclimate_regulator",{"title":518,"slug":519,"path":950,"order":88,"template":434,"translation_key":521},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fclimate_regulator_hub",{"title":523,"slug":524,"path":952,"order":88,"template":434,"translation_key":526},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fdelay",{"title":528,"slug":529,"path":954,"order":88,"template":434,"translation_key":531},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fdelayed_pulse",{"title":533,"slug":534,"path":956,"order":88,"template":434,"translation_key":536},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fdoor_window_monitor",{"title":538,"slug":539,"path":958,"order":88,"template":434,"translation_key":541},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fedge_detector",{"title":543,"slug":544,"path":960,"order":88,"template":434,"translation_key":546},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fgate",{"title":548,"slug":549,"path":962,"order":88,"template":434,"translation_key":551},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fhttp_request",{"title":553,"slug":554,"path":964,"order":88,"template":434,"translation_key":556},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fhysteresis",{"title":558,"slug":559,"path":966,"order":88,"template":434,"translation_key":561},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Firrigation",{"title":563,"slug":564,"path":968,"order":88,"template":434,"translation_key":566},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fjson_get_boolean",{"title":568,"slug":569,"path":970,"order":88,"template":434,"translation_key":571},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fjson_get_number",{"title":573,"slug":574,"path":972,"order":88,"template":434,"translation_key":576},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fjson_get_string",{"title":578,"slug":579,"path":974,"order":88,"template":434,"translation_key":581},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Flevel_to_pulse",{"title":583,"slug":584,"path":976,"order":88,"template":434,"children":977,"translation_key":597},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Flight",[978,980],{"title":588,"slug":589,"path":979,"order":88,"template":434,"translation_key":591},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Flight\u002Frelay_light",{"title":593,"slug":594,"path":981,"order":88,"template":434,"translation_key":596},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Flight\u002Ftapo_light",{"title":599,"slug":600,"path":983,"order":88,"template":434,"translation_key":602},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Flogic_and",{"title":604,"slug":605,"path":985,"order":88,"template":434,"translation_key":607},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Flogic_not",{"title":609,"slug":610,"path":987,"order":88,"template":434,"translation_key":612},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Flogic_or",{"title":614,"slug":615,"path":989,"order":88,"template":434,"translation_key":617},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_abs",{"title":619,"slug":620,"path":991,"order":88,"template":434,"translation_key":622},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_add",{"title":624,"slug":625,"path":993,"order":88,"template":434,"translation_key":627},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_average",{"title":629,"slug":630,"path":995,"order":88,"template":434,"translation_key":632},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_ceil",{"title":634,"slug":635,"path":997,"order":88,"template":434,"translation_key":637},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_divide",{"title":639,"slug":640,"path":999,"order":88,"template":434,"translation_key":642},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_floor",{"title":644,"slug":645,"path":1001,"order":88,"template":434,"translation_key":647},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_max",{"title":649,"slug":650,"path":1003,"order":88,"template":434,"translation_key":652},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_min",{"title":654,"slug":655,"path":1005,"order":88,"template":434,"translation_key":657},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_modulo",{"title":659,"slug":660,"path":1007,"order":88,"template":434,"translation_key":662},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_multiply",{"title":664,"slug":665,"path":1009,"order":88,"template":434,"translation_key":667},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_random",{"title":669,"slug":670,"path":1011,"order":88,"template":434,"translation_key":672},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_round",{"title":674,"slug":675,"path":1013,"order":88,"template":434,"translation_key":677},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmath_subtract",{"title":679,"slug":680,"path":1015,"order":88,"template":434,"translation_key":682},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmotor_axis",{"title":684,"slug":685,"path":1017,"order":88,"template":434,"translation_key":687},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fmoving_average",{"title":689,"slug":690,"path":1019,"order":88,"template":434,"translation_key":692},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fnumber_to_string",{"title":694,"slug":695,"path":1021,"order":88,"template":434,"translation_key":697},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fnumeric_latch",{"title":699,"slug":700,"path":1023,"order":88,"template":434,"translation_key":702},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fnumeric_predicate",{"title":704,"slug":705,"path":1025,"order":88,"template":434,"translation_key":707},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fnumeric_throttle",{"title":709,"slug":710,"path":1027,"order":88,"template":434,"translation_key":712},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fpubsub",{"title":714,"slug":715,"path":1029,"order":88,"template":434,"translation_key":717},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fpulse_counter",{"title":719,"slug":720,"path":1031,"order":88,"template":434,"translation_key":722},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fpulse_gate",{"title":724,"slug":725,"path":1033,"order":88,"template":434,"translation_key":727},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fpulse_throttle",{"title":729,"slug":730,"path":1035,"order":88,"template":434,"translation_key":732},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fsequencer",{"title":734,"slug":735,"path":1037,"order":88,"template":434,"translation_key":737},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fshading",{"title":739,"slug":740,"path":1039,"order":88,"template":434,"translation_key":742},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fstring_format",{"title":744,"slug":745,"path":1041,"order":88,"template":434,"translation_key":747},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fstring_latch",{"title":749,"slug":750,"path":1043,"order":88,"template":434,"translation_key":752},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Ftoggle",{"title":754,"slug":755,"path":1045,"order":88,"template":434,"translation_key":757},"ja\u002Fdocs\u002Flogic-blocks\u002Fprocess\u002Fvariable_delayed_pulse",{"title":1047,"slug":760,"path":1048,"order":106,"children":1049},"出力","ja\u002Fdocs\u002Flogic-blocks\u002Foutput",[1050,1052,1054],{"title":764,"slug":765,"path":1051,"order":88,"template":434,"translation_key":767},"ja\u002Fdocs\u002Flogic-blocks\u002Foutput\u002Fgauge",{"title":769,"slug":770,"path":1053,"order":88,"template":434,"translation_key":772},"ja\u002Fdocs\u002Flogic-blocks\u002Foutput\u002Foperation_mode_controller",{"title":588,"slug":774,"path":1055,"order":88,"template":434,"translation_key":776},"ja\u002Fdocs\u002Flogic-blocks\u002Foutput\u002Frelay",{"title":1057,"slug":779,"path":1058,"order":133,"children":1059},"Volang プログラミング言語","ja\u002Fdocs\u002Fvolang",[1060,1063],{"title":1061,"slug":784,"path":1062,"order":94},"Volang 言語","ja\u002Fdocs\u002Fvolang\u002Flanguage",{"title":1064,"slug":788,"path":1065,"order":100,"template":790},"標準ライブラリ","ja\u002Fdocs\u002Fvolang\u002Fstdlib",{"title":1067,"slug":793,"path":1068,"order":144,"children":1069},"ソフトウェアとツール","ja\u002Fdocs\u002Fsoftware",[1070,1073,1076,1079],{"title":1071,"slug":798,"path":1072,"order":94},"Voldeno Studio — インストールと概要","ja\u002Fdocs\u002Fsoftware\u002Fstudio",{"title":1074,"slug":802,"path":1075,"order":100},"Voldeno Studio — AIアシスタント","ja\u002Fdocs\u002Fsoftware\u002Fai-assistant",{"title":1077,"slug":806,"path":1078,"order":106},"Voldeno Studio — スケジュール","ja\u002Fdocs\u002Fsoftware\u002Fschedules",{"title":1080,"slug":810,"path":1081,"order":116},"Voldeno Studio — 抽象ブロックと実装","ja\u002Fdocs\u002Fsoftware\u002Fabstract-blocks-and-implementations",{"title":1083,"slug":814,"path":1084,"order":816,"children":1085},"ハウツーガイド","ja\u002Fdocs\u002Fhow-to",[1086,1089,1092,1095],{"title":1087,"slug":820,"path":1088,"order":94},"スマートホームとは何か、どう動くのか","ja\u002Fdocs\u002Fhow-to\u002Fwhat-is-a-smart-home",{"title":1090,"slug":824,"path":1091,"order":100},"スマートホームシステムの選び方：実践ガイド","ja\u002Fdocs\u002Fhow-to\u002Fhow-to-choose-a-smart-home-system",{"title":1093,"slug":828,"path":1094,"order":106},"スマートホームの費用はいくらか？3つの Voldeno インストール例とモジュール・価格","ja\u002Fdocs\u002Fhow-to\u002Fhow-much-does-a-smart-home-cost",{"title":1096,"slug":832,"path":1097,"order":116},"スマートホーム設計でよくある7つの失敗","ja\u002Fdocs\u002Fhow-to\u002Fsmart-home-design-mistakes",{"title":1099,"slug":836,"path":1100,"order":838,"children":1101},"トラブルシューティングと診断","ja\u002Fdocs\u002Ftroubleshooting",[1102],{"title":1103,"slug":842,"path":1104,"order":94},"バス通信のトラブルシューティング","ja\u002Fdocs\u002Ftroubleshooting\u002Fbus-communication",{"title":1106,"slug":846,"path":1107,"order":848},"よくある質問","ja\u002Fdocs\u002Ffaq",[1109,1127,1135,1155,1166,1323,1333,1350,1371,1379],{"title":1110,"slug":1111,"path":1112,"order":94,"children":1113},"Erste Schritte","erste-schritte","de\u002Fdocs\u002Ferste-schritte",[1114,1117,1120,1124],{"title":1115,"slug":353,"path":1116,"order":94},"Grundlegende Konzepte und Terminologie","de\u002Fdocs\u002Ferste-schritte\u002Fconcepts",{"title":1118,"slug":357,"path":1119,"order":100},"Systemüberblick für Installateure","de\u002Fdocs\u002Ferste-schritte\u002Fsystem-overview",{"title":1121,"slug":1122,"path":1123,"order":106},"Logik in Voldeno Studio von Grund auf definieren","logik-von-grund-auf-definieren","de\u002Fdocs\u002Ferste-schritte\u002Flogik-von-grund-auf-definieren",{"title":1125,"slug":365,"path":1126,"order":116},"Volang und VolangVM: warum ein Smart Home eine eigene Automatisierungssprache braucht","de\u002Fdocs\u002Ferste-schritte\u002Fvolang-and-volangvm",{"title":1128,"slug":1129,"path":1130,"order":100,"children":1131},"Systemarchitektur","systemarchitektur","de\u002Fdocs\u002Fsystemarchitektur",[1132],{"title":1133,"slug":374,"path":1134,"order":94},"Sicherheitsarchitektur","de\u002Fdocs\u002Fsystemarchitektur\u002Fsecurity",{"title":1136,"slug":1137,"path":1138,"order":106,"children":1139},"Module und Peripherie","module","de\u002Fdocs\u002Fmodule",[1140,1143,1146,1149,1152],{"title":1141,"slug":383,"path":1142,"order":94},"Verkabelung des Hub-Moduls","de\u002Fdocs\u002Fmodule\u002Fhub-wiring",{"title":1144,"slug":387,"path":1145,"order":100},"Verkabelung des I\u002FO-Moduls","de\u002Fdocs\u002Fmodule\u002Fio-wiring",{"title":1147,"slug":391,"path":1148,"order":106},"Verkabelung des Relay-Moduls","de\u002Fdocs\u002Fmodule\u002Frelay-wiring",{"title":1150,"slug":395,"path":1151,"order":116},"Verkabelung des 1-Wire-Moduls","de\u002Fdocs\u002Fmodule\u002F1wire-wiring",{"title":1153,"slug":399,"path":1154,"order":122},"Verkabelung des Analog-Input-Moduls","de\u002Fdocs\u002Fmodule\u002Fanalog-input-wiring",{"title":1156,"slug":1157,"path":1158,"order":116,"children":1159},"Verkabelungsrichtlinien","verkabelung","de\u002Fdocs\u002Fverkabelung",[1160,1163],{"title":1161,"slug":408,"path":1162,"order":94},"Bustopologie und Verkabelung","de\u002Fdocs\u002Fverkabelung\u002Fbus-topology",{"title":1164,"slug":412,"path":1165,"order":100},"Spannungsversorgung dimensionieren und verteilen","de\u002Fdocs\u002Fverkabelung\u002Fpower-supply",{"title":1167,"slug":1168,"path":1169,"order":122,"children":1170},"Logikbausteine","logikbausteine","de\u002Fdocs\u002Flogikbausteine",[1171,1175,1201,1313],{"title":1172,"slug":1173,"path":1174,"order":88,"template":423,"translation_key":424},"Übersicht","uebersicht","de\u002Fdocs\u002Flogikbausteine\u002Fuebersicht",{"title":1176,"slug":427,"path":1177,"order":94,"children":1178},"Eingänge","de\u002Fdocs\u002Flogikbausteine\u002Finput",[1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199],{"title":431,"slug":432,"path":1180,"order":88,"template":434,"translation_key":435},"de\u002Fdocs\u002Flogikbausteine\u002Finput\u002Fbinary_input",{"title":437,"slug":438,"path":1182,"order":88,"template":434,"translation_key":440},"de\u002Fdocs\u002Flogikbausteine\u002Finput\u002Fboolean_constant",{"title":442,"slug":443,"path":1184,"order":88,"template":434,"translation_key":445},"de\u002Fdocs\u002Flogikbausteine\u002Finput\u002Foperation_mode_monitor",{"title":447,"slug":448,"path":1186,"order":88,"template":434,"translation_key":450},"de\u002Fdocs\u002Flogikbausteine\u002Finput\u002Fnumeric_constant",{"title":452,"slug":453,"path":1188,"order":88,"template":434,"translation_key":455},"de\u002Fdocs\u002Flogikbausteine\u002Finput\u002Fnumeric_input",{"title":457,"slug":458,"path":1190,"order":88,"template":434,"translation_key":460},"de\u002Fdocs\u002Flogikbausteine\u002Finput\u002Fpubsub_subscribe",{"title":462,"slug":463,"path":1192,"order":88,"template":434,"translation_key":465},"de\u002Fdocs\u002Flogikbausteine\u002Finput\u002Fpulse_at",{"title":467,"slug":468,"path":1194,"order":88,"template":434,"translation_key":470},"de\u002Fdocs\u002Flogikbausteine\u002Finput\u002Fschedule",{"title":472,"slug":473,"path":1196,"order":88,"template":434,"translation_key":475},"de\u002Fdocs\u002Flogikbausteine\u002Finput\u002Fstring_constant",{"title":477,"slug":478,"path":1198,"order":88,"template":434,"translation_key":480},"de\u002Fdocs\u002Flogikbausteine\u002Finput\u002Fswitch",{"title":482,"slug":483,"path":1200,"order":88,"template":434,"translation_key":485},"de\u002Fdocs\u002Flogikbausteine\u002Finput\u002Ftapo_sensor",{"title":1202,"slug":488,"path":1203,"order":100,"children":1204},"Verarbeitung","de\u002Fdocs\u002Flogikbausteine\u002Fprocess",[1205,1210,1212,1214,1216,1218,1220,1222,1224,1226,1228,1230,1232,1234,1236,1238,1240,1242,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311],{"title":492,"slug":493,"path":1206,"order":88,"template":434,"children":1207,"translation_key":501},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fair_conditioner",[1208],{"title":497,"slug":498,"path":1209,"order":88,"template":434,"translation_key":500},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fair_conditioner\u002Fdaikin_brp069",{"title":503,"slug":504,"path":1211,"order":88,"template":434,"translation_key":506},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fbinary_limiter",{"title":508,"slug":509,"path":1213,"order":88,"template":434,"translation_key":511},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fboolean_to_string",{"title":513,"slug":514,"path":1215,"order":88,"template":434,"translation_key":516},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fclimate_regulator",{"title":518,"slug":519,"path":1217,"order":88,"template":434,"translation_key":521},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fclimate_regulator_hub",{"title":523,"slug":524,"path":1219,"order":88,"template":434,"translation_key":526},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fdelay",{"title":528,"slug":529,"path":1221,"order":88,"template":434,"translation_key":531},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fdelayed_pulse",{"title":533,"slug":534,"path":1223,"order":88,"template":434,"translation_key":536},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fdoor_window_monitor",{"title":538,"slug":539,"path":1225,"order":88,"template":434,"translation_key":541},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fedge_detector",{"title":543,"slug":544,"path":1227,"order":88,"template":434,"translation_key":546},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fgate",{"title":548,"slug":549,"path":1229,"order":88,"template":434,"translation_key":551},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fhttp_request",{"title":553,"slug":554,"path":1231,"order":88,"template":434,"translation_key":556},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fhysteresis",{"title":558,"slug":559,"path":1233,"order":88,"template":434,"translation_key":561},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Firrigation",{"title":563,"slug":564,"path":1235,"order":88,"template":434,"translation_key":566},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fjson_get_boolean",{"title":568,"slug":569,"path":1237,"order":88,"template":434,"translation_key":571},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fjson_get_number",{"title":573,"slug":574,"path":1239,"order":88,"template":434,"translation_key":576},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fjson_get_string",{"title":578,"slug":579,"path":1241,"order":88,"template":434,"translation_key":581},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Flevel_to_pulse",{"title":583,"slug":584,"path":1243,"order":88,"template":434,"children":1244,"translation_key":597},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Flight",[1245,1247],{"title":588,"slug":589,"path":1246,"order":88,"template":434,"translation_key":591},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Flight\u002Frelay_light",{"title":593,"slug":594,"path":1248,"order":88,"template":434,"translation_key":596},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Flight\u002Ftapo_light",{"title":599,"slug":600,"path":1250,"order":88,"template":434,"translation_key":602},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Flogic_and",{"title":604,"slug":605,"path":1252,"order":88,"template":434,"translation_key":607},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Flogic_not",{"title":609,"slug":610,"path":1254,"order":88,"template":434,"translation_key":612},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Flogic_or",{"title":614,"slug":615,"path":1256,"order":88,"template":434,"translation_key":617},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fmath_abs",{"title":619,"slug":620,"path":1258,"order":88,"template":434,"translation_key":622},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fmath_add",{"title":624,"slug":625,"path":1260,"order":88,"template":434,"translation_key":627},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fmath_average",{"title":629,"slug":630,"path":1262,"order":88,"template":434,"translation_key":632},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fmath_ceil",{"title":634,"slug":635,"path":1264,"order":88,"template":434,"translation_key":637},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fmath_divide",{"title":639,"slug":640,"path":1266,"order":88,"template":434,"translation_key":642},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fmath_floor",{"title":644,"slug":645,"path":1268,"order":88,"template":434,"translation_key":647},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fmath_max",{"title":649,"slug":650,"path":1270,"order":88,"template":434,"translation_key":652},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fmath_min",{"title":654,"slug":655,"path":1272,"order":88,"template":434,"translation_key":657},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fmath_modulo",{"title":659,"slug":660,"path":1274,"order":88,"template":434,"translation_key":662},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fmath_multiply",{"title":664,"slug":665,"path":1276,"order":88,"template":434,"translation_key":667},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fmath_random",{"title":669,"slug":670,"path":1278,"order":88,"template":434,"translation_key":672},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fmath_round",{"title":674,"slug":675,"path":1280,"order":88,"template":434,"translation_key":677},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fmath_subtract",{"title":679,"slug":680,"path":1282,"order":88,"template":434,"translation_key":682},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fmotor_axis",{"title":684,"slug":685,"path":1284,"order":88,"template":434,"translation_key":687},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fmoving_average",{"title":689,"slug":690,"path":1286,"order":88,"template":434,"translation_key":692},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fnumber_to_string",{"title":694,"slug":695,"path":1288,"order":88,"template":434,"translation_key":697},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fnumeric_latch",{"title":699,"slug":700,"path":1290,"order":88,"template":434,"translation_key":702},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fnumeric_predicate",{"title":704,"slug":705,"path":1292,"order":88,"template":434,"translation_key":707},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fnumeric_throttle",{"title":709,"slug":710,"path":1294,"order":88,"template":434,"translation_key":712},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fpubsub",{"title":714,"slug":715,"path":1296,"order":88,"template":434,"translation_key":717},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fpulse_counter",{"title":719,"slug":720,"path":1298,"order":88,"template":434,"translation_key":722},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fpulse_gate",{"title":724,"slug":725,"path":1300,"order":88,"template":434,"translation_key":727},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fpulse_throttle",{"title":729,"slug":730,"path":1302,"order":88,"template":434,"translation_key":732},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fsequencer",{"title":734,"slug":735,"path":1304,"order":88,"template":434,"translation_key":737},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fshading",{"title":739,"slug":740,"path":1306,"order":88,"template":434,"translation_key":742},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fstring_format",{"title":744,"slug":745,"path":1308,"order":88,"template":434,"translation_key":747},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fstring_latch",{"title":749,"slug":750,"path":1310,"order":88,"template":434,"translation_key":752},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Ftoggle",{"title":754,"slug":755,"path":1312,"order":88,"template":434,"translation_key":757},"de\u002Fdocs\u002Flogikbausteine\u002Fprocess\u002Fvariable_delayed_pulse",{"title":1314,"slug":760,"path":1315,"order":106,"children":1316},"Ausgänge","de\u002Fdocs\u002Flogikbausteine\u002Foutput",[1317,1319,1321],{"title":764,"slug":765,"path":1318,"order":88,"template":434,"translation_key":767},"de\u002Fdocs\u002Flogikbausteine\u002Foutput\u002Fgauge",{"title":769,"slug":770,"path":1320,"order":88,"template":434,"translation_key":772},"de\u002Fdocs\u002Flogikbausteine\u002Foutput\u002Foperation_mode_controller",{"title":588,"slug":774,"path":1322,"order":88,"template":434,"translation_key":776},"de\u002Fdocs\u002Flogikbausteine\u002Foutput\u002Frelay",{"title":1324,"slug":779,"path":1325,"order":133,"children":1326},"Programmiersprache Volang","de\u002Fdocs\u002Fvolang",[1327,1330],{"title":1328,"slug":784,"path":1329,"order":94},"Die Sprache Volang","de\u002Fdocs\u002Fvolang\u002Flanguage",{"title":1331,"slug":788,"path":1332,"order":100,"template":790},"Standardbibliothek","de\u002Fdocs\u002Fvolang\u002Fstdlib",{"title":1334,"slug":793,"path":1335,"order":144,"children":1336},"Software und Werkzeuge","de\u002Fdocs\u002Fsoftware",[1337,1340,1343,1346],{"title":1338,"slug":798,"path":1339,"order":94},"Voldeno Studio - Installation und Rundgang","de\u002Fdocs\u002Fsoftware\u002Fstudio",{"title":1341,"slug":802,"path":1342,"order":100},"Voldeno Studio - KI-Assistent","de\u002Fdocs\u002Fsoftware\u002Fai-assistant",{"title":1344,"slug":806,"path":1345,"order":106},"Voldeno Studio - Zeitpläne","de\u002Fdocs\u002Fsoftware\u002Fschedules",{"title":1347,"slug":1348,"path":1349,"order":116},"Voldeno Studio - Abstrakte Blöcke und Implementierungen","abstrakte-bloecke-und-implementierungen","de\u002Fdocs\u002Fsoftware\u002Fabstrakte-bloecke-und-implementierungen",{"title":1351,"slug":1352,"path":1353,"order":816,"children":1354},"Ratgeber und Anleitungen","ratgeber","de\u002Fdocs\u002Fratgeber",[1355,1359,1363,1367],{"title":1356,"slug":1357,"path":1358,"order":94},"Was ist ein Smart Home und wie funktioniert es?","was-ist-ein-smart-home","de\u002Fdocs\u002Fratgeber\u002Fwas-ist-ein-smart-home",{"title":1360,"slug":1361,"path":1362,"order":100},"Welches Smart-Home-System sollte man wählen? Ein praktischer Leitfaden","smart-home-system-auswaehlen","de\u002Fdocs\u002Fratgeber\u002Fsmart-home-system-auswaehlen",{"title":1364,"slug":1365,"path":1366,"order":106},"Was kostet ein Smart Home? Drei Voldeno-Installationsvarianten mit Modulen und Preisen","was-kostet-ein-smart-home","de\u002Fdocs\u002Fratgeber\u002Fwas-kostet-ein-smart-home",{"title":1368,"slug":1369,"path":1370,"order":116},"Die 7 häufigsten Fehler bei der Smart-Home-Planung","smart-home-planungsfehler","de\u002Fdocs\u002Fratgeber\u002Fsmart-home-planungsfehler",{"title":1372,"slug":1373,"path":1374,"order":838,"children":1375},"Fehlerbehebung und Diagnose","fehlerbehebung","de\u002Fdocs\u002Ffehlerbehebung",[1376],{"title":1377,"slug":842,"path":1378,"order":94},"Fehlersuche bei der Buskommunikation","de\u002Fdocs\u002Ffehlerbehebung\u002Fbus-communication",{"title":1380,"slug":846,"path":1381,"order":848},"Häufig gestellte Fragen","de\u002Fdocs\u002Ffaq",[1383,1404,1413,1438,1451,1608,1620,1639,1660,1669],{"title":1384,"slug":1385,"path":1386,"order":94,"children":1387},"Pierwsze kroki","pierwsze-kroki","pl\u002Fdocs\u002Fpierwsze-kroki",[1388,1392,1396,1400],{"title":1389,"slug":1390,"path":1391,"order":94},"Podstawowe pojęcia i terminologia","pojecia","pl\u002Fdocs\u002Fpierwsze-kroki\u002Fpojecia",{"title":1393,"slug":1394,"path":1395,"order":100},"Przegląd systemu dla instalatorów","przeglad-systemu","pl\u002Fdocs\u002Fpierwsze-kroki\u002Fprzeglad-systemu",{"title":1397,"slug":1398,"path":1399,"order":106},"Jak zdefiniować logikę w Voldeno Studio od zera","definiowanie-logiki-w-voldeno-studio","pl\u002Fdocs\u002Fpierwsze-kroki\u002Fdefiniowanie-logiki-w-voldeno-studio",{"title":1401,"slug":1402,"path":1403,"order":116},"Volang i VolangVM: po co inteligentny dom potrzebuje własnego języka automatyki","volang-i-volangvm","pl\u002Fdocs\u002Fpierwsze-kroki\u002Fvolang-i-volangvm",{"title":1405,"slug":1406,"path":1407,"order":100,"children":1408},"Architektura systemu","architektura-systemu","pl\u002Fdocs\u002Farchitektura-systemu",[1409],{"title":1410,"slug":1411,"path":1412,"order":94},"Architektura bezpieczeństwa","bezpieczenstwo","pl\u002Fdocs\u002Farchitektura-systemu\u002Fbezpieczenstwo",{"title":1414,"slug":1415,"path":1416,"order":106,"children":1417},"Moduły i peryferia","moduly","pl\u002Fdocs\u002Fmoduly",[1418,1422,1426,1430,1434],{"title":1419,"slug":1420,"path":1421,"order":94},"Okablowanie modułu HUB","okablowanie-hub","pl\u002Fdocs\u002Fmoduly\u002Fokablowanie-hub",{"title":1423,"slug":1424,"path":1425,"order":100},"Okablowanie modułu I\u002FO","okablowanie-io","pl\u002Fdocs\u002Fmoduly\u002Fokablowanie-io",{"title":1427,"slug":1428,"path":1429,"order":106},"Okablowanie modułu RELAY","okablowanie-relay","pl\u002Fdocs\u002Fmoduly\u002Fokablowanie-relay",{"title":1431,"slug":1432,"path":1433,"order":116},"Okablowanie modułu 1-Wire","okablowanie-1wire","pl\u002Fdocs\u002Fmoduly\u002Fokablowanie-1wire",{"title":1435,"slug":1436,"path":1437,"order":122},"Okablowanie modułu Analog Input","okablowanie-analog-input","pl\u002Fdocs\u002Fmoduly\u002Fokablowanie-analog-input",{"title":1439,"slug":1440,"path":1441,"order":116,"children":1442},"Wytyczne okablowania","okablowanie","pl\u002Fdocs\u002Fokablowanie",[1443,1447],{"title":1444,"slug":1445,"path":1446,"order":94},"Topologia i okablowanie magistrali","topologia-magistrali","pl\u002Fdocs\u002Fokablowanie\u002Ftopologia-magistrali",{"title":1448,"slug":1449,"path":1450,"order":100},"Dobór i dystrybucja zasilania","zasilanie","pl\u002Fdocs\u002Fokablowanie\u002Fzasilanie",{"title":1452,"slug":1453,"path":1454,"order":122,"children":1455},"Bloki logiczne","bloki-logiczne","pl\u002Fdocs\u002Fbloki-logiczne",[1456,1460,1486,1598],{"title":1457,"slug":1458,"path":1459,"order":88,"template":423,"translation_key":424},"Przegląd","przeglad","pl\u002Fdocs\u002Fbloki-logiczne\u002Fprzeglad",{"title":1461,"slug":427,"path":1462,"order":94,"children":1463},"Wejścia","pl\u002Fdocs\u002Fbloki-logiczne\u002Finput",[1464,1466,1468,1470,1472,1474,1476,1478,1480,1482,1484],{"title":431,"slug":432,"path":1465,"order":88,"template":434,"translation_key":435},"pl\u002Fdocs\u002Fbloki-logiczne\u002Finput\u002Fbinary_input",{"title":437,"slug":438,"path":1467,"order":88,"template":434,"translation_key":440},"pl\u002Fdocs\u002Fbloki-logiczne\u002Finput\u002Fboolean_constant",{"title":442,"slug":443,"path":1469,"order":88,"template":434,"translation_key":445},"pl\u002Fdocs\u002Fbloki-logiczne\u002Finput\u002Foperation_mode_monitor",{"title":447,"slug":448,"path":1471,"order":88,"template":434,"translation_key":450},"pl\u002Fdocs\u002Fbloki-logiczne\u002Finput\u002Fnumeric_constant",{"title":452,"slug":453,"path":1473,"order":88,"template":434,"translation_key":455},"pl\u002Fdocs\u002Fbloki-logiczne\u002Finput\u002Fnumeric_input",{"title":457,"slug":458,"path":1475,"order":88,"template":434,"translation_key":460},"pl\u002Fdocs\u002Fbloki-logiczne\u002Finput\u002Fpubsub_subscribe",{"title":462,"slug":463,"path":1477,"order":88,"template":434,"translation_key":465},"pl\u002Fdocs\u002Fbloki-logiczne\u002Finput\u002Fpulse_at",{"title":467,"slug":468,"path":1479,"order":88,"template":434,"translation_key":470},"pl\u002Fdocs\u002Fbloki-logiczne\u002Finput\u002Fschedule",{"title":472,"slug":473,"path":1481,"order":88,"template":434,"translation_key":475},"pl\u002Fdocs\u002Fbloki-logiczne\u002Finput\u002Fstring_constant",{"title":477,"slug":478,"path":1483,"order":88,"template":434,"translation_key":480},"pl\u002Fdocs\u002Fbloki-logiczne\u002Finput\u002Fswitch",{"title":482,"slug":483,"path":1485,"order":88,"template":434,"translation_key":485},"pl\u002Fdocs\u002Fbloki-logiczne\u002Finput\u002Ftapo_sensor",{"title":1487,"slug":488,"path":1488,"order":100,"children":1489},"Przetwarzanie","pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess",[1490,1495,1497,1499,1501,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1534,1536,1538,1540,1542,1544,1546,1548,1550,1552,1554,1556,1558,1560,1562,1564,1566,1568,1570,1572,1574,1576,1578,1580,1582,1584,1586,1588,1590,1592,1594,1596],{"title":492,"slug":493,"path":1491,"order":88,"template":434,"children":1492,"translation_key":501},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fair_conditioner",[1493],{"title":497,"slug":498,"path":1494,"order":88,"template":434,"translation_key":500},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fair_conditioner\u002Fdaikin_brp069",{"title":503,"slug":504,"path":1496,"order":88,"template":434,"translation_key":506},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fbinary_limiter",{"title":508,"slug":509,"path":1498,"order":88,"template":434,"translation_key":511},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fboolean_to_string",{"title":513,"slug":514,"path":1500,"order":88,"template":434,"translation_key":516},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fclimate_regulator",{"title":518,"slug":519,"path":1502,"order":88,"template":434,"translation_key":521},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fclimate_regulator_hub",{"title":523,"slug":524,"path":1504,"order":88,"template":434,"translation_key":526},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fdelay",{"title":528,"slug":529,"path":1506,"order":88,"template":434,"translation_key":531},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fdelayed_pulse",{"title":533,"slug":534,"path":1508,"order":88,"template":434,"translation_key":536},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fdoor_window_monitor",{"title":538,"slug":539,"path":1510,"order":88,"template":434,"translation_key":541},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fedge_detector",{"title":543,"slug":544,"path":1512,"order":88,"template":434,"translation_key":546},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fgate",{"title":548,"slug":549,"path":1514,"order":88,"template":434,"translation_key":551},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fhttp_request",{"title":553,"slug":554,"path":1516,"order":88,"template":434,"translation_key":556},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fhysteresis",{"title":558,"slug":559,"path":1518,"order":88,"template":434,"translation_key":561},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Firrigation",{"title":563,"slug":564,"path":1520,"order":88,"template":434,"translation_key":566},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fjson_get_boolean",{"title":568,"slug":569,"path":1522,"order":88,"template":434,"translation_key":571},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fjson_get_number",{"title":573,"slug":574,"path":1524,"order":88,"template":434,"translation_key":576},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fjson_get_string",{"title":578,"slug":579,"path":1526,"order":88,"template":434,"translation_key":581},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Flevel_to_pulse",{"title":583,"slug":584,"path":1528,"order":88,"template":434,"children":1529,"translation_key":597},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Flight",[1530,1532],{"title":588,"slug":589,"path":1531,"order":88,"template":434,"translation_key":591},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Flight\u002Frelay_light",{"title":593,"slug":594,"path":1533,"order":88,"template":434,"translation_key":596},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Flight\u002Ftapo_light",{"title":599,"slug":600,"path":1535,"order":88,"template":434,"translation_key":602},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Flogic_and",{"title":604,"slug":605,"path":1537,"order":88,"template":434,"translation_key":607},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Flogic_not",{"title":609,"slug":610,"path":1539,"order":88,"template":434,"translation_key":612},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Flogic_or",{"title":614,"slug":615,"path":1541,"order":88,"template":434,"translation_key":617},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fmath_abs",{"title":619,"slug":620,"path":1543,"order":88,"template":434,"translation_key":622},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fmath_add",{"title":624,"slug":625,"path":1545,"order":88,"template":434,"translation_key":627},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fmath_average",{"title":629,"slug":630,"path":1547,"order":88,"template":434,"translation_key":632},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fmath_ceil",{"title":634,"slug":635,"path":1549,"order":88,"template":434,"translation_key":637},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fmath_divide",{"title":639,"slug":640,"path":1551,"order":88,"template":434,"translation_key":642},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fmath_floor",{"title":644,"slug":645,"path":1553,"order":88,"template":434,"translation_key":647},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fmath_max",{"title":649,"slug":650,"path":1555,"order":88,"template":434,"translation_key":652},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fmath_min",{"title":654,"slug":655,"path":1557,"order":88,"template":434,"translation_key":657},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fmath_modulo",{"title":659,"slug":660,"path":1559,"order":88,"template":434,"translation_key":662},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fmath_multiply",{"title":664,"slug":665,"path":1561,"order":88,"template":434,"translation_key":667},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fmath_random",{"title":669,"slug":670,"path":1563,"order":88,"template":434,"translation_key":672},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fmath_round",{"title":674,"slug":675,"path":1565,"order":88,"template":434,"translation_key":677},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fmath_subtract",{"title":679,"slug":680,"path":1567,"order":88,"template":434,"translation_key":682},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fmotor_axis",{"title":684,"slug":685,"path":1569,"order":88,"template":434,"translation_key":687},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fmoving_average",{"title":689,"slug":690,"path":1571,"order":88,"template":434,"translation_key":692},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fnumber_to_string",{"title":694,"slug":695,"path":1573,"order":88,"template":434,"translation_key":697},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fnumeric_latch",{"title":699,"slug":700,"path":1575,"order":88,"template":434,"translation_key":702},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fnumeric_predicate",{"title":704,"slug":705,"path":1577,"order":88,"template":434,"translation_key":707},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fnumeric_throttle",{"title":709,"slug":710,"path":1579,"order":88,"template":434,"translation_key":712},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fpubsub",{"title":714,"slug":715,"path":1581,"order":88,"template":434,"translation_key":717},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fpulse_counter",{"title":719,"slug":720,"path":1583,"order":88,"template":434,"translation_key":722},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fpulse_gate",{"title":724,"slug":725,"path":1585,"order":88,"template":434,"translation_key":727},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fpulse_throttle",{"title":729,"slug":730,"path":1587,"order":88,"template":434,"translation_key":732},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fsequencer",{"title":734,"slug":735,"path":1589,"order":88,"template":434,"translation_key":737},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fshading",{"title":739,"slug":740,"path":1591,"order":88,"template":434,"translation_key":742},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fstring_format",{"title":744,"slug":745,"path":1593,"order":88,"template":434,"translation_key":747},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fstring_latch",{"title":749,"slug":750,"path":1595,"order":88,"template":434,"translation_key":752},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Ftoggle",{"title":754,"slug":755,"path":1597,"order":88,"template":434,"translation_key":757},"pl\u002Fdocs\u002Fbloki-logiczne\u002Fprocess\u002Fvariable_delayed_pulse",{"title":1599,"slug":760,"path":1600,"order":106,"children":1601},"Wyjścia","pl\u002Fdocs\u002Fbloki-logiczne\u002Foutput",[1602,1604,1606],{"title":764,"slug":765,"path":1603,"order":88,"template":434,"translation_key":767},"pl\u002Fdocs\u002Fbloki-logiczne\u002Foutput\u002Fgauge",{"title":769,"slug":770,"path":1605,"order":88,"template":434,"translation_key":772},"pl\u002Fdocs\u002Fbloki-logiczne\u002Foutput\u002Foperation_mode_controller",{"title":588,"slug":774,"path":1607,"order":88,"template":434,"translation_key":776},"pl\u002Fdocs\u002Fbloki-logiczne\u002Foutput\u002Frelay",{"title":1609,"slug":779,"path":1610,"order":133,"children":1611},"Język programowania Volang","pl\u002Fdocs\u002Fvolang",[1612,1616],{"title":1613,"slug":1614,"path":1615,"order":94},"Język Volang","jezyk","pl\u002Fdocs\u002Fvolang\u002Fjezyk",{"title":1617,"slug":1618,"path":1619,"order":100,"template":790},"Biblioteka standardowa","biblioteka-standardowa","pl\u002Fdocs\u002Fvolang\u002Fbiblioteka-standardowa",{"title":1621,"slug":1622,"path":1623,"order":144,"children":1624},"Oprogramowanie","oprogramowanie","pl\u002Fdocs\u002Foprogramowanie",[1625,1628,1632,1635],{"title":1626,"slug":798,"path":1627,"order":94},"Voldeno Studio - Instalacja i przewodnik","pl\u002Fdocs\u002Foprogramowanie\u002Fstudio",{"title":1629,"slug":1630,"path":1631,"order":100},"Voldeno Studio - Asystent AI","asystent-ai","pl\u002Fdocs\u002Foprogramowanie\u002Fasystent-ai",{"title":1633,"slug":806,"path":1634,"order":106},"Voldeno Studio - Harmonogramy","pl\u002Fdocs\u002Foprogramowanie\u002Fschedules",{"title":1636,"slug":1637,"path":1638,"order":116},"Voldeno Studio - Bloki abstrakcyjne i implementacje","bloki-abstrakcyjne-i-implementacje","pl\u002Fdocs\u002Foprogramowanie\u002Fbloki-abstrakcyjne-i-implementacje",{"title":1640,"slug":1641,"path":1642,"order":816,"children":1643},"Poradniki","poradniki","pl\u002Fdocs\u002Fporadniki",[1644,1648,1652,1656],{"title":1645,"slug":1646,"path":1647,"order":94},"Czym jest smart home i jak działa?","czym-jest-smart-home","pl\u002Fdocs\u002Fporadniki\u002Fczym-jest-smart-home",{"title":1649,"slug":1650,"path":1651,"order":100},"Jaki system smart home wybrać? Praktyczny przewodnik","jaki-system-smart-home-wybrac","pl\u002Fdocs\u002Fporadniki\u002Fjaki-system-smart-home-wybrac",{"title":1653,"slug":1654,"path":1655,"order":106},"Ile kosztuje inteligentny dom? Trzy warianty instalacji Voldeno z modułami i cenami","ile-kosztuje-inteligentny-dom","pl\u002Fdocs\u002Fporadniki\u002File-kosztuje-inteligentny-dom",{"title":1657,"slug":1658,"path":1659,"order":116},"7 najczęstszych błędów przy projektowaniu instalacji smart home","bledy-przy-projektowaniu-smart-home","pl\u002Fdocs\u002Fporadniki\u002Fbledy-przy-projektowaniu-smart-home",{"title":1661,"slug":1662,"path":1663,"order":838,"children":1664},"Diagnostyka i rozwiązywanie problemów","diagnostyka","pl\u002Fdocs\u002Fdiagnostyka",[1665],{"title":1666,"slug":1667,"path":1668,"order":94},"Rozwiązywanie problemów z komunikacją magistrali","komunikacja-magistrali","pl\u002Fdocs\u002Fdiagnostyka\u002Fkomunikacja-magistrali",{"title":1670,"slug":846,"path":1671,"order":848},"Często zadawane pytania","pl\u002Fdocs\u002Ffaq",{"de":1673,"ja":1689,"pl":1703,"en":1719},{"logikbausteine\u002Fprocess":1674,"logikbausteine":1675,"logikbausteine\u002Fdriver\u002Ftapo_light":1676,"erste-schritte":1677,"module":1678,"software":1679,"ratgeber":1680,"logikbausteine\u002Finput":1681,"logikbausteine\u002Fdriver\u002Frelay_light":1682,"verkabelung":1683,"fehlerbehebung":1684,"logikbausteine\u002Foutput":1685,"logikbausteine\u002Fdriver\u002Fdaikin_brp069":1686,"volang":1687,"systemarchitektur":1688},"logikbausteine\u002Fprocess\u002Fbinary_limiter","logikbausteine\u002Fuebersicht","logikbausteine\u002Fprocess\u002Flight\u002Ftapo_light","erste-schritte\u002Fconcepts","module\u002Fhub-wiring","software\u002Fstudio","ratgeber\u002Fwas-ist-ein-smart-home","logikbausteine\u002Finput\u002Fbinary_input","logikbausteine\u002Fprocess\u002Flight\u002Frelay_light","verkabelung\u002Fbus-topology","fehlerbehebung\u002Fbus-communication","logikbausteine\u002Foutput\u002Fgauge","logikbausteine\u002Fprocess\u002Fair_conditioner\u002Fdaikin_brp069","volang\u002Flanguage","systemarchitektur\u002Fsecurity",{"how-to":1690,"logic-blocks\u002Fdriver\u002Ftapo_light":1691,"logic-blocks\u002Fdriver\u002Frelay_light":1692,"modules":1693,"getting-started":1694,"troubleshooting":1695,"logic-blocks\u002Fprocess":1696,"software":1679,"logic-blocks":1697,"system-architecture":1698,"logic-blocks\u002Finput":1699,"wiring":1700,"logic-blocks\u002Foutput":1701,"volang":1687,"logic-blocks\u002Fdriver\u002Fdaikin_brp069":1702},"how-to\u002Fwhat-is-a-smart-home","logic-blocks\u002Fprocess\u002Flight\u002Ftapo_light","logic-blocks\u002Fprocess\u002Flight\u002Frelay_light","modules\u002Fhub-wiring","getting-started\u002Fconcepts","troubleshooting\u002Fbus-communication","logic-blocks\u002Fprocess\u002Fbinary_limiter","logic-blocks\u002Foverview","system-architecture\u002Fsecurity","logic-blocks\u002Finput\u002Fbinary_input","wiring\u002Fbus-topology","logic-blocks\u002Foutput\u002Fgauge","logic-blocks\u002Fprocess\u002Fair_conditioner\u002Fdaikin_brp069",{"bloki-logiczne\u002Fdriver\u002Fdaikin_brp069":1704,"diagnostyka":1705,"pierwsze-kroki":1706,"bloki-logiczne":1707,"moduly":1708,"bloki-logiczne\u002Finput":1709,"bloki-logiczne\u002Fdriver\u002Frelay_light":1710,"bloki-logiczne\u002Foutput":1711,"bloki-logiczne\u002Fprocess":1712,"volang":1713,"poradniki":1714,"okablowanie":1715,"oprogramowanie":1716,"bloki-logiczne\u002Fdriver\u002Ftapo_light":1717,"architektura-systemu":1718},"bloki-logiczne\u002Fprocess\u002Fair_conditioner\u002Fdaikin_brp069","diagnostyka\u002Fkomunikacja-magistrali","pierwsze-kroki\u002Fpojecia","bloki-logiczne\u002Fprzeglad","moduly\u002Fokablowanie-hub","bloki-logiczne\u002Finput\u002Fbinary_input","bloki-logiczne\u002Fprocess\u002Flight\u002Frelay_light","bloki-logiczne\u002Foutput\u002Fgauge","bloki-logiczne\u002Fprocess\u002Fbinary_limiter","volang\u002Fjezyk","poradniki\u002Fczym-jest-smart-home","okablowanie\u002Ftopologia-magistrali","oprogramowanie\u002Fstudio","bloki-logiczne\u002Fprocess\u002Flight\u002Ftapo_light","architektura-systemu\u002Fbezpieczenstwo",{"getting-started":1694,"logic-blocks\u002Fdriver\u002Ftapo_light":1691,"logic-blocks\u002Finput":1699,"how-to":1690,"logic-blocks\u002Fdriver\u002Fdaikin_brp069":1702,"troubleshooting":1695,"wiring":1700,"software":1679,"logic-blocks\u002Fprocess":1696,"logic-blocks":1697,"volang":1687,"system-architecture":1698,"logic-blocks\u002Fdriver\u002Frelay_light":1692,"modules":1693,"logic-blocks\u002Foutput":1701},{"enabled":71,"navigation":1721},{"ja":1722,"en":1783,"de":1814,"pl":1865},[1723,1729,1735,1741,1747,1753,1759,1765,1771,1777],{"title":1724,"slug":1725,"path":1726,"order":88,"date":1727,"translation_key":1728},"スマートホームのリレーとは何か、電流計測で何ができるか","smart-home-relay","ja\u002Fblog\u002Fsmart-home-relay","2026-11-03","2026_11_03_smart_home_relay",{"title":1730,"slug":1731,"path":1732,"order":88,"date":1733,"translation_key":1734},"設置業者に縛られないスマートホーム：Voldenoの仕組み","smart-home-without-installer-lock-in","ja\u002Fblog\u002Fsmart-home-without-installer-lock-in","2026-10-29","2026_10_29_smart_home_without_installer_lock_in",{"title":1736,"slug":1737,"path":1738,"order":88,"date":1739,"translation_key":1740},"スマートホームのI\u002FOモジュールとは何か、何に使うか","io-module-in-the-smart-home","ja\u002Fblog\u002Fio-module-in-the-smart-home","2026-10-19","2026_10_19_io_module_in_the_smart_home",{"title":1742,"slug":1743,"path":1744,"order":88,"date":1745,"translation_key":1746},"スマートホームのAIアシスタント：導入はシンプルに、できることは無制限に","ai-assistant-for-the-smart-home","ja\u002Fblog\u002Fai-assistant-for-the-smart-home","2026-09-27","2026_09_27_ai_assistant_for_the_smart_home",{"title":1748,"slug":1749,"path":1750,"order":88,"date":1751,"translation_key":1752},"スマートホームはガジェットではない：数値で見る省エネ、防犯、資産価値","smart-home-is-not-a-gadget","ja\u002Fblog\u002Fsmart-home-is-not-a-gadget","2026-07-03","2026_07_03_smart_home_is_not_a_gadget",{"title":1754,"slug":1755,"path":1756,"order":88,"date":1757,"translation_key":1758},"ゼロクロス切替：I\u002FO・RELAYモジュールがリレー接点寿命を延ばす仕組み","zero-crossing-switching-io-and-relay-modules","ja\u002Fblog\u002Fzero-crossing-switching-io-and-relay-modules","2026-06-11","2026_06_11_zero_crossing_switching",{"title":1760,"slug":1761,"path":1762,"order":88,"date":1763,"translation_key":1764},"Google Cloud Next '26：Fischertechnik工場デモをVoldenoが駆動","voldeno-at-google-cloud-next-26","ja\u002Fblog\u002Fvoldeno-at-google-cloud-next-26","2026-04-28","2026_04_28_voldeno_at_google_cloud_next_26",{"title":1766,"slug":1767,"path":1768,"order":88,"date":1769,"translation_key":1770},"準備完了：数百台のVoldenoモジュールがスマートホーム導入の準備完了","we-are-ready","ja\u002Fblog\u002Fwe-are-ready","2025-08-17","2025_08_17_we_are_ready",{"title":1772,"slug":1773,"path":1774,"order":88,"date":1775,"translation_key":1776},"新製品 SEN1WT3：コンパクトで信頼性の高い1-Wire温度センサー、大規模設備向け","new-voldeno-1-wire-temperature-sensor-compact-reliable-and-built-for-large-scale-installations","ja\u002Fblog\u002Fnew-voldeno-1-wire-temperature-sensor-compact-reliable-and-built-for-large-scale-installations","2025-04-25","2025_04_25_new_voldeno_1wire_temperature_sensor",{"title":1778,"slug":1779,"path":1780,"order":88,"date":1781,"translation_key":1782},"Voldenoで描くスマートホームの未来","future_of_smart_homes","ja\u002Fblog\u002Ffuture_of_smart_homes","2024-10-18","2024_10_18_future_of_smart_homes",[1784,1787,1790,1793,1796,1799,1802,1805,1808,1811],{"title":1785,"slug":1725,"path":1786,"order":88,"date":1727,"translation_key":1728},"Smart home relay: what it is and what current measurement is for","en\u002Fblog\u002Fsmart-home-relay",{"title":1788,"slug":1731,"path":1789,"order":88,"date":1733,"translation_key":1734},"A smart home without installer lock-in: how Voldeno does it","en\u002Fblog\u002Fsmart-home-without-installer-lock-in",{"title":1791,"slug":1737,"path":1792,"order":88,"date":1739,"translation_key":1740},"I\u002FO module in a smart home: what it is and what it is for","en\u002Fblog\u002Fio-module-in-the-smart-home",{"title":1794,"slug":1743,"path":1795,"order":88,"date":1745,"translation_key":1746},"An AI assistant for the smart home: simple to deliver, unlimited in what it can do","en\u002Fblog\u002Fai-assistant-for-the-smart-home",{"title":1797,"slug":1749,"path":1798,"order":88,"date":1751,"translation_key":1752},"A smart home is not a gadget: measurable savings, security and property value","en\u002Fblog\u002Fsmart-home-is-not-a-gadget",{"title":1800,"slug":1755,"path":1801,"order":88,"date":1757,"translation_key":1758},"Zero-crossing switching: how the I\u002FO and RELAY modules extend relay contact life","en\u002Fblog\u002Fzero-crossing-switching-io-and-relay-modules",{"title":1803,"slug":1761,"path":1804,"order":88,"date":1763,"translation_key":1764},"Voldeno powered the Fischertechnik factory demo at Google Cloud Next '26","en\u002Fblog\u002Fvoldeno-at-google-cloud-next-26",{"title":1806,"slug":1767,"path":1807,"order":88,"date":1769,"translation_key":1770},"We are ready! Hundreds of Voldeno modules prepared for smart home deployment.","en\u002Fblog\u002Fwe-are-ready",{"title":1809,"slug":1773,"path":1810,"order":88,"date":1775,"translation_key":1776},"New Voldeno 1-Wire Temperature Sensor - Compact, Reliable, and Built for Large-Scale Installations","en\u002Fblog\u002Fnew-voldeno-1-wire-temperature-sensor-compact-reliable-and-built-for-large-scale-installations",{"title":1812,"slug":1779,"path":1813,"order":88,"date":1781,"translation_key":1782},"Discover the Future of Smart Homes with Voldeno","en\u002Fblog\u002Ffuture_of_smart_homes",[1815,1820,1825,1830,1835,1840,1845,1850,1855,1860],{"title":1816,"slug":1817,"path":1818,"order":88,"date":1727,"translation_key":1819},"Smart-Home-Relais: was ein intelligentes Relais ist und wozu die Strommessung dient","smart-home-relais","de\u002Fblog\u002Fsmart-home-relais","2026_11_03_smart_home_relais",{"title":1821,"slug":1822,"path":1823,"order":88,"date":1733,"translation_key":1824},"Smart Home ohne Abhängigkeit vom Installateur: so funktioniert es bei Voldeno","smart-home-ohne-abhaengigkeit-vom-installateur","de\u002Fblog\u002Fsmart-home-ohne-abhaengigkeit-vom-installateur","2026_10_29_smart_home_ohne_abhaengigkeit_vom_installateur",{"title":1826,"slug":1827,"path":1828,"order":88,"date":1739,"translation_key":1829},"I\u002FO-Modul im Smart Home: was es ist und wozu es dient","io-modul-im-smart-home","de\u002Fblog\u002Fio-modul-im-smart-home","2026_10_19_io_modul_im_smart_home",{"title":1831,"slug":1832,"path":1833,"order":88,"date":1745,"translation_key":1834},"Ein KI-Assistent für das Smart Home: einfach umzusetzen, unbegrenzt in dem, was es kann","ki-assistent-fuer-das-smart-home","de\u002Fblog\u002Fki-assistent-fuer-das-smart-home","2026_09_27_ki_assistent_fuer_das_smart_home",{"title":1836,"slug":1837,"path":1838,"order":88,"date":1751,"translation_key":1839},"Ein Smart Home ist kein Gadget: messbare Einsparungen, Sicherheit und Immobilienwert","smart-home-ist-kein-gadget","de\u002Fblog\u002Fsmart-home-ist-kein-gadget","2026_07_03_smart_home_ist_kein_gadget",{"title":1841,"slug":1842,"path":1843,"order":88,"date":1757,"translation_key":1844},"Schalten im Nulldurchgang: Wie die Module I\u002FO und RELAY die Lebensdauer der Relaiskontakte verlängern","schalten-im-nulldurchgang-io-und-relay-module","de\u002Fblog\u002Fschalten-im-nulldurchgang-io-und-relay-module","2026_06_11_schalten_im_nulldurchgang",{"title":1846,"slug":1847,"path":1848,"order":88,"date":1763,"translation_key":1849},"Voldeno steuerte die Fischertechnik-Fabrikdemo auf der Google Cloud Next '26","fischertechnik-fabrikdemo-google-cloud-next-26","de\u002Fblog\u002Ffischertechnik-fabrikdemo-google-cloud-next-26","2026_04_28_voldeno_bei_google_cloud_next_26",{"title":1851,"slug":1852,"path":1853,"order":88,"date":1769,"translation_key":1854},"Wir sind bereit! Hunderte Voldeno-Module für den Einsatz im Smart Home vorbereitet.","wir-sind-bereit","de\u002Fblog\u002Fwir-sind-bereit","2025_08_17_wir_sind_bereit",{"title":1856,"slug":1857,"path":1858,"order":88,"date":1775,"translation_key":1859},"Neuer Voldeno 1-Wire Temperatursensor: kompakt, zuverlässig und für große Installationen gebaut","1-wire-temperatursensor-kompakt-zuverlaessig-fuer-grosse-installationen","de\u002Fblog\u002F1-wire-temperatursensor-kompakt-zuverlaessig-fuer-grosse-installationen","2025_04_25_neuer_voldeno_1wire_temperatursensor",{"title":1861,"slug":1862,"path":1863,"order":88,"date":1781,"translation_key":1864},"Entdecken Sie die Zukunft des Smart Home mit Voldeno","zukunft-des-smart-home","de\u002Fblog\u002Fzukunft-des-smart-home","2024_10_18_zukunft_smart_homes",[1866,1869,1874,1879,1884,1889,1894,1897,1901,1905],{"title":1867,"slug":1725,"path":1868,"order":88,"date":1727,"translation_key":1728},"Smart home relay: czym jest inteligentny przekaźnik i do czego służy pomiar prądu","pl\u002Fblog\u002Fsmart-home-relay",{"title":1870,"slug":1871,"path":1872,"order":88,"date":1733,"translation_key":1873},"Smart home bez uzależnienia od instalatora: jak działa to w Voldeno","smart-home-bez-uzaleznienia-od-instalatora","pl\u002Fblog\u002Fsmart-home-bez-uzaleznienia-od-instalatora","2026_10_29_smart_home_bez_uzaleznienia_od_instalatora",{"title":1875,"slug":1876,"path":1877,"order":88,"date":1739,"translation_key":1878},"Moduł I\u002FO w smart home: co to jest i do czego służy","modul-io-w-smart-home","pl\u002Fblog\u002Fmodul-io-w-smart-home","2026_10_19_modul_io_co_to_jest",{"title":1880,"slug":1881,"path":1882,"order":88,"date":1745,"translation_key":1883},"Asystent AI w smart home: prostota i nieograniczone możliwości w jednym systemie","asystent-ai-w-smart-home","pl\u002Fblog\u002Fasystent-ai-w-smart-home","2026_09_27_asystent_ai_w_smart_home",{"title":1885,"slug":1886,"path":1887,"order":88,"date":1751,"translation_key":1888},"Inteligentny dom to nie gadżet: policzalne oszczędności, bezpieczeństwo i wartość nieruchomości","inteligentny-dom-to-nie-gadzet","pl\u002Fblog\u002Finteligentny-dom-to-nie-gadzet","2026_07_03_inteligentny_dom_to_nie_gadzet",{"title":1890,"slug":1891,"path":1892,"order":88,"date":1757,"translation_key":1893},"Przełączanie w zerze napięcia: jak moduły I\u002FO i RELAY wydłużają życie styków przekaźników","przelaczanie-w-zerze-napiecia-moduly-io-i-relay","pl\u002Fblog\u002Fprzelaczanie-w-zerze-napiecia-moduly-io-i-relay","2026_06_11_przelaczanie_w_zerze_napiecia",{"title":1895,"slug":1761,"path":1896,"order":88,"date":1763,"translation_key":1764},"System Voldeno napędził demo fabryki Fischertechnik na Google Cloud Next '26","pl\u002Fblog\u002Fvoldeno-at-google-cloud-next-26",{"title":1898,"slug":1899,"path":1900,"order":88,"date":1769,"translation_key":1770},"Jesteśmy gotowi! Setki modułów Voldeno przygotowanych do wdrożenia w inteligentnych domach.","jestesmy-gotowi-setki-modulow-voldeno-przygotowanych-do-wdrozenia-w-inteligentnych-domach","pl\u002Fblog\u002Fjestesmy-gotowi-setki-modulow-voldeno-przygotowanych-do-wdrozenia-w-inteligentnych-domach",{"title":1902,"slug":1903,"path":1904,"order":88,"date":1775,"translation_key":1776},"Nowy czujnik temperatury Voldeno 1-Wire - kompaktowy, niezawodny i stworzony do dużych instalacji","nowy-czujnik-temperatury-1-wire-voldeno-kompaktowy-niezawodny-i-zaprojektowany-do-instalacji-na-duza-skale","pl\u002Fblog\u002Fnowy-czujnik-temperatury-1-wire-voldeno-kompaktowy-niezawodny-i-zaprojektowany-do-instalacji-na-duza-skale",{"title":1906,"slug":1907,"path":1908,"order":88,"date":1781,"translation_key":1782},"Odkryj przyszłość inteligentnych domów z Voldeno","odkryj-przyszlosc-inteligentnych-domow-z-voldeno","pl\u002Fblog\u002Fodkryj-przyszlosc-inteligentnych-domow-z-voldeno",{"map":1910,"xDefault":1911},{"pl":1911,"en":1912,"de":1913,"ja":1914},"https:\u002F\u002Fvoldeno.com\u002Fpl\u002Fdocs\u002Fbloki-logiczne\u002Finput\u002Ftapo_sensor","https:\u002F\u002Fvoldeno.com\u002Fen\u002Fdocs\u002Flogic-blocks\u002Finput\u002Ftapo_sensor","https:\u002F\u002Fvoldeno.com\u002Fde\u002Fdocs\u002Flogikbausteine\u002Finput\u002Ftapo_sensor","https:\u002F\u002Fvoldeno.com\u002Fja\u002Fdocs\u002Flogic-blocks\u002Finput\u002Ftapo_sensor",{"slug":483,"title":482,"seo_title":1916,"description":1917,"tags":1918,"content_html":1919,"headings":1920,"template":434,"extra":1932},"Blok logiczny Tapo T310 \u002F T315 - Voldeno","Poznaj działanie bloku logicznego Tapo T310 \u002F T315 - zasada działania, opcje konfiguracji i przykłady zastosowań w Voldeno.",[416,427,483],"\u003Ch1 id=\"tapo-t310-&#x2F;-t315\">\u003Ca href=\"#tapo-t310-&#x2F;-t315\" class=\"anchor\">#\u003C\u002Fa> Tapo T310 &#x2F; T315\u003C\u002Fh1>\n\u003Cdiv class=\"block-meta\">\n  \u003Cspan class=\"badge badge-group badge-group-input\">Wejścia\u003C\u002Fspan>\n  \u003Cspan class=\"badge badge-io-type\">scheduler\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\n\u003Cp class=\"block-description\">Odczytuje temperaturę, wilgotność i stan baterii czujnika TP-Link Tapo T310 lub T315 sparowanego z hubem Tapo (H100), w sieci lokalnej przez szyfrowany protokół KLAP.\u003C\u002Fp>\n\u003C!-- BLOCK_DIAGRAM -->\n\u003Ch2 id=\"source-code\">\u003Ca href=\"#source-code\" class=\"anchor\">#\u003C\u002Fa> Kod źródłowy\u003C\u002Fh2>\n\u003Cdetails class=\"code-details\">\u003Csummary>Pokaż kod Volang\u003C\u002Fsummary>\n\u003Cdiv class=\"code-block\" data-lang=\"volang\">\n\u003Cpre>\u003Ccode class=\"language-volang\">\u003Cspan class=\"comment\">\u002F\u002F Tapo sensor - temperature and humidity of a TP-Link Tapo T310 \u002F T315.\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F The sensors talk to a Tapo hub (H100) over sub-GHz radio and have no address\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F of their own, so the block asks the hub over KLAP for its child device list\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F and picks the sensor out of it: the one named in the sensor config, by its\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F name in the Tapo app or its device ID, or the first temperature and humidity\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F sensor when none is configured. The hub hands its children out in pages,\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F which are walked until the sensor shows.\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F The temperature is always published in °C. While there is a fault the\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F readings keep their last values.\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F Faults reported through the fault output:\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F   -1    the hub could not be reached, or it reports the sensor offline\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F   1000  host, email or password not configured\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F   1001  the hub refused the credentials\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F   1002  the hub answered with something that is not KLAP\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F   1003  the hub dropped the session again right after a new handshake\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F   1004  the hub rejected the request\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F   1005  the sensor is not paired with the hub\u003C\u002Fspan>\n\n\u003Cspan class=\"keyword\">fn\u003C\u002Fspan> \u003Cspan class=\"function\">configured\u003C\u002Fspan>() {\n    \u003Cspan class=\"variable\">host\u003C\u002Fspan> \u003Cspan class=\"operator\">=\u003C\u002Fspan> \u003Cspan class=\"variable\">config\u003C\u002Fspan>::\u003Cspan class=\"function\">get\u003C\u002Fspan>(\u003Cspan class=\"string\">\"host\"\u003C\u002Fspan>)\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"variable\">host\u003C\u002Fspan> \u003Cspan class=\"operator\">==\u003C\u002Fspan> \u003Cspan class=\"string\">\"\"\u003C\u002Fspan> \u003Cspan class=\"keyword\">or\u003C\u002Fspan> \u003Cspan class=\"variable\">config\u003C\u002Fspan>::\u003Cspan class=\"function\">get\u003C\u002Fspan>(\u003Cspan class=\"string\">\"email\"\u003C\u002Fspan>) \u003Cspan class=\"operator\">==\u003C\u002Fspan> \u003Cspan class=\"string\">\"\"\u003C\u002Fspan> \u003Cspan class=\"keyword\">or\u003C\u002Fspan> \u003Cspan class=\"variable\">config\u003C\u002Fspan>::\u003Cspan class=\"function\">get\u003C\u002Fspan>(\u003Cspan class=\"string\">\"password\"\u003C\u002Fspan>) \u003Cspan class=\"operator\">==\u003C\u002Fspan> \u003Cspan class=\"string\">\"\"\u003C\u002Fspan>) {\n        \u003Cspan class=\"keyword\">return\u003C\u002Fspan> \u003Cspan class=\"boolean\">false\u003C\u002Fspan>\n    }\n    \u003Cspan class=\"comment\">\u002F\u002F klap::call takes a bare host[:port] and aborts the script on anything else.\u003C\u002Fspan>\n    \u003Cspan class=\"keyword\">return\u003C\u002Fspan> \u003Cspan class=\"module\">str\u003C\u002Fspan>::\u003Cspan class=\"function\">count\u003C\u002Fspan>(\u003Cspan class=\"variable\">host\u003C\u002Fspan>, \u003Cspan class=\"string\">\"\u002F\"\u003C\u002Fspan>) \u003Cspan class=\"operator\">==\u003C\u002Fspan> \u003Cspan class=\"number\">0\u003C\u002Fspan> \u003Cspan class=\"keyword\">and\u003C\u002Fspan> \u003Cspan class=\"module\">str\u003C\u002Fspan>::\u003Cspan class=\"function\">count\u003C\u002Fspan>(\u003Cspan class=\"variable\">host\u003C\u002Fspan>, \u003Cspan class=\"string\">\" \"\u003C\u002Fspan>) \u003Cspan class=\"operator\">==\u003C\u002Fspan> \u003Cspan class=\"number\">0\u003C\u002Fspan>\n}\n\n\u003Cspan class=\"comment\">\u002F\u002F The runtime answers every klap::call, so a request can only stay pending if a\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F reply was dropped. Time it out rather than wedge the block for good.\u003C\u002Fspan>\n\u003Cspan class=\"keyword\">fn\u003C\u002Fspan> \u003Cspan class=\"function\">busy\u003C\u002Fspan>() {\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"operator\">!\u003C\u002Fspan>\u003Cspan class=\"variable\">state\u003C\u002Fspan>::\u003Cspan class=\"function\">get\u003C\u002Fspan>(\u003Cspan class=\"string\">\"in_flight\"\u003C\u002Fspan>)) {\n        \u003Cspan class=\"keyword\">return\u003C\u002Fspan> \u003Cspan class=\"boolean\">false\u003C\u002Fspan>\n    }\n    \u003Cspan class=\"keyword\">return\u003C\u002Fspan> \u003Cspan class=\"stdlib\">time::uptime\u003C\u002Fspan>() \u003Cspan class=\"operator\">-\u003C\u002Fspan> \u003Cspan class=\"variable\">state\u003C\u002Fspan>::\u003Cspan class=\"function\">get\u003C\u002Fspan>(\u003Cspan class=\"string\">\"request_started\"\u003C\u002Fspan>) \u003Cspan class=\"operator\">&lt;=\u003C\u002Fspan> \u003Cspan class=\"number\">30000\u003C\u002Fspan>\n}\n\n\u003Cspan class=\"keyword\">fn\u003C\u002Fspan> \u003Cspan class=\"function\">request_page\u003C\u002Fspan>(\u003Cspan class=\"variable\">start\u003C\u002Fspan>) {\n    \u003Cspan class=\"variable\">state\u003C\u002Fspan>::\u003Cspan class=\"function\">set\u003C\u002Fspan>(\u003Cspan class=\"string\">\"in_flight\"\u003C\u002Fspan>, \u003Cspan class=\"boolean\">true\u003C\u002Fspan>)\n    \u003Cspan class=\"variable\">state\u003C\u002Fspan>::\u003Cspan class=\"function\">set\u003C\u002Fspan>(\u003Cspan class=\"string\">\"request_started\"\u003C\u002Fspan>, \u003Cspan class=\"stdlib\">time::uptime\u003C\u002Fspan>())\n    \u003Cspan class=\"variable\">state\u003C\u002Fspan>::\u003Cspan class=\"function\">set\u003C\u002Fspan>(\u003Cspan class=\"string\">\"page_start\"\u003C\u002Fspan>, \u003Cspan class=\"variable\">start\u003C\u002Fspan>)\n    \u003Cspan class=\"variable\">request\u003C\u002Fspan> \u003Cspan class=\"operator\">=\u003C\u002Fspan> \u003Cspan class=\"stdlib\">str::fmt\u003C\u002Fspan>(\u003Cspan class=\"string\">\"\"\"{\"method\":\"get_child_device_list\",\"params\":{\"start_index\":{}}}\"\"\"\u003C\u002Fspan>, \u003Cspan class=\"variable\">start\u003C\u002Fspan>)\n    \u003Cspan class=\"stdlib\">klap::call\u003C\u002Fspan>(\u003Cspan class=\"variable\">config\u003C\u002Fspan>::\u003Cspan class=\"function\">get\u003C\u002Fspan>(\u003Cspan class=\"string\">\"host\"\u003C\u002Fspan>), \u003Cspan class=\"variable\">config\u003C\u002Fspan>::\u003Cspan class=\"function\">get\u003C\u002Fspan>(\u003Cspan class=\"string\">\"email\"\u003C\u002Fspan>), \u003Cspan class=\"variable\">config\u003C\u002Fspan>::\u003Cspan class=\"function\">get\u003C\u002Fspan>(\u003Cspan class=\"string\">\"password\"\u003C\u002Fspan>), \u003Cspan class=\"variable\">request\u003C\u002Fspan>)\n}\n\n\u003Cspan class=\"comment\">\u002F\u002F json::get fails on a path the reply does not have, so every optional field is\u003C\u002Fspan>\n\u003Cspan class=\"comment\">\u002F\u002F looked up in the raw text first.\u003C\u002Fspan>\n\u003Cspan class=\"keyword\">fn\u003C\u002Fspan> \u003Cspan class=\"function\">has_field\u003C\u002Fspan>(\u003Cspan class=\"variable\">body\u003C\u002Fspan>, \u003Cspan class=\"variable\">key\u003C\u002Fspan>) {\n    \u003Cspan class=\"keyword\">return\u003C\u002Fspan> \u003Cspan class=\"module\">str\u003C\u002Fspan>::\u003Cspan class=\"function\">count\u003C\u002Fspan>(\u003Cspan class=\"variable\">body\u003C\u002Fspan>, \u003Cspan class=\"stdlib\">str::fmt\u003C\u002Fspan>(\u003Cspan class=\"string\">\"\"\"{}\":\"\"\"\u003C\u002Fspan>, \u003Cspan class=\"variable\">key\u003C\u002Fspan>)) \u003Cspan class=\"operator\">&gt;\u003C\u002Fspan> \u003Cspan class=\"number\">0\u003C\u002Fspan>\n}\n\n\u003Cspan class=\"keyword\">fn\u003C\u002Fspan> \u003Cspan class=\"function\">error_code\u003C\u002Fspan>(\u003Cspan class=\"variable\">body\u003C\u002Fspan>) {\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"function\">has_field\u003C\u002Fspan>(\u003Cspan class=\"variable\">body\u003C\u002Fspan>, \u003Cspan class=\"string\">\"error_code\"\u003C\u002Fspan>)) {\n        \u003Cspan class=\"keyword\">return\u003C\u002Fspan> \u003Cspan class=\"stdlib\">math::int\u003C\u002Fspan>(\u003Cspan class=\"stdlib\">json::get\u003C\u002Fspan>(\u003Cspan class=\"variable\">body\u003C\u002Fspan>, \u003Cspan class=\"string\">\"error_code\"\u003C\u002Fspan>))\n    }\n    \u003Cspan class=\"keyword\">return\u003C\u002Fspan> \u003Cspan class=\"operator\">-\u003C\u002Fspan>\u003Cspan class=\"number\">1\u003C\u002Fspan>\n}\n\n\u003Cspan class=\"keyword\">fn\u003C\u002Fspan> \u003Cspan class=\"function\">fault_of\u003C\u002Fspan>(\u003Cspan class=\"variable\">status\u003C\u002Fspan>) {\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"variable\">status\u003C\u002Fspan> \u003Cspan class=\"operator\">==\u003C\u002Fspan> \u003Cspan class=\"operator\">-\u003C\u002Fspan>\u003Cspan class=\"number\">1\u003C\u002Fspan>) {\n        \u003Cspan class=\"keyword\">return\u003C\u002Fspan> \u003Cspan class=\"operator\">-\u003C\u002Fspan>\u003Cspan class=\"number\">1\u003C\u002Fspan>\n    }\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"variable\">status\u003C\u002Fspan> \u003Cspan class=\"operator\">==\u003C\u002Fspan> \u003Cspan class=\"operator\">-\u003C\u002Fspan>\u003Cspan class=\"number\">2\u003C\u002Fspan>) {\n        \u003Cspan class=\"keyword\">return\u003C\u002Fspan> \u003Cspan class=\"number\">1001\u003C\u002Fspan>\n    }\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"variable\">status\u003C\u002Fspan> \u003Cspan class=\"operator\">==\u003C\u002Fspan> \u003Cspan class=\"operator\">-\u003C\u002Fspan>\u003Cspan class=\"number\">4\u003C\u002Fspan>) {\n        \u003Cspan class=\"keyword\">return\u003C\u002Fspan> \u003Cspan class=\"number\">1003\u003C\u002Fspan>\n    }\n    \u003Cspan class=\"keyword\">return\u003C\u002Fspan> \u003Cspan class=\"number\">1002\u003C\u002Fspan>\n}\n\n\u003Cspan class=\"comment\">\u002F\u002F The hub reports the name given in the Tapo app base64 encoded.\u003C\u002Fspan>\n\u003Cspan class=\"keyword\">fn\u003C\u002Fspan> \u003Cspan class=\"function\">is_wanted\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>) {\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"module\">str\u003C\u002Fspan>::\u003Cspan class=\"function\">count\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>, \u003Cspan class=\"string\">\"temp-hmdt-sensor\"\u003C\u002Fspan>) \u003Cspan class=\"operator\">==\u003C\u002Fspan> \u003Cspan class=\"number\">0\u003C\u002Fspan>) {\n        \u003Cspan class=\"keyword\">return\u003C\u002Fspan> \u003Cspan class=\"boolean\">false\u003C\u002Fspan>\n    }\n    \u003Cspan class=\"variable\">wanted\u003C\u002Fspan> \u003Cspan class=\"operator\">=\u003C\u002Fspan> \u003Cspan class=\"variable\">config\u003C\u002Fspan>::\u003Cspan class=\"function\">get\u003C\u002Fspan>(\u003Cspan class=\"string\">\"sensor\"\u003C\u002Fspan>)\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"variable\">wanted\u003C\u002Fspan> \u003Cspan class=\"operator\">==\u003C\u002Fspan> \u003Cspan class=\"string\">\"\"\u003C\u002Fspan>) {\n        \u003Cspan class=\"keyword\">return\u003C\u002Fspan> \u003Cspan class=\"boolean\">true\u003C\u002Fspan>\n    }\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"function\">has_field\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>, \u003Cspan class=\"string\">\"nickname\"\u003C\u002Fspan>) \u003Cspan class=\"keyword\">and\u003C\u002Fspan> \u003Cspan class=\"stdlib\">json::get\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>, \u003Cspan class=\"string\">\"nickname\"\u003C\u002Fspan>) \u003Cspan class=\"operator\">==\u003C\u002Fspan> \u003Cspan class=\"variable\">base64\u003C\u002Fspan>::\u003Cspan class=\"function\">encode\u003C\u002Fspan>(\u003Cspan class=\"variable\">wanted\u003C\u002Fspan>)) {\n        \u003Cspan class=\"keyword\">return\u003C\u002Fspan> \u003Cspan class=\"boolean\">true\u003C\u002Fspan>\n    }\n    \u003Cspan class=\"keyword\">return\u003C\u002Fspan> \u003Cspan class=\"function\">has_field\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>, \u003Cspan class=\"string\">\"device_id\"\u003C\u002Fspan>) \u003Cspan class=\"keyword\">and\u003C\u002Fspan> \u003Cspan class=\"stdlib\">json::get\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>, \u003Cspan class=\"string\">\"device_id\"\u003C\u002Fspan>) \u003Cspan class=\"operator\">==\u003C\u002Fspan> \u003Cspan class=\"variable\">wanted\u003C\u002Fspan>\n}\n\n\u003Cspan class=\"keyword\">fn\u003C\u002Fspan> \u003Cspan class=\"function\">publish\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>) {\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"operator\">!\u003C\u002Fspan>\u003Cspan class=\"function\">has_field\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>, \u003Cspan class=\"string\">\"status\"\u003C\u002Fspan>) \u003Cspan class=\"keyword\">or\u003C\u002Fspan> \u003Cspan class=\"stdlib\">json::get\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>, \u003Cspan class=\"string\">\"status\"\u003C\u002Fspan>) \u003Cspan class=\"operator\">!=\u003C\u002Fspan> \u003Cspan class=\"string\">\"online\"\u003C\u002Fspan>) {\n        \u003Cspan class=\"stdlib\">output::set\u003C\u002Fspan>(\u003Cspan class=\"string\">\"fault\"\u003C\u002Fspan>, \u003Cspan class=\"operator\">-\u003C\u002Fspan>\u003Cspan class=\"number\">1\u003C\u002Fspan>)\n        \u003Cspan class=\"keyword\">return\u003C\u002Fspan>\n    }\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"function\">has_field\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>, \u003Cspan class=\"string\">\"current_temp\"\u003C\u002Fspan>)) {\n        \u003Cspan class=\"variable\">temperature\u003C\u002Fspan> \u003Cspan class=\"operator\">=\u003C\u002Fspan> \u003Cspan class=\"stdlib\">json::get\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>, \u003Cspan class=\"string\">\"current_temp\"\u003C\u002Fspan>)\n        \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"function\">has_field\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>, \u003Cspan class=\"string\">\"temp_unit\"\u003C\u002Fspan>) \u003Cspan class=\"keyword\">and\u003C\u002Fspan> \u003Cspan class=\"stdlib\">json::get\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>, \u003Cspan class=\"string\">\"temp_unit\"\u003C\u002Fspan>) \u003Cspan class=\"operator\">==\u003C\u002Fspan> \u003Cspan class=\"string\">\"fahrenheit\"\u003C\u002Fspan>) {\n            \u003Cspan class=\"variable\">temperature\u003C\u002Fspan> \u003Cspan class=\"operator\">=\u003C\u002Fspan> (\u003Cspan class=\"variable\">temperature\u003C\u002Fspan> \u003Cspan class=\"operator\">-\u003C\u002Fspan> \u003Cspan class=\"number\">32\u003C\u002Fspan>) \u003Cspan class=\"operator\">*\u003C\u002Fspan> \u003Cspan class=\"number\">5\u003C\u002Fspan> \u003Cspan class=\"operator\">\u002F\u003C\u002Fspan> \u003Cspan class=\"number\">9.0\u003C\u002Fspan>\n        }\n        \u003Cspan class=\"stdlib\">output::set\u003C\u002Fspan>(\u003Cspan class=\"string\">\"temperature\"\u003C\u002Fspan>, \u003Cspan class=\"variable\">temperature\u003C\u002Fspan> \u003Cspan class=\"operator\">+\u003C\u002Fspan> \u003Cspan class=\"variable\">config\u003C\u002Fspan>::\u003Cspan class=\"function\">get\u003C\u002Fspan>(\u003Cspan class=\"string\">\"temp_offset\"\u003C\u002Fspan>))\n    }\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"function\">has_field\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>, \u003Cspan class=\"string\">\"current_humidity\"\u003C\u002Fspan>)) {\n        \u003Cspan class=\"stdlib\">output::set\u003C\u002Fspan>(\u003Cspan class=\"string\">\"humidity\"\u003C\u002Fspan>, \u003Cspan class=\"stdlib\">json::get\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>, \u003Cspan class=\"string\">\"current_humidity\"\u003C\u002Fspan>))\n    }\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"function\">has_field\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>, \u003Cspan class=\"string\">\"at_low_battery\"\u003C\u002Fspan>)) {\n        \u003Cspan class=\"stdlib\">output::set\u003C\u002Fspan>(\u003Cspan class=\"string\">\"low_battery\"\u003C\u002Fspan>, \u003Cspan class=\"stdlib\">json::get\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>, \u003Cspan class=\"string\">\"at_low_battery\"\u003C\u002Fspan>))\n    }\n    \u003Cspan class=\"stdlib\">output::set\u003C\u002Fspan>(\u003Cspan class=\"string\">\"fault\"\u003C\u002Fspan>, \u003Cspan class=\"number\">0\u003C\u002Fspan>)\n}\n\n\u003Cspan class=\"keyword\">fn\u003C\u002Fspan> \u003Cspan class=\"function\">poll\u003C\u002Fspan>() {\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"operator\">!\u003C\u002Fspan>\u003Cspan class=\"function\">configured\u003C\u002Fspan>()) {\n        \u003Cspan class=\"stdlib\">output::set\u003C\u002Fspan>(\u003Cspan class=\"string\">\"fault\"\u003C\u002Fspan>, \u003Cspan class=\"number\">1000\u003C\u002Fspan>)\n        \u003Cspan class=\"keyword\">return\u003C\u002Fspan>\n    }\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"operator\">!\u003C\u002Fspan>\u003Cspan class=\"function\">busy\u003C\u002Fspan>()) {\n        \u003Cspan class=\"function\">request_page\u003C\u002Fspan>(\u003Cspan class=\"number\">0\u003C\u002Fspan>)\n    }\n}\n\n\u003Cspan class=\"keyword\">extern\u003C\u002Fspan> \u003Cspan class=\"keyword\">fn\u003C\u002Fspan> \u003Cspan class=\"variable\">std\u003C\u002Fspan>::\u003Cspan class=\"function\">next_activation_at\u003C\u002Fspan>() {\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"variable\">state\u003C\u002Fspan>::\u003Cspan class=\"function\">get\u003C\u002Fspan>(\u003Cspan class=\"string\">\"last_activation_ts\"\u003C\u002Fspan>) \u003Cspan class=\"operator\">==\u003C\u002Fspan> \u003Cspan class=\"number\">0\u003C\u002Fspan>) {\n        \u003Cspan class=\"keyword\">return\u003C\u002Fspan> \u003Cspan class=\"stdlib\">time::now\u003C\u002Fspan>()\n    }\n    \u003Cspan class=\"keyword\">return\u003C\u002Fspan> \u003Cspan class=\"stdlib\">time::now\u003C\u002Fspan>() \u003Cspan class=\"operator\">+\u003C\u002Fspan> \u003Cspan class=\"stdlib\">math::int\u003C\u002Fspan>(\u003Cspan class=\"stdlib\">math::round\u003C\u002Fspan>(\u003Cspan class=\"variable\">config\u003C\u002Fspan>::\u003Cspan class=\"function\">get\u003C\u002Fspan>(\u003Cspan class=\"string\">\"refresh_interval\"\u003C\u002Fspan>)))\n}\n\n\u003Cspan class=\"keyword\">extern\u003C\u002Fspan> \u003Cspan class=\"keyword\">fn\u003C\u002Fspan> \u003Cspan class=\"stdlib\">klap::on_response\u003C\u002Fspan>(\u003Cspan class=\"variable\">status\u003C\u002Fspan>, \u003Cspan class=\"variable\">body\u003C\u002Fspan>) {\n    \u003Cspan class=\"variable\">state\u003C\u002Fspan>::\u003Cspan class=\"function\">set\u003C\u002Fspan>(\u003Cspan class=\"string\">\"in_flight\"\u003C\u002Fspan>, \u003Cspan class=\"boolean\">false\u003C\u002Fspan>)\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"variable\">status\u003C\u002Fspan> \u003Cspan class=\"operator\">!=\u003C\u002Fspan> \u003Cspan class=\"number\">0\u003C\u002Fspan>) {\n        \u003Cspan class=\"stdlib\">output::set\u003C\u002Fspan>(\u003Cspan class=\"string\">\"fault\"\u003C\u002Fspan>, \u003Cspan class=\"function\">fault_of\u003C\u002Fspan>(\u003Cspan class=\"variable\">status\u003C\u002Fspan>))\n        \u003Cspan class=\"keyword\">return\u003C\u002Fspan>\n    }\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"function\">error_code\u003C\u002Fspan>(\u003Cspan class=\"variable\">body\u003C\u002Fspan>) \u003Cspan class=\"operator\">!=\u003C\u002Fspan> \u003Cspan class=\"number\">0\u003C\u002Fspan>) {\n        \u003Cspan class=\"stdlib\">output::set\u003C\u002Fspan>(\u003Cspan class=\"string\">\"fault\"\u003C\u002Fspan>, \u003Cspan class=\"number\">1004\u003C\u002Fspan>)\n        \u003Cspan class=\"keyword\">return\u003C\u002Fspan>\n    }\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"operator\">!\u003C\u002Fspan>\u003Cspan class=\"function\">has_field\u003C\u002Fspan>(\u003Cspan class=\"variable\">body\u003C\u002Fspan>, \u003Cspan class=\"string\">\"child_device_list\"\u003C\u002Fspan>)) {\n        \u003Cspan class=\"stdlib\">output::set\u003C\u002Fspan>(\u003Cspan class=\"string\">\"fault\"\u003C\u002Fspan>, \u003Cspan class=\"number\">1005\u003C\u002Fspan>)\n        \u003Cspan class=\"keyword\">return\u003C\u002Fspan>\n    }\n\n    \u003Cspan class=\"variable\">children\u003C\u002Fspan> \u003Cspan class=\"operator\">=\u003C\u002Fspan> \u003Cspan class=\"stdlib\">json::get\u003C\u002Fspan>(\u003Cspan class=\"variable\">body\u003C\u002Fspan>, \u003Cspan class=\"string\">\"result.child_device_list\"\u003C\u002Fspan>)\n    \u003Cspan class=\"variable\">count\u003C\u002Fspan> \u003Cspan class=\"operator\">=\u003C\u002Fspan> \u003Cspan class=\"stdlib\">array::len\u003C\u002Fspan>(\u003Cspan class=\"variable\">children\u003C\u002Fspan>)\n    \u003Cspan class=\"variable\">i\u003C\u002Fspan> \u003Cspan class=\"operator\">=\u003C\u002Fspan> \u003Cspan class=\"number\">0\u003C\u002Fspan>\n    \u003Cspan class=\"keyword\">while\u003C\u002Fspan> (\u003Cspan class=\"variable\">i\u003C\u002Fspan> \u003Cspan class=\"operator\">&lt;\u003C\u002Fspan> \u003Cspan class=\"variable\">count\u003C\u002Fspan>) {\n        \u003Cspan class=\"variable\">child\u003C\u002Fspan> \u003Cspan class=\"operator\">=\u003C\u002Fspan> \u003Cspan class=\"stdlib\">array::get_at\u003C\u002Fspan>(\u003Cspan class=\"variable\">children\u003C\u002Fspan>, \u003Cspan class=\"variable\">i\u003C\u002Fspan>)\n        \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"function\">is_wanted\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>)) {\n            \u003Cspan class=\"function\">publish\u003C\u002Fspan>(\u003Cspan class=\"variable\">child\u003C\u002Fspan>)\n            \u003Cspan class=\"keyword\">return\u003C\u002Fspan>\n        }\n        \u003Cspan class=\"variable\">i\u003C\u002Fspan> \u003Cspan class=\"operator\">=\u003C\u002Fspan> \u003Cspan class=\"variable\">i\u003C\u002Fspan> \u003Cspan class=\"operator\">+\u003C\u002Fspan> \u003Cspan class=\"number\">1\u003C\u002Fspan>\n    }\n\n    \u003Cspan class=\"variable\">next\u003C\u002Fspan> \u003Cspan class=\"operator\">=\u003C\u002Fspan> \u003Cspan class=\"variable\">state\u003C\u002Fspan>::\u003Cspan class=\"function\">get\u003C\u002Fspan>(\u003Cspan class=\"string\">\"page_start\"\u003C\u002Fspan>) \u003Cspan class=\"operator\">+\u003C\u002Fspan> \u003Cspan class=\"variable\">count\u003C\u002Fspan>\n    \u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"variable\">count\u003C\u002Fspan> \u003Cspan class=\"operator\">&gt;\u003C\u002Fspan> \u003Cspan class=\"number\">0\u003C\u002Fspan> \u003Cspan class=\"keyword\">and\u003C\u002Fspan> \u003Cspan class=\"function\">has_field\u003C\u002Fspan>(\u003Cspan class=\"variable\">body\u003C\u002Fspan>, \u003Cspan class=\"string\">\"sum\"\u003C\u002Fspan>) \u003Cspan class=\"keyword\">and\u003C\u002Fspan> \u003Cspan class=\"variable\">next\u003C\u002Fspan> \u003Cspan class=\"operator\">&lt;\u003C\u002Fspan> \u003Cspan class=\"stdlib\">math::int\u003C\u002Fspan>(\u003Cspan class=\"stdlib\">json::get\u003C\u002Fspan>(\u003Cspan class=\"variable\">body\u003C\u002Fspan>, \u003Cspan class=\"string\">\"result.sum\"\u003C\u002Fspan>))) {\n        \u003Cspan class=\"function\">request_page\u003C\u002Fspan>(\u003Cspan class=\"variable\">next\u003C\u002Fspan>)\n        \u003Cspan class=\"keyword\">return\u003C\u002Fspan>\n    }\n    \u003Cspan class=\"stdlib\">output::set\u003C\u002Fspan>(\u003Cspan class=\"string\">\"fault\"\u003C\u002Fspan>, \u003Cspan class=\"number\">1005\u003C\u002Fspan>)\n}\n\n\u003Cspan class=\"variable\">channel\u003C\u002Fspan> \u003Cspan class=\"operator\">=\u003C\u002Fspan> \u003Cspan class=\"stdlib\">input::channel\u003C\u002Fspan>()\n\u003Cspan class=\"keyword\">if\u003C\u002Fspan> (\u003Cspan class=\"variable\">channel\u003C\u002Fspan> \u003Cspan class=\"operator\">==\u003C\u002Fspan> \u003Cspan class=\"string\">\"\"\u003C\u002Fspan> \u003Cspan class=\"keyword\">or\u003C\u002Fspan> \u003Cspan class=\"variable\">channel\u003C\u002Fspan> \u003Cspan class=\"operator\">==\u003C\u002Fspan> \u003Cspan class=\"string\">\"config_change\"\u003C\u002Fspan>) {\n    \u003Cspan class=\"function\">poll\u003C\u002Fspan>()\n}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n",[1921,1923,1926,1929],{"level":100,"text":1599,"id":1922},"outputs",{"level":100,"text":1924,"id":1925},"Konfiguracja","configuration",{"level":100,"text":1927,"id":1928},"Stan","state",{"level":100,"text":1930,"id":1931},"Kod źródłowy","source-code",{"block":1933,"labels":1955,"spec":1974},{"abstract":74,"group":427,"id":483,"inputs":1934,"ioType":1935,"name":482,"outputs":1936},[],"scheduler",[1937,1942,1946,1951],{"abbrev":1938,"id":1939,"name":1940,"type":1941},"T","temperature","Temperatura","NUMBER",{"abbrev":1943,"id":1944,"name":1945,"type":1941},"H","humidity","Wilgotność",{"abbrev":1947,"id":1948,"name":1949,"type":1950},"LB","low_battery","Słaba bateria","BOOLEAN",{"abbrev":1952,"id":1953,"name":1954,"type":1941},"F","fault","Awaria",{"config":1956,"detail":1964,"port":1969,"sections":1971,"state":1973},{"default":1957,"description":1958,"details":1959,"id":1960,"name":1961,"type":1962,"unit":1963},"Domyślnie","Opis","Szczegóły","ID","Nazwa","Typ","Jednostka",{"required":1965,"subtype":1966,"values":1967,"visible_when":1968},"Wymagane","Podtyp","Wartości","Widoczne gdy",{"abbrev":1970,"default":1957,"description":1958,"id":1960,"name":1961,"type":1962},"Skrót",{"configuration":1924,"inputs":1461,"outputs":1599,"source_code":1930,"state":1927,"view_source":1972},"Pokaż kod Volang",{"default":1957,"description":1958,"id":1960,"name":1961,"type":1962,"unit":1963},{"config":1975,"inputs":2012,"outputs":2013,"state":2023},[1976,1983,1987,1991,1995,2006],{"default":1977,"description":1978,"details":1979,"id":1980,"name":1981,"type":1982,"unit":1977},"","Adres huba Tapo w sieci lokalnej, na przykład 192.168.1.50, opcjonalnie z portem. Bez http:\u002F\u002F i ścieżki. Przypisz hubowi stały adres w routerze, aby się nie zmieniał.",null,"host","Adres huba","STRING",{"default":1977,"description":1984,"details":1979,"id":1985,"name":1986,"type":1982,"unit":1977},"Adres e-mail konta TP-Link, na którym hub został skonfigurowany w aplikacji Tapo","email","E-mail",{"default":1977,"description":1988,"details":1979,"id":1989,"name":1990,"type":1982,"unit":1977},"Hasło konta TP-Link używanego w aplikacji Tapo","password","Hasło",{"default":1977,"description":1992,"details":1979,"id":1993,"name":1994,"type":1982,"unit":1977},"Nazwa czujnika nadana w aplikacji Tapo albo jego identyfikator urządzenia. Pozostaw puste, aby użyć pierwszego czujnika temperatury i wilgotności sparowanego z hubem.","sensor","Czujnik",{"default":1996,"description":1997,"details":1998,"id":2003,"name":2004,"type":1941,"unit":2005},"30","Jak często hub jest pytany o odczyty, w sekundach",{"rules":1999},[2000],{"kind":2001,"op":2002,"value":94},"compare","≥","refresh_interval","Interwał odświeżania","s",{"default":2007,"description":2008,"details":1979,"id":2009,"name":2010,"type":1941,"unit":2011},"0","Poprawka dodawana do zmierzonej temperatury, w °C","temp_offset","Korekta temperatury","°C",[],[2014,2016,2018,2021],{"abbrev":1938,"default":2007,"description":2015,"id":1939,"name":1940,"type":1941},"Ostatnia zmierzona temperatura w °C, z uwzględnieniem korekty. Podczas awarii zachowuje ostatnią wartość.",{"abbrev":1943,"default":2007,"description":2017,"id":1944,"name":1945,"type":1941},"Ostatnia zmierzona wilgotność względna w %. Podczas awarii zachowuje ostatnią wartość.",{"abbrev":1947,"default":2019,"description":2020,"id":1948,"name":1949,"type":1950},"false","Prawda, gdy czujnik zgłasza słabą baterię",{"abbrev":1952,"default":2007,"description":2022,"id":1953,"name":1954,"type":1941},"0 - odczyt poprawny, -1 - hub nieosiągalny lub czujnik niedostępny, 1000 brak konfiguracji, 1001 odrzucone dane logowania, 1002 brak KLAP, 1003 zerwana sesja, 1004 odrzucone żądanie, 1005 brak czujnika w hubie",[2024,2028,2032,2036,2040],{"default":2019,"description":2025,"id":2026,"name":2027,"type":1950,"unit":1977},"Prawda podczas oczekiwania na odpowiedź huba","in_flight","W trakcie",{"default":2007,"description":2029,"id":2030,"name":2031,"type":1941,"unit":1977},"Czas pracy w milisekundach w chwili wysłania oczekującego żądania, używany do porzucenia zagubionej odpowiedzi","request_started","Początek żądania",{"default":2007,"description":2033,"id":2034,"name":2035,"type":1941,"unit":1977},"Indeks pierwszego urządzenia podrzędnego na żądanej stronie listy huba","page_start","Początek strony",{"default":2007,"description":2037,"id":2038,"name":2039,"type":1941,"unit":2005},"Znacznik czasu ostatniego zaplanowanego odświeżenia w sekundach od epoki","last_activation_ts","Ostatnie odświeżenie",{"default":2007,"description":2041,"id":2042,"name":2043,"type":1941,"unit":2005},"Znacznik czasu następnego zaplanowanego odświeżenia w sekundach od epoki","next_activation_ts","Następne odświeżenie",1793738287342]