Antwort
Sep 16, 2016 - 16:17
GetAll liefert nur Actions, Events, Tasks und Groups. Du willst IR Codes auslesen, die die mit NEO angelernt wurden?
Die sind nicht im Gateway hinterlegt sondern in der device_db im NEO Verzeichnis.
Du kannst ja mal schreiben was Du eigentlich genauer vorhast.
Die sind nicht im Gateway hinterlegt sondern in der device_db im NEO Verzeichnis.
Du kannst ja mal schreiben was Du eigentlich genauer vorhast.
Von
Hallo Fronzo,
Danke für deine schnelle Antwort:
ich verwende nur IQONTROL. Alle meine Geräte sind damit angelernt. Die Codes brauche ich, um die Geräte, die an meiner Mediola angeschlossen sind von anderen Systemen über http zu schalten. Z.b. über Homematic, php, Windows, etc.
Über GetAll kann ich schon Codes auslesen, das ist soweit OK. Das JSON hat aber viele GROUP, TASK ,ACTION , ID usw. Hier brächte ich die Zuordnung.
Gruß,
Mark
Von
Ich nutze nur NEO daher weis ich nicht wie das bei IQontrol aussieht, dazu gibt es auch keine Doku meines Wissens. Du kannst ja mal posten wie das JSON aussieht da sollte man an sich ja schon erkennen wo die IR Codes stehen.
Von
Hallo,
Nach einigen Ausprobieren bin ich jetzt zu einem Ergebnis gekommen:
Die Codes können nur über GetAll gelesen werden, wenn das betreffende Gerät auch in einer Task enthalten ist. Trotzdem hat bei mir das Senden der Codes über http://192.168.x.x/command?XC_FNC=Send2&code=xyz nicht immer funktioniert. Warum konnte ich nicht heraus finden. Manche Codes gingen, andere eben nicht.
Aber es gibt in der API auch das Kommando DoAction (http://192.168.x.x/command?XC_FNC=doAction&id=x). Die ID hierfür kann auch mit GetAll ausgelesen werden. Damit werden die Task unabhängig von den Bedingungen ausgeführt. Also habe ich für alle Geräte, die ich über http steuern will, Dummy-Tasks mit Zeit-Trigger angelegt. Mit dem DoAction Kommando kann ich die nun zuverlässig schalten.
Knifflig war auch das Auswerten des JSON, dass über das GetAll zurück kommt. Um an die ActionID zu kommen braucht es folgende Schritte:
1) die Task nach der Trigger Zeit suchen und Task ID: x lesen
2) diese Task-ID als "triggerid" in GROUP suchen.
3) die ActionID genau aus dieser GROUP ist ID für das DoAction Kommando.
Vielleicht hilft es dem einen oder anderen ja weiter.
Schönen Abend.
Neuen Kommentar hinzufügen