Sind JSON-RPC Batch Requests in IP-Symcon 5.5 möglich?

Per JSON-RPC 2.0 Spezifikation Ist es möglich mehrere RPCs in einer Batch zu bündeln.

Wird dies tatsächlich von IP-Symcon unterstützt?

Bei Batch-Anfragen antwortet IP-Symcon bei mir mit „Invalid request (object required)“. Dies lässt vermuten, dass die Schnittstelle eben einen einzelnen Request (einzelnes JSON-Objekt) anstatt einer Liste von Requests erwartet.

Kurzes Beispiel mit zweifacher Abfrage der Objekt-Informationen der Kategorie IP-Symcon:
Request:

[
    {
        "method": "IPS_GetObject",
        "params": [
            0
        ],
        "jsonrpc": "2.0",
        "id": 1
    },
    {
        "method": "IPS_GetObject",
        "params": [
            0
        ],
        "jsonrpc": "2.0",
        "id": 2
    }
]

Response:

{
    "jsonrpc": "2.0",
    "error": {
        "code": -32600,
        "message": "Invalid request (object required)"
    },
    "id": null
}

Leider unterstützen wir dies nicht. (Wir haben dafür aber bereits ein Ticket, da @Nall-chan das schon einmal bemängelt hatte)

Was ist denn dein genauer Use-Case? Wäre evtl. IPS_GetSnapshot nicht besser? Dort sind alle Daten vom IP-Symcon Baum drin.

paresy

1 „Gefällt mir“

Vielen Dank für die schnelle Antwort!

Einen genauen Use-Case gibt es so noch nicht, aber allgemeiner gefasst wäre ich gern in der Lage ein IP-Symcon aus einem Terminal heraus bearbeiten zu können, da dies automatisierbar ist (bspw. sinnvoll wenn man die gleiche Ausstattung mehrfach verbaut). In dieser Hinsicht ist IPS_GetSnapshot definitiv besser!

Die Funktion kannte ich bisher noch nicht, und auch nachdem ich gerade nochmal die Doku durchsucht habe, konnte ich diese leider nicht finden. Dürfte ich daher noch um einen Link bitten? :slight_smile:

Gibt leider keine Doku dazu - aber ich bin mir sicher ein json_decode auf den Inhalt wird dir weiterhelfen. Im Prinzip ist es die settings.json mit ein paar zusätzlichen Informationen.

paresy