diff --git a/archive/news/news.en.md b/archive/news/news.en.md deleted file mode 100644 index 903278d78..000000000 --- a/archive/news/news.en.md +++ /dev/null @@ -1,5 +0,0 @@ -## 2018.01.19 -News on 19th of January - -## 2018.01.11 -News on 11th of January \ No newline at end of file diff --git a/archive/news/news.ru.md b/archive/news/news.ru.md deleted file mode 100644 index 865e733cc..000000000 --- a/archive/news/news.ru.md +++ /dev/null @@ -1,5 +0,0 @@ -## 2018.01.19 -Новости за 19ое число - -## 2018.01.11 -Новости за 11ое число \ No newline at end of file diff --git a/archive/news/news.de.md b/blog/de/2018_03_17.md similarity index 86% rename from archive/news/news.de.md rename to blog/de/2018_03_17.md index 1d5684ce3..6046eda3a 100644 --- a/archive/news/news.de.md +++ b/blog/de/2018_03_17.md @@ -1,42 +1,41 @@ -## 2018.03.17 -### Ankündigung -Es wurde die neue Cloud-Adapter-Version vorbereitet. - -Es ist wichtig, dass ALLE diese Version haben, wenn der Cloud-Server nächtes mal neu gestartet wird (in einer Woche). - -Das ist gültig für iobroker.net und auch für iobroker.pro. Allerdings iobroker.pro wird nach ca. einer Woche nach iobroker.net upgedatet sein. - -#### Was ist geändert -Cloud-Adapter unterstützt jetzt die Steuerungsbefehle vom Cloud-Server. - -Es gibt 3 Arten von Cloud-Befehlen: - -##### 1. "Redirect". -Da iobroker.net mit sehr vielen veralteten Clients belastet ist, kann jetzt Cloud-Server die neue Clients auf die neue Adresse 10557 umleiten und die alte Clients einfach zu machen. - -Die alten Clients werden alten Server 10555 immer noch belasten, aber es wird ein spezieller schneller Server sein, der nichts macht, ausser die Versionen prüfen. Damit kann Cloud-Server ungefähr 30 Connections pro Sekunde (!) sparen. - -Auch zukünftige Umzuge und Load-Ballancing wird damit möglich sein. - -##### 2. "Stop". -Cloud-Server kann jetzt zu Clients, die nicht passende Version haben, "stop"-Befehl senden. Damit werden die Clients angehalten und werden den Server mit Anfragen nicht mehr belasten. - -Client wird so lange disconnected, bis der nicht upgedated wird. - -Leider ist noch das Befehl mit älteren < 2.5.0 Clients nicht unterstützt und deswegen muss man Trick mit Serverumzug machen. - -Aber in der Zukunft wird dann es einfacher. - -##### 3. "Wait". -Beim Start bekommt der Cloud-Server SEHR viele gleizeitige Verbindungsanfragen. Da Datenbank nicht so viele Anfragen gleichzeitig verarbeiten kann werden die Clients gebeten 60-90 Sekunden zu warten und es wird 500 oder 1000 Clients gleichzeitig angebunden. - -So kann der Server in Ruhe alle Anfragen verarbeiten, sonst hat man ein "Schaukel-Effekt". - -#### "Schaukel-Effekt" -Es werden viele Clients angebunden und der Server wird langsammer. Die Clients verliehren die Verbindung und fangen sofort wieder eine Verbindung aufzubauen zusätzlich zu alten. Dann Verdoppelt sich die Anzahl von Verbindungen bis der Server gar nichts machen kann. So ein Zustand kann bis zu 5 Stunden dauern. - -## 2018.01.19 -Neuegkeiten für 19 Januar - -## 2018.01.11 -Neuegkeiten für 11 Januar \ No newline at end of file +--- +Author: Homoran +imageSource: https://pixabay.com/photos/sky-clouds-atmosphere-air-oxygen-1441936/ +--- +![logo](images/2018_03_22.png) +# Cloud-Adapter-Version +## Ankündigung +Es wurde die neue Cloud-Adapter-Version vorbereitet. + +Es ist wichtig, dass ALLE diese Version haben, wenn der Cloud-Server nächtes mal neu gestartet wird (in einer Woche). + +Das ist gültig für iobroker.net und auch für iobroker.pro. Allerdings iobroker.pro wird nach ca. einer Woche nach iobroker.net upgedatet sein. + +### Was ist geändert +Cloud-Adapter unterstützt jetzt die Steuerungsbefehle vom Cloud-Server. + +Es gibt 3 Arten von Cloud-Befehlen: + +#### 1. "Redirect". +Da iobroker.net mit sehr vielen veralteten Clients belastet ist, kann jetzt Cloud-Server die neue Clients auf die neue Adresse 10557 umleiten und die alte Clients einfach zu machen. + +Die alten Clients werden alten Server 10555 immer noch belasten, aber es wird ein spezieller schneller Server sein, der nichts macht, ausser die Versionen prüfen. Damit kann Cloud-Server ungefähr 30 Connections pro Sekunde (!) sparen. + +Auch zukünftige Umzuge und Load-Ballancing wird damit möglich sein. + +#### 2. "Stop". +Cloud-Server kann jetzt zu Clients, die nicht passende Version haben, "stop"-Befehl senden. Damit werden die Clients angehalten und werden den Server mit Anfragen nicht mehr belasten. + +Client wird so lange disconnected, bis der nicht upgedated wird. + +Leider ist noch das Befehl mit älteren < 2.5.0 Clients nicht unterstützt und deswegen muss man Trick mit Serverumzug machen. + +Aber in der Zukunft wird dann es einfacher. + +#### 3. "Wait". +Beim Start bekommt der Cloud-Server SEHR viele gleizeitige Verbindungsanfragen. Da Datenbank nicht so viele Anfragen gleichzeitig verarbeiten kann werden die Clients gebeten 60-90 Sekunden zu warten und es wird 500 oder 1000 Clients gleichzeitig angebunden. + +So kann der Server in Ruhe alle Anfragen verarbeiten, sonst hat man ein "Schaukel-Effekt". + +### "Schaukel-Effekt" +Es werden viele Clients angebunden und der Server wird langsammer. Die Clients verliehren die Verbindung und fangen sofort wieder eine Verbindung aufzubauen zusätzlich zu alten. Dann Verdoppelt sich die Anzahl von Verbindungen bis der Server gar nichts machen kann. So ein Zustand kann bis zu 5 Stunden dauern. diff --git a/blog/images/2018_03_17.png b/blog/images/2018_03_17.png new file mode 100644 index 000000000..583f4a652 Binary files /dev/null and b/blog/images/2018_03_17.png differ diff --git a/docs/de/adapterref/iobroker.harmony/README.md b/docs/de/adapterref/iobroker.harmony/README.md index 0c223f093..505e446d0 100644 --- a/docs/de/adapterref/iobroker.harmony/README.md +++ b/docs/de/adapterref/iobroker.harmony/README.md @@ -1,3 +1,6 @@ +--- +lastChanged: 20.07.2018 +--- ![Harmony](media/harmony.png) # Logitech Harmony @@ -67,8 +70,7 @@ Der Adapter findet automatisch alle Harmony Hubs, die sich im Subnetz des ioBroker-Servers befinden. ### Fenster "Logitech Harmony adapter settings" -![Admin](media/a_harmony_admin_settings.png "Admin Oberfläche") -*Admin Oberfläche* +![Admin](media/a_harmony_admin_settings.png "Admin Oberfläche") | Feld | Beschreibung | |:-------------|:-------------| @@ -85,8 +87,7 @@ verlassen. Dadurch efolgt im Anschluß ein Neustart des Adapters. Die Installation des Adapters hat im Bereich `Objekte` eine aktive Instanz des Logitech Harmony-Hub-Adapters angelegt. -![Instanz](media/a_harmony_instanz.png "Instanz") -*Erste Instanz* +![Instanz](media/a_harmony_instanz.png "Erste Instanz") Auf einem ioBroker Server lässt sich immer nur eine Instanz des Logitech Harmony-Adapters installieren. @@ -101,32 +102,30 @@ Im Bereich `Objekte` werden in einer Baumstruktur alle vom Adapter im Hub erkannten Geräte und Aktivitäten aufgelistet. Zusätzlich wird auch noch darüber informiert, ob die Kommunikation mit dem Hub reibungslos erfolgt. -![Objekte](media/a_harmony_objekte.png "Harmony Objekte") -*Objekte des Harmony-Adapters* +![Objekte](media/a_harmony_objekte.png "Objekte des Harmony-Adapters") Jeder Datenpunkt ist mit seinem zugehörigen Datentyp sowie seinen Berechtigungen aufgehführt. Berechtigungen können lesend (R) sowie schreibend (W) sein. Jeder Datenpunkt kann mindestens gelesen (R) werden, während andere ebenfalls beschrieben werden können. Zum auffinden eines bestimmten Datenpunkts empfiehlt sich die Suche mittels der Tastenkombination "STRG + F". -Objekt | Zugriff | Bescheibung -:------|:-------:|:----------- -**harmony.0** | R | Name der ersten *Instanz* des Logitech Harmony-Adapters - **Harmony Hub**| R | Name des *Hubs* -  **Apple TV Generation 3**| R | Name eines *Geräts*, enthält Gerätefunktionen -  **Denon AV-Empfänger**| R | Name eines *Geräts*, enthält Gerätefunktionen -  **:**| R | Weitere *Geräte* -  **activities**| R | Liste mit allen im Harmony Hub programmierten *Aktivitäten* -  ***hubBlocked***| R | Zeigt an, ob der Hub gerade beschäftigt ist -  ***hubConnected***| R | Status der Verbindung zwischen Adapter und Hub +| Objekt | Zugriff | Bescheibung| +|------|-------|-----------| +|**harmony.0** | R | Name der ersten *Instanz* des Logitech Harmony-Adapters| +| **Harmony Hub**| R | Name des *Hubs*| +|  **Apple TV Generation 3**| R | Name eines *Geräts*, enthält Gerätefunktionen| +|  **Denon AV-Empfänger**| R | Name eines *Geräts*, enthält Gerätefunktionen| +|  **:**| R | Weitere *Geräte*| +|  **activities**| R | Liste mit allen im Harmony Hub programmierten *Aktivitäten*| +|  ***hubBlocked***| R | Zeigt an, ob der Hub gerade beschäftigt ist| +|  ***hubConnected***| R | Status der Verbindung zwischen Adapter und Hub| ### Gerätefunktionen Öffnet man ein Gerät, so erhält man eine Liste mit allen zum Gerät gehörenden Funktionalitäten. Diese Gerätefunktionen sind gerätespezifisch und unterscheiden sich deshalb bei Geräten unterschiedlichen Typs. -![Gerät](media/a_harmony_geraet.png "Harmony Gerät") -*Gerätefunktionen* +![Gerät](media/a_harmony_geraet.png "Gerätefunktionen") #### Auslösen einer Gerätefunktion Jede Gerätefunktion `{Instanz}.{Hub Name}.{Gerät}.{Gerätefunktion}` löst eine @@ -144,8 +143,7 @@ Nach dem Auslösen der Gerätefunktion ändert sich der Wert wieder auf 0. Unterhalb von `activities`werden alle am Harmony Hub programmierten Aktivitäten aufgelistet. -![Aktivitäten](media/a_harmony_activities.png "Aktivitäten") -*Aktivitäten* +![Aktivitäten](media/a_harmony_activities.png "Aktivitäten") #### Starten einer Aktivität Aktivitäten werden gestartet, wenn man bei einer Aktivität @@ -175,8 +173,6 @@ an. Dabei bedeuten die Werte Die Bedeutung der Werte ist analog zu `{Instanz}.{Hub Name}.activities.currentStatus`. - - ## Deinstallation > T: Ich bin der Meinung, dass eine Standarddeinstallation eines Adapters in einem zentralen Artikel ausführlich dokumentiert wird. Beim Adapter wird (immer) @@ -202,9 +198,13 @@ Sollten die Installationsdateien vollständig von dem Host gelöscht werden, mus in der Kachel des Harmony-Adapters in der Rubrik Adapter geschehen. ## Besonderheiten -Backup + +Backup + Multihost + History + Performance ## FAQ @@ -246,7 +246,7 @@ Performance 5-10 Minuten nach dem WLAN-Routerstart ein. 8. **Der HUB wird nicht gefunden.** - + Prüfe nach, ob der Hub sich wirklich um gleichen Netzwerksubnetz und VLAN wie der ioBroker-Server befindet. Sind Multicasts erlaubt oder werden diese vom Router gefiltert? Leuchtet die Status-LED am Hub grün? @@ -263,6 +263,7 @@ Performance ### JavaScript Auslösen von Gerätefunktionen. Hier wird der Denon AV-Empfänger ein- oder ausgeschaltet, wenn sich der Wert eines anderen Datenpunktes verändert. + ``` if (getState("hm-rpc.0.MEQ01234567.2.STATE").val == true) { setState("harmony.0.Harmony Hub.Denon AV-Empfänger.PowerOn"/*Denon AV-Empfänger:PowerOn*/, '1', true); @@ -279,41 +280,31 @@ if (getState("hm-rpc.0.MEQ01234567.2.STATE").val == true) { Auslösen von Gerätefunktionen. Hier wird der Denon AV-Empfänger ein- oder ausgeschaltet, wenn sich der Wert eines anderen Datenpunktes verändert. -![Blockly](media/a_hamony_simple_blockly.jpg) -**Blockly** +![Blockly](media/a_hamony_simple_blockly.jpg "Blockly") -[Quelltext][blockly] +[Quelltext](media/a_harmony_blockly.xml) ### Node-Red > zugehörige node-red-Elemente + > Beispiele + > Exporte zum Weiterverwenden ### vis > zugehörige vis-Elemente -> Beispiele -> Exporte zum Weiterverwenden -> Code-Fragmente + +> Beispiele + +> Exporte zum Weiterverwenden + +> Code-Fragmente ## Links > Referenzen auf andere Dokumente im ioBroker-Portal -> Weblinks z.B. zum Hersteller -> GitHub-Links -* Herstellerseite https://www.logitech.com/de-de/product/harmony-hub (20.07.2018) - -## Historie -> Der folgende Text dient nur als Platzhalter. Die Historie wird - vom Dokumentengenerator dynamisch erzeugt und hier eingefügt. Datenquelle - ist io-package.json -> common.news in der jeweiligen Doku-Sprache -| Version | Änderung | -|:-------:|:------------------------------------------| -|0.9.1 |Fix für problematische Zeichen | -|0.7.1 |Bug fixes | -|0.7.0 |Unterstützung für mehrere Hubs hinzugefügt | -|0.6.2 |falscher Port korrigiert | -|0.1.0 |Initialer commit | +> Weblinks z.B. zum Hersteller +> GitHub-Links -[logo]: https://badge.fury.io/js/svgo.svg "npm logo" -[blockly]: media/a_harmony_blockly.xml "Blockly" +* Herstellerseite [https://www.logitech.com/de-de/product/harmony-hub](https://www.logitech.com/de-de/product/harmony-hub) diff --git a/docs/de/adapterref/iobroker.harmony/en/README.md b/docs/de/adapterref/iobroker.harmony/en/README.md deleted file mode 100644 index a0444f5e9..000000000 --- a/docs/de/adapterref/iobroker.harmony/en/README.md +++ /dev/null @@ -1,119 +0,0 @@ -![Harmony](media/harmony.png) -# Logitech Harmony adapter - -The Logitech Harmony adapter allows easy integration of one or -even multiple Logitech Harmony hubs into an ioBroker system. - -With the help of the Logitech Harmony Hubs a variety of entertainment and -Smart Home devices can be controlled. Using the hub, ioBroker is able to -start and stop activities and query the status of activities as well. -Remote devices can be controled with virtual keys. - - -![Harmony Hub](media/harmony_850.jpg "Logitech Harmony Hub with -Harmony Elite Remote Control")
-*Logitech Harmony Hub with Harmony Elite remote control* - - - -## Characteristics -> Attention! The following table is only an example. - -| | | -|-------------------------|:---------------------------------------:| -| Status of the documentary | 29.07.2018 | -| current version stable | ![stable][logo] | -| current version latest | ![latest][logo] | -| OS | Linux, Windows; OS X | -| node version | > = 4.x | -| Developer | Pmant | -| Github | LINK | -| License | MIT | -| Category | Multimedia | -| Keywords | `harmony`` hub` `logitech`` home automation` | -| Dependencies | `harmonyhubjs-client`` harmonyhubjs-discover` `semaphore` | - - - -## Overview - -### Logitech Harmony -Logitech Harmony is compatible with more than 270,000 entertainment and smart -Home devices. These include TVs and cable boxes, disc players and game consoles -to AV receivers and streaming media players, as well as intelligent lighting, -Locks, thermostats and much more. - -With Logitech Harmony you can change programs, adjust the volume, -Set favorites and control lighting and other smart devices. The highlight -of the system is the creation of actions to control multiple devices with only -a keystroke. - -1. The Logitech Harmony Hub connects to the home network via Wi-Fi. -2. Harmony hubs do not have an Ethernet port. -3. The hub supports only the WLAN 2.4 GHz frequency band. The 5 GHz frequency band will be - unsupported. -4. An 802.11 g / n router should be used. 802.11 a / b is not supported. -5. WEP 64/128, WPA Personal, and WEP are used as encryption for the WLAN - WPA2-AES supported. -6. UPnP does not need to be enabled for Harmony for the Harmony app to run - Recognize Hub and communicate with him. On the other hand it has to be activated - to allow the hub to discover and work with other devices on the network. - This applies, for example, to devices such as Philips hue, Sonos, Nest, Roku or Smart TVs. -7. The maximum number of devices per stroke is 8 devices. 15 devices are possible if as - Remote at least one Harmony Touch or Ultimate one is registered at the hub. -8. The maximum number of preferred channels is 50 per mobile device. - -### Logitech Harmony adapter -The Logitech Harmony adapter automatically finds all Logitech Harmony hubs -via a Wi-Fi connection that are located in the same network subnet as the -ioBroker server - - -Objects for triggering functions and activities (= command macros) are used by the -adapter automatically created in the ioBroker. Also, the current status of the hub is -to displayed. By writing or reading of objects values their status can be changed -and thus actions can be triggered or queried. - - - -## Prerequisites before installation -The ioBroker adapter for the Logitech Harmony system can not be used to connect devices or devices -Create or change activities. That is why it is necessary that before use -of the adapter the remote control system as described in the instructions of Logitech, -is set up and works together with the controlled devices. - - - -## Installation -An instance of the adapter is installed via the ioBroker Admin interface. The -detailed instructions for the necessary installaton steps you will find ** here **. - -After the installation of an adapter instance opens automatically -a configuration window. - - - -## Configuration -The adapter automatically finds all Harmony hubs that are in the subnet of the -ioBroker servers. - - - -### "Logitech Harmony adapter settings" window -![Admin](media/a_harmony_admin_settings.png "Admin Interface")
-*Admin interface* - -| Field | Description | -|: ------------- |: ------------- | -| ** Hub User ** | In case you provided access to the Harmony Hub configuration with a user and password, please enter the username here. Pay attention to uppercase and lowercase letters. | -| ** Hub Password ** | If you provide a user and password for access to the Harmony Hub configuration, enter the password here. Pay attention to uppercase and lowercase letters. | - -The two fields need only be filled, if the hub is secured with a username -and a password. - -After completing the configuration, the configuration dialog is displayed with `SAVE AND CLOSE` -leave. This will cause a restart of the adapter. - - -[logo]: https://badge.fury.io/js/svgo.svg "npm logo" -[blockly]: media/a_harmony_blockly.xml "Blockly" diff --git a/docs/de/adapterref/iobroker.harmony/en/media/a_hamony_simple_blockly.jpg b/docs/de/adapterref/iobroker.harmony/en/media/a_hamony_simple_blockly.jpg deleted file mode 100644 index 26306da42..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/a_hamony_simple_blockly.jpg and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/a_harmony_activities.png b/docs/de/adapterref/iobroker.harmony/en/media/a_harmony_activities.png deleted file mode 100644 index 9460b96f6..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/a_harmony_activities.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/a_harmony_admin_settings.png b/docs/de/adapterref/iobroker.harmony/en/media/a_harmony_admin_settings.png deleted file mode 100644 index 406c25ccc..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/a_harmony_admin_settings.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/a_harmony_blockly.xml b/docs/de/adapterref/iobroker.harmony/en/media/a_harmony_blockly.xml deleted file mode 100644 index 33616a4cb..000000000 --- a/docs/de/adapterref/iobroker.harmony/en/media/a_harmony_blockly.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - EQ - - - val - hm-rpc.0.MEQ0165864.2.STATE - - - - - TRUE - - - - - - - - harmony.0.Woonkamer.Onkyo_AV_Receiver.PowerOn - FALSE - - - 1 - - - - - Bei kontrolle schalter = AN kein delay schalte - - - - - - - EQ - - - val - hm-rpc.0.MEQ0165864.2.STATE - - - - - FALSE - - - - - - - Bei kontrolle schalter = AUS schalte mit delay - - - timeout - 1000 - - - - harmony.0.Woonkamer.Onkyo_AV_Receiver.PowerOn - FALSE - - - 1 - - - - - - - - - \ No newline at end of file diff --git a/docs/de/adapterref/iobroker.harmony/en/media/a_harmony_geraet.png b/docs/de/adapterref/iobroker.harmony/en/media/a_harmony_geraet.png deleted file mode 100644 index 598c12de6..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/a_harmony_geraet.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/a_harmony_instanz.png b/docs/de/adapterref/iobroker.harmony/en/media/a_harmony_instanz.png deleted file mode 100644 index ca53f4a7b..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/a_harmony_instanz.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/a_harmony_objekte.png b/docs/de/adapterref/iobroker.harmony/en/media/a_harmony_objekte.png deleted file mode 100644 index 8524176b5..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/a_harmony_objekte.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_config_01.png b/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_config_01.png deleted file mode 100644 index e408cfeb6..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_config_01.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_delete_01.png b/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_delete_01.png deleted file mode 100644 index 61a8d4466..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_delete_01.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_delete_02.png b/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_delete_02.png deleted file mode 100644 index 278511b31..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_delete_02.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_delete_03.png b/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_delete_03.png deleted file mode 100644 index 29b7520f4..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_delete_03.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_install_01.png b/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_install_01.png deleted file mode 100644 index 5faa9b8ba..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_install_01.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_install_02.png b/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_install_02.png deleted file mode 100644 index b3a9478ae..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_install_02.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_install_03.png b/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_install_03.png deleted file mode 100644 index 610934c1a..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_install_03.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_install_04.png b/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_install_04.png deleted file mode 100644 index 4c4f0b13c..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_install_04.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_objects.png b/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_objects.png deleted file mode 100644 index 58946eec9..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_objects.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_objects_01.png b/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_objects_01.png deleted file mode 100644 index 0122404ce..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_objects_01.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_objects_800.png b/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_objects_800.png deleted file mode 100644 index de36ac25b..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_objects_800.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_objects_small.png b/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_objects_small.png deleted file mode 100644 index e7941154d..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/adapter_harmony_objects_small.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/harmony.png b/docs/de/adapterref/iobroker.harmony/en/media/harmony.png deleted file mode 100644 index 5d7694480..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/harmony.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/en/media/harmony_850.jpg b/docs/de/adapterref/iobroker.harmony/en/media/harmony_850.jpg deleted file mode 100644 index 30384dd03..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/en/media/harmony_850.jpg and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/README.md b/docs/de/adapterref/iobroker.harmony/ru/README.md deleted file mode 100644 index a7a9ef0b4..000000000 --- a/docs/de/adapterref/iobroker.harmony/ru/README.md +++ /dev/null @@ -1,85 +0,0 @@ -![Harmony](media/harmony.png) -# Адаптер Logitech Harmony - -Адаптер Logitech Harmony позволяет легко интегрировать один или несколько -концентраторов Logitech Harmony в систему ioBroker. - -Гарнитура Logitech Harmony может управлять различными развлекательными и -интеллектуальными домашними устройствами. С помощью ioBroker действия могут -быть запущены и остановлены через концентратор, состояние активности может быть -запрошено, а устройства могут дистанционно управляться виртуальными -нажатиями клавиш. - - -![Harmony Hub](media/harmony_850.jpg) -**Гарнитура Logitech Harmony с пультом дистанционного управления Harmony Elite** - -## Обзор - -### Logitech Harmony -Logitech Harmony совместим с более чем 270 000 развлечений и умных -Главная устройства. К ним относятся телевизоры и кабельные коробки, проигрыватели дисков и игровые консоли -к AV-ресиверам и потоковым медиа-плеерам, а также к интеллектуальному освещению, -Замки, термостаты и многое другое. - -С Logitech Harmony вы можете изменять программы, настраивать громкость, -Установите избранные и контрольные лампы и другие интеллектуальные устройства. Выделение -Система - это создание действий для управления несколькими устройствами только с помощью -нажатие клавиши. - -1. Гарнитура Logitech Harmony подключается к домашней сети через Wi-Fi. -2. В концентраторах Harmony нет Ethernet-порта. -3. Концентратор поддерживает только полосу частот WLAN 2,4 ГГц. Полоса частот 5 ГГц будет - не поддерживается. -4. Должен использоваться маршрутизатор 802.11 g / n. 802.11 a / b не поддерживается. -5. WEP 64/128, WPA Personal и WEP используются в качестве шифрования для WLAN - WPA2-AES поддерживается. -6. UPnP не требуется включить для Harmony для приложения Harmony для запуска - Признайте Хаб и общайтесь с ним. С другой стороны, он должен быть активирован - чтобы концентратор мог обнаружить и работать с другими устройствами в сети. - Это относится, например, к таким устройствам, как Philips hue, Sonos, Nest, Roku или Smart TV. -7. Максимальное количество устройств на ход - 8 устройств. 15 устройств возможны, если в качестве - Удаленный, по крайней мере, один Harmony Touch или Ultimate один зарегистрирован в концентраторе. -8. Максимальное количество предпочтительных каналов составляет 50 на мобильное устройство. - -### Logitech Harmony адаптер -Адаптер Logitech Harmony автоматически находит все концентраторы Logitech Harmony, которые -через соединение Wi-Fi с сервером ioBroker в той же подсети сети -есть. - -Объекты для запуска функций и действий (= командные макросы) используются -Адаптер автоматически создается в ioBroker. Кроме того, текущий статус концентратора -в распоряжение. По конкретному описанию или чтению созданных объектов -их статус может быть изменен, и, таким образом, действия могут быть вызваны или запрошены. - -## Предварительные требования перед установкой -Адаптер ioBroker для системы Logitech Harmony не может использоваться для подключения устройств или устройств -Создайте или измените действия. Поэтому необходимо, чтобы перед использованием -адаптера системы дистанционного управления, как описано в инструкциях Logitech, -настраивается и работает вместе с контролируемыми устройствами. - -## установка -Экземпляр адаптера устанавливается через интерфейс администратора ioBroker. -подробные инструкции для необходимых шагов установки вы найдете здесь ** здесь **. - -После автоматической установки экземпляра адаптера -окно конфигурации. - -## конфигурация -Адаптер автоматически находит все концентраторы Harmony, которые находятся в подсети -серверы ioBroker. - -### Настройки адаптера Logitech Harmony -![Admin](media/a_harmony_admin_settings.png) -**Интерфейс администратора** - -| Поле | Описание | -|: ------------- |: ------------- | -| ** Hub User ** | Если вы предоставили доступ к конфигурации Harmony Hub с помощью пользователя и пароля, введите здесь имя пользователя. Обратите внимание на прописные и строчные буквы. | -| ** Hub Password ** | Если вы предоставите пользователю и пароль для доступа к конфигурации Harmony Hub, введите здесь пароль. Обратите внимание на прописные и строчные буквы. | - -Эти два поля необходимо заполнить, если в хабе есть имя пользователя -и пароль защищен. - -После завершения настройки диалоговое окно конфигурации отображается с надписью «SAVE AND CLOSE» -уйти. Это приведет к перезапуску адаптера. \ No newline at end of file diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/a_hamony_simple_blockly.jpg b/docs/de/adapterref/iobroker.harmony/ru/media/a_hamony_simple_blockly.jpg deleted file mode 100644 index 26306da42..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/a_hamony_simple_blockly.jpg and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/a_harmony_activities.png b/docs/de/adapterref/iobroker.harmony/ru/media/a_harmony_activities.png deleted file mode 100644 index 9460b96f6..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/a_harmony_activities.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/a_harmony_admin_settings.png b/docs/de/adapterref/iobroker.harmony/ru/media/a_harmony_admin_settings.png deleted file mode 100644 index 406c25ccc..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/a_harmony_admin_settings.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/a_harmony_blockly.xml b/docs/de/adapterref/iobroker.harmony/ru/media/a_harmony_blockly.xml deleted file mode 100644 index 33616a4cb..000000000 --- a/docs/de/adapterref/iobroker.harmony/ru/media/a_harmony_blockly.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - - - EQ - - - val - hm-rpc.0.MEQ0165864.2.STATE - - - - - TRUE - - - - - - - - harmony.0.Woonkamer.Onkyo_AV_Receiver.PowerOn - FALSE - - - 1 - - - - - Bei kontrolle schalter = AN kein delay schalte - - - - - - - EQ - - - val - hm-rpc.0.MEQ0165864.2.STATE - - - - - FALSE - - - - - - - Bei kontrolle schalter = AUS schalte mit delay - - - timeout - 1000 - - - - harmony.0.Woonkamer.Onkyo_AV_Receiver.PowerOn - FALSE - - - 1 - - - - - - - - - \ No newline at end of file diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/a_harmony_geraet.png b/docs/de/adapterref/iobroker.harmony/ru/media/a_harmony_geraet.png deleted file mode 100644 index 598c12de6..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/a_harmony_geraet.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/a_harmony_instanz.png b/docs/de/adapterref/iobroker.harmony/ru/media/a_harmony_instanz.png deleted file mode 100644 index ca53f4a7b..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/a_harmony_instanz.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/a_harmony_objekte.png b/docs/de/adapterref/iobroker.harmony/ru/media/a_harmony_objekte.png deleted file mode 100644 index 8524176b5..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/a_harmony_objekte.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_config_01.png b/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_config_01.png deleted file mode 100644 index e408cfeb6..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_config_01.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_delete_01.png b/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_delete_01.png deleted file mode 100644 index 61a8d4466..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_delete_01.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_delete_02.png b/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_delete_02.png deleted file mode 100644 index 278511b31..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_delete_02.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_delete_03.png b/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_delete_03.png deleted file mode 100644 index 29b7520f4..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_delete_03.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_install_01.png b/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_install_01.png deleted file mode 100644 index 5faa9b8ba..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_install_01.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_install_02.png b/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_install_02.png deleted file mode 100644 index b3a9478ae..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_install_02.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_install_03.png b/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_install_03.png deleted file mode 100644 index 610934c1a..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_install_03.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_install_04.png b/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_install_04.png deleted file mode 100644 index 4c4f0b13c..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_install_04.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_objects.png b/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_objects.png deleted file mode 100644 index 58946eec9..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_objects.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_objects_01.png b/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_objects_01.png deleted file mode 100644 index 0122404ce..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_objects_01.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_objects_800.png b/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_objects_800.png deleted file mode 100644 index de36ac25b..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_objects_800.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_objects_small.png b/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_objects_small.png deleted file mode 100644 index e7941154d..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/adapter_harmony_objects_small.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/harmony.png b/docs/de/adapterref/iobroker.harmony/ru/media/harmony.png deleted file mode 100644 index 5d7694480..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/harmony.png and /dev/null differ diff --git a/docs/de/adapterref/iobroker.harmony/ru/media/harmony_850.jpg b/docs/de/adapterref/iobroker.harmony/ru/media/harmony_850.jpg deleted file mode 100644 index 30384dd03..000000000 Binary files a/docs/de/adapterref/iobroker.harmony/ru/media/harmony_850.jpg and /dev/null differ diff --git a/docs/de/adapterref/iobroker.hm-rega/README.md b/docs/de/adapterref/iobroker.hm-rega/README.md index f84caad96..a5ec1c1b3 100644 --- a/docs/de/adapterref/iobroker.hm-rega/README.md +++ b/docs/de/adapterref/iobroker.hm-rega/README.md @@ -2,14 +2,14 @@ # HomeMatic ReGaHSS ## Homematic ->Homematic ist das Smart Home System von eQ-3, das die umfassende Steuerung -unterschiedlichster Funktionen mithilfe von Szenarien (von einfach bis komplex) -in Haus oder Wohnung ermöglicht. +> Homematic ist das Smart Home System von eQ-3, das die umfassende Steuerung + unterschiedlichster Funktionen mithilfe von Szenarien (von einfach bis komplex) + in Haus oder Wohnung ermöglicht. ->Die Geräte beinhaltet Produkte zur Licht-, Rollladen- und Heizungssteuerung, -Gefahrenmelder, Sicherheitssensoren und Produkte zur Wetterdatenmessung. Die -Funkkommunikation vereinfacht dabei das Nachrüsten. In Neubauten können -Drahtbus-Komponenten eingesetzt werden. +> Die Geräte beinhaltet Produkte zur Licht-, Rollladen- und Heizungssteuerung, + Gefahrenmelder, Sicherheitssensoren und Produkte zur Wetterdatenmessung. Die + Funkkommunikation vereinfacht dabei das Nachrüsten. In Neubauten können + Drahtbus-Komponenten eingesetzt werden. [Quelle](https://www.eq-3.de/produkte/homematic.html) @@ -21,8 +21,7 @@ zwischen Homematic und ioBroker. Falls mehrere Zentralen in ioBroker eingebunden werden sollen, ist für jede Zentrale eine eigene Instanz zu installieren und konfigurieren. -Mit der Installation von ReGaHSS wird auch eine Instanz des Adapters
hm-rpc -installiert, die vorab konfiguriert und aktiviert werden sollte. +Mit der Installation von ReGaHSS wird auch eine Instanz des Adapters "hm-rpc"installiert, die vorab konfiguriert und aktiviert werden sollte. Eine Instanz dieses Adapters kann bis zu 5 unterschiedliche Instanzen des Homematic RPC Adapters verwalten, die verschiedene Dienste zur Verfügung stellen diff --git a/docs/de/adapterref/iobroker.hm-rpc/README.md b/docs/de/adapterref/iobroker.hm-rpc/README.md index e96063f38..ba2787c44 100644 --- a/docs/de/adapterref/iobroker.hm-rpc/README.md +++ b/docs/de/adapterref/iobroker.hm-rpc/README.md @@ -96,58 +96,47 @@ CUxD). Für jeden Typ muss eine eigene Instanz angelegt warden. Zur Kommunikation werden zwei Protokolle zur Verfügung gestellt: XML-RPC und BIN-RPC. -`CUxD benötigt zwingend das BIN-RPC-Protokoll; HMIP und RFD das -XML-RPC-Protokoll.` +*CUxD benötigt zwingend das BIN-RPC-Protokoll; HMIP und RFD das XML-RPC-Protokoll.* ### Synchronisiere Geräte neu (einmalig) - Beim erstmaligen Start des Adapters werden alle Geräte eingelesen. Werden später Änderungen innerhalb der CCU durchgeführt (Umbennung von Geräten, hinzufügen neuer Geräte usw.) ist diese Auswahl zu aktivieren und mit „Speichern und Schließen“ der Neustart des Adapters zu veranlassen. ### Adapter Addresse - Im Pulldown-Menü wird die IP des Hosts ausgewählt, auf dem der Adapter -installiert ist. Die Auswahl von „0.0.0.0. auf alle IPs hören“ und „127.0.0.1“ +installiert ist. Die Auswahl von "0.0.0.0. auf alle IPs hören" und "127.0.0.1" ist Spezialfällen vorbehalten. ### Adapter Port - -Standardmäßig ist hier Port “0” für die automatische Selektion des +Standardmäßig ist hier Port "0" für die automatische Selektion des ioBroker-Ports eingestellt und sollte nur in Ausnahmefällen verändert werden. ## Zusätzliche Einstellungen - ### Adapter Callback Addresse - Wenn ioBroker hinter einem Router (z.B. in einem Docker-Container) läuft, können sich Ein- und Ausgangsadresse unterscheiden. Wird hier die IP des Routers eingetragen, lässt sich das Problem umgehen, da dann das Weiterleiten zu ioBroker vom Router übernommen wird. ### Verbindungs-Check Intervall (sec) - Im festgelegten Intervall wird eine Ping-Anfrage an die CCU gesendet. ### Wiederverbindungs-Intervall (sec) - Zeitspanne, nach der ein erneuter Verbindungsversuch gestartet wird. ### Geräte nicht löschen - Geräte werden standardmäßig auch aus der Objektliste entfernt, wenn sie innerhalb der CCU abgelernt wurden. Um diese Geräte in der Objektliste zu behalten, beispielweise weil sie nur temporär entfernt wurden, kann diese Option aktiviert werden. ### Nutze HTTPS - Ist diese Option aktiviert, wird eine sichere Verbindung hergestellt. Funktioniert nur mit XML-RPC Protokoll. ### Nutzername und Passwort - Bei Nutzung von HTTPS oder falls für die API der CCU eine Authentifikation erforderlich ist, sind die Daten hier einzutragen. @@ -173,7 +162,6 @@ Geräte werden unter ihrer Seriennummer angelegt und Gruppen mit INT000000*x* bezeichnet. ### Kanal 0 (alle Geräte) - Dieser Kanal wird für jedes Gerät angelegt und enthält Funktionsdaten, nachfolgend eine kurze Übersicht: | *Datenpunkt* | *Bedeutung* | @@ -187,7 +175,6 @@ Dieser Kanal wird für jedes Gerät angelegt und enthält Funktionsdaten, nachfo | Unreach/unreach alarm | Systemmeldung Kommunikationsfehler (aktueller Zustand) | ### Kanal 1-6 - Hier sind Messwerte, Steuerungs- und Zustandsdaten aufgelistet; je nach Funktion des Gerätes werden unterschiedliche Daten angezeigt. Nachfolgend ein kurzer Auszug: diff --git a/docs/de/adapterref/iobroker.mihome/README.md b/docs/de/adapterref/iobroker.mihome/README.md index 4514386de..75f8f3367 100644 --- a/docs/de/adapterref/iobroker.mihome/README.md +++ b/docs/de/adapterref/iobroker.mihome/README.md @@ -13,44 +13,44 @@ werden. * Betriebsbereites ioBroker System ### Installation der Mi Home App und freischalten der lokalen Netzwerk Funktion - #### Android + * [Android App](https://play.google.com/store/apps/details?id=com.xiaomi.smarthome) auf einem Android Gerät herunterladen, installieren, öffnen und den Geschäftsbedingungen zustimmen. -* Als Land `Festland-China` auswählen -* Über `Anmelden` ein Konto erstellen +* Als Land *Festland-China* auswählen +* Über *Anmelden* ein Konto erstellen * Nach der erfolgreichen Anmeldung über `+` ein Gerät hinzufügen -* Unter `Haushaltssicherheit` den `MI Control Hub` auswählen und den Anweisungen +* Unter *Haushaltssicherheit* den `MI Control Hub` auswählen und den Anweisungen folgen * Nach erfolgreichem einbinden des Gateways die 3 Punkte am oberen rechten Bildschirm -und danach `About` betätigen -* Den Text `Plug-in version` unten 10mal tippen +und danach *About* betätigen +* Den Text *Plug-in version* unten 10mal tippen * Nun ist der Entwickler Modus eingeschaltet und es sollten nach einer gewissen Zeit 2 weitere Menüpunkte erscheinen ->Falls nicht, wiederholt versuchen +> Falls nicht, wiederholt versuchen * Den Menüpunkt `Wireless communication protocol` auswählen * Den Schiebeschalter oben einschalten, das Passwort notieren und mit `OK` bestätigen. ->Das Passwort wird später bei der ioBroker Installation benötigt. +> Das Passwort wird später bei der ioBroker Installation benötigt. Nun können weitere Geräte über das `+` Zeichen angelernt werden. #### iOS * [iOS App](https://itunes.apple.com/de/app/mi-home-xiaomi-smarthome/id957323480?mt=8) auf einem iOS Gerät herunterladen, installieren, öffnen und der Datenschutzerklärung zustimmen -* Über Profil/Einstellungen/Ländereinstellungen das Land `Festland` auswählen. -* Über `Anmelden` ein Konto erstellen +* Über Profil/Einstellungen/Ländereinstellungen das Land *Festland* auswählen. +* Über *Anmelden* ein Konto erstellen * Nach der erfolgreichen Anmeldung über `+` ein Gerät hinzufügen -* Unter `Haushalt Sicherheit` den `MI Control Hub` auswählen und den Anweisungen +* Unter *Haushalt Sicherheit* den `MI Control Hub` auswählen und den Anweisungen folgen * Nach erfolgreichem einbinden des Gateways die 3 Punkte am oberen rechten Bildschirm -betätigen und `About` betätigen +betätigen und *About* betätigen * Wiederholt im leeren unteren Bereich tippen * Nun ist der Entwickler Modus eingeschaltet und es sollten nach einer gewissen Zeit weitere Menüpunkte erscheinen > Falls es nicht gleich klappt, die Schritte wiederholen * Den 4. Menüpunkt auswählen * Den Schiebeschalter oben einschalten, das Passwort notieren und mit `OK` bestätigen. ->Das Passwort wird später bei der ioBroker Installation benötigt. +> Das Passwort wird später bei der ioBroker Installation benötigt. Nun können weitere Geräte über das `+` Zeichen angelernt werden. @@ -100,7 +100,7 @@ Die folgende Aufstellung erhebt keinen Anspruch auf Vollständigkeit: ## ioBroker Mi Home Adapter Installation Weitere Einstellungen erfolgen nur noch über die ioBroker Admin-Oberfläche. -Den Adapter im Bereich `Adapter` suchen und über das `+` Zeichen installieren. +Den Adapter im Bereich *Adapter* suchen und über das `+` Zeichen installieren. ![Logo](media/Adapter.png) @@ -108,13 +108,13 @@ Es öffnet sich dann folgendes Konfigurationsfenster: ![Logo](media/Adapterconfig1.PNG) -Unter `Default Gateway Key` das oben ermittelte Passwort eintragen und mit `speichern` -`und schließen` das Fenster schließen. Der laufende Adapter sollte danach unter -`Instanzen` grün angezeigt werden: +Unter `Default Gateway Key` das oben ermittelte Passwort eintragen und mit *speichern* +*und schließen* das Fenster schließen. Der laufende Adapter sollte danach unter +*Instanzen* grün angezeigt werden: ![Logo](media/Instanz.PNG) -Unter `Objekte` wird nun das Gateway und seine angelernten Geräte angezeigt: +Unter *Objekte* wird nun das Gateway und seine angelernten Geräte angezeigt: ![Logo](media/Objekte.PNG) diff --git a/docs/de/adapterref/iobroker.tradfri/README.md b/docs/de/adapterref/iobroker.tradfri/README.md index cc2c4da45..ff6f9110c 100644 --- a/docs/de/adapterref/iobroker.tradfri/README.md +++ b/docs/de/adapterref/iobroker.tradfri/README.md @@ -1,18 +1,7 @@ ![Logo](media/tradfri.png) -Ikea tradfri Adapter -============= - -| Stand der Doku | 10.01.2019 | -|----------------|---------------------------------| -| Entwickler | AlCalzone | -| Kategorie | ioT Systeme | -| Keywords | Ikea, Tradfri, SmartHome | -| Abhängigkeiten | | -| Lizenz | MIT | - -Tradfri ---------- +# Ikea tradfri Adapter +## Tradfri Tradfri ist ein SmartHome System der Firma Ikea. Zum jetzigen Zeitpunkt umfasst dieses System verschiedenste Komponenten aus: @@ -26,8 +15,7 @@ dieses System verschiedenste Komponenten aus: Das Tradfri System ist somit eines der umfangreichesten SmartHome Komponentensystem was es momentan auf dem Markt gibt. -Voraussetzungen zur Verwendung von Tradfri mit ioBroker ---------------------------------------------------------------- +## Voraussetzungen zur Verwendung von Tradfri mit ioBroker - RaspberryPi 3 Model B+ - Tradfri Gateway @@ -35,9 +23,7 @@ Voraussetzungen zur Verwendung von Tradfri mit ioBroker - Tradfri Fernbedienung -Verwaltung und Steuerung von Tradfri mit ioBroker ---------------------------------------------------------------- - +## Verwaltung und Steuerung von Tradfri mit ioBroker Um Tradfri mit ioBroker optimal zu verwalten und zu steuern wird folgender Adapter benötigt: @@ -52,7 +38,6 @@ zwischen ioBroker, Gateway und Komponenten. ### Installation des Adapters und Konfiguration der Instanz - Schritt 1. - Installieren des Adapters durch klicken auf ![Adapter](media/Adapter.PNG) in der linken Navigationsleiste des Webinterface diff --git a/docs/de/adapterref/iobroker.tr-064/README.md b/docs/en/adapterref/iobroker.tr-064/README.md similarity index 91% rename from docs/de/adapterref/iobroker.tr-064/README.md rename to docs/en/adapterref/iobroker.tr-064/README.md index 7af245ea2..2054c2bc1 100644 --- a/docs/de/adapterref/iobroker.tr-064/README.md +++ b/docs/en/adapterref/iobroker.tr-064/README.md @@ -1,14 +1,6 @@ ![Logo](media/tr-064.png) # ioBroker.tr-064 -[![NPM version](http://img.shields.io/npm/v/iobroker.tr-064.svg)](https://www.npmjs.com/package/iobroker.tr-064) -[![Tests](http://img.shields.io/travis/soef/ioBroker.tr-064/master.svg)](https://travis-ci.org/soef/ioBroker.tr-064) -[![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](https://github.com/soef/iobroker.tr-064/blob/master/LICENSE) - - - -***This adapter requires at least Node 4.x*** - ### Info This adapter reads main information from AVM Fritz!Box, like call list or number of messages on answering machine. Based on this [AVM documentations](https://avm.de/service/schnittstellen/) diff --git a/docs/de/adapterref/iobroker.tr-064/media/tr-064.png b/docs/en/adapterref/iobroker.tr-064/media/tr-064.png similarity index 100% rename from docs/de/adapterref/iobroker.tr-064/media/tr-064.png rename to docs/en/adapterref/iobroker.tr-064/media/tr-064.png diff --git a/docs/en/imprint.md b/docs/en/imprint.md index 9e94ec202..9652a5ce2 100644 --- a/docs/en/imprint.md +++ b/docs/en/imprint.md @@ -1,7 +1,6 @@ -# Impressum - -## According to § 5 TMG: +# Imprint +## According to §5 TMG ioBroker GmbH Lorenzstr. 16 76135 Karlsruhe, Germany @@ -16,19 +15,15 @@ Contact: E-Mail: info@iobroker.net ## Sources for the images and graphics used: -Icons made by [Freepik](http://www.freepik.com/) from [www.flaticon.com] (www.flaticon.com) is licensed by CC BY 3.0 -Icons made by [Victor Erixon](http://www.flaticon.com/authors/victor-erixon) from [www.flaticon.com] (www.flaticon.com) is licensed by CC BY 3.0 +Icons made by [Freepik](http://www.freepik.com/) from [www.flaticon.com](www.flaticon.com) is licensed by CC BY 3.0 +Icons made by [Victor Erixon](http://www.flaticon.com/authors/victor-erixon) from [www.flaticon.com](www.flaticon.com) is licensed by CC BY 3.0 ## Disclaimer - ### Liability for content - As a service provider we are responsible according to § 7 Abs.1 TMG for own contents on these sides according to the general laws. According to §§ 8 to 10 TMG, however, we as a service provider are not obliged to monitor transmitted or stored external information or to investigate circumstances that indicate illegal activity. Obligations to remove or block the use of information under general law remain unaffected. A liability in this regard, however, is only possible from the date of knowledge of a specific infringement. Upon notification of appropriate violations, we will remove this content immediately. ### Liability for links - Our offer contains links to external websites of third parties on whose contents we have no influence. Therefore, we can not assume any liability for these external contents. The respective provider or operator of the pages is always responsible for the contents of the linked pages. The linked pages were checked for possible legal violations at the time of linking. Illegal content was not recognizable at the time of linking. However, a permanent content control of the linked pages is not reasonable without concrete evidence of an infringement. Upon notification of violations, we will remove such links immediately. ### Copyright - The content and works on these pages created by the site operators are subject to German copyright law. The reproduction, processing, distribution and any kind of exploitation outside the limits of copyright require the written consent of the respective author or creator. Downloads and copies of this site are for private, non-commercial use only. As far as the contents on this side were not created by the operator, the copyrights of third parties are considered. In particular contents of third parties are marked as such. If you should still be aware of a copyright infringement, we ask for a note. Upon notification of violations, we will remove such content immediately. \ No newline at end of file diff --git a/engine/build-lib/consts.js b/engine/build-lib/consts.js index 664b32b22..5ed68ffa7 100644 --- a/engine/build-lib/consts.js +++ b/engine/build-lib/consts.js @@ -5,7 +5,7 @@ module.exports = { SRC_DOC_DIR: path.join(path.normalize(__dirname + '/../../docs/')).replace(/\\/g, '/'), SRC_BLOG_DIR: path.join(path.normalize(__dirname + '/../../blog/')).replace(/\\/g, '/'), GITHUB_EDIT_ROOT: 'https://github.com/ioBroker/ioBroker.docs/edit/engine/', - LANGUAGES: ['de', 'en', 'ru'], + LANGUAGES: ['de', 'en', 'ru', 'zh-cn'], OVERVIEW: { @@ -55,5 +55,17 @@ module.exports = { "visualization-widgets": { "en": "Visualization Widgets", "de": "Visualisierung Widgets", "ru": "Визуальные виджеты", "pt": "Widgets de visualização", "nl": "Visualisatie Widgets", "fr": "Widgets de visualisation", "it": "Widget di visualizzazione", "es": "Widgets de visualización", "pl": "Widżetowe widżety"}, "visualization": { "en": "Visualisation", "de": "Visualisierung", "ru": "Визуализация", "pt": "Visualização", "nl": "Visualisatie", "fr": "Visualisation", "it": "visualizzazione", "es": "Visualización", "pl": "Wyobrażanie sobie"}, "weather": { "en": "Weather", "de": "Wetter", "ru": "Погода", "pt": "Tempo", "nl": "Weer", "fr": "Météo", "it": "Tempo metereologico", "es": "Tiempo", "pl": "Pogoda"}, + }, + TRANSLATION_NOTICE: { + "en": "If you want to edit this document please delete \"translatedFrom\" field, elsewise this document will be translated automatically again", + "de": "Wenn Sie dieses Dokument bearbeiten möchten, löschen Sie bitte das Feld \"translationsFrom\". Andernfalls wird dieses Dokument automatisch erneut übersetzt", + "ru": "Если вы хотите отредактировать этот документ, удалите поле «translationFrom», в противном случае этот документ будет снова автоматически переведен", + "pt": "Se você quiser editar este documento, por favor, exclua o campo \"translatedFrom\", caso contrário este documento será traduzido automaticamente novamente", + "nl": "Als u dit document wilt bewerken, verwijder dan het veld \"translationFrom\", anders wordt dit document automatisch opnieuw vertaald", + "fr": "Si vous souhaitez éditer ce document, supprimez le champ \"translateFrom\", sinon ce document sera traduit de nouveau automatiquement.", + "it": "Se vuoi modificare questo documento, cancella il campo \"translatedFrom\", altrimenti questo documento verrà automaticamente tradotto di nuovo", + "es": "Si desea editar este documento, elimine el campo \"traducido de\", de lo contrario, este documento se traducirá automáticamente de nuevo", + "pl": "Jeśli chcesz edytować ten dokument, usuń pole „translatedFrom”, w przeciwnym razie ten dokument zostanie ponownie przetłumaczony automatycznie", + "zh-cn": "如果您想编辑此文档,请删除“translatedFrom”字段,否则此文档将再次自动翻译" } }; diff --git a/engine/build-lib/documentaion.js b/engine/build-lib/documentaion.js index 2f9b7621f..dd23b409a 100644 --- a/engine/build-lib/documentaion.js +++ b/engine/build-lib/documentaion.js @@ -55,7 +55,6 @@ async function translateTitle(title) { }); } - return words; } @@ -183,8 +182,9 @@ function replaceImages(text, sourceFile, targetFile) { sourceFile = sourceFile.substring(i); const tParts = targetFile.split('/'); const sParts = sourceFile.split('/'); + sParts.pop(); - const prefix = Array(tParts.length).join('../'); + const prefix = Array(tParts.length).join('../') + sParts.join('/'); lines.forEach((line, i) => { // Find images in line and store it @@ -202,9 +202,9 @@ function replaceImages(text, sourceFile, targetFile) { link = link.substring(0, pos); } if (!link.match(/^https?:/)) { - link = prefix + link; + link = prefix + (link[0] === '/' ? link : '/' + link); - lines[i] = lines[i].replace(item, `![${text}](${link}${title ? ' ' + title: ''})`); + lines[i] = lines[i].replace(item, `![${text}](${link}${title ? ' "' + title + '"' : ''})`); } } }); @@ -223,16 +223,19 @@ async function translateFile(sourceFileName, fromLang, toLang, root) { } header.translatedFrom = fromLang; + header.translatedWarning = consts.TRANSLATION_NOTICE[toLang]; header.editLink = consts.GITHUB_EDIT_ROOT + 'docs/' + targetFileName.replace(root, ''); let actualText; if (fs.existsSync(targetFileName)) { - let {body, header} = utils.extractHeader(fs.readFileSync(targetFileName).toString('utf-8')); - actualText = body; + let result = utils.extractHeader(fs.readFileSync(targetFileName).toString('utf-8')); + actualText = result.body; if (header.translatedFrom !== fromLang) { return Promise.resolve(); } - if (header.hash === utils.getFileHash(body)) { + const data = extractLicenseAndChangelog(body); + + if (result.header.hash === utils.getFileHash(data.body)) { return Promise.resolve(); } } @@ -250,7 +253,8 @@ async function translateFile(sourceFileName, fromLang, toLang, root) { }).then(title => { header.title = title; header.translatedFrom = fromLang; - header.hash = utils.getFileHash(body); + header.translatedWarning = consts.TRANSLATION_NOTICE[toLang]; + header.hash = utils.getFileHash(data.body); utils.writeSafe(targetFileName, utils.addHeader(addChangelogAndLicense(actualText, data.changelog, data.license), header)); console.log(`WARNING: File ${sourceFileName.replace(root, '/')} was translated from ${fromLang} to ${toLang} automatically`); }); @@ -336,7 +340,7 @@ if (!module.parent) { }); });*/ - translateFile('C:/pWork/ioBroker.docs/docs/de/adapterref/iobroker.fritzbox/README.md', 'de', 'ru') + translateFile('C:/pWork/ioBroker.docs/docs/de/adapterref/iobroker.harmony/README.md', 'de', 'ru') .then(() => { console.log('done'); }) diff --git a/engine/build-lib/translation.js b/engine/build-lib/translation.js index fb1201a32..67cc31cac 100644 --- a/engine/build-lib/translation.js +++ b/engine/build-lib/translation.js @@ -144,34 +144,37 @@ function partsTake(text, addIds) { let current = ''; lines.forEach(line => { let last = parts.length - 1; - line = line.trim() - if (line.startsWith('|') && line.endsWith('|')) { - parts.push({type: 't', lines: [line]}); - } else - if (line.startsWith('')) { current = ''; line = line.substring(0, line.length - 4); @@ -313,9 +316,21 @@ function partsTake(text, addIds) { function partsSave(parts, saveNoSource) { const lines = []; parts.forEach((part, i) => { - let text = part.text || part.lines.join('\n'); + let text = (part.text || part.lines.join('\n')).trim(); + + if (part.type === 'code') { + console.log(text) + + } + if (text.replace(/\n/g, '').trim() || (part.original && part.original.replace(/\n$/, ''))) { text = text.replace(/\n$/, ''); + if (part.type === 'h') { + const m = text.match(/^(#*) (.+)$/); + if (m) { + text = m[1] + ' ' + m[2][0].toUpperCase() + m[2].substring(1); + } + } if (part.links) { part.links.forEach((item, i) => { @@ -333,11 +348,10 @@ function partsSave(parts, saveNoSource) { } if (part.images) { part.images.forEach((item, i) => { - text = text.replace(`§§IIIII_${i}§§`, `![${item.text}](${item.link}${item.title ? ' ' + item.title : ''})`); + text = text.replace(`§§IIIII_${i}§§`, `![${item.text}](${item.link}${item.title ? ' "' + item.title + '"' : ''})`); }); } - if (part.original) { // if last line is empty, put just before it if (text.match(/\n$/)) { @@ -356,6 +370,7 @@ function partsSave(parts, saveNoSource) { !saveNoSource && lines.push('\n'); } } + // do not add new line after headers and tables (only after last table line) if (part.type !== 'h' && part.type !== 't') { lines.push('\n'); @@ -505,7 +520,7 @@ function translateText(fromLang, text, toLang) { return Promise.resolve(text); } else // detect table header and do not translate it - if (text.trim().match(/^[|-]$/)) { + if (text.trim().match(/^[-|:]$/)) { return Promise.resolve(text); } else // it must be some words and not only special chars @@ -558,7 +573,7 @@ function translateText(fromLang, text, toLang) { if (text.indexOf(' ** ') !== -1) { // then with ** - let parts = text.split(' **'); + let parts = text.split(/ \*\*[^*]/); if (parts.length > 1) { if (parts.length % 2 === 0) { console.error('Cannot restore formatting!: ' + text); @@ -578,7 +593,7 @@ function translateText(fromLang, text, toLang) { // then with * const pos = text.indexOf(' * ') !== -1; if (pos !== -1 && pos) { - let parts = text.split(' *'); + let parts = text.split(/ \*[^*]/); if (parts.length > 1) { if (parts.length % 2 === 0) { console.error('Cannot restore formatting!: ' + text); @@ -611,6 +626,7 @@ function translateText(fromLang, text, toLang) { }); } }*/ + text = text.replace(/& EMSP;/ig, ' '); return text; }); diff --git a/engine/front-end/src/App.js b/engine/front-end/src/App.js index 9e9817d8b..4dd183413 100644 --- a/engine/front-end/src/App.js +++ b/engine/front-end/src/App.js @@ -75,10 +75,10 @@ const styles = theme => ({ }); const LANGUAGES = { - 'en': 'En', - 'de': 'De', - 'ru': 'Ру', - 'zh-cn': 'zh-cn' + 'en': {full: 'English', short: 'En'}, + 'de': {full: 'Deutsch', short: 'De'}, + 'ru': {full: 'Русский', short: 'Ру'}, + 'zh-cn': {full: 'Chinese', short: 'zh-cn'}, }; const PAGES = { @@ -199,7 +199,7 @@ class App extends Router { this.setState({languageMenu: true, anchorMenu: e.target}); }}> - {this.state.language.toUpperCase()} + {LANGUAGES[this.state.language].short} , this.state.languageMenu ? [ ( { @@ -211,7 +211,7 @@ class App extends Router { const location = Router.getLocation(); this.onNavigate(lang, location.tab, location.page, location.chapter); }) - }>{LANGUAGES[lang].toUpperCase()} + }>{LANGUAGES[lang].full} ))} ) ] : null diff --git a/engine/front-end/src/Markdown.js b/engine/front-end/src/Markdown.js index d556bf1d2..d3a04da89 100644 --- a/engine/front-end/src/Markdown.js +++ b/engine/front-end/src/Markdown.js @@ -21,6 +21,7 @@ import Router from './Router'; import Loader from './Components/Loader'; import I18n from './i18n'; import Utils from './Utils'; +import Page404 from './Pages/404'; const styles = theme => ({ root: { @@ -211,6 +212,7 @@ class Markdown extends Router { content: {}, license: '', changeLog: '', + notFound: false, hideContent: window.localStorage ? window.localStorage.getItem('Docs.hideContent') === 'true' : false, }; @@ -271,6 +273,11 @@ class Markdown extends Router { fetch(`${language}${path[0] === '/' ? path : '/' + path}`) .then(res => res.text()) .then(text => { + if (text.startsWith('')) { + // page not found + return this.setState({notFound: true}); + } + const {header, body, content, license, changeLog} = this.format(text); let _title = header.title || Utils.getTitle(text); if (_title) { @@ -466,6 +473,9 @@ class Markdown extends Router { } render() { + if (this.state.notFound) { + return (); + } if (this.state.loadTimeout && !this.state.text) { return (); } diff --git a/engine/front-end/src/Pages/404.js b/engine/front-end/src/Pages/404.js new file mode 100644 index 000000000..b98cfb935 --- /dev/null +++ b/engine/front-end/src/Pages/404.js @@ -0,0 +1,113 @@ +import React, {Component} from 'react'; +import {withStyles} from '@material-ui/core/styles'; +import PropTypes from 'prop-types'; + +/* +Copyright 2019 Robin Selmer +https://codepen.io/robinselmer/pen/vJjbOZ +*/ + +const styles = theme => ({ + content: Object.assign({background: 'black', position: 'absolute', top: 0, bottom: 0, left: 0, right: 0}, theme.content), + root: { + boxSizing: 'border-box', + height: '100%', + width: '100%', + backgroundColor: '#000000', + backgroundImage: 'radial-gradient(#104254 , #05181c)', + fontFamily: "'Inconsolata', Helvetica, sans-serif", + fontSize: '1.5rem', + color: 'rgba(128, 175, 255, 0.8)', + textShadow: + `0 0 1ex rgba(51, 70, 255, 1), + 0 0 2px rgba(255, 255, 255, 0.8)` + }, + overlay: { + pointerEvents: 'none', + width: '100%', + height: '100%', + background: + `repeating-linear-gradient( + 180deg, + rgba(0, 0, 0, 0) 0, + rgba(0, 0, 0, 0.3) 50%, + rgba(0, 0, 0, 0) 100%)`, + backgroundSize: 'auto 4px', + zIndex: 99, + '&::before': { + content: '""', + pointerEvents: 'none', + position: 'absolute', + display: 'block', + top: 0, + left: 0, + right: 0, + bottom: 0, + width: '100%', + height: '100%', + backgroundImage: `linear-gradient( + 0deg, + transparent 0%, + rgba(32, 50, 128, 0.2) 2%, + rgba(32, 50, 128, 0.8) 3%, + rgba(32, 50, 128, 0.2) 3%, + transparent 100%)`, + backgroundRepeat: 'no-repeat', + animation: 'scan 7.5s linear 0s infinite', + } + }, + + terminal: { + boxSizing: 'inherit', + position: 'absolute', + height: '100%', + width: '1000px', + maxWidth: '100%', + padding: '4rem', + textTransform: 'uppercase', + }, + output: { + color: 'rgba(128, 175, 255, 0.8)', + textShadow: ` + 0 0 1px rgba(51, 70, 255, 0.4), + 0 0 2px rgba(255, 255, 255, 0.8)`, + '&::before': { + content: '"> "' + } + }, + errorcode: { + color: 'white' + } +}); + +class Page404 extends Component { + + render() { + //

