Ereignisse über JSON-RPC abonnieren?

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

Moderator: Co-Administratoren

ikarst
Beiträge: 25
Registriert: 13.12.2019, 23:15
Hat sich bedankt: 5 Mal

Ereignisse über JSON-RPC abonnieren?

Beitrag von ikarst » 19.12.2019, 15:16

Hallo!

ist es möglich, mit der JSON-RPC API einen Web-Endpoint zu registrieren, der von der CCU3 automatisch aufgerufen wird?

Danke
ikarst

ikarst
Beiträge: 25
Registriert: 13.12.2019, 23:15
Hat sich bedankt: 5 Mal

Re: Ereignisse über JSON-RPC abonnieren?

Beitrag von ikarst » 19.12.2019, 16:49

Etwas konkreter:

Ich frage mich, ob die CCU3 einen solchen Mechanismus bietet, der bei *jeder* Status- bzw. Wert-Änderung oder einen Ereignis wie "Einschalten" oder "Taste kurz gedrückt" einen http-Endpoint aufruft. - Nicht nur Events, für die ich ein Programm hinterlege. Dafür habe ich Ideen gefunden, aber ich würde gern etwas generischeres haben.

VG
ikarst

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: Ereignisse über JSON-RPC abonnieren?

Beitrag von hobbyquaker » 19.12.2019, 19:10

Nicht über JSON RPC, aber Du kannst über XML RPC Events abonnieren (init Call), siehe https://www.eq-3.de/Downloads/eq3/downl ... pc_API.pdf und https://www.eq-3.de/Downloads/eq3/downl ... dendum.pdf

Wenn es Dir zu aufwendig ist selbst ein Homematic XML RPC Client/Server zu bauen kannst auch irgendeine extra Software (z.B. Neo, RedMatic, ioBroker, Home Assistant, ...) nutzen und dort auf beliebige Homematic Events komfortabel quasi beliebige weitere Aktionen antriggern.

Vieles geht auch mit Bordmitteln (Homematic "Rega" Script, TCL und Shell Scripts, Curl Aufrufe, ...) aber mir persönlich ist das zu "unschön" sobald die Rega im Spiel ist ;)

ikarst
Beiträge: 25
Registriert: 13.12.2019, 23:15
Hat sich bedankt: 5 Mal

Re: Ereignisse über JSON-RPC abonnieren?

Beitrag von ikarst » 23.12.2019, 17:09

Danke für die Antwort! Das hat weitergeholfen!

Ich hab es geschafft, mit C# und .NET Core einen schmalen XML-RPC-Server aufzubauen.

Ich bekomme "events" von CCU3 geschickt. Leider sehe ich nicht, wie ein Tastendruck (HmIP-SMI55) "kurz" oder "lang" in dem Event ersichtlich ist.

Letztlich hätte ich gern in meiner App eine Info, dass am Schalter eine Taste gedrückt wurde. Dafür die XML-RPC-Anbindung...

VG
ikarst

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: Ereignisse über JSON-RPC abonnieren?

Beitrag von hobbyquaker » 23.12.2019, 17:47

Kurzer Tastendruck sendet true auf dem PRESS_SHORT Datenpunkt, langer auf PRESS_LONG. Vermutlich fehlen Dir die Events weil kein "reportValueUsage" auf dem Kanal stattgefunden hat, schau mal ob Dir meine Antwort in diesem Thread weiterhilft: viewtopic.php?t=50475#p506273

ikarst
Beiträge: 25
Registriert: 13.12.2019, 23:15
Hat sich bedankt: 5 Mal

Re: Ereignisse über JSON-RPC abonnieren?

Beitrag von ikarst » 23.12.2019, 20:06

Hey hobbyquaker,

danke für die Antwort! - Ich teste es grad.

Gibt es eine Möglichkeit - ich gehe davon aus - dies direkt per XML-RPC zu aktivieren? Wo ich nun schon ein kleines Programm habe, dass mit der CCU3 per XML-RPC spricht, wäre es doch nett, dies direkt im Programm zu aktivieren.

VG
ikarst

hobbyquaker
Beiträge: 3978
Registriert: 12.07.2009, 20:01
Hat sich bedankt: 17 Mal
Danksagung erhalten: 176 Mal
Kontaktdaten:

Re: Ereignisse über JSON-RPC abonnieren?

Beitrag von hobbyquaker » 23.12.2019, 20:09

Jupp, gibt zwei Möglichkeiten dafür. Entweder eine Verknüpfung mit dem Central Device anlegen über die addLink Methode (glaube als Target musst "CENTRAL:0" benutzen oder "CENTRAL:1", weiss nich sicher) - oder (einfacher) Du rufst die reportValueUsage Methode auf dem entsprechenden Kanal auf (Datenpunkt IIRC egal, PRESS_SHORT oder PRESS_LONG), als count param setzt 1.

Edit, Ergänzung: Das ganze nur einmal machen (jedenfalls solang das Gerät nicht Factoryresetted wurde).

ikarst
Beiträge: 25
Registriert: 13.12.2019, 23:15
Hat sich bedankt: 5 Mal

Re: Ereignisse über XML-RPC abonnieren?

Beitrag von ikarst » 23.12.2019, 20:16

Danke für die Tipps!! - Ich werde es testen.

ikarst
Beiträge: 25
Registriert: 13.12.2019, 23:15
Hat sich bedankt: 5 Mal

Re: Ereignisse über JSON-RPC abonnieren?

Beitrag von ikarst » 23.12.2019, 20:17

Für spätere Thread-Leser: gibts Hinweise auf die genannte XML-RPC-Methode:

https://www.eq-3.de/Downloads/eq3/downl ... pc_API.pdf

ikarst
Beiträge: 25
Registriert: 13.12.2019, 23:15
Hat sich bedankt: 5 Mal

Re: Ereignisse über JSON-RPC abonnieren?

Beitrag von ikarst » 23.12.2019, 20:25

@hobbyquaker: Kann man denn auch irgendwie testen, ob es schon auf einem Kanal gesetzt wurde? - Macht es Sinn, dies auf jedem Kanal zu aktivieren oder brennt dann die CCU3 durch?

Antworten

Zurück zu „Softwareentwicklung von externen Applikationen“