{"id":55356,"date":"2020-01-18T00:00:00","date_gmt":"2020-01-17T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/lytko-obedinyaet"},"modified":"2020-02-18T14:03:28","modified_gmt":"2020-02-18T11:03:28","slug":"lytko-obedinyaet","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/lytko-obedinyaet","title":{"rendered":"Lytko unisce","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Qualche tempo fa vi abbiamo presentato <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/474420\/\">un termostato intelligente<\/a><\/noindex>. L'articolo attuale \u00e8 stato originariamente concepito come una dimostrazione del suo firmware e del sistema di gestione. Tuttavia, per spiegare la logica di funzionamento del termostato e ci\u00f2 che abbiamo implementato, \u00e8 necessario delineare l'intero concetto nel suo complesso.<\/p>\n<p><img decoding=\"async\" alt=\"Lytko unisce\" src=\"\/wp-content\/uploads\/2020\/01\/2cb26fc59fd6708614e52873f2b5fd22.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Sull'automazione<\/h3>\n<p>\nIn linea di massima, l'automazione pu\u00f2 essere suddivisa in tre categorie:<br \/>\n<u>Categoria 1<\/u> \u2014 dispositivi \u201cintelligenti\u201d singoli. Acquistate lampadine, bollitori, ecc. da diversi produttori. Vantaggi: ogni dispositivo amplia le possibilit\u00e0 e aumenta il comfort. Svantaggi: ogni nuovo produttore richiede la propria applicazione. I protocolli dei dispositivi di diversi produttori sono spesso incompatibili tra loro.<\/p>\n<p><u>Categoria 2<\/u> \u2014 installazione di un PC single-board o compatibile x86. Questo rimuove i limiti di potenza di calcolo, e su questa macchina \u00e8 possibile installare MajorDoMo o qualsiasi altra distribuzione server per la gestione della smart home. In questo modo, i dispositivi della maggior parte dei produttori vengono integrati in un'unica informazione. Cio\u00e8, si ha il proprio Server per la smart home. Vantaggi: compatibilit\u00e0 sotto un unico centro, il che offre opzioni avanzate di controllo. Svantaggi: in caso di guasto del server, l'intero sistema torna allo stadio 1, cio\u00e8 diventa disgiunto, o risulta inutile.<\/p>\n<p><u>Categoria 3<\/u> \u2014 la soluzione pi\u00f9 hardcore. Durante il processo di ristrutturazione, vengono installate tutte le comunicazioni e duplicate tutte le sistemazioni. Vantaggi: tutto \u00e8 perfezionato e il risultato \u00e8 una casa davvero intelligente. Svantaggi: costo estremamente elevato rispetto alle categorie 1 e 2, necessit\u00e0 di pianificare tutto in anticipo e di considerare ogni dettaglio.<\/p>\n<p>La maggior parte degli utenti sceglie la prima opzione e poi passa gradualmente alla seconda. In seguito, i pi\u00f9 determinati arrivano alla terza opzione. <\/p>\n<p>Tuttavia, esiste un'opzione che pu\u00f2 essere chiamata sistema distribuito: ogni singolo dispositivo sar\u00e0 sia server che cliente. In sostanza, \u00e8 un tentativo di prendere e unire l'opzione 1 e l'opzione 2. Prendere tutti i loro vantaggi ed escludere gli svantaggi, trovare un giusto equilibrio. <\/p>\n<p>\u00c8 possibile che qualcuno dica che un'opzione simile \u00e8 gi\u00e0 stata sviluppata. Ma queste soluzioni sono molto specifiche; per persone con competenze di programmazione. Il nostro obiettivo \u00e8 abbassare la barriera all'ingresso per tali sistemi distribuiti, sia come dispositivi finali che come integrazione di dispositivi esistenti nel nostro sistema. Nel caso del termostato, l'utente semplicemente rimuove il suo vecchio termostato, installa quello smart e collega i sensori che gi\u00e0 possiede. Senza ulteriori azioni.<\/p>\n<p>Consideriamo l'integrazione nel nostro sistema con un esempio. <\/p>\n<p>Immaginiamo di avere 8 moduli Sonoff nella nostra rete. Per alcuni utenti, sar\u00e0 sufficiente il controllo tramite il cloud Sonoff (categoria 1). Alcuni passeranno a utilizzare firmware di terze parti e passeranno gradualmente alla categoria 2. La maggior parte dei firmware di terze parti funziona secondo lo stesso principio: trasferimento dei dati a un server MQTT. OpenHub, Majordomo o qualsiasi altro servono a un'unica scopo: unire dispositivi disparati in un unico spazio informativo, situato o su Internet o in rete locale. Di conseguenza, la presenza di un Server \u00e8 obbligatoria. Ne deriva il problema principale: in caso di guasto del Server, l'intero sistema smette di funzionare in modo autonomo. Per evitare ci\u00f2, i sistemi vengono complicati, aggiungendo metodi di controllo manuale che duplicano l'automazione in caso di guasto del Server. <\/p>\n<p>Noi invece abbiamo seguito un'altra strada, in cui ogni dispositivo \u00e8 autonomo. In questo modo, il Server non gioca un ruolo fondamentale, ma espande solo le funzionalit\u00e0.<\/p>\n<p>Torniamo all'esperimento mentale. Prendiamo di nuovo gli stessi 8 moduli Sonoff e installiamo in essi il firmware Lytko. In tutti i firmware Lytko \u00e8 implementata la funzione <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Simple_Service_Discovery_Protocol\">SSDP<\/a><\/noindex>. SSDP \u00e8 un protocollo di rete basato su un insieme di protocolli Internet, utilizzato per l'annuncio e la scoperta di servizi di rete. La risposta a una richiesta pu\u00f2 essere sia standard che avanzata. In questa risposta abbiamo incluso, oltre alle funzionalit\u00e0 standard, la creazione di un elenco dei dispositivi presenti in rete. In questo modo, i dispositivi possono trovarsi l'uno con l'altro e ognuno avr\u00e0 un proprio elenco. Esempio di elenco SSDP:<\/p>\n<pre><code class=\"json\">\"ssdpList\": \n\t{\n\t\t\"id\": 94967291,  \n\t\t\"ip\": \"192.168.x.x\",\n                \"type\": \"termostato\"\n\t}, \n\t{\n\t\t\"id\": 94967282,\n\t\t\"ip\": \"192.168.x.x\",\n                \"type\": \"termostato\"\n\t}<\/code><\/pre>\n<p>\nCome si pu\u00f2 vedere dall'esempio, l'elenco comprende gli ID dei dispositivi, l'indirizzo IP nella rete e il tipo di modulo (nel nostro caso, un termostato basato su Sonoff). Questo elenco viene aggiornato ogni due minuti (questo intervallo \u00e8 sufficiente per rispondere ai cambiamenti dinamici nel numero di dispositivi in rete). In questo modo, monitoriamo l'aggiunta, la modifica e la disconnessione dei dispositivi senza alcuna azione da parte dell'utente. Questo elenco viene inviato al browser o all'app mobile, e lo script genera automaticamente una pagina con un numero specifico di moduli. Ogni modulo corrisponde a un dispositivo\/sensore\/controllore. Visivamente, l'elenco appare cos\u00ec:<\/p>\n<p><img decoding=\"async\" alt=\"Lytko unisce\" src=\"\/wp-content\/uploads\/2020\/01\/743abfe57e451aac901db58ed5d81a00.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMa se a esp8266\/esp32 sono collegati altri sensori radio tramite cc2530 (ZigBee) o nrf24 (MySensors)? <\/p>\n<h3>Progetti<\/h3>\n<p>\nSul mercato sono presenti diversi sistemi distribuiti. Il nostro sistema consente di integrarsi con i pi\u00f9 popolari. <\/p>\n<p>Di seguito sono riportati progetti che cercano in vari modi di affrontare la questione della compatibilit\u00e0 tra diversi produttori. Questi includono, ad esempio, <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/slsys\">SLS Gateway<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/mysensors\">MySensors <\/a><\/noindex> o <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/zesp32\">ZESP32<\/a><\/noindex>. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.zigbee2mqtt.io\/\">ZigBee2MQTT <\/a><\/noindex> \u00e8 collegato a un server MQTT, quindi non \u00e8 adatto per l'esempio. <\/p>\n<p>Uno dei modi per implementare MySensors \u00e8 un gateway basato su ESP8266. Gli altri esempi sono su ESP32. \u00c8 possibile integrare il nostro principio di rilevamento e creazione di una lista di dispositivi. <\/p>\n<p>Facciamo un altro esperimento mentale. Abbiamo un gateway ZESP32, SLS Gateway o MySensors. Come possiamo unirli in uno spazio informativo unico? Aggiungeremo la libreria del protocollo SSDP alle funzioni standard di questi gateway. Quando si interroga il controller tramite SSDP, esso aggiunger\u00e0 alla risposta standard un elenco dei dispositivi connessi. Sulla base di queste informazioni, il browser former\u00e0 una pagina. In linea generale, apparir\u00e0 cos\u00ec:<\/p>\n<p><img decoding=\"async\" alt=\"Lytko unisce\" src=\"\/wp-content\/uploads\/2020\/01\/8fba0ebb6be1ee35db010a819e87425c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Interfaccia web<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Lytko unisce\" src=\"\/wp-content\/uploads\/2020\/01\/627baaf58524b92261c55408479606d1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Applicazione PWA<\/i><\/p>\n<pre><code class=\"json\">\"ssdpList\": \n{\n   \"id\": 94967291, \/\/ identificatore unico del dispositivo\n   \"ip\": \"192.168.x.x\", \/\/ indirizzo ip nella rete\n   \"type\": \"termostato\" \/\/ tipo di dispositivo\n},\n{\n   \"id\": 94967292,\n   \"ip\": \"192.168.x.x\",\n   \"type\": \"termostato\"\n},\n{\n   \"id\": 94967293,\n   \"ip\": \"192.168.x.x\",\n   \"type\": \"termostato\"\n},\n{  \n   \"id\": 13587532, \n   \"type\": \"interruttore\"  \n},\n{  \n   \"id\": 98412557, \n   \"type\": \"fumo\"\n},\n{  \n   \"id\": 57995113, \n   \"type\": \"sensore_di_contatto\"\n},\n{  \n   \"id\": 74123668,\n   \"type\": \"sensore_di_temperatura_umidit\u00e0_pressione\"\n},\n{\n    \"id\": 74621883, \n    \"type\": \"sensore_di_temperatura_umidit\u00e0\"\n}\n<\/code><\/pre>\n<p>\nDall'esempio si pu\u00f2 vedere che i dispositivi vengono aggiunti in modo indipendente l'uno dall'altro. Sono collegati 3 termostati con indirizzi IP propri e 5 sensori diversi con ID unici. Se un sensore \u00e8 connesso a una rete Wi-Fi, avr\u00e0 il suo IP, se \u00e8 collegato a un gateway, l'indirizzo IP del dispositivo sar\u00e0 quello del gateway.<\/p>\n<p>Per comunicare con i dispositivi utilizziamo WebSocket. Questo permette di ridurre al minimo il consumo di risorse rispetto alle richieste get e di ricevere informazioni in modo dinamico alla connessione o alla modifica. <\/p>\n<p>I dati vengono presi direttamente dal dispositivo a cui appartiene il modulo, bypassando il server. In questo modo, in caso di guasto di uno qualsiasi dei dispositivi, il sistema continua a funzionare. Nell'interfaccia web semplicemente non verr\u00e0 visualizzato il dispositivo mancante dalla lista. Tuttavia, un segnale di perdita, se necessario, verr\u00e0 inviato sotto forma di notifica all'app dell'utente. <\/p>\n<p>Il primo tentativo di implementazione di questo approccio \u00e8 stato un'app PWA. Questo consente di memorizzare il database dei blocchi sul dispositivo dell'utente e di richiedere solo i dati necessari. Tuttavia, a causa della struttura, questa opzione risulta incompleta. L'unica soluzione \u00e8 un'app nativa per Android e iOS, attualmente in fase di sviluppo attivo. Per impostazione predefinita, l'app funzioner\u00e0 solo all'interno della rete interna. Se necessario, tutto pu\u00f2 essere trasferito alla gestione esterna. Cos\u00ec, quando l'utente lascia la rete locale, l'app passa automaticamente al cloud. <\/p>\n<p>La gestione esterna \u00e8 una duplicazione completa della pagina. Quando la pagina \u00e8 attivata, l'utente pu\u00f2 effettuare il login sul server e gestire i dispositivi tramite il proprio pannello personale. In questo modo, il server espande le funzionalit\u00e0, permettendo di gestire i dispositivi anche al di fuori della propria casa, senza essere vincolati al port forwarding o a un IP statico.<\/p>\n<p>Pertanto, la soluzione sopra descritta \u00e8 priva degli svantaggi dell'approccio server e presenta diversi vantaggi in termini di flessibilit\u00e0 nell'aggiungere nuovi dispositivi.<\/p>\n<h3>Su un termostato<\/h3>\n<p>\nEsaminiamo il sistema di gestione attraverso il nostro termostato.<\/p>\n<p>Incluso:<\/p>\n<ol>\n<li>Regolazione della temperatura di ciascun termostato (visualizzata come un blocco separato);<\/li>\n<li>Impostazione del programma operativo del termostato (mattina, giorno, sera, notte);<\/li>\n<li>Scelta della rete Wi-Fi e connessione del dispositivo a essa;<\/li>\n<li>Aggiornamento del dispositivo tramite OTA;<\/li>\n<li>Impostazione di MQTT;<\/li>\n<li>Configurazione della rete a cui \u00e8 connesso il dispositivo.<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Lytko unisce\" src=\"\/wp-content\/uploads\/2020\/01\/a25f2a8daeabdeba36aa11557eacab0e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOltre alla gestione tramite interfaccia web, abbiamo previsto anche il controllo classico \u2014 tramite tocchi sul display. \u00c8 presente un monitor Nextion NX3224T024 da 2.4 pollici. \u00c8 stato scelto per la sua facilit\u00e0 d'uso. Tuttavia, stiamo sviluppando un monitor personalizzato basato su STM32. Le sue funzionalit\u00e0 non sono inferiori a quelle del Nextion, ma coster\u00e0 meno, il che sar\u00e0 un vantaggio per il prezzo finale del dispositivo.<\/p>\n<p><img decoding=\"async\" alt=\"Lytko unisce\" src=\"\/wp-content\/uploads\/2020\/01\/ad98f51863dce7cbee1f1ea88891599f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCome ogni rispettabile schermo di termostato, il nostro Nextion sa:<\/p>\n<ul>\n<li>impostare la temperatura desiderata dall'utente (con i pulsanti a destra);<\/li>\n<li>attivare e disattivare la modalit\u00e0 programmata (pulsante N);<\/li>\n<li>mostrare il funzionamento del rel\u00e8 (freccia a sinistra);<\/li>\n<li>ha una protezione per bambini (viene bloccato l'ingresso fisico finch\u00e9 il lucchetto non \u00e8 disattivato);<\/li>\n<li>visualizza il livello del segnale WiFi.<\/li>\n<\/ul>\n<p>\nInoltre, con il monitor \u00e8 possibile:<\/p>\n<ul>\n<li>selezionare il tipo di sensore installato dall'utente;<\/li>\n<li>gestire la funzione di protezione per i bambini;<\/li>\n<li>aggiornare il firmware.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Lytko unisce\" src=\"\/wp-content\/uploads\/2020\/01\/efe3a84ba7e8c95212323ad1370550e0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCliccando sulla barra WiFi, l'utente pu\u00f2 scoprire informazioni sulla rete connessa. Il codice QR viene utilizzato per associare il dispositivo con il firmware HomeKit.<\/p>\n<p><img decoding=\"async\" alt=\"Lytko unisce\" src=\"\/wp-content\/uploads\/2020\/01\/79f55d4872f73a7c03a9f855be8089dc.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDemo del funzionamento del display:<\/p>\n<p><img decoding=\"async\" alt=\"Lytko unisce\" src=\"\/wp-content\/uploads\/2020\/01\/bf8ed3d7ae06b0364b393fc442e3556b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAbbiamo sviluppato <noindex><a rel=\"nofollow\" href=\"http:\/\/demo.lytko.com\">una pagina demo<\/a><\/noindex> con tre termostati connessi.<\/p>\n<p>Chiederete: \u201cQual \u00e8 la particolarit\u00e0 del vostro termostato?\u201d Attualmente, sul mercato ci sono numerosi termostati con funzionalit\u00e0 Wi-Fi, programmazione e controllo touch. Inoltre, gli appassionati hanno creato moduli per interagire con la maggior parte dei sistemi di domotica pi\u00f9 popolari (Majordomo, HomeAssistant, ecc.). <\/p>\n<p>Il nostro termostato \u00e8 compatibile con i sistemi sopra citati e possiede tutte le funzionalit\u00e0 indicate. La sua caratteristica distintiva \u00e8 che viene costantemente migliorato grazie alla flessibilit\u00e0 del sistema. Con ogni aggiornamento, le funzionalit\u00e0 si espanderanno. Oltre al metodo standard di gestione del sistema (su base oraria), aggiungeremo anche uno adattivo. L'applicazione permette di ottenere la geolocalizzazione dell'utente. In questo modo, il sistema modificher\u00e0 dinamicamente le modalit\u00e0 operative in base alla sua posizione. Inoltre, il modulo meteo consentir\u00e0 di adattarsi alle condizioni atmosferiche. <\/p>\n<p>E la sua espandibilit\u00e0. Chiunque potr\u00e0 sostituire il termostato tradizionale con il nostro. Con il minimo sforzo. Abbiamo selezionato 5 dei sensori pi\u00f9 popolari disponibili sul mercato e ne abbiamo aggiunto il supporto. Ma anche nel caso di caratteristiche esclusive del sensore, l'utente potr\u00e0 collegarlo al nostro termostato. Per fare ci\u00f2, sar\u00e0 necessario calibrare il termostato per lavorare con il sensore specifico. Forniremo le istruzioni.<\/p>\n<p>Collegando un termostato o qualsiasi altro dispositivo, esso appare simultaneamente ovunque: sia nell'interfaccia web che nell'app PWA. L'aggiunta del dispositivo avviene automaticamente: basta connetterlo alla rete Wi-Fi. <\/p>\n<p>Il nostro sistema non ha bisogno di un Server, e in caso di guasto non si trasforma in una zucca. Anche se uno dei componenti si guasta, il sistema non entra in modalit\u00e0 di emergenza. Controller, sensori, dispositivi: ogni elemento funge sia da Server che da cliente, rendendolo completamente autonomo. <\/p>\n<p>Per chi \u00e8 interessato \u2014 i nostri social media: <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/LytkoG\">Telegram<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.instagram.com\/lytko_shop\">Instagram<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/lytko_news\">Telegram News<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/vk.com\/lytko_shop\">VK<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.facebook.com\/groups\/2055755264635934\">Facebook<\/a><\/noindex>.<\/p>\n<p>Email: shop@lytko.com<\/p>\n<p><b>P. S.<\/b> non stiamo chiedendo di rinunciare al Server. Abbiamo anche il supporto per il server MQTT e un nostro cloud. Il nostro obiettivo \u00e8 portare la stabilit\u00e0 e l'affidabilit\u00e0 del sistema a un livello qualitativamente superiore. Affinch\u00e9 il Server non sia un punto debole, ma integri le funzionalit\u00e0 e renda il sistema pi\u00f9 conveniente.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/484296\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0412\u0430\u043c \u0443\u043c\u043d\u044b\u0439 \u0442\u0435\u0440\u043c\u043e\u0441\u0442\u0430\u0442. \u041d\u044b\u043d\u0435\u0448\u043d\u044f\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u043b\u0430\u0441\u044c \u043a\u0430\u043a \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0435\u0433\u043e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f. \u041d\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0435\u0440\u043c\u043e\u0441\u0442\u0430\u0442\u0430 \u0438 \u0442\u043e, \u0447\u0442\u043e \u043c\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u044e \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e \u0432 \u0446\u0435\u043b\u043e\u043c. \u041f\u0440\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044e \u0423\u0441\u043b\u043e\u0432\u043d\u043e, \u0432\u0441\u044e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430 \u0442\u0440\u0438 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438: \u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f 1 \u2014 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u201c\u0443\u043c\u043d\u044b\u0435\u201d \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u0412\u044b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-55356","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0412\u0430\u043c \u0443\u043c\u043d\u044b\u0439 \u0442\u0435\u0440\u043c\u043e\u0441\u0442\u0430\u0442.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/lytko-obedinyaet\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Lytko \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u0442 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0412\u0430\u043c \u0443\u043c\u043d\u044b\u0439 \u0442\u0435\u0440\u043c\u043e\u0441\u0442\u0430\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/lytko-obedinyaet\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-17T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:28+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lytko unisce | ProHoster","description":"Qualche tempo fa, ti abbiamo presentato un termostato intelligente.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/lytko-obedinyaet","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Lytko \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u0442 | ProHoster","og:description":"\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0437\u0430\u0434 \u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0412\u0430\u043c \u0443\u043c\u043d\u044b\u0439 \u0442\u0435\u0440\u043c\u043e\u0441\u0442\u0430\u0442.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/lytko-obedinyaet","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-17T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:28+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55356","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:45:29","updated":"2022-10-02 15:29:28","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/55356","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=55356"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/55356\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=55356"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=55356"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=55356"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}