Please try this link or this link

+ + return [ + (
+
+
+
+

Error404

+

The page you are looking for might have been removed, + had its name changed or + is temporarily unavailable

+

Good luck

+
+
+
+
) + ]; + } +} + +Page404.propTypes = { + language: PropTypes.string, + onNavigate: PropTypes.func, + theme: PropTypes.string, + mobile: PropTypes.bool +}; + +export default withStyles(styles)(Page404); diff --git a/engine/front-end/src/Pages/Adapters.js b/engine/front-end/src/Pages/Adapters.js index 1a717aae8..aae17bbc8 100644 --- a/engine/front-end/src/Pages/Adapters.js +++ b/engine/front-end/src/Pages/Adapters.js @@ -34,6 +34,7 @@ const styles = theme => ({ maxWidth: 350, display: 'inline-block', verticalAlign: 'top', + textAlign: 'left', }, cardMedia: { height: 64, @@ -63,7 +64,8 @@ const styles = theme => ({ borderBottom: '1px solid #DDD' }, details: { - display: 'inline-block' + display: 'inline-block', + textAlign: 'center' }, pageHeader: { marginLeft: 20, @@ -387,7 +389,7 @@ class Adapters extends Component { } } - renderType(type) { + renderType(type, i) { const items = this.state.content.pages[type]; if (!items || !items.pages) return; @@ -400,7 +402,11 @@ class Adapters extends Component { } return ( this.onToggle(type, e)}> - } className={isExpanded ? this.props.classes.titleExpanded : ''}>{ + } + style={{width: 'calc(100% - 48px)'}} //workaround because of the bug. On mobile devices the first element is broken + className={isExpanded ? this.props.classes.titleExpanded : ''} + >{ this.state.content.pages[type].title[this.props.language] || this.state.content.pages[type].title.en || type } diff --git a/engine/front-end/src/i18n/de.json b/engine/front-end/src/i18n/de.json index 6dad65185..463f2c551 100644 --- a/engine/front-end/src/i18n/de.json +++ b/engine/front-end/src/i18n/de.json @@ -27,7 +27,7 @@ "Read": "Lesen", "Stable:": "Stabil:", "Total:": "Gesamt:", - "Translated from %s": "Diese Seite wurde automatisch von \"%s\" übersetzt. Helfen Sie uns, diese Seite ins Englische zu übersetzen, indem Sie unten auf Bearbeiten klicken.", + "Translated from %s": "Diese Seite wurde automatisch von \"%s\" übersetzt. Helfen Sie uns, diese Seite auf Deutsch zu übersetzen, indem Sie unten auf Bearbeiten klicken.", "ioBroker Blog": "ioBroker Blog", "password": "Passwort", "posted on %s": "gepostet am %s", diff --git a/engine/front-end/src/i18n/ru.json b/engine/front-end/src/i18n/ru.json index a90bea851..713ae452c 100644 --- a/engine/front-end/src/i18n/ru.json +++ b/engine/front-end/src/i18n/ru.json @@ -1,20 +1,20 @@ { - "About": "Около", - "Adapters": "адаптеры", + "About": "О проекте", + "Adapters": "Адаптеры", "All": "Все", "Authors:": "Авторы:", "Blog": "Блог", - "Cloud": "облако", + "Cloud": "Облако", "Collapse all": "Свернуть все", "Date": "Дата", - "Details": "подробности", + "Details": "Подробности", "Documentation": "Документация", "Download": "Скачать", "Edit on github": "Редактировать на github", "Expand all": "Расширить все", "Filter": "Фильтр", "Github": "Github", - "Imprint": "выходные данные", + "Imprint": "О компании", "Info": "Информация", "Installs:": "Установок:", "Last changed:": "Последнее изменение:", @@ -27,7 +27,7 @@ "Read": "Читать", "Stable:": "Стабильная:", "Total:": "Всего:", - "Translated from %s": "Эта страница была автоматически переведена с \"%s\". Помогите нам перевести эту страницу на английский, нажав «Изменить» ниже.", + "Translated from %s": "Эта страница была автоматически переведена с \"%s\". Помогите нам перевести эту страницу на русский, нажав «Редактировать» ниже.", "ioBroker Blog": "Блог ioBroker", "password": "пароль", "posted on %s": "опубликовано на %s", diff --git a/engine/front-end/src/index.css b/engine/front-end/src/index.css index d68fe8dde..691f48b82 100644 --- a/engine/front-end/src/index.css +++ b/engine/front-end/src/index.css @@ -33,6 +33,12 @@ body { overflow: hidden; } +/* used for 404 */ +@keyframes scan { + 0% { background-position: 0 -100vh; } + 35%, 100% { background-position: 0 100vh; } +} + /* latin-ext */ @font-face { font-family: 'Audiowide'; @@ -82,4 +88,29 @@ body { font-weight: 400; src: local('Dosis Regular'), local('Dosis-Regular'), url(./assets/fonts/terminal-dosis-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +/* vietnamese */ +@font-face { + font-family: 'Inconsolata'; + font-style: normal; + font-weight: 400; + src: local('Inconsolata Regular'), local('Inconsolata-Regular'), url(https://fonts.gstatic.com/s/inconsolata/v17/QldKNThLqRwH-OJ1UHjlKGlW5qhWxg.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Inconsolata'; + font-style: normal; + font-weight: 400; + src: local('Inconsolata Regular'), local('Inconsolata-Regular'), url(https://fonts.gstatic.com/s/inconsolata/v17/QldKNThLqRwH-OJ1UHjlKGlX5qhWxg.woff2) format('woff2'); + unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Inconsolata'; + font-style: normal; + font-weight: 400; + src: local('Inconsolata Regular'), local('Inconsolata-Regular'), url(https://fonts.gstatic.com/s/inconsolata/v17/QldKNThLqRwH-OJ1UHjlKGlZ5qg.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } \ No newline at end of file diff --git a/media/ioBroker_logo_b.png b/media/ioBroker_logo_b.png index 62685186c..69980845d 100644 Binary files a/media/ioBroker_logo_b.png and b/media/ioBroker_logo_b.png differ diff --git a/media/iobroker_logo.svg b/media/iobroker_logo.svg new file mode 100644 index 000000000..b48bdce10 --- /dev/null +++ b/media/iobroker_logo.svg @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/iobroker_logo_small.svg b/media/iobroker_logo_small.svg new file mode 100644 index 000000000..41db56e44 --- /dev/null +++ b/media/iobroker_logo_small.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + +