Web Services + Climate Controller

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • mapchen
    Smart Home'r
    • 07.09.2015
    • 87

    #1

    Web Services + Climate Controller

    Kann mir jemand einen Tip geben wie ich die einzelen Status Werte des Climate Controllers über Webservice auslesen kann. Im Structure File finde ich das Control. Ich habe nun versucht mit folgendem Befehl ein Ergebnis zu bekommen. Ich sehe auch dass im Structure File unter dem Control im Bereich STATES weitere UUIDs stehen. Kann ich diese ansprechen und auslesen. Zum Beispiel auf was FAN steht?

    Code:
    http://192.168.0.100:8888/jdev/sps/io/1ca73899-026d-887e-fffffa2d7b9f7335/state


    Code:
    U:1ca73899-026d-887e-fffffa2d7b9f7335": {
                "name": "Klimaanlage",
                "type": "AcControl",
                "uuidAction": "1ca73899-026d-887e-fffffa2d7b9f7335",
                "room": "09e7a8e9-0030-003c-0f00000000000000",
                "cat": "09e7a8e9-0030-0005-0d00000000000000",
                "defaultRating": 5,
                "isFavorite": false,
                "isSecured": false,
                "restrictions": 0,
                "details": {
                    "jLockable": true,
                    "modes": [
                        {
                            "id": 1,
                            "used": true
                        },
                        {
                            "id": 2,
                            "used": true
                        },
                        {
                            "id": 3,
                            "used": true
                        },
                        {
                            "id": 4,
                            "used": true
                        }
                    ],
                    "airflow": [
                        {
                            "id": 2,
                            "used": true
                        },
                        {
                            "id": 3,
                            "used": true
                        },
                        {
                            "id": 7,
                            "used": true
                        },
                        {
                            "id": 8,
                            "used": true
                        }
                    ],
                    "fanspeed": [
                        {
                            "id": 1,
                            "used": true
                        },
                        {
                            "id": 4,
                            "used": true
                        },
                        {
                            "id": 5,
                            "used": true
                        },
                        {
                            "id": 6,
                            "used": true
                        },
                        {
                            "id": 7,
                            "used": true
                        }
                    ],
                    "connectedInputs": 16
                },
                "states": {
                    "jLocked": "9ca73899-026d-886c-02ffadfe3a29e9b4",
                    "status": "1ca73899-026d-8877-0dffadfe3a29e9b4",
                    "mode": "1ca73899-026d-8878-0effadfe3a29e9b4",
                    "fan": "1ca73899-026d-8879-0fffadfe3a29e9b4",
                    "ventMode": "1ca73899-026d-887a-10ffadfe3a29e9b4",
                    "targetTemperature": "1ca73899-026d-887b-11ffadfe3a29e9b4",
                    "temperature": "1ca73899-026d-887c-12ffadfe3a29e9b4",
                    "pauseTime": "1ca73899-026d-8876-0cffadfe3a29e9b4",
                    "operatingModes": "1ca73899-026d-8864-ffffadfe3a29e9b4",
                    "fanspeeds": "1ca73899-026d-8866-ffffadfe3a29e9b4",
                    "airflows": "1ca73899-026d-8865-ffffadfe3a29e9b4",
                    "override": "1ca73899-026d-8867-ffffadfe3a29e9b4",
                    "pauseUntil": "1ca73899-026d-8868-ffffadfe3a29e9b4",
                    "pauseReason": "1ca73899-026d-8869-ffffadfe3a29e9b4"
                },
                "links": [
                    "1cadbad4-0048-c914-fffffa2d7b9f7335"
                ]
            }​
  • mapchen
    Smart Home'r
    • 07.09.2015
    • 87

    #2
    pmayer wie adressierst du denn die einzelnen Werte in der Loxone Node?

    Kommentar

  • mapchen
    Smart Home'r
    • 07.09.2015
    • 87

    #3
    Meine Logik war dass du bei deiner Node ja irgendwie die Controlls anzapfst. Da ich ja auf der Suche bin per Request den Status des Controls e.g. FAN zu bekommen, dachte ich mir dass du weisst wie so ein HTTP request ausschauen müsste.
    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 86
Größe: 22,0 KB
ID: 429878

    Was natürlich noch besser wäre, wäre wenn du in deinen Nodes etwas einbauen könntest dass man per Event eine Status Abfrage machen kann :-)
    Angehängte Dateien

    Kommentar


    • pmayer
      pmayer kommentierte
      Kommentar bearbeiten
      Das kannst du über den Webservice-Node machen. Gleiche Syntax wie bei HTTP durch die bestehende Verbindung.
      https://github.com/codmpm/node-red-c...-file#examples - drittes Beispiel.

      Oder verstehe ich dich falsch?
      Aber: node-red ist ereignisbasiert. Nimmst du also einen control-in und hängst das an deinen Fan, wird ein Ereignis erzeugt sowie sich der Zustand ändert.

      ---

      Schau auch noch mal in die node-Beschreibung.

      "This is used to get a return from a webservice call through the existing Websocket.

      See the Webservice documenation
      The configured Websocket-Connection is used for communication.

      msg.uri from the incoming message object overwrites the set uri.

      You can choose if msg.payload should be appended to the URI call. This works for the set URIs and for URIs from msg.uri.

      The return will hold the answer from the requested datapoint (URI):

      {
      payload: "8.3.3.21",
      topic: "jdev/cfg/version",
      code: 200
      }


      If the answer for the webservice call has more than one value, all these values will be returned as an object in msg.payload"
      Zuletzt geändert von pmayer; 19.04.2024, 12:10.
  • mapchen
    Smart Home'r
    • 07.09.2015
    • 87

    #4
    Ok danke für deine Ausführungen. Mein Problem besteht darin, dass ich damit nur den Wert des Controlls Klimaanlage von 0 und 1 bekomme. Ich würde aber gerne damit die untergeordneten States abrufen. Also diese hier (die liegen ja im Struct File innerhalb des Controls)


    Code:
    "states": {
    "jLocked": "9ca73899-026d-886c-02ffadfe3a29e9b4",
    "status": "1ca73899-026d-8877-0dffadfe3a29e9b4",
    "mode": "1ca73899-026d-8878-0effadfe3a29e9b4",
    [COLOR=#c0392b][B]"fan": "1ca73899-026d-8879-0fffadfe3a29e9b4",[/B][/COLOR]
    "ventMode": "1ca73899-026d-887a-10ffadfe3a29e9b4",
    "targetTemperature": "1ca73899-026d-887b-11ffadfe3a29e9b4",
    "temperature": "1ca73899-026d-887c-12ffadfe3a29e9b4",
    "pauseTime": "1ca73899-026d-8876-0cffadfe3a29e9b4",
    "operatingModes": "1ca73899-026d-8864-ffffadfe3a29e9b4",
    "fanspeeds": "1ca73899-026d-8866-ffffadfe3a29e9b4",
    "airflows": "1ca73899-026d-8865-ffffadfe3a29e9b4",
    "override": "1ca73899-026d-8867-ffffadfe3a29e9b4",
    "pauseUntil": "1ca73899-026d-8868-ffffadfe3a29e9b4",
    "pauseReason": "1ca73899-026d-8869-ffffadfe3a29e9b4"​
    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 106
Größe: 73,4 KB
ID: 429901

    Ich habe nun probiert, dass ich die UUID des z.b. FAN in die URI des Webservices gebe, aber da bringt er eben nichts zurück, Dh mein Problem ist, dass ich nicht weiss wie ich in dem Webservice die Unterpunkte anspreche.

    Auch mit der Berzeichnung des Unterpunktes hab ich es probiert:
    Klicke auf die Grafik für eine vergrößerte Ansicht

Name: image.png
Ansichten: 52
Größe: 16,0 KB
ID: 429902

    Aber leider hab ich irgendwie kein Verständnis davon wie die URI aussehen sollte.​

    Kommentar

  • mapchen
    Smart Home'r
    • 07.09.2015
    • 87

    #5
    mit dem Command ALL dh mit URI dev/sps/io/1ca73899-026d-887e-fffffa2d7b9f7335/all bin ich nun weiter gekommen. Ich weiss zwar immer noch nicht ob man die einzelnen Sub Werte direkt ansprechen kann aber da mit ALL alles als Objekt zurück kommt passt das. Vielen Dank für die Hilfe

    Kommentar

    Lädt...