{"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\/de\/blog\/novosti-interneta\/lytko-obedinyaet","title":{"rendered":"Lytko vereint","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Vor einiger Zeit haben wir Ihnen vorgestellt <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/474420\/\">ein intelligentes Thermostat<\/a><\/noindex>. Der aktuelle Artikel war urspr\u00fcnglich als Demo seiner Firmware und Steuerungssystem gedacht. Um jedoch die Logik des Thermostats und das, was wir implementiert haben, zu erkl\u00e4ren, ist es notwendig, das gesamte Konzept zu umrei\u00dfen.<\/p>\n<p><img decoding=\"async\" alt=\"Lytko vereint\" 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>Zur Automatisierung<\/h3>\n<p>\nZun\u00e4chst kann man die Automatisierung in drei Kategorien unterteilen:<br \/>\n<u>Kategorie 1<\/u> \u2014 einzelne \u201esmarte\u201c Ger\u00e4te. Sie erwerben von verschiedenen Herstellern Gl\u00fchbirnen, Wasserkocher usw. Vorteile: Jedes Ger\u00e4t erweitert die M\u00f6glichkeiten und erh\u00f6ht den Komfort. Nachteile: F\u00fcr jeden neuen Hersteller ist eine eigene App notwendig. Die Protokolle der Ger\u00e4te verschiedener Hersteller sind oft nicht miteinander kompatibel.<\/p>\n<p><u>Kategorie 2<\/u> \u2014 Installation eines Einplatinencomputers oder eines x86-kompatiblen Systems. Dadurch werden die Einschr\u00e4nkungen der Rechenleistung aufgehoben, und auf dieses Ger\u00e4t kann MajorDoMo oder eine andere Server-Distribution zur Verwaltung des Smart Homes installiert werden. So werden die Ger\u00e4te der meisten Hersteller in einem gemeinsamen Informationsraum verbunden. Das hei\u00dft, es entsteht ein eigener Server f\u00fcr das Smart Home. Vorteile: Kompatibilit\u00e4t unter einem zentralen Punkt, was erweiterte Managementm\u00f6glichkeiten bietet. Nachteile: Bei einem Ausfall des Servers wird das gesamte System auf den Ausgangszustand 1 zur\u00fcckgesetzt, also wird es fragmentiert oder nutzlos.<\/p>\n<p><u>Kategorie 3<\/u> \u2014 die extremste Variante. In der Renovierungsphase werden alle Kommunikationen eingeplant und alle Systeme redundant ausgelegt. Vorteile: alles ist bis ins kleinste Detail perfektioniert, und das Haus wird wirklich smart. Nachteile: extrem hohe Kosten im Vergleich zu den Kategorien 1 und 2, Notwendigkeit, alles im Voraus zu planen und jedes Detail zu ber\u00fccksichtigen.<\/p>\n<p>Die meisten Benutzer w\u00e4hlen zun\u00e4chst Variante eins und wechseln dann allm\u00e4hlich zu Variante zwei. In der Folge erreichen die hartn\u00e4ckigsten schlie\u00dflich Variante drei. <\/p>\n<p>Es gibt jedoch eine Variante, die man als verteiltes System bezeichnen kann: jedes einzelne Ger\u00e4t fungiert sowohl als Server als auch als Client. Im Grunde genommen ist es ein Versuch, Variante 1 und Variante 2 zu kombinieren. Alle Vorteile beider Ans\u00e4tze zu vereinen und die Nachteile zu eliminieren \u2013 die goldene Mitte zu finden. <\/p>\n<p>Vielleicht k\u00f6nnte jemand sagen, dass eine solche L\u00f6sung bereits entwickelt wurde. Doch solche Ans\u00e4tze sind sehr spezialisiert und richten sich an Personen mit Programmierkenntnissen. Unser Ziel ist es, die Einstiegsh\u00fcrden f\u00fcr solche verteilten Systeme zu senken, sowohl in der Form von Endger\u00e4ten als auch durch die Integration bestehender Ger\u00e4te in unser System. Im Fall eines Thermostats entfernt der Benutzer einfach seinen alten Thermostat, installiert einen intelligenten und verbindet die vorhandenen Sensoren damit. Ohne zus\u00e4tzliche Ma\u00dfnahmen.<\/p>\n<p>Lassen Sie uns die Integration in unser System anhand eines Beispiels betrachten. <\/p>\n<p>Stellen wir uns vor, wir haben 8 Sonoff-Module in unserem Netzwerk. Einige Nutzer werden mit der Steuerung \u00fcber die Sonoff-Cloud (Kategorie 1) zufrieden sein. Andere werden eine alternative Firmware verwenden und nahtlos in Kategorie 2 wechseln. Die meisten alternativen Firmwares arbeiten nach dem gleichen Prinzip: Daten\u00fcbertragung an einen MQTT-Server. OpenHub, Majordomo oder jede andere L\u00f6sung haben dasselbe Ziel \u2013 die Verkn\u00fcpfung von verstreuten Ger\u00e4ten in einen einheitlichen Informationsraum, der entweder im Internet oder im lokalen Netzwerk lokalisiert ist. Daher ist das Vorhandensein eines Servers unerl\u00e4sslich. Daraus ergibt sich das Hauptproblem \u2013 f\u00e4llt der Server aus, funktioniert das gesamte System nicht mehr autonom. Um dem entgegenzuwirken, werden die Systeme komplizierter, und es werden manuelle Steuerungsmethoden hinzugef\u00fcgt, die die Automatisierung im Falle eines Serverausfalls duplizieren. <\/p>\n<p>Wir haben uns f\u00fcr einen anderen Ansatz entschieden, bei dem jedes Ger\u00e4t autark ist. So spielt der Server keine entscheidende Rolle, sondern erweitert lediglich die Funktionalit\u00e4t.<\/p>\n<p>Lassen Sie uns zu unserem Gedankenexperiment zur\u00fcckkehren. Nehmen wir wieder die gleichen 8 Sonoff-Module und installieren die Lytko-Firmware. In allen Lytko-Firmwares ist eine Funktion integriert. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Simple_Service_Discovery_Protocol\">SSDP<\/a><\/noindex>. SSDP \u2014 ein Netzwerkprotokoll, das auf einer Sammlung von Internetprotokollen basiert und zum Bekanntmachen und Entdecken von Netzwerkdiensten dient. Die Antwort auf eine Anfrage kann sowohl standardisiert als auch erweitert sein. Wir haben in dieser Antwort zus\u00e4tzlich zur Standardfunktion die Erstellung einer Liste von Ger\u00e4ten im Netzwerk integriert. So finden die Ger\u00e4te einander, und jedes von ihnen hat eine solche Liste. Beispiel f\u00fcr eine SSDP-Liste:<\/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;thermostat&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;thermostat&quot;\n\t}<\/code><\/pre>\n<p>\nWie im Beispiel zu sehen ist, enth\u00e4lt die Liste die IDs der Ger\u00e4te, die IP-Adresse im Netzwerk und den Blocktyp (in unserem Fall ein Thermostat auf Basis von Sonoff). Diese Liste wird alle zwei Minuten aktualisiert, was ausreicht, um dynamischen \u00c4nderungen der Anzahl der Ger\u00e4te im Netzwerk gerecht zu werden. So \u00fcberwachen wir das Hinzuf\u00fcgen, \u00c4ndern und Abschalten von Ger\u00e4ten, ohne dass der Benutzer etwas unternehmen muss. Diese Liste wird an den Browser oder die mobile App gesendet, und das Skript erstellt automatisch die Seite mit der angegebenen Anzahl von Bl\u00f6cken. Jeder Block entspricht einem Ger\u00e4t\/Sensor\/Controller. Visuell sieht die Liste so aus:<\/p>\n<p><img decoding=\"async\" alt=\"Lytko vereint\" src=\"\/wp-content\/uploads\/2020\/01\/743abfe57e451aac901db58ed5d81a00.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAber was ist, wenn andere Funksensoren \u00fcber cc2530 (ZigBee) oder nrf24 (MySensors) an esp8266\/esp32 angeschlossen sind? <\/p>\n<h3>\u00dcber Projekte<\/h3>\n<p>\nAuf dem Markt gibt es verschiedene verteilte Systeme. Unser System erm\u00f6glicht die Integration mit den bekanntesten. <\/p>\n<p>Im Folgenden sind Projekte aufgef\u00fchrt, die versuchen, die Situation der Inkompatibilit\u00e4t zwischen verschiedenen Herstellern zu ver\u00e4ndern. Dazu geh\u00f6ren beispielsweise <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> oder <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/zesp32\">ZESP32<\/a><\/noindex>. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.zigbee2mqtt.io\/\">ZigBee2MQTT <\/a><\/noindex> basierend auf einem MQTT-Server, daher nicht f\u00fcr das Beispiel geeignet. <\/p>\n<p>Eine der Implementierungsoptionen f\u00fcr MySensors ist ein Gateway, das auf dem ESP8266 basiert. Die weiteren Beispiele verwenden den ESP32, und in diesen kann unser Prinzip zur Erkennung und Erstellung von Ger\u00e4telisten integriert werden. <\/p>\n<p>Lassen Sie uns ein weiteres gedankliches Experiment durchf\u00fchren. Wir haben das ZESP32-Gateway oder SLS-Gateway oder MySensors. Wie k\u00f6nnen wir sie in einem einheitlichen Informationsraum zusammenf\u00fchren? Zu den Standardfunktionen dieser Gateways f\u00fcgen wir die Bibliothek des SSDP-Protokolls hinzu. Wenn man diesen Controller \u00fcber SSDP abruft, wird die Standardantwort um eine Liste der daran angeschlossenen Ger\u00e4te erg\u00e4nzt. Basierend auf diesen Informationen erstellt der Browser eine Seite. Insgesamt wird es so aussehen:<\/p>\n<p><img decoding=\"async\" alt=\"Lytko vereint\" src=\"\/wp-content\/uploads\/2020\/01\/8fba0ebb6be1ee35db010a819e87425c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Web-Interface<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Lytko vereint\" src=\"\/wp-content\/uploads\/2020\/01\/627baaf58524b92261c55408479606d1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>PWA-Anwendung<\/i><\/p>\n<pre><code class=\"json\">&quot;ssdpList&quot;: \n{\n   &quot;id&quot;: 94967291, \/\/ \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\n   &quot;ip&quot;: &quot;192.168.x.x&quot;, \/\/ ip \u0430\u0434\u0440\u0435\u0441 \u0432 \u0441\u0435\u0442\u0438\n   &quot;type&quot;: &quot;thermostat&quot; \/\/ \u0442\u0438\u043f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\n},\n{\n   &quot;id&quot;: 94967292,\n   &quot;ip&quot;: &quot;192.168.x.x&quot;,\n   &quot;type&quot;: &quot;thermostat&quot;\n},\n{\n   &quot;id&quot;: 94967293,\n   &quot;ip&quot;: &quot;192.168.x.x&quot;,\n   &quot;type&quot;: &quot;thermostat&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;smoke&quot;\n},\n{  \n   &quot;id&quot;: 57995113, \n   &quot;type&quot;: &quot;contact_sensor&quot;\n},\n{  \n   &quot;id&quot;: 74123668,\n   &quot;type&quot;: &quot;temperature_humidity_pressure_sensor&quot;\n},\n{\n    &quot;id&quot;: 74621883, \n    &quot;type&quot;: &quot;temperature_humidity_sensor&quot;\n}\n<\/code><\/pre>\n<p>\nWie das Beispiel zeigt, werden die Ger\u00e4te unabh\u00e4ngig voneinander hinzugef\u00fcgt. Es sind 3 Thermostate mit eigenen IP-Adressen und 5 verschiedene Sensoren mit einzigartigen IDs angeschlossen. Ist der Sensor mit dem Wi-Fi-Netzwerk verbunden, hat er eine eigene IP-Adresse. Bei einer Verbindung zum Gateway ist die IP-Adresse des Ger\u00e4ts die IP-Adresse des Gateways.<\/p>\n<p>Zur Kommunikation mit den Ger\u00e4ten verwenden wir WebSocket. Dies minimiert den Ressourcenaufwand im Vergleich zu GET-Anfragen und erm\u00f6glicht das dynamische Abrufen von Informationen bei Verbindungen oder \u00c4nderungen. <\/p>\n<p>Die Daten werden direkt von dem Ger\u00e4t abgerufen, dem das Modul geh\u00f6rt, und umgehen den Server. So bleibt das System auch bei Ausfall eines Ger\u00e4tes funktionsf\u00e4hig. Im Web-Interface wird lediglich das fehlende Ger\u00e4t nicht angezeigt. Bei Bedarf wird jedoch eine Benachrichtigung im Benutzer-Interface \u00fcber den Verlust des Ger\u00e4ts gesendet. <\/p>\n<p>Der erste Versuch, einen solchen Ansatz umzusetzen, war eine PWA-Anwendung. Diese erm\u00f6glicht es, eine Datenbank von Bl\u00f6cken auf dem Ger\u00e4t des Benutzers zu speichern und nur die erforderlichen Daten abzurufen. Aufgrund der Strukturmerkmale ist dieses Modell jedoch unvollst\u00e4ndig. Die einzige L\u00f6sung ist eine native App f\u00fcr Android und iOS, die derzeit in aktiver Entwicklung ist. Standardm\u00e4\u00dfig wird die App nur im internen Netzwerk funktionieren. Bei Bedarf kann alles auf externe Steuerung umgestellt werden. So wird die App automatisch auf die Cloud umschalten, sobald der Benutzer das lokale Netzwerk verl\u00e4sst. <\/p>\n<p>Die externe Steuerung ist eine vollst\u00e4ndige Duplizierung der Seite. Wenn die Seite aktiviert wird, kann sich der Benutzer auf dem Server einloggen und die Ger\u00e4te \u00fcber das Benutzerkonto steuern. Auf diese Weise erweitert der Server die Funktionalit\u00e4t und erm\u00f6glicht es, Ger\u00e4te auch au\u00dferhalb des Hauses zu steuern, ohne an Portweiterleitungen oder eine dedizierte IP gebunden zu sein.<\/p>\n<p>Auf diese Weise ist die oben beschriebene Variante frei von Nachteilen des serverbasierten Ansatzes und bietet zudem zahlreiche Vorteile in Form von Flexibilit\u00e4t bei der Anbindung neuer Ger\u00e4te.<\/p>\n<h3>\u00dcber den Thermostat<\/h3>\n<p>\nBetrachten wir das Managementsystem am Beispiel unseres Thermostats.<\/p>\n<p>Folgendes ist vorgesehen:<\/p>\n<ol>\n<li>Regulierung der Temperatur jedes Thermostats (wird als einzelner Block angezeigt);<\/li>\n<li>Einstellung des Zeitplans f\u00fcr den Betrieb des Thermostats (Morgen, Tag, Abend, Nacht);<\/li>\n<li>Auswahl des Wi-Fi-Netzwerks und Verbindung des Ger\u00e4ts damit;<\/li>\n<li>Ger\u00e4te-Updates \u201eover-the-air\u201c;<\/li>\n<li>Einstellung von MQTT;<\/li>\n<li>Konfiguration des Netzwerks, mit dem das Ger\u00e4t verbunden ist.<\/li>\n<\/ol>\n<p>\n<img decoding=\"async\" alt=\"Lytko vereint\" src=\"\/wp-content\/uploads\/2020\/01\/a25f2a8daeabdeba36aa11557eacab0e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNeben der Verwaltung \u00fcber die Web-Oberfl\u00e4che haben wir eine klassische Steuerung durch Ber\u00fchrung des Bildschirms vorgesehen. An Bord befindet sich ein Nextion NX3224T024 2,4 Zoll Monitor. Die Wahl fiel auf ihn aufgrund der Benutzerfreundlichkeit. Ein eigener Monitor auf Basis von STM32 ist jedoch in Entwicklung. Seine Funktionalit\u00e4t wird nicht schlechter sein als die des Nextion, er wird jedoch g\u00fcnstiger sein, was sich positiv auf den Endpreis des Ger\u00e4ts auswirkt.<\/p>\n<p><img decoding=\"async\" alt=\"Lytko vereint\" src=\"\/wp-content\/uploads\/2020\/01\/ad98f51863dce7cbee1f1ea88891599f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWie jeder respektable Thermostatbildschirm kann unser Nextion:<\/p>\n<ul>\n<li>die vom Benutzer gew\u00fcnschte Temperatur einstellen (mit den Tasten rechts);<\/li>\n<li>den Betriebsmodus nach Zeitplan ein- und ausschalten (Taste H);<\/li>\n<li>den Betrieb des Relais anzeigen (Pfeil links);<\/li>\n<li>verf\u00fcgt \u00fcber einen Kindersicherungsschutz (physische Bet\u00e4tigungen werden blockiert, solange das Schloss nicht aufgehoben ist);<\/li>\n<li>zeigt den WLAN-Signalpegel an.<\/li>\n<\/ul>\n<p>\nZus\u00e4tzlich erm\u00f6glicht der Monitor:<\/p>\n<ul>\n<li>den Typ des bei Benutzer installierten Sensors auszuw\u00e4hlen;<\/li>\n<li>die Kindersicherungsfunktion zu steuern;<\/li>\n<li>die Firmware zu aktualisieren.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Lytko vereint\" src=\"\/wp-content\/uploads\/2020\/01\/efe3a84ba7e8c95212323ad1370550e0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDurch einen Klick auf die WiFi-Leiste erh\u00e4lt der Benutzer Informationen \u00fcber das verbundene Netzwerk. Der QR-Code wird verwendet, um das Ger\u00e4t mit der HomeKit-Firmware zu koppeln.<\/p>\n<p><img decoding=\"async\" alt=\"Lytko vereint\" src=\"\/wp-content\/uploads\/2020\/01\/79f55d4872f73a7c03a9f855be8089dc.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDemo der Arbeit mit dem Display:<\/p>\n<p><img decoding=\"async\" alt=\"Lytko vereint\" src=\"\/wp-content\/uploads\/2020\/01\/bf8ed3d7ae06b0364b393fc442e3556b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWir haben entwickelt <noindex><a rel=\"nofollow\" href=\"http:\/\/demo.lytko.com\">eine Demoseite<\/a><\/noindex> mit drei angeschlossenen Thermostaten.<\/p>\n<p>Sie fragen sich: \u201eWas ist das Besondere an Ihrem Thermostat?\u201c Derzeit gibt es auf dem Markt viele Thermostate mit Wi-Fi-Funktion, Zeitsteuerung und Touch-Bedienung. Zudem haben Enthusiasten Module entwickelt, um mit den meisten g\u00e4ngigen Smart Home-Systemen (Majordomo, HomeAssistant usw.) zu interagieren. <\/p>\n<p>Unser Thermostat ist mit einer Vielzahl von Systemen kompatibel und bietet alle oben genannten Funktionen. Ein herausragendes Merkmal ist die kontinuierliche Weiterentwicklung des Thermostats, erm\u00f6glicht durch die Flexibilit\u00e4t des Systems. Mit jedem Update wird der Funktionsumfang erweitert. Neben der standardm\u00e4\u00dfigen Steuerungsmethode (nach Zeitplan) werden wir eine adaptive Steuerung hinzuf\u00fcgen. Die App erm\u00f6glicht die Geolokalisierung des Nutzers. Dadurch kann das System dynamisch den Betriebsmodus je nach Standort des Nutzers anpassen. Ein Wettermodul sorgt daf\u00fcr, dass sich die Einstellungen an die aktuellen Wetterbedingungen anpassen. <\/p>\n<p>Und die Erweiterbarkeit. Jeder kann seinen herk\u00f6mmlichen Thermostat unkompliziert durch unseren ersetzen. Mit minimalem Aufwand. Wir haben f\u00fcnf der beliebtesten Sensoren ausgew\u00e4hlt, die auf dem Markt erh\u00e4ltlich sind, und deren Unterst\u00fctzung hinzugef\u00fcgt. Selbst wenn ein Sensor exklusive Eigenschaften aufweist, kann der Nutzer ihn mit unserem Thermostat verbinden. Dazu muss der Thermostat lediglich f\u00fcr den spezifischen Sensor kalibriert werden. Die entsprechenden Anleitungen stellen wir bereit.<\/p>\n<p>Wenn Sie ein Thermostat oder ein anderes Ger\u00e4t anschlie\u00dfen, wird es gleichzeitig \u00fcberall angezeigt: sowohl in der Weboberfl\u00e4che als auch in der PWA-App. Das Hinzuf\u00fcgen eines Ger\u00e4ts erfolgt automatisch: Es reicht aus, es mit dem WLAN-Netzwerk zu verbinden. <\/p>\n<p>Unser System ben\u00f6tigt keinen Server und verwandelt sich im Falle eines Ausfalls nicht in einen K\u00fcrbis. Selbst wenn eines der Komponenten ausf\u00e4llt, wechselt das System nicht in einen Notbetrieb. Controller, Sensoren, Ger\u00e4te \u2014 jedes Element fungiert sowohl als Server als auch als Client und ist somit vollst\u00e4ndig autonom. <\/p>\n<p>F\u00fcr Interessierte \u2013 unsere sozialen Medien: <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 Neuigkeiten<\/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-Mail: shop@lytko.com<\/p>\n<p><b>P. S.<\/b> Wir fordern nicht dazu auf, auf den Server zu verzichten. Wir unterst\u00fctzen auch einen MQTT-Server und bieten eine eigene Cloud an. Unser Ziel ist es, die Stabilit\u00e4t und Zuverl\u00e4ssigkeit des Systems auf ein qualitativ neues Niveau zu heben, damit der Server nicht das schw\u00e4chste Glied ist, sondern die Funktionalit\u00e4t erg\u00e4nzt und das System benutzerfreundlicher macht.<br \/>\n<br \/>Quelle: <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-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - 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. \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\" \/>\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\/de\/blog\/novosti-interneta\/lytko-obedinyaet\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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. \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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/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 verbindet | ProHoster","description":"Vor einiger Zeit haben wir einen intelligenten Thermostat pr\u00e4sentiert. Dieser Artikel sollte urspr\u00fcnglich die Firmware und das Steuerungssystem demonstrieren. Um jedoch die Logik der Funktionsweise des Thermostats und dessen Umsetzung zu erkl\u00e4ren, ist es notwendig, das gesamte Konzept zu skizzieren. Automatisierung kann grob in drei Kategorien eingeteilt werden: Kategorie 1 \u2013 einzelne \u201esmarte\u201c Ger\u00e4te. Sie","canonical_url":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/lytko-obedinyaet","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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. \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","og:url":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/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"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/55356","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=55356"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/55356\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=55356"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=55356"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=55356"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}