{"id":5948,"date":"2022-08-31T15:50:43","date_gmt":"2022-08-31T10:20:43","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/"},"modified":"2022-08-31T15:50:43","modified_gmt":"2022-08-31T10:20:43","slug":"solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/","title":{"rendered":"[Solved] How can I subscribe to many NEST devices from many different users using a single Node.JS server"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-31087162\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"31087162\" data-parentid=\"31013607\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"js-endorsements\" data-for-answer=\"31087162\">\n<\/div>\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>Firebase engineer here,<\/p>\n<p>The problem with this current approach is that Nest currently only allows a <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.nest.com\/documentation\/cloud\/how-to-auth#make-calls-with-the-nest-api\">single token to authenticate at a time<\/a>, and since Firebase clients cache authentication state once authenticated, in order to do this in a single process on one of said servers, you would have to auth, perform the operation, then unauth, and repeat for every operation which isn&#8217;t very efficient. Listens are particularly inefficient, since this means you need to open up <em>n<\/em> socket connections, and having to switch between them in this manner somewhat defeats the purpose of using Firebase in the first place (being able to hold the connection open and get pushed updates).<\/p>\n<p>You can solve this in a few ways:<\/p>\n<ul>\n<li>Switch to multi-process and multi-server where each process has an open socket and its own auth token. Using our <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.npmjs.com\/package\/firebase\">Node<\/a> or <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.firebase.com\/docs\/android\/guide\/setup.html#section-install\">Java<\/a> client is typically the best option here.<\/li>\n<li>Use the <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/developer.nest.com\/documentation\/cloud\/rest-streaming-guide\">streaming REST API<\/a> to open up multiple connections on the same server.<\/li>\n<\/ul>\n<p>Hope this helps!<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\"><\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved How can I subscribe to many NEST devices from many different users using a single Node.JS server <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] Firebase engineer here, The problem with this current approach is that Nest currently only allows a single token to authenticate at a time, and since Firebase clients cache authentication state once authenticated, in order to do this in a single process on one of said servers, you would have to auth, perform the operation, &#8230; <a title=\"[Solved] How can I subscribe to many NEST devices from many different users using a single Node.JS server\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/\" aria-label=\"More on [Solved] How can I subscribe to many NEST devices from many different users using a single Node.JS server\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[980,1583,902],"class_list":["post-5948","post","type-post","status-publish","format-standard","hentry","category-solved","tag-firebase","tag-nest","tag-node-js"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] How can I subscribe to many NEST devices from many different users using a single Node.JS server - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] How can I subscribe to many NEST devices from many different users using a single Node.JS server - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] Firebase engineer here, The problem with this current approach is that Nest currently only allows a single token to authenticate at a time, and since Firebase clients cache authentication state once authenticated, in order to do this in a single process on one of said servers, you would have to auth, perform the operation, ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-31T10:20:43+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] How can I subscribe to many NEST devices from many different users using a single Node.JS server\",\"datePublished\":\"2022-08-31T10:20:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/\"},\"wordCount\":206,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"firebase\",\"nest\",\"node.js\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/\",\"name\":\"[Solved] How can I subscribe to many NEST devices from many different users using a single Node.JS server - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-08-31T10:20:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] How can I subscribe to many NEST devices from many different users using a single Node.JS server\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] How can I subscribe to many NEST devices from many different users using a single Node.JS server - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] How can I subscribe to many NEST devices from many different users using a single Node.JS server - JassWeb","og_description":"[ad_1] Firebase engineer here, The problem with this current approach is that Nest currently only allows a single token to authenticate at a time, and since Firebase clients cache authentication state once authenticated, in order to do this in a single process on one of said servers, you would have to auth, perform the operation, ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/","og_site_name":"JassWeb","article_published_time":"2022-08-31T10:20:43+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] How can I subscribe to many NEST devices from many different users using a single Node.JS server","datePublished":"2022-08-31T10:20:43+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/"},"wordCount":206,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["firebase","nest","node.js"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/","url":"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/","name":"[Solved] How can I subscribe to many NEST devices from many different users using a single Node.JS server - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-08-31T10:20:43+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-how-can-i-subscribe-to-many-nest-devices-from-many-different-users-using-a-single-node-js-server\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] How can I subscribe to many NEST devices from many different users using a single Node.JS server"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/5948","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=5948"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/5948\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=5948"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=5948"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=5948"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}