Hallo!
Eines vorweg:
Macht von jeder Datei, bevor ihr sie modifiziert, ein Backup, z.B. mit
sudo cp Dateiname.ext Dateiname.ext.bak
Und am besten auch von den modifizierten Dateien, bevor ihr ein Upload macht. Sonst ist nachher was weg und ihr müsst es neu machen.
So habe ich es geschafft:
- Ordner für neue Icons erstellen: /opt/iobroker/node_modules/iobroker.habpanel/www/assets/icons/NeuesIconSet
sudo mkdir /opt/iobroker/node_modules/iobroker.habpanel/www/assets/icons/NeuesIconSet
- Icons im SVG-Format in das neue Verzeichnis hochgeladen
- NeuesIconSet.list.json-Datei wie folgt anlegen:
cd /opt/iobroker/node_modules/iobroker.habpanel/www/assets/icons
sudo ls -1 ./NeuesIconSet > NeuesIconSet.list.json
sudo sed -i ':M;N;$!bM;s#\n#\n\t"#g' NeuesIconSet.list.json
sudo sed -i 's/.svg/",/g' NeuesIconSet.list.json
sudo nano NeuesIconSet.list.json
In nano fügen wir am Anfang der Datei folgendes ein:
{
"notice": "Dieser Text wird beim Iconpicker angezeigt",
"url": "Quelle der Icons, z.B. URL zu github etc.",
"icons": [
"
wobei das " in der 5. Zeile direkt vor dem ersten Dateinamen stehen muss (hier fehlt nämlich noch eines).
Mit ALT + SHIFT + 7 (M-/) springen wir in die letzte Zeile und fügen folgendes ein am Ende ein:
]
}
Zudem löschen wir das "," hinter dem letzten Dateinamen.
- Rechte und Eigentümer anpassen
sudo chown -R iobroker:iobroker ./NeuesIconSet
sudo chown iobroker:iobroker NeuesIconSet.list.json
sudo chmod 644 ./NeuesIconSet/*
sudo chmod 755 ./NeuesIconSet
sudo chmod 644 NeuesIconSet.list.json
- Liste der IconSets bearbeiten
sudo nano /opt/iobroker/node_modules/iobroker.habpanel/www/app/services/icon.service.js
Am Ende der folgenden Zeile (Zeile ~21) ein Komma (,) hinter der schließenden geschweiften Klammer einfügen
{ id: 'eclipse-smarthome-classic', name: 'Eclipse SmartHome Classic', type: 'builtin', colorize: false }
und folgende Zeile darunter einfügen:
{ id: 'NeuesIconSet', name: 'Mein eigenes Iconset', type: 'builtin', colorize: true }
name: gibt dabei an, unter welchem Namen das Iconset in der Auswahlliste auftauchen soll.
- Nun fehlt nur noch:
/opt/iobroker/iobroker upload habpanel
/opt/iobroker/iobroker restart