{"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\/sv\/blog\/news\/lytko-obedinyaet","title":{"rendered":"Lytko f\u00f6renar","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>F\u00f6r en tid sedan presenterade vi f\u00f6r er <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/474420\/\">den smarta termostaten<\/a><\/noindex>. Denna artikel var ursprungligen avsedd som en demonstration av dess firmware och styrsystem. Men f\u00f6r att f\u00f6rklara logiken bakom termostatens arbete och vad vi har implementerat, \u00e4r det n\u00f6dv\u00e4ndigt att skissera hela konceptet som helhet.<\/p>\n<p><img decoding=\"async\" alt=\"Lytko f\u00f6renar\" 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>Om automation<\/h3>\n<p>\nI stort kan all automation delas in i tre kategorier:<br \/>\n<u>Kategori 1<\/u> \u2014 separata \u201csmarta\u201d enheter. Du k\u00f6per lampor, vattenkokare etc. fr\u00e5n olika tillverkare. F\u00f6rdelar: varje enhet ut\u00f6kar m\u00f6jligheterna och \u00f6kar komforten. Nackdelar: f\u00f6r varje ny tillverkare beh\u00f6vs en egen app. Protokollen f\u00f6r enheter fr\u00e5n olika tillverkare \u00e4r ofta inte kompatibla med varandra.<\/p>\n<p><u>Kategori 2<\/u> \u2014 installation av en enkorts-PC eller x86-kompatibel. Detta tar bort begr\u00e4nsningarna f\u00f6r ber\u00e4kningskraft, och p\u00e5 denna maskin installeras MajorDoMo eller n\u00e5gon annan serverdistribution f\u00f6r att hantera det smarta hemmet. D\u00e4rigenom kopplas enheter fr\u00e5n de flesta tillverkare samman i ett enhetligt informationsutrymme. D.v.s. en egen server f\u00f6r det smarta hemmet skapas. F\u00f6rdelar: kompatibilitet under en gemensam central, vilket ger ut\u00f6kade m\u00f6jligheter f\u00f6r styrning. Nackdelar: vid serverfel \u00e5terg\u00e5r hela systemet till fas 1, d.v.s. blir splittrat eller obrukbart.<\/p>\n<p><u>Kategori 3<\/u> \u2014 den mest hardcore varianten. Vid renovering l\u00e4ggs alla kommunikationer och alla system dubbelas. F\u00f6rdelar: allt \u00e4r perfekt och d\u00e5 blir huset verkligen smart. Nackdelar: extremt h\u00f6g kostnad j\u00e4mf\u00f6rt med kategorierna 1 och 2, behovet av att planera allt i f\u00f6rv\u00e4g och ta h\u00e4nsyn till varje detalj.<\/p>\n<p>De flesta anv\u00e4ndare v\u00e4ljer alternativ ett, f\u00f6r att sedan gradvis \u00f6verg\u00e5 till alternativ tv\u00e5. Och s\u00e5 sm\u00e5ningom n\u00e5r de mest ih\u00e4rdiga alternativ tre. <\/p>\n<p>Men det finns ett alternativ som kan kallas ett distribuerat system: varje enskild enhet kommer att vara b\u00e5de server och klient. I grunden \u00e4r det ett f\u00f6rs\u00f6k att kombinera alternativ 1 och alternativ 2. Att ta alla deras f\u00f6rdelar och utesluta nackdelarna, f\u00e5nga den gyllene medelv\u00e4gen. <\/p>\n<p>Det finns kanske de som s\u00e4ger att en s\u00e5dan l\u00f6sning redan \u00e4r utvecklad. Men s\u00e5dana l\u00f6sningar \u00e4r sn\u00e4va och riktar sig mot personer med programmeringskunskaper. V\u00e5rt m\u00e5l \u00e4r att s\u00e4nka intr\u00e4desbarri\u00e4ren f\u00f6r s\u00e5dana distribuerade system, b\u00e5de n\u00e4r det g\u00e4ller slutprodukter och integrering av befintliga enheter i v\u00e5rt system. N\u00e4r det g\u00e4ller termostaten, tar anv\u00e4ndaren helt enkelt bort sin gamla termostat, installerar den smarta och kopplar de sensorer han redan har till den. Utan n\u00e5gra ytterligare \u00e5tg\u00e4rder.<\/p>\n<p>L\u00e5t oss \u00f6verv\u00e4ga integrationen i v\u00e5rt system med ett exempel. <\/p>\n<p>L\u00e5t oss anta att vi har 8 Sonoff-moduler i n\u00e4tverket. Vissa anv\u00e4ndare kommer att n\u00f6ja sig med att styra via Sonoff-molnet (kategori 1). Andra kommer att anv\u00e4nda tredje parts firmware och smidigt g\u00e5 \u00f6ver till kategori 2. De flesta tredje parts firmware fungerar enligt samma princip: \u00f6verf\u00f6ring av data till en MQTT-server. OpenHub, Majordomo eller vilken annan tj\u00e4nst som helst tj\u00e4nar ett enda syfte \u2013 att f\u00f6rena spridda enheter i ett enhetligt informationsutrymme, antingen p\u00e5 Internet eller i det lokala n\u00e4tverket. D\u00e4rf\u00f6r \u00e4r n\u00e4rvaron av en server obligatorisk. H\u00e4r uppst\u00e5r huvudproblemet \u2013 n\u00e4r servern g\u00e5r ner slutar hela systemet att fungera autonomt. F\u00f6r att f\u00f6rhindra detta kompliceras systemen, och manuella styrmetoder l\u00e4ggs till som duplicerar automatik vid servermisslyckande. <\/p>\n<p>Vi har dock valt en annan v\u00e4g d\u00e4r varje enhet \u00e4r sj\u00e4lvf\u00f6rs\u00f6rjande. P\u00e5 s\u00e5 s\u00e4tt spelar servern ingen avg\u00f6rande roll, utan ut\u00f6kar bara funktionaliteten.<\/p>\n<p>L\u00e5t oss \u00e5terv\u00e4nda till v\u00e5rt tankeexperiment. L\u00e5t oss ta samma 8 Sonoff-moduler och installera Lytko-firmware i dem. I alla Lytko-firmwares finns funktionen <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Simple_Service_Discovery_Protocol\">SSDP<\/a><\/noindex>. SSDP \u2013 ett n\u00e4tverksprotokoll baserat p\u00e5 en upps\u00e4ttning Internetprotokoll som anv\u00e4nds f\u00f6r att annonserar och uppt\u00e4cka n\u00e4tverkstj\u00e4nster. Svaret p\u00e5 en f\u00f6rfr\u00e5gan kan vara b\u00e5de standard och ut\u00f6kat. Vi har lagt till att skapa en lista \u00f6ver enheter i n\u00e4tverket, f\u00f6rutom standardfunktionerna. P\u00e5 s\u00e5 s\u00e4tt hittar enheterna varandra sj\u00e4lva, och var och en av dem kommer att ha en s\u00e5dan lista. Exempel p\u00e5 en SSDP-lista:<\/p>\n<pre><code class=\"json\">&quot;ssdpList&quot;: \n\t{\n\t\t&quot;id&quot;: 94967291,  \n\t\t&quot;ip&quot;: &quot;192.168.x.x&quot;,\n                &quot;type&quot;: &quot;termostat&quot;\n\t}, \n\t{\n\t\t&quot;id&quot;: 94967282,\n\t\t&quot;ip&quot;: &quot;192.168.x.x&quot;,\n                &quot;type&quot;: &quot;termostat&quot;\n\t}<\/code><\/pre>\n<p>\nSom det framg\u00e5r av exemplet inkluderar listan enheter, IP-adresser i n\u00e4tverket, typ av modul (i v\u00e5rt fall en termostat baserad p\u00e5 Sonoff). Denna lista uppdateras varannan minut (den h\u00e4r tidsperioden \u00e4r tillr\u00e4cklig f\u00f6r att reagera p\u00e5 dynamiska f\u00f6r\u00e4ndringar i antal enheter i n\u00e4tverket). P\u00e5 s\u00e5 s\u00e4tt sp\u00e5rar vi till\u00e4gg, \u00e4ndringar och bortkoppling av enheter utan n\u00e5got krav p\u00e5 anv\u00e4ndarens \u00e5tg\u00e4rd. Denna lista skickas till webbl\u00e4saren eller mobilappen, och skriptet genererar automatiskt en sida med angivet antal moduler. Varje modul motsvarar en enhet\/sensor\/styrenhet. Visuellt ser listan ut s\u00e5 h\u00e4r:<\/p>\n<p><img decoding=\"async\" alt=\"Lytko f\u00f6renar\" src=\"\/wp-content\/uploads\/2020\/01\/743abfe57e451aac901db58ed5d81a00.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMen vad h\u00e4nder om andra radiosensorer \u00e4r anslutna till esp8266\/esp32 via cc2530 (ZigBee) eller nrf24 (MySensors)? <\/p>\n<h3>Om projekt<\/h3>\n<p>\nDet finns olika distribuerade system p\u00e5 marknaden. V\u00e5rt system m\u00f6jligg\u00f6r integration med de mest popul\u00e4ra. <\/p>\n<p>Nedan f\u00f6ljer projekt som p\u00e5 olika s\u00e4tt f\u00f6rs\u00f6ker f\u00f6r\u00e4ndra situationen med inkompatibilitet mellan olika tillverkare. Det \u00e4r till exempel <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> eller <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/zesp32\">ZESP32<\/a><\/noindex>. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.zigbee2mqtt.io\/\">ZigBee2MQTT <\/a><\/noindex> som \u00e4r kopplad till MQTT-servern, s\u00e5 den passar inte som exempel. <\/p>\n<p>En av de m\u00f6jliga implementationerna av MySensors \u00e4r en gateway baserad p\u00e5 ESP8266. \u00d6vriga exempel \u00e4r baserade p\u00e5 ESP32. I dem kan vi implementera v\u00e5r arbetsprincip f\u00f6r att uppt\u00e4cka och skapa en enhetslista. <\/p>\n<p>L\u00e5t oss g\u00f6ra ytterligare ett tankexperiment. Vi har ZESP32 eller SLS Gateway, eller MySensors. Hur kan vi sammanf\u00f6ra dem i ett gemensamt informationsutrymme? Till de standardfunktionerna f\u00f6r dessa gateways l\u00e4gger vi till SSDP-protokollet. N\u00e4r vi kontaktar denna kontroller via SSDP, l\u00e4gger den till en lista \u00f6ver enheter som \u00e4r anslutna till den i sitt standard-svar. Baserat p\u00e5 denna information kommer webbl\u00e4saren att generera en sida. I allm\u00e4nhet kommer det att se ut s\u00e5 h\u00e4r:<\/p>\n<p><img decoding=\"async\" alt=\"Lytko f\u00f6renar\" src=\"\/wp-content\/uploads\/2020\/01\/8fba0ebb6be1ee35db010a819e87425c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Webbgr\u00e4nssnitt<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Lytko f\u00f6renar\" src=\"\/wp-content\/uploads\/2020\/01\/627baaf58524b92261c55408479606d1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>PWA-applikation<\/i><\/p>\n<pre><code class=\"json\">&quot;ssdpList&quot;: \n{\n   &quot;id&quot;: 94967291, &#x2F;&#x2F; unik identifier f\u00f6r enheten\n   &quot;ip&quot;: &quot;192.168.x.x&quot;, &#x2F;&#x2F; ip-adress i n\u00e4tverket\n   &quot;type&quot;: &quot;termostat&quot; &#x2F;&#x2F; enhetstyp\n},\n{\n   &quot;id&quot;: 94967292,\n   &quot;ip&quot;: &quot;192.168.x.x&quot;,\n   &quot;type&quot;: &quot;termostat&quot;\n},\n{\n   &quot;id&quot;: 94967293,\n   &quot;ip&quot;: &quot;192.168.x.x&quot;,\n   &quot;type&quot;: &quot;termostat&quot;\n},\n{  \n   &quot;id&quot;: 13587532, \n   &quot;type&quot;: &quot;switch&quot;  \n},\n{  \n   &quot;id&quot;: 98412557, \n   &quot;type&quot;: &quot;r\u00f6kdetektor&quot;\n},\n{  \n   &quot;id&quot;: 57995113, \n   &quot;type&quot;: &quot;kontakt_sensor&quot;\n},\n{  \n   &quot;id&quot;: 74123668,\n   &quot;type&quot;: &quot;temperatur_fuktighet_tryck_sensor&quot;\n},\n{\n    &quot;id&quot;: 74621883, \n    &quot;type&quot;: &quot;temperatur_fuktighet_sensor&quot;\n}\n<\/code><\/pre>\n<p>\nExemplet visar att enheter l\u00e4ggs till oberoende av varandra. Tre termostater med egna IP-adresser och fem olika sensorer med unika ID \u00e4r anslutna. Om sensorn \u00e4r ansluten till Wi-Fi-n\u00e4tverket kommer den att ha sin egen IP, om den \u00e4r ansluten till en gateway kommer enhetens IP-adress att vara gatewayens IP-adress.<\/p>\n<p>F\u00f6r kommunikation med enheterna anv\u00e4nder vi WebSocket. Detta minimerar resursf\u00f6rbrukningen j\u00e4mf\u00f6rt med GET-f\u00f6rfr\u00e5gningar och g\u00f6r att vi kan f\u00e5 information dynamiskt vid anslutning eller f\u00f6r\u00e4ndring. <\/p>\n<p>Data h\u00e4mtas direkt fr\u00e5n den enhet som blocket tillh\u00f6r, utan att g\u00e5 via servern. S\u00e5ledes forts\u00e4tter systemet att fungera vid fel p\u00e5 n\u00e5gon av enheterna. I webgr\u00e4nssnittet kommer endast den borttagna enheten inte att visas i listan. Men signalen om bortfallet kommer, om n\u00f6dv\u00e4ndigt, att skickas i form av en avisering i anv\u00e4ndarens app. <\/p>\n<p>Det f\u00f6rsta f\u00f6rs\u00f6ket att implementera ett s\u00e5dant tillv\u00e4gag\u00e5ngss\u00e4tt var en PWA-app. Detta m\u00f6jligg\u00f6r lagring av datablock p\u00e5 anv\u00e4ndarens enhet och beg\u00e4r endast n\u00f6dv\u00e4ndiga data. Men p\u00e5 grund av strukturens egenskaper \u00e4r denna variant ofullst\u00e4ndig. L\u00f6sningen \u00e4r en native-app f\u00f6r Android och iOS, vilket f\u00f6r n\u00e4rvarande \u00e4r under aktiv utveckling. Som standard kommer appen att fungera endast i det interna n\u00e4tverket. Om det beh\u00f6vs kan allt \u00f6verg\u00e5 till extern kontroll. N\u00e4r anv\u00e4ndaren l\u00e4mnar det lokala n\u00e4tverket v\u00e4xlar appen automatiskt till molnet. <\/p>\n<p>Extern kontroll\u2014 en fullst\u00e4ndig duplikat av sidan. N\u00e4r sidan aktiveras kan anv\u00e4ndaren logga in p\u00e5 servern och styra enheterna via sitt personliga konto. S\u00e5ledes ut\u00f6kar servern funktionaliteten och m\u00f6jligg\u00f6r styrning av enheterna utanf\u00f6r hemmet utan att vara bunden till port forwarding eller dedikerad IP.<\/p>\n<p>P\u00e5 s\u00e5 s\u00e4tt saknar den ovan beskrivna varianten serveranslutningens nackdelar och har flera f\u00f6rdelar i form av flexibilitet i anslutning av nya enheter.<\/p>\n<h3>Om termostaten<\/h3>\n<p>\nL\u00e5t oss \u00f6verv\u00e4ga styrsystemet med v\u00e5rt termostat som exempel.<\/p>\n<p>F\u00f6ljande funktioner finns:<\/p>\n<ol>\n<li>Justering av temperaturen f\u00f6r varje termostat (visas som en separat block);<\/li>\n<li>Inst\u00e4llning av termostatens arbetsschema (morgon, dag, kv\u00e4ll, natt);<\/li>\n<li>Val av Wi-Fi-n\u00e4tverk och anslutning av enheten till det;<\/li>\n<li>Uppdatering av enheten \"over the air\";<\/li>\n<li>Inst\u00e4llning av MQTT;<\/li>\n<li>Inst\u00e4llning av n\u00e4tverket som enheten \u00e4r ansluten till.<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Lytko f\u00f6renar\" src=\"\/wp-content\/uploads\/2020\/01\/a25f2a8daeabdeba36aa11557eacab0e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nF\u00f6rutom att styra via webgr\u00e4nssnittet, finns \u00e4ven klassisk kontroll med knapptryckningar p\u00e5 sk\u00e4rmen. Ombord finns en Nextion NX3224T024 2,4-tums sk\u00e4rm. Vi valde den p\u00e5 grund av enkelheten att arbeta med enheten. Men en egen monitor baserad p\u00e5 STM32 \u00e4r under utveckling. Dess funktionalitet \u00e4r lika bra som Nextions, men den kommer att kosta mindre, vilket positivt p\u00e5verkar slutpriset f\u00f6r enheten.<\/p>\n<p><img decoding=\"async\" alt=\"Lytko f\u00f6renar\" src=\"\/wp-content\/uploads\/2020\/01\/ad98f51863dce7cbee1f1ea88891599f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPrecis som alla respektabla termostat-sk\u00e4rmar kan v\u00e5r Nextion:<\/p>\n<ul>\n<li>st\u00e4lla in \u00f6nskad temperatur f\u00f6r anv\u00e4ndaren (knapparna till h\u00f6ger);<\/li>\n<li>sl\u00e5 p\u00e5 och av arbetsschemat (knappen N);<\/li>\n<li>visa rel\u00e4ets funktion (pilen till v\u00e4nster);<\/li>\n<li>ha barnskydd (fysiska knapptryck blockeras s\u00e5 l\u00e4nge l\u00e5set \u00e4r aktiverat);<\/li>\n<li>visa WiFi-signals styrka.<\/li>\n<\/ul>\n<p>\nDessutom kan man med sk\u00e4rmen:<\/p>\n<ul>\n<li>v\u00e4lj typ av sensor som \u00e4r installerad hos anv\u00e4ndaren;<\/li>\n<li>hantera barnskyddsfunktionen;<\/li>\n<li>uppdatera mjukvaran.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Lytko f\u00f6renar\" src=\"\/wp-content\/uploads\/2020\/01\/efe3a84ba7e8c95212323ad1370550e0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGenom att klicka p\u00e5 WiFi-bar f\u00e5r anv\u00e4ndaren information om det anslutna n\u00e4tverket. QR-koden anv\u00e4nds f\u00f6r att para ihop enheten med HomeKit-mjukvaran.<\/p>\n<p><img decoding=\"async\" alt=\"Lytko f\u00f6renar\" src=\"\/wp-content\/uploads\/2020\/01\/79f55d4872f73a7c03a9f855be8089dc.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDemo av arbetet med sk\u00e4rmen:<\/p>\n<p><img decoding=\"async\" alt=\"Lytko f\u00f6renar\" src=\"\/wp-content\/uploads\/2020\/01\/bf8ed3d7ae06b0364b393fc442e3556b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVi har utvecklat <noindex><a rel=\"nofollow\" href=\"http:\/\/demo.lytko.com\">en demosida<\/a><\/noindex> med tre anslutna termostater.<\/p>\n<p>Du kanske undrar: \u201cVad \u00e4r det speciella med er termostat?\u201d Det finns f\u00f6r n\u00e4rvarande m\u00e5nga termostater p\u00e5 marknaden med Wi-Fi-funktion, schemalagd drift och pekstyrning. Och entusiaster har skrivit moduler f\u00f6r att interagera med de flesta popul\u00e4ra smarta hemsystemen (Majordomo, HomeAssistant etc.). <\/p>\n<p>V\u00e5r termostat \u00e4r kompatibel med s\u00e5dana system och har alla ovan n\u00e4mnda funktioner. Men det som g\u00f6r den unik \u00e4r att termostaten st\u00e4ndigt f\u00f6rb\u00e4ttras, tack vare systemets flexibilitet. Med varje uppdatering kommer funktionaliteten att ut\u00f6kas. Ut\u00f6ver den standardiserade styrmetoden (enligt schema) kommer vi att l\u00e4gga till en adaptiv metod. Appen till\u00e5ter att f\u00e5 anv\u00e4ndarens geolokalisering. Tack vare detta kommer systemet dynamiskt att \u00e4ndra driftsl\u00e4gen beroende p\u00e5 anv\u00e4ndarens plats. Och v\u00e4dermodulen g\u00f6r att det kan anpassa sig till v\u00e4derf\u00f6rh\u00e5llandena. <\/p>\n<p>Och skalbarhet. Alla som vill kan enkelt byta ut sin vanliga termostat mot v\u00e5r. Med minimala anstr\u00e4ngningar. Vi har valt ut 5 av de mest popul\u00e4ra sensorerna p\u00e5 marknaden och lagt till st\u00f6d f\u00f6r dem. Men \u00e4ven om sensorn har unika egenskaper, kan anv\u00e4ndaren koppla den till v\u00e5r termostat. F\u00f6r detta beh\u00f6vs en kalibrering av termostaten f\u00f6r att fungera med den specifika sensorn. Vi tillhandah\u00e5ller instruktionerna.<\/p>\n<p>N\u00e4r du kopplar en termostat eller en annan enhet, visas den automatiskt \u00f6verallt: b\u00e5de i webbgr\u00e4nssnittet och i PWA-appen. Till\u00e4gget av enheten sker automatiskt: det r\u00e4cker med att koppla den till Wi-Fi-n\u00e4tverket. <\/p>\n<p>V\u00e5rt system beh\u00f6ver ingen server, och i h\u00e4ndelse av att den g\u00e5r s\u00f6nder f\u00f6rvandlas det inte till en pumpa. \u00c4ven vid ett fel p\u00e5 n\u00e5gon av komponenterna b\u00f6rjar systemet inte att arbeta i n\u00f6dl\u00e4ge. Kontroller, sensorer, enheter \u2014 varje element \u00e4r b\u00e5de en server och en klient, vilket inneb\u00e4r att det \u00e4r helt autonomt. <\/p>\n<p>F\u00f6r dem som \u00e4r intresserade \u2014 v\u00e5ra sociala medier: <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 Nyheter<\/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>E-post: shop@lytko.com<\/p>\n<p><b>P.S.<\/b> Vi uppmanar inte till att avst\u00e5 fr\u00e5n servern. Vi har ocks\u00e5 st\u00f6d f\u00f6r MQTT-server och har v\u00e5r egen molntj\u00e4nst. V\u00e5rt m\u00e5l \u00e4r att h\u00f6ja systemets stabilitet och tillf\u00f6rlitlighet till en ny kvalitativ niv\u00e5. F\u00f6r att servern inte ska vara en svag punkt, utan komplettera funktionaliteten och g\u00f6ra systemet mer anv\u00e4ndbart.<br \/>\n<br \/>K\u00e4lla: <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.4 - 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\/sv\/blog\/news\/lytko-obedinyaet\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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 f\u00f6renar | ProHoster","description":"F\u00f6r en tid sedan presenterade vi er f\u00f6r den smarta termostaten.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/lytko-obedinyaet","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/55356","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=55356"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/55356\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=55356"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=55356"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=55356"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}