CCU-Jack V2.4.0

Der CCU-Jack als REST- und MQTT-Schnittstelle für die CCU und virtuelle Geräte für das IoT

Moderator: Co-Administratoren

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

CCU-Jack V2.4.0

Beitrag von Mathias » 14.08.2022, 12:28

Auf GitHub ist eine neue Version zu finden.

Die komplette Dokumentation vom CCU-Jack ist im Handbuch zu finden. Die dortigen Hinweise für ein Update einer vorhandenen Installation beachten.

Fehlerbehebungen / Verbesserungen

Sikousikou
Beiträge: 55
Registriert: 07.08.2019, 06:42
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 11 Mal
Danksagung erhalten: 3 Mal

Re: CCU-Jack V2.4.0

Beitrag von Sikousikou » 15.08.2022, 11:30

die Beispiele in der wiki funktionieren prima
ich will gerne durch eine Abfrage alles Fenster STATE abfragen, irgendwie klappt bei mir nicht
mit das hier

Code: Alles auswählen

http://IP:2121/~query?~path=/function/1221
bekomme eine Liste von alle Fenstersensoren
aber ich brauche den Status
und mit das hier geht irgendwie nicht

Code: Alles auswählen

http://IP:2121/~query?~path=/function/1221/*/*/*/STATE
mit das hier auchn bekomme eine leere Rückmeldung

Code: Alles auswählen

http://IP:2121/~query?~path=/function/1221/*

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: CCU-Jack V2.4.0

Beitrag von Mathias » 17.08.2022, 07:28

Alle Objekte (Geräte, Kanäle, Parameter, Räume, Gewerke) sind in einer Baumstruktur angeordnet. Räume und Gewerke liegen aber in einem anderen Teilbaum. Das Fenster-Gewerk ist zwar mit den Kanälen verlinkt, aber die Querverlinkungen können (noch) nicht über eine ~query Anfrage abgefragt werden. Das kann sehr gut mit einem Dateisystem verglichen werden (Dateien und Verknüpfungen).

Zudem möchtest Du den Status der Fenster abfragen. Der Status kann nur mit /~pv am Ende der URL abgefragt werden oder dem ~exgdata Dienst. Ein HTTP-GET mit dem Objektpfad oder eine ~query Anfrage liefert nur Zusatzinformationen zum Datenpunkt (MIN, MAX, Anzeigename, ...).

Ich hoffe, das ich das einigemaßen erklären konnte.

Sikousikou
Beiträge: 55
Registriert: 07.08.2019, 06:42
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 11 Mal
Danksagung erhalten: 3 Mal

Re: CCU-Jack V2.4.0

Beitrag von Sikousikou » 17.08.2022, 07:40

vielen Dank für die Erklärung
mein Ziel war mit eine Anfrage der Zustand alle Fenster zu erfahren, aber wie es aussieht muss ich weiter wie bisher in NodeRed die Fenster einzel Abfragen und eine liste daraus erstellen

ptweety
Beiträge: 522
Registriert: 07.01.2017, 16:48
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 48 Mal
Danksagung erhalten: 66 Mal

Re: CCU-Jack V2.4.0

Beitrag von ptweety » 17.08.2022, 10:04

Wie Mathias schon schrieb musst du das nicht einzeln machen.

Nutze den ~exgdata Dienst und frage in einem Rutsch alle deine Sensoren ab:

Code: Alles auswählen

[
    {
        "id": "9513c67eb1fd426c",
        "type": "link in",
        "z": "62591c5e2ae416a5",
        "name": "",
        "links": [],
        "x": 145,
        "y": 840,
        "wires": [
            [
                "94058a8d6999620f"
            ]
        ]
    },
    {
        "id": "94058a8d6999620f",
        "type": "function",
        "z": "62591c5e2ae416a5",
        "name": "Jack Config",
        "func": "// please enter your credentials below\n\nlet jack = {\n    'ip': 'ccu3-webui.fritz.box',\n    'port': 2122,\n    'user': 'user',\n    'password': 'pass'\n}\n\n// IMPORTANT\n// if you like to use http on port 2121:\n// please update the url of the http-request\n// node \"Jack API\" accordingly\n\n\n// no changes below this comment required\n\nmsg.ip = jack.ip;\nmsg.port = jack.port;\n\nmsg.headers = {};\nmsg.headers['Authorization'] = 'Basic ' +\n    Buffer.from(\n       jack.user + ':' +\n       jack.password\n   ).toString('base64');\n\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 260,
        "y": 840,
        "wires": [
            [
                "4b63fd2ccd11bf9e"
            ]
        ]
    },
    {
        "id": "4b63fd2ccd11bf9e",
        "type": "http request",
        "z": "62591c5e2ae416a5",
        "name": "Jack API",
        "method": "use",
        "ret": "obj",
        "paytoqs": "ignore",
        "url": "https://{{{ip}}}:{{{port}}}/{{{command}}}",
        "tls": "2a5286b153fa236b",
        "persist": false,
        "proxy": "",
        "authType": "",
        "senderr": false,
        "x": 420,
        "y": 840,
        "wires": [
            [
                "195de97b4c4d17fe"
            ]
        ]
    },
    {
        "id": "195de97b4c4d17fe",
        "type": "link out",
        "z": "62591c5e2ae416a5",
        "name": "",
        "mode": "return",
        "links": [],
        "x": 525,
        "y": 840,
        "wires": []
    },
    {
        "id": "e9379d39fe86f48b",
        "type": "link call",
        "z": "62591c5e2ae416a5",
        "name": "call Jack API",
        "links": [
            "9513c67eb1fd426c"
        ],
        "timeout": "30",
        "x": 330,
        "y": 880,
        "wires": [
            [
                "3a7f0e50d15bfcef"
            ]
        ]
    },
    {
        "id": "dc27fc91122b7e33",
        "type": "inject",
        "z": "62591c5e2ae416a5",
        "name": "root",
        "props": [
            {
                "p": "topic",
                "v": "0",
                "vt": "num"
            },
            {
                "p": "method",
                "v": "GET",
                "vt": "str"
            },
            {
                "p": "command",
                "v": "",
                "vt": "str"
            },
            {
                "p": "request",
                "v": "root",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": "0.1",
        "topic": "",
        "x": 150,
        "y": 880,
        "wires": [
            [
                "e9379d39fe86f48b"
            ]
        ]
    },
    {
        "id": "3a7f0e50d15bfcef",
        "type": "debug",
        "z": "62591c5e2ae416a5",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 510,
        "y": 880,
        "wires": []
    },
    {
        "id": "4329598bf3bb56ab",
        "type": "inject",
        "z": "62591c5e2ae416a5",
        "name": "exgdata",
        "props": [
            {
                "p": "topic",
                "v": "0",
                "vt": "num"
            },
            {
                "p": "method",
                "v": "PUT",
                "vt": "str"
            },
            {
                "p": "command",
                "v": "~exgdata",
                "vt": "str"
            },
            {
                "p": "request",
                "v": "root",
                "vt": "str"
            },
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": "0.1",
        "topic": "",
        "payload": "{\"writePVs\":[],\"readPaths\":[\"/device/0000DA49925xxx/1/STATE\",\"/device/0000DA49925xxx/1/STATE\",\"/device/0000DA49925xxx/1/STATE\"]}",
        "payloadType": "json",
        "x": 160,
        "y": 920,
        "wires": [
            [
                "e9379d39fe86f48b"
            ]
        ]
    },
    {
        "id": "39bd98a22c36b975",
        "type": "inject",
        "z": "62591c5e2ae416a5",
        "name": "query",
        "props": [
            {
                "p": "topic",
                "v": "0",
                "vt": "num"
            },
            {
                "p": "method",
                "v": "GET",
                "vt": "str"
            },
            {
                "p": "command",
                "v": "~query?~path=/device/*",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": "0.1",
        "topic": "",
        "x": 150,
        "y": 960,
        "wires": [
            [
                "e9379d39fe86f48b"
            ]
        ]
    },
    {
        "id": "96bc33ecb1bbc39e",
        "type": "inject",
        "z": "62591c5e2ae416a5",
        "name": "query",
        "props": [
            {
                "p": "topic",
                "v": "0",
                "vt": "num"
            },
            {
                "p": "method",
                "v": "GET",
                "vt": "str"
            },
            {
                "p": "command",
                "v": "~query?~path=/device/0000DA49925*/1/STATE",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": "0.1",
        "topic": "",
        "x": 150,
        "y": 1000,
        "wires": [
            [
                "e9379d39fe86f48b"
            ]
        ]
    },
    {
        "id": "2a5286b153fa236b",
        "type": "tls-config",
        "name": "TLS config (ccu-jack)",
        "cert": "",
        "key": "",
        "ca": "",
        "certname": "",
        "keyname": "",
        "caname": "",
        "servername": "",
        "verifyservercert": false,
        "alpnprotocol": ""
    }
]

Antworten

Zurück zu „CCU-Jack“