ECOVACS ioBroker UNIVERSAL v7.8
KOMPLETTE INSTALLATIONS- UND BEDIENUNGSANLEITUNG
=================================================
ZIEL
====
Dieses Paket ist für eine beliebige ioBroker-Installation gedacht.
Es ist NICHT auf bestimmte Namen wie Luna oder Sky fest programmiert.
Das Paket versucht automatisch alle vorhandenen Ecovacs-Instanzen zu erkennen.
Typische Instanzen sind zum Beispiel:
ecovacs-deebot.0
ecovacs-deebot.1
ecovacs-deebot.2
Die Instanznummer ist egal.
PAKETINHALT
===========
1. 01_Ecovacs_Universal_Setup_v7.8.js
2. 02_Ecovacs_Universal_Runtime_v7.8.js
3. 03_Ecovacs_Universal_VIS_v7.8.js
4. KOMPLETTANLEITUNG_v7.8.txt
5. KURZANLEITUNG_v7.8.txt
VORAUSSETZUNGEN
===============
Auf dem Zielsystem müssen vorhanden sein:
- ioBroker
- JavaScript-Adapter
- Ecovacs-Deebot-Adapter
- mindestens ein eingerichteter Ecovacs-Sauger
Der Ecovacs-Adapter muss bereits funktionieren.
Unter:
Objekte
sollten Datenpunkte vorhanden sein, die mit:
ecovacs-deebot.
beginnen.
============================================================
1. DREI JAVASCRIPT-SKRIPTE ANLEGEN
============================================================
In ioBroker:
Skripte -> JavaScript
drei neue JavaScript-Skripte anlegen.
Zum Beispiel:
Ecovacs - Setup
Ecovacs - Runtime
Ecovacs - VIS
In "Ecovacs - Setup" den kompletten Inhalt von:
01_Ecovacs_Universal_Setup_v7.8.js
einfügen.
In "Ecovacs - Runtime" den kompletten Inhalt von:
02_Ecovacs_Universal_Runtime_v7.8.js
einfügen.
In "Ecovacs - VIS" den kompletten Inhalt von:
03_Ecovacs_Universal_VIS_v7.8.js
einfügen.
WICHTIG:
Nicht diese Anleitung in ein JavaScript-Skript kopieren.
============================================================
2. ERSTINSTALLATION
============================================================
Zuerst:
Setup = AN
Runtime = AUS
VIS = AUS
Das Setup sucht automatisch nach allen:
ecovacs-deebot.*
Instanzen.
Es versucht automatisch zu erkennen:
- Gerätename
- Adapter-Prefix
- Map-ID
- Räume / spotAreas
Danach wird unter:
0_userdata.0.Sauger
für jeden gefundenen Sauger eine eigene Struktur angelegt.
Beispiele:
0_userdata.0.Sauger.Deebot_T20
0_userdata.0.Sauger.Sauger_1
============================================================
3. SETUP PRÜFEN
============================================================
Unter:
Objekte -> 0_userdata -> 0 -> Sauger
sollte mindestens ein Sauger erscheinen.
Darin sollten unter anderem vorhanden sein:
name
deebotPrefix
mapId
Runtime
Map
Rooms
VIS
Wenn das vorhanden ist:
Setup = AUS
Das Setup bleibt im normalen Betrieb ausgeschaltet.
============================================================
4. RUNTIME STARTEN
============================================================
Jetzt:
Runtime = AN
Das Runtime-Skript enthält zusammen:
- Kartenquellen-Erkennung
- Position
- Fahrspur
- Raum-Auswahl-Synchronisierung
- automatische Raumflächen-Erkennung
- automatische AutoBounds-Berechnung
Das Runtime-Skript verarbeitet automatisch alle Sauger unter:
0_userdata.0.Sauger.*.deebotPrefix
============================================================
5. VIS STARTEN
============================================================
Jetzt:
VIS = AN
Das VIS-Skript erzeugt pro Sauger:
0_userdata.0.Sauger.<Name>.VIS.html
Beispiel:
0_userdata.0.Sauger.Deebot_T20.VIS.html
============================================================
6. VIS-WIDGET EINRICHTEN
============================================================
In VIS verwenden:
Basic -> String (unescaped)
Als Objekt-ID direkt eintragen:
0_userdata.0.Sauger.<Name>.VIS.html
Beispiel:
0_userdata.0.Sauger.Deebot_T20.VIS.html
WICHTIG:
Keine geschweiften Klammern verwenden.
RICHTIG:
0_userdata.0.Sauger.Deebot_T20.VIS.html
FALSCH:
{0_userdata.0.Sauger.Deebot_T20.VIS.html}
============================================================
7. KARTENGRÖSSE
============================================================
Die Karte verwendet immer:
100% der verfügbaren Widget-Breite
und behält automatisch das Seitenverhältnis:
540 : 231
Das bedeutet:
Wenn das Widget breiter oder schmaler gezogen wird, skaliert die Karte mit.
Beispiele:
540 px breit -> 231 px hoch
720 px breit -> ca. 308 px hoch
900 px breit -> ca. 385 px hoch
1080 px breit -> ca. 462 px hoch
Wichtig:
Das VIS-Widget sollte hoch genug sein, damit die Karte nicht abgeschnitten wird.
============================================================
8. HINTERGRUND EINSTELLEN
============================================================
Neu in v7.8:
Der Hintergrund ist pro Sauger einstellbar.
Datenpunkt:
0_userdata.0.Sauger.<Name>.VIS.background
Standard:
#2b2b2b
Beispiele:
TRANSPARENT:
transparent
SCHWARZ:
#000000
DUNKELGRAU:
#1e1e1e
WEISS:
#ffffff
HALBTRANSPARENT:
rgba(0,0,0,0.5)
BLAU:
#003366
Die VIS reagiert automatisch auf Änderungen des Datenpunkts.
============================================================
9. RAUM AUSWÄHLEN
============================================================
Die farbigen Raumflächen sind direkt anklickbar.
Beim Klick wird der passende State geschaltet:
ecovacs-deebot.x.map.<mapId>.spotAreas.<id>.markForNextSpotAreaCleaning
Ein ausgewählter Raum wird stärker hervorgehoben.
Es gibt keine zusätzlichen Auswahlbuttons.
============================================================
10. MEHRERE RÄUME AUSWÄHLEN
============================================================
Mehrere Räume können nacheinander angeklickt werden.
Die Auswahl wird direkt im Ecovacs-Adapter gesetzt.
============================================================
11. MEHRERE SAUGER
============================================================
Das Paket ist nicht auf einen einzelnen Sauger begrenzt.
Wenn mehrere Instanzen vorhanden sind:
ecovacs-deebot.0
ecovacs-deebot.1
ecovacs-deebot.2
werden sie getrennt verarbeitet.
Jeder Sauger bekommt:
- eigene Map-ID
- eigene Räume
- eigene Raumflächen
- eigene AutoBounds
- eigene Position
- eigene Fahrspur
- eigenes VIS.html
- eigenen Hintergrund
============================================================
12. AUTOMATISCHE RAUMFLÄCHEN
============================================================
Die Runtime sucht pro Raum automatisch nach Geometriedaten.
Gesucht wird zum Beispiel nach:
polygon
boundary
boundaries
coordinates
coords
points
vertices
outline
contour
rect
bounds
Wenn passende Geometrie gefunden wird:
Rooms.<id>.polygonPoints
wird gefüllt.
Die VIS zeichnet daraus die farbige Raumfläche.
============================================================
13. AUTOBOUNDS
============================================================
Für jeden Sauger werden die Raumgrenzen automatisch berechnet.
Datenpunkte:
Map.AutoBounds.minX
Map.AutoBounds.maxX
Map.AutoBounds.minY
Map.AutoBounds.maxY
Map.AutoBounds.valid
Damit ist die Darstellung nicht auf feste Kartenkoordinaten eines bestimmten
Saugers angewiesen.
============================================================
14. POSITION UND FAHRSPUR
============================================================
Wenn vorhanden, wird verwendet:
ecovacs-deebot.x.map.deebotPosition
Daraus werden erzeugt:
Map.pixelXcss
Map.pixelYcss
Map.rotateCss
Map.trailPoints
Die Fahrspur wird bei einem neuen Reinigungsvorgang zurückgesetzt.
============================================================
15. KARTENQUELLE
============================================================
Die Runtime sucht zusätzlich nach Kartenquellen.
Bevorzugt wird:
ecovacs-deebot.x.map.<mapId>.map64
Diagnose:
Map.Source.type
Map.Source.state
Map.Source.image
Map.Source.status
Hinweis:
Die aktuelle VIS v7.8 verwendet KEIN Kartenbild als Hintergrund.
Dargestellt werden:
- Raumflächen
- Fahrspur
- Roboterposition
============================================================
16. DATENSTRUKTUR
============================================================
Beispiel:
0_userdata.0.Sauger.<Name>
|
+-- name
+-- deebotPrefix
+-- mapId
|
+-- Runtime
| +-- statusText
| +-- positionName
|
+-- Map
| +-- pixelXcss
| +-- pixelYcss
| +-- rotateCss
| +-- trailPoints
| |
| +-- AutoBounds
| | +-- minX
| | +-- maxX
| | +-- minY
| | +-- maxY
| | +-- valid
| |
| +-- Source
| +-- type
| +-- state
| +-- image
| +-- status
|
+-- Rooms
| +-- <Raum-ID>
| +-- id
| +-- name
| +-- selected
| +-- geometryState
| +-- geometryType
| +-- polygonPoints
| +-- rawGeometry
| +-- geometryStatus
|
+-- VIS
+-- html
+-- background
============================================================
17. NEUEN SAUGER SPÄTER HINZUFÜGEN
============================================================
Wenn später ein weiterer Sauger hinzukommt:
1. Sauger im Ecovacs-Adapter vollständig einrichten
2. Setup kurz AN
3. warten, bis er unter:
0_userdata.0.Sauger
erscheint
4. Setup wieder AUS
5. Runtime einmal neu starten
6. VIS einmal neu starten
============================================================
18. FEHLERSUCHE
============================================================
SAUGER WIRD NICHT ANGELEGT
--------------------------
Prüfen:
- Ecovacs-Adapter aktiv?
- ecovacs-deebot.* Datenpunkte vorhanden?
- Setup kurz AN?
KEINE RÄUME
-----------
Prüfen:
ecovacs-deebot.x.map.<mapId>.spotAreas
Wenn keine spotAreas vorhanden sind, kann keine Raumauswahl aufgebaut werden.
RAUM WIRD NICHT GEZEICHNET
--------------------------
Prüfen:
Rooms.<id>.geometryStatus
Rooms.<id>.geometryState
Rooms.<id>.polygonPoints
Rooms.<id>.rawGeometry
AUTOBOUNDS FEHLEN
-----------------
Prüfen:
Map.AutoBounds.valid
Sollte:
true
sein.
KEINE POSITION
--------------
Prüfen:
ecovacs-deebot.x.map.deebotPosition
FAHRSPUR FEHLT
--------------
Prüfen:
Map.trailPoints
VIS BLEIBT LEER
---------------
Prüfen:
- Runtime = AN
- VIS = AN
- Widget = Basic -> String (unescaped)
- richtige Objekt-ID
- VIS.html enthält einen Wert
RAUM LÄSST SICH NICHT AUSWÄHLEN
-------------------------------
Prüfen:
ecovacs-deebot.x.map.<mapId>.spotAreas.<id>.markForNextSpotAreaCleaning
HINTERGRUND ÄNDERT SICH NICHT
-----------------------------
Prüfen:
0_userdata.0.Sauger.<Name>.VIS.background
und ob VIS v7.8 aktiv ist.
============================================================
19. UPDATE VON EINER ÄLTEREN VERSION
============================================================
Bei Update von v7.x:
1. altes Runtime-Skript AUS
2. altes VIS-Skript AUS
3. Setup v7.8 einmal kurz AN
4. warten, bis VIS.background angelegt wurde
5. Setup wieder AUS
6. Runtime v7.8 AN
7. VIS v7.8 AN
============================================================
20. NORMALBETRIEB
============================================================
Nach erfolgreicher Einrichtung:
Setup = AUS
Runtime = AN
VIS = AN
============================================================
KURZFASSUNG
============================================================
1. Ecovacs-Adapter einrichten
2. 3 JavaScript-Skripte anlegen
3. Setup AN
4. prüfen: 0_userdata.0.Sauger
5. Setup AUS
6. Runtime AN
7. VIS AN
8. VIS: Basic -> String (unescaped)
9. Objekt-ID: 0_userdata.0.Sauger.<Name>.VIS.html
10. Widget-Breite nach Wunsch einstellen
11. Räume direkt anklicken
12. Hintergrund optional über VIS.background ändern
FERTIG.