ich habe einen neuen Thread hier im LB-Bereich erstellt, weil das irgendwie dazu passt.
Mich würde ein konzeptioneller Weg mit node-red interessieren.
Wir haben auf der LoxBerry-Wunschliste ganz oben die Sprachausgabe. Bei mir steht das zu integrieren auf dem Plan, aber in flexibler/generischer Weise, also nicht statisch lauter einzelne Plugins Lox->Sonos, Lox->LMS usw., sondern flexibel mit einer Art Plugin-Konzept (ein zentraler Handler, und Plugins für die Empfänger). Es soll sich auch nicht auf Sprachausgabe alleine beziehen (also nicht TTS), sondern eher TTx (alle möglichen Ziele wie Kodi, E-Mail, von mir aus auch SMS oder Sprachanruf sollen integrierbar sein.
Wenn ich von der Umwandlung TTS jetzt mal wegsehe, und nur das Senden an die genannten Ziele betrachte, würde ich die Entwicklung am LoxBerry so aufbauen:
- Es gibt ein "zentrales Modul" zum Empfang und der Verteilung der Nachrichten
- Es gibt einen dezidierten Eingangs-Weg (z.B. TCP oder HTTP)
- Für den Eingangsweg gibt es eine Spezifikation, welche Input-Daten es geben muss (z.B. den Text, das oder die Ziele, usw.)
- Dann gäbe es einen dezidierten Ausgangs-Weg (z.B. auch TCP, HTTP oder über das Dateisystem) zu einem flexibel angebundenen Plugin. Dieses Plugin erledigt das Übermitteln an den jeweiligen Dienst.
- Auch hier gibt es eine Spezifikation, welche Daten vom zentralen Modul übermittelt werden.
- Ein Entwickler kann dann z.B. ein TTx-Modul bauen, das Daten an Kodi sendet. Ein anderer könnte ein TTx-Modul bauen, das die Daten an LMS als Sprachausgabe sendet. Alle Module müssen sich an die Ausgangsspezifikation halten.
Die gesamte Konfiguration des zentralen Moduls (z.B. Ziele zu definieren) und der TTx-Module würde zentral über ein Webinterface laufen. Ein Benutzer darf keine Zeile Code benötigen oder ändern müssen.
Wenn ich diesen recht konkreten (aber dennoch flexiblen) Use-Case in node-red abbilden wollte, um mir die Implementierung der TTx-Module zu vereinfachen, wie würde die Entwicklung aussehen?
Ich kann mir noch nicht vorstellen, wie das aussehen würde. Ich kann wohl nicht einfach eine Linie von node-red-contrib-loxone zu z.B. node-red-contrib-kodi ziehen und schon werden Loxone-Nachrichten am Kodi ausgegeben? Oder geht das doch? Muss man als Benutzer beim Zusammenklicken dann trotdem js-Code verwenden?
Danke und lg,
Christian
Kommentar