jede Werteänderung an irgendeinem Gerät soll an externes Programm gemeldet werden

Nutzung von XML RPC, Remote Script, JSON RPC, XMLAPI

Moderator: Co-Administratoren

Mathias
Beiträge: 1767
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 253 Mal
Kontaktdaten:

Re: jede Werteänderung an irgendeinem Gerät soll an externes Programm gemeldet werden

Beitrag von Mathias » 06.04.2020, 00:47

NodeRed und ioBroker sind generische Automatisierungslösungen. Du könntest, wie bereits von anderen geschrieben, Deine Applikation mit diesen Lösungen realisieren anstatt in C#, dann wahrscheinlich aber in JavaScript. Wenn Du nur eine Netzwerk-API für den Zugriff auf CCU-Datenpunkte benötigts, ist eine spezielle Lösung wie der CCU-Jack einfacher.
didiator hat geschrieben:
03.04.2020, 09:27
Du scheinst das ja sehr gut zu kennen
Ja, ich bin der Entwickler vom CCU-Jack. :)
didiator hat geschrieben:
03.04.2020, 09:27
und kannst mir vielleicht noch etwas den Start erleichtern:
- CCU-Jack läuft direkt auf der CCU schreibst Du. Sind da Probleme mit einer X86-Umgebung bekannt? Ich möchte gern auf einem QNAP NAS in einer dort installierten Raspberry-VM arbeiten. Das dürfte doch keine Probleme bringen, oder?
Den CCU-Jack gibt es auch als Add-On für X86-basierte CCUs. Bisher wurden keine Probleme gemeldet.
didiator hat geschrieben:
03.04.2020, 09:27
- Gibt es eine Doku für die Nutzung und Anbindung, die Du empfehlen könntest?
Auf der Projektseite ist bereits viel beschrieben. Die Verwendung der REST-API ist hier ausführlich dokumentiert. Eine Beschreibung der MQTT-API ist hier zu finden.
didiator hat geschrieben:
03.04.2020, 09:27
- Gibt es ein Beispielprojekt? Vielleicht sogar, wie man das unter C# ansprechen kann?
Abfragen von REST-APIs kann .NET mit der Standard-Bibliothek. Für MQTT gibt es eine gute Bibliothek: MQTTnet
didiator hat geschrieben:
03.04.2020, 09:27
Und dann noch eine Frage... Wenn ich CCU-Jack nutze, ist das für mich eine strategische Entscheidung. Ich werde sehr viel Arbeit in die Programmierung meiner Services stecken, z.B. eine intelligente Steuerung meiner Heizung (Nibe Wärmepumpe), meiner Photovoltaik, meines wasserführenden Kamins und meines Fernwärmeanschlusses durch einen gemeinsamen Service. Wie zukunftssicher ist CCU-Jack?
Wenn ich an Deiner Stelle wäre, würde ich darauf achten, dass der Aufwand für die Anbindung meiner eigenen Anwendung an die CCU möglichst gering ist, und dass die verwendeten Protokolle weit verbreitet sind. Das ist beides beim CCU-Jack gegeben.

Der CCU-Jack ist in meinem Konzept für die Hausautomatisierung wichtiger Bestandteil und wird daher aus eigenem Interesse auf jeden Fall weiter gepflegt. Mein zweites Projekt der CCU-Historian wird von mir bereits seit 9 Jahren gepflegt.

Falls es den CCU-Jack wider erwarten übermorgen nicht mehr gibt, hast Du trotzdem folgende zwei Auswege: Der CCU-Jack ist Open-Source. Eventuell findet sich jemand, der ihn weiter pflegt. Da Du aber hoffentlich auf MQTT setzen wirst, kannst Du auch auf ioBroker oder RedMatic umschwenken. Das bedeutet zwar mehr Aufwand, es geht aber auch.

Viele Grüße
Mathias

Benutzeravatar
didiator
Beiträge: 97
Registriert: 21.12.2017, 13:25
System: CCU
Wohnort: Lübesse

Re: jede Werteänderung an irgendeinem Gerät soll an externes Programm gemeldet werden

Beitrag von didiator » 06.04.2020, 10:27

Hallo zusammen,

vielen Dank für die rege Beteiligung an dem Thema. Ich denke, dass da einige Ansätze dabei sind. NodeRed habe ich bereits im Einsatz und auch schon überlegt, dass ich damit ja http Requests verschicken kann. In der Windows Welt kann ich einen Windows Service schreiben, der auch einen http listener beinhaltet (Beispiele gibt es dafür genügend im Netz). Für manche Anwendungen wäre wohl auch ein Webservice passend. Damit kann ich dann die Kommunikation triggern und meinen Windows- bzw. Webservice benachrichtigen. Allerdings werde ich dann aber wohl in NodeRed für jedes Gerät, für das ich den Windows Service benachrichtigen will ein kleines Programm anstoßen müssen, welches mir den http request verschickt. Das ist aufwendig. Aber anders kommt man wohl an die Änderungsinformation eines sich geänderten Gerätes nicht heran.

Ich denke mal, dass ich den Weg gehen werde.

Ich möchte halt nicht so viele extra Programme und Module laufen haben. Die wollen alle gewartet werden und verbrauchen - wenn auch vielleicht wenig - Ressourcen. Für mich wird das wohl NodeRed sein. Für jemanden, der ioBroker bereits im Einsatz hat, wird das wohl auch eine Gangbare Variante sein. Und sicher gibt es auch noch einige Alternativen.

Vielen Dank für Eure Hilfe!
---------------------------------------------------------------
stay original...

Debmatic auf der Basis von Paspberry Pi4, SSD
ca. 90 HM, HmIP und Wired Geräte
HB-RF-ETH
Alexa Anbindung
Node-Red

Antworten

Zurück zu „Softwareentwicklung von externen Applikationen“