Zum Hauptinhalt springen

Node.js Plugin-Guide

Schnellster Weg fĂĽr die meisten Entwickelnden

Wenn du mit JavaScript oder TypeScript vertraut bist, ist das Node.js-SDK der schnellste Weg, ein eigenes Logi Options+-Plugin zu bauen.

1. Aktueller öffentlicher Status​

Die aktuellen Logitech-Docs beschreiben das Node.js SDK als:

  • verfĂĽgbar fĂĽr Windows und macOS,
  • beta fĂĽr Plugin-Entwickelnde,
  • standardmäßig TypeScript-first,
  • kompatibel mit Logi Options+ und Logi Plugin Service.

Die Docs weisen auĂźerdem darauf hin:

  • Node.js-Plugin-UnterstĂĽtzung war neu in Plugin API 6.2.3,
  • macOS-UnterstĂĽtzung wurde in Plugin API 6.3 hinzugefĂĽgt.

2. Ein Plugin erstellen​

npx @logitech/plugin-toolkit create my-logi-plugin
cd my-logi-plugin
npm install
npm run watch

Die offiziellen Docs sagen:

  • das Scaffold nutzt standardmäßig TypeScript,
  • fĂĽge --javascript hinzu, wenn du reines JavaScript möchtest,
  • npm run watch baut, verlinkt und lädt das Plugin neu,
  • npm run link verlinkt einen Nicht-Watch-Build,
  • npm run unlink entfernt das verlinkte Plugin,
  • npm run build:pack erzeugt ein verteilbares .lplug4.

3. Warum Node.js gut passt​

Wähle Node.js, wenn:

  • das Plugin mit REST- oder WebSocket-APIs kommuniziert,
  • du schnelle Iteration willst,
  • du bereits in TypeScript lebst,
  • du npm-Pakete willst,
  • die Integration größtenteils Dienst-Orchestrierung ist.

4. Gute Plugin-Ideen​

  • CI/CD-Actions auslösen,
  • Tools öffnen oder wechseln,
  • Philips Hue oder BusyLight aus dem Actions Ring steuern,
  • Ticketing- oder Chat-Systeme integrieren,
  • interne HTTP-Endpunkte auslösen,
  • lokale Helfer-Apps steuern.

5. Typische Architektur​

my-logi-plugin/
├── src/
│ ├── actions/
│ ├── services/
│ ├── assets/
│ └── plugin.ts
├── dist/
└── package.json

Halte Plugin-Actions klein und verlagere die Dienstlogik in separate Module.

6. Wann Node.js die falsche Wahl ist​

Nutze stattdessen C#, wenn:

  • die Integration von ausgereiftem .NET-Code abhängt,
  • du engere Windows-Desktop-Integration brauchst,
  • das Team stark C#-orientiert ist,
  • das Plugin eine stärker native Desktop-Architektur braucht.