[gelöst] Externer Zugriff auf FHEM - Wie kann ich nur den State abrufen?

Begonnen von moontear, 19 Februar 2017, 19:04:48

Vorheriges Thema - Nächstes Thema

moontear

Im rahmen meines Natural Language WhatsApp Processors (tm)  ;)

Probiere ich von extern Dinge aus FHEM abzurufen / zu setzen.

Ich kenne folgende Möglichkeiten:

JSONLIST2
jsonlist2: http://fhemhost:8083/fhem?cmd=jsonlist2&XHR=1

Um nur den State abzuholen kann ich also http://fhemhost:8083/fhem?cmd=jsonlist2%20Licht_Kuechentisch%20state&xhr=1 ausführen. Problem ist dass JSON zurück kommt und nicht einfach nur der State (On/Off):
{
  "Arg":"Licht_Kuechentisch state",
  "Results": [
  {
    "Name":"Licht_Kuechentisch",
    "Internals": { },
    "Readings": {      "state": { "Value":"off", "Time":"2017-02-19 12:24:15" } },
    "Attributes": { }
  }  ],
  "totalResultsReturned":1
}


LIST
list: http://fhemhost:8083/fhem?cmd=list&xhr=1

Um nur den State abzuholen kann ich also http://fhemhost:8083/fhem?cmd=list%20Licht_Kuechentisch%20state&xhr=1 ausführen. Problem ist dass die Response so aussieht:
Licht_Kuechentisch 2017-02-19 12:24:15 off
Auch wieder nicht der reine State.

GET
gethttp://fhemhost:8083/fhem?cmd=get&xhr=1

Um nur den State abzuholen kann ich also http://fhemhost:8083/fhem?cmd=get%20Licht_Kuechentisch%20param%20state&xhr=1 asuführen. Problem ist dass das nicht für alle Devices funktioniert (Homematic geht).

Response von Homematic (perfekt!):
On

Response von vielen anderen Geräten ( :( ):
No get implemented for Licht_Schreibtisch

Habe ich eine Möglichkeit übersehen wie ich sauber nur ein Reading abholen kann genau wie bei get? Leider ist get nicht überall implementiert. Ich könnte mir natürlich auch einen JSONLIST parser schreiben, aber vielleicht gibt es schon einen Standard?!

rudolfkoenig

{Value("Licht_Kuechentisch")}
oder
{ReadingsVal("Licht_Kuechentisch","state","")}

Das Einbetten ins URL wird dem geneigten Leser zur Uebung ueberlassen.

moontear