Homegear ohne Node-RED / Node-BLUE

Hello alle zusammen,
ich nutze Homegear seit ein paar Jahren und bin insgesamt immer sehr zufrieden damit gewesen.

Bei meiner neuesten Installation ist mir aufgefallen, dass neuerdings Node-RED mitinstallliert wird (homegear depends libhomegear-node). Die Motivation dahinter verstehe ich, den Zwang allerdings nicht. Ist es möglich Homegear ohne den node Overhead zu installieren?

Ich möchte nicht die Bestrebung kritisieren Homegear zur eigenständigen Heimautomatisierungslösung auszubauen! Ihr macht ganz sicher gute Arbeit und ich wünsche euch alles Gute dabei!
Ich möchte euch allerdings bitten die vielen Nutzer nicht zu vergessen, welche Homegear “lediglich” als Schnittstelle für openHAB oder eine andere SmartHome Lösung nutzen.

Wie steht ihr zu diesem Thema?

Viele Grüße! Thomas

Hallo @Mazzen,

ich nutze Homegear seit ein paar Jahren und bin insgesamt immer sehr zufrieden damit gewesen.

Ich hoffe, du bist auch immer noch zufrieden :stuck_out_tongue:.

Die Motivation dahinter verstehe ich, den Zwang allerdings nicht.

Wie steht ihr zu diesem Thema?

Generell verfolgen wir einen modularen Ansatz. So kann sich jeder genau die Module installieren, die er braucht. Auch das nächste Modul (homegear-history) wird als separates Paket installierbar sein. Die Logik wird auf absehbare Zeit der letzte Teil sein, welcher im Hauptprojekt enthalten ist. Der Hintergrund ist ganz simpel: Die Logik ist so verzahnt mit Homegear, dass es schwierig gewesen wäre, diese als separates Modul bereitzustellen. “Flows” lassen sich aber in der main.conf deaktivieren. Dann gibt es bis auf den geringen zusätzlichen Speicherplatzverbrauch de facto keinen Overhead. Theoretisch könnte man auch ein Compilerflag einbauen, um Flows nicht mitzukompilieren. Aber ehrlich gesagt ist der Overhead - im Gegensatz zur Skriptengine, welche vom Kompilieren ausgeschlossen werden kann - so minimal, dass das wenig Sinn ergibt.

Viele Grüße

Sathya

Hallo @sathya,

ja bin immer noch sehr zufrieden! Wobei in der letzter Zeit die Kommunikation zwischen Homegear und openHAB etwas unzuverlässiger geworden ist. Ich müsste den genauen Grund dafür mal näher verfolgen und eventuell nochmal hier darauf zu sprechen kommen.

Deaktivieren über die main.conf werde ich mir in den nächsten Tagen einmal ansehen. Vielen Dank!

Flows, history, usw. klingt alles verdächtig nach Dingen, die bereits durch Node-RED, openHAB, HA und alle anderen Lösungen in dem Bereich bereitgestellt werden. Auch wenn ich wie gesagt die Motivation nicht in Frage stellen will frage ich mich doch insgeheim wieso du dir die Arbeit machst statt deine Arbeit auf die Funktionalität im Kern und die Interoperabilität und Integration in andere Tools zu stecken. Die Bestrebung eine Website anzubieten fand ich z.B. sehr lobenswert. Leider können darüber immer noch nicht die Parametersätze bearbeitet werden (v0.7)…
Bitte nicht falsch verstehen! Auch drüben in der openHAB Welt entwickeln wir nicht alles selbst. Hier kommt beispielsweise Homegear oder InfluxDB und Grafana (für die “History”) zum Einsatz. Wenn dir danach ist würde ich mich für deine Meinung interessieren.

Viele Grüße! Thomas

Hallo @Mazzen,

Auch wenn ich wie gesagt die Motivation nicht in Frage stellen will
frage ich mich doch insgeheim wieso du dir die Arbeit machst statt deine
Arbeit auf die Funktionalität im Kern und die Interoperabilität und
Integration in andere Tools zu stecken. Die Bestrebung eine Website
anzubieten fand ich z.B. sehr lobenswert. Leider können darüber immer
noch nicht die Parametersätze bearbeitet werden (v0.7)…

Wir haben in letzter Zeit vor allem an der Kernfunktionalität gearbeitet, sowohl was Homegear angeht, als auch was Familienintegrationen betrifft (Z-Wave ist beispielsweise fast fertig). Das Problem der fehlenden Konfigurationsoberfläche ist uns bewusst und daran wird in diesem Moment ebenfalls gearbeitet - wir ziehen also andere Entwicklungen nicht vor, diese laufen parallel. In den nächsten Monaten wird es also auch eine Konfigurationsoberfläche geben.

Bei den aufgezählten Funktionen müssen wir differenzieren. Zunächst zu Node-BLUE. Trotz des gleichen Frontends ist das Backend grundverschieden. Gegenüber Node-RED hat Node-BLUE mehrere Vorteile:

  1. Es ist deutlich performanter und reagiert schneller:
    • Weil die Nodes in C++ geschrieben werden können (bzw. sind)
    • Weil der Overhead der Netzwerkkommunikation entfällt
    • (Dadurch sind zum Beispiel schnelle Timer für’s Dimmen möglich, welche mit Node-RED nicht einfach umzusetzen sind)
    • (Auch mehrere tausend Knoten sind selbst auf dem Pi kein Problem)
  • Node-BLUE verfolgt nicht den Flow- sondern den SPS-Ansatz. D. h. Knoten kennen ihre Zustände (auch über einen Neustart hinweg) und es sind mehrere Eingänge möglich.
  • Node-BLUE ist besser in Homegear integriert. So lassen sich in den Knoten (sowohl C++ als auch PHP, und sowohl im Backend als auch im Frontend) sämtliche RPC-Funktionen aufrufen.

Die genannten Punkte haben uns zu der Eigenentwicklung bewogen.

Zur History: Auch wir überlegen, InfluxDB zu verwenden. Ich bin der letzte, der etwas selbst entwickelt, wenn bereits eine gute quelloffene Lösung existiert. Ich bin mir nur nicht sicher, wie performant InfluxDB auf leistungsschwachen Plattformen (z. B. Orange Pi Zero oder Raspberry Pi) ist. Das müssen wir noch testen (vielleicht weißt du dazu etwas?).

Weitere Komponenten sind zur Zeit nicht geplant. Das heißt, wenn wir mit der History durch sind, können wir uns ganz auf Familienmodule konzentrieren. Die Kernfunktion “Schnittstellensoftware” wird immer vorhanden sein und erhalten bleiben bzw. bei Bedarf auch noch weiter ausgebaut. Aus meiner Sicht sind OpenHAB und Homegear ein super Team (weil Homegear die Gerätekommunikation übernehmen kann, welche in Java nur schwer zu realisieren ist). Und das soll unabhängig von allen Entwicklungen auch so bleiben!

Viele Grüße

Sathya

2 Likes