NEWS
HTTP-request von Mobotix T25
-
Wie muss im HTTP-Out Node der Statuscode (= ReturnCode ?) gesetzt werden, mit den Voreinstellungen klappt es leider nicht !
-
@ak68 Doch Du musst die HTTP-Out aber direkt hinter die HTTP-In setzen.
Die Respose Node gibt immer 200 zurück. Wenn ein anderer Code erwartet wird, dann musst Du den in dem statusCode mitgeben.
Je nachdem was gesendet wurde, wird auch die vollständige Antwort im res (response Objekt) an den Sender zurückgeschickt.
Also mach die ResponseNode in jedem Fall direkt hinter die http-IN Node und verfälsche den Request nicht.
-
-
@ak68 Du codierst auch wieder zu viel. Zeig mal was wirklich in der HTTP-IN node ankommt, ob das ein JSON ist?
Das ist total unschön und auch wieder mit function Nodes codieren - ist nicht toll. Die Filter sind doch alle die gleichen.
-
Ja, es sind JSON-Objekte:
-
Wenn Dein Request zum Beispiel so aussieht:
Also bei dir:http://<DeineIP>:1880/mobotix?Praxis=On
Dann bekommst Du bereits ein Objekt zurück:
Dann kann man als erstes das Objekt in eine skalare Nachricht zerlegen und den key in das topic schreiben: und dann kannst Du Deine payload Abprüfungen machen:
Du nimmst also eine Split Node und kopierst den Schlüssel da rein.
Du bekommst dann eine skalare Nachricht mit dem topic woher oder wofür das Kommando ist.
-
@mickym Nun machst Du den Filter der payload nur einmal egal für welches topic er ist.
-
@mickym DANKE
-
@ak68 War noch nicht fertig - zum Schluss prüfst dann nur noch das topic als Quelle ab:
Da muss man nichts Programmieren - geschweige denn mit Javascript function Nodes nutzen!!! - Vermeide das so gut es geht, nur so wirst Du die Vorteile des grafischen Programmierens zu schätzen wissen!!
Hier mal der Flow zum Import:
Was Du in den Filtern machst, habe ich zwar nicht kapiert - aber das weißt Du ja besser.
Du musst also Deine Logik etwas umdrehen.
Über die payload verzweigst Du ERST auf verschiedene Kommandoarten zur Bearbeitung und zum Schluss teilst Du via topic auf das jeweilige Endgerät auf.
-
@mickym DANKE, hat geklappt, ist deutlich "schlanker